From 030e6e5bb4824ae9899222f6319b7b45db5f38f4 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Wed, 19 Aug 2026 17:57:19 +0500 Subject: [PATCH] Regen cpp schemas --- .../schemas/Header_section_schema-schema.cpp | 25 + .../schemas/Header_section_schema.cpp | 25 + src/ifcparse/schemas/Header_section_schema.h | 45 +- src/ifcparse/schemas/Ifc2x3.cpp | 1984 +++---- src/ifcparse/schemas/Ifc2x3.h | 3000 +++++----- src/ifcparse/schemas/Ifc4-definitions.h | 2 +- src/ifcparse/schemas/Ifc4-schema.cpp | 2 +- src/ifcparse/schemas/Ifc4.cpp | 2148 +++---- src/ifcparse/schemas/Ifc4.h | 4210 +++++++------- src/ifcparse/schemas/Ifc4x1.cpp | 2204 +++---- src/ifcparse/schemas/Ifc4x1.h | 4224 +++++++------- src/ifcparse/schemas/Ifc4x2.cpp | 2236 ++++---- src/ifcparse/schemas/Ifc4x2.h | 4252 +++++++------- src/ifcparse/schemas/Ifc4x3_add2.cpp | 2366 ++++---- src/ifcparse/schemas/Ifc4x3_add2.h | 4388 +++++++------- src/ifcparse/schemas/Ifc4x3_rc1.cpp | 2360 ++++---- src/ifcparse/schemas/Ifc4x3_rc1.h | 4440 +++++++------- src/ifcparse/schemas/Ifc4x3_rc2.cpp | 2408 ++++---- src/ifcparse/schemas/Ifc4x3_rc2.h | 4468 +++++++-------- src/ifcparse/schemas/Ifc4x3_rc3-definitions.h | 16 +- src/ifcparse/schemas/Ifc4x3_rc3-schema.cpp | 4706 ++++++++------- src/ifcparse/schemas/Ifc4x3_rc3.cpp | 5079 ++++++++--------- src/ifcparse/schemas/Ifc4x3_rc3.h | 4483 ++++++++------- src/ifcparse/schemas/Ifc4x3_rc4-definitions.h | 2 +- src/ifcparse/schemas/Ifc4x3_rc4-schema.cpp | 2 +- src/ifcparse/schemas/Ifc4x3_rc4.cpp | 2364 ++++---- src/ifcparse/schemas/Ifc4x3_rc4.h | 4422 +++++++------- 27 files changed, 32939 insertions(+), 32922 deletions(-) diff --git a/src/ifcparse/schemas/Header_section_schema-schema.cpp b/src/ifcparse/schemas/Header_section_schema-schema.cpp index 35313b96c6..cbb7d5a051 100644 --- a/src/ifcparse/schemas/Header_section_schema-schema.cpp +++ b/src/ifcparse/schemas/Header_section_schema-schema.cpp @@ -1,3 +1,28 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +/******************************************************************************** + * * + * This file has been generated from header_schema.exp. Do not make modifications* + * but instead modify the python script that has been used to generate this. * + * * + ********************************************************************************/ #include "../../ifcparse/schema.h" #include "../../ifcparse/schemas/Header_section_schema.h" diff --git a/src/ifcparse/schemas/Header_section_schema.cpp b/src/ifcparse/schemas/Header_section_schema.cpp index 24e6fb9d1b..21ab02ff92 100644 --- a/src/ifcparse/schemas/Header_section_schema.cpp +++ b/src/ifcparse/schemas/Header_section_schema.cpp @@ -1,3 +1,28 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +/******************************************************************************** + * * + * This file has been generated from header_schema.exp. Do not make modifications* + * but instead modify the python script that has been used to generate this. * + * * + ********************************************************************************/ #include "../../ifcparse/schemas/Header_section_schema.h" #include "../../ifcparse/schema.h" diff --git a/src/ifcparse/schemas/Header_section_schema.h b/src/ifcparse/schemas/Header_section_schema.h index 533a18ff23..c7fdf1d691 100644 --- a/src/ifcparse/schemas/Header_section_schema.h +++ b/src/ifcparse/schemas/Header_section_schema.h @@ -1,3 +1,28 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +/******************************************************************************** + * * + * This file has been generated from header_schema.exp. Do not make modifications* + * but instead modify the python script that has been used to generate this. * + * * + ********************************************************************************/ #ifndef HEADER_SECTION_SCHEMA_H #define HEADER_SECTION_SCHEMA_H @@ -30,18 +55,18 @@ static const char* const Identifier; class file_description; class file_name; class file_schema; class schema_name; class time_stamp_text; -class IFC_SCHEMA_API schema_name : public express::DeclaredType { +class IFC_SCHEMA_API schema_name : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); schema_name initialize(std::string v); operator std::string() const; }; -class IFC_SCHEMA_API time_stamp_text : public express::DeclaredType { +class IFC_SCHEMA_API time_stamp_text : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); time_stamp_text initialize(std::string v); @@ -50,9 +75,9 @@ public: -class IFC_SCHEMA_API file_description : public express::Entity { +class IFC_SCHEMA_API file_description : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< std::string > /*[1:?]*/ description() const; void setdescription(const std::vector< std::string > /*[1:?]*/& v); @@ -63,9 +88,9 @@ public: file_description initialize(std::vector< std::string > /*[1:?]*/ v1_description, std::string v2_implementation_level); }; -class IFC_SCHEMA_API file_name : public express::Entity { +class IFC_SCHEMA_API file_name : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::string name() const; void setname(const std::string& v); @@ -86,9 +111,9 @@ public: 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_SCHEMA_API file_schema : public express::Entity { +class IFC_SCHEMA_API file_schema : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< std::string > /*[1:?]*/ schema_identifiers() const; void setschema_identifiers(const std::vector< std::string > /*[1:?]*/& v); diff --git a/src/ifcparse/schemas/Ifc2x3.cpp b/src/ifcparse/schemas/Ifc2x3.cpp index 93ddfc0d32..7a0a3f3134 100644 --- a/src/ifcparse/schemas/Ifc2x3.cpp +++ b/src/ifcparse/schemas/Ifc2x3.cpp @@ -44,7 +44,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcActionSourceTypeEnum::Class() { /* Ifc2x3::IfcActionSourceTypeEnum::IfcActionSourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcActionSourceTypeEnum::IfcActionSourceTypeEnum(Value v) { @@ -73,7 +73,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcActionTypeEnum::Class() { retur /* Ifc2x3::IfcActionTypeEnum::IfcActionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcActionTypeEnum::IfcActionTypeEnum(Value v) { @@ -102,7 +102,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcActuatorTypeEnum::Class() { ret /* Ifc2x3::IfcActuatorTypeEnum::IfcActuatorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcActuatorTypeEnum::IfcActuatorTypeEnum(Value v) { @@ -131,7 +131,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcAddressTypeEnum::Class() { retu /* Ifc2x3::IfcAddressTypeEnum::IfcAddressTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcAddressTypeEnum::IfcAddressTypeEnum(Value v) { @@ -160,7 +160,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcAheadOrBehind::Class() { return /* Ifc2x3::IfcAheadOrBehind::IfcAheadOrBehind(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcAheadOrBehind::IfcAheadOrBehind(Value v) { @@ -189,7 +189,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcAirTerminalBoxTypeEnum::Class() /* Ifc2x3::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum(Value v) { @@ -218,7 +218,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcAirTerminalTypeEnum::Class() { /* Ifc2x3::IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum(Value v) { @@ -247,7 +247,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::C /* Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum(Value v) { @@ -276,7 +276,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcAlarmTypeEnum::Class() { return /* Ifc2x3::IfcAlarmTypeEnum::IfcAlarmTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcAlarmTypeEnum::IfcAlarmTypeEnum(Value v) { @@ -305,7 +305,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcAnalysisModelTypeEnum::Class() /* Ifc2x3::IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum(Value v) { @@ -334,7 +334,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcAnalysisTheoryTypeEnum::Class() /* Ifc2x3::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum(Value v) { @@ -363,7 +363,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcArithmeticOperatorEnum::Class() /* Ifc2x3::IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum(Value v) { @@ -392,7 +392,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcAssemblyPlaceEnum::Class() { re /* Ifc2x3::IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum(Value v) { @@ -421,7 +421,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcBSplineCurveForm::Class() { ret /* Ifc2x3::IfcBSplineCurveForm::IfcBSplineCurveForm(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcBSplineCurveForm::IfcBSplineCurveForm(Value v) { @@ -450,7 +450,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcBeamTypeEnum::Class() { return /* Ifc2x3::IfcBeamTypeEnum::IfcBeamTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcBeamTypeEnum::IfcBeamTypeEnum(Value v) { @@ -479,7 +479,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcBenchmarkEnum::Class() { return /* Ifc2x3::IfcBenchmarkEnum::IfcBenchmarkEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcBenchmarkEnum::IfcBenchmarkEnum(Value v) { @@ -508,7 +508,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcBoilerTypeEnum::Class() { retur /* Ifc2x3::IfcBoilerTypeEnum::IfcBoilerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcBoilerTypeEnum::IfcBoilerTypeEnum(Value v) { @@ -537,7 +537,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcBooleanOperator::Class() { retu /* Ifc2x3::IfcBooleanOperator::IfcBooleanOperator(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcBooleanOperator::IfcBooleanOperator(Value v) { @@ -566,7 +566,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcBuildingElementProxyTypeEnum::C /* Ifc2x3::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum(Value v) { @@ -595,7 +595,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcCableCarrierFittingTypeEnum::Cl /* Ifc2x3::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum(Value v) { @@ -624,7 +624,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcCableCarrierSegmentTypeEnum::Cl /* Ifc2x3::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum(Value v) { @@ -653,7 +653,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcCableSegmentTypeEnum::Class() { /* Ifc2x3::IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum(Value v) { @@ -682,7 +682,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcChangeActionEnum::Class() { ret /* Ifc2x3::IfcChangeActionEnum::IfcChangeActionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcChangeActionEnum::IfcChangeActionEnum(Value v) { @@ -711,7 +711,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcChillerTypeEnum::Class() { retu /* Ifc2x3::IfcChillerTypeEnum::IfcChillerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcChillerTypeEnum::IfcChillerTypeEnum(Value v) { @@ -740,7 +740,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcCoilTypeEnum::Class() { return /* Ifc2x3::IfcCoilTypeEnum::IfcCoilTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcCoilTypeEnum::IfcCoilTypeEnum(Value v) { @@ -769,7 +769,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcColumnTypeEnum::Class() { retur /* Ifc2x3::IfcColumnTypeEnum::IfcColumnTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcColumnTypeEnum::IfcColumnTypeEnum(Value v) { @@ -798,7 +798,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcCompressorTypeEnum::Class() { r /* Ifc2x3::IfcCompressorTypeEnum::IfcCompressorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcCompressorTypeEnum::IfcCompressorTypeEnum(Value v) { @@ -827,7 +827,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcCondenserTypeEnum::Class() { re /* Ifc2x3::IfcCondenserTypeEnum::IfcCondenserTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcCondenserTypeEnum::IfcCondenserTypeEnum(Value v) { @@ -856,7 +856,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcConnectionTypeEnum::Class() { r /* Ifc2x3::IfcConnectionTypeEnum::IfcConnectionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcConnectionTypeEnum::IfcConnectionTypeEnum(Value v) { @@ -885,7 +885,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcConstraintEnum::Class() { retur /* Ifc2x3::IfcConstraintEnum::IfcConstraintEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcConstraintEnum::IfcConstraintEnum(Value v) { @@ -914,7 +914,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcControllerTypeEnum::Class() { r /* Ifc2x3::IfcControllerTypeEnum::IfcControllerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcControllerTypeEnum::IfcControllerTypeEnum(Value v) { @@ -943,7 +943,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcCooledBeamTypeEnum::Class() { r /* Ifc2x3::IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum(Value v) { @@ -972,7 +972,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcCoolingTowerTypeEnum::Class() { /* Ifc2x3::IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum(Value v) { @@ -1001,7 +1001,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcCostScheduleTypeEnum::Class() { /* Ifc2x3::IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum(Value v) { @@ -1030,7 +1030,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcCoveringTypeEnum::Class() { ret /* Ifc2x3::IfcCoveringTypeEnum::IfcCoveringTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcCoveringTypeEnum::IfcCoveringTypeEnum(Value v) { @@ -1059,7 +1059,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcCurrencyEnum::Class() { return /* Ifc2x3::IfcCurrencyEnum::IfcCurrencyEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcCurrencyEnum::IfcCurrencyEnum(Value v) { @@ -1088,7 +1088,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcCurtainWallTypeEnum::Class() { /* Ifc2x3::IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum(Value v) { @@ -1117,7 +1117,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcDamperTypeEnum::Class() { retur /* Ifc2x3::IfcDamperTypeEnum::IfcDamperTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcDamperTypeEnum::IfcDamperTypeEnum(Value v) { @@ -1146,7 +1146,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcDataOriginEnum::Class() { retur /* Ifc2x3::IfcDataOriginEnum::IfcDataOriginEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcDataOriginEnum::IfcDataOriginEnum(Value v) { @@ -1175,7 +1175,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcDerivedUnitEnum::Class() { retu /* Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnitEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnitEnum(Value v) { @@ -1204,7 +1204,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcDimensionExtentUsage::Class() { /* Ifc2x3::IfcDimensionExtentUsage::IfcDimensionExtentUsage(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcDimensionExtentUsage::IfcDimensionExtentUsage(Value v) { @@ -1233,7 +1233,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcDirectionSenseEnum::Class() { r /* Ifc2x3::IfcDirectionSenseEnum::IfcDirectionSenseEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcDirectionSenseEnum::IfcDirectionSenseEnum(Value v) { @@ -1262,7 +1262,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcDistributionChamberElementTypeE /* Ifc2x3::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum(Value v) { @@ -1291,7 +1291,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcDocumentConfidentialityEnum::Cl /* Ifc2x3::IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum(Value v) { @@ -1320,7 +1320,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcDocumentStatusEnum::Class() { r /* Ifc2x3::IfcDocumentStatusEnum::IfcDocumentStatusEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcDocumentStatusEnum::IfcDocumentStatusEnum(Value v) { @@ -1349,7 +1349,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcDoorPanelOperationEnum::Class() /* Ifc2x3::IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum(Value v) { @@ -1378,7 +1378,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcDoorPanelPositionEnum::Class() /* Ifc2x3::IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum(Value v) { @@ -1407,7 +1407,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcDoorStyleConstructionEnum::Clas /* Ifc2x3::IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum(Value v) { @@ -1436,7 +1436,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcDoorStyleOperationEnum::Class() /* Ifc2x3::IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum(Value v) { @@ -1465,7 +1465,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcDuctFittingTypeEnum::Class() { /* Ifc2x3::IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum(Value v) { @@ -1494,7 +1494,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcDuctSegmentTypeEnum::Class() { /* Ifc2x3::IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum(Value v) { @@ -1523,7 +1523,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcDuctSilencerTypeEnum::Class() { /* Ifc2x3::IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum(Value v) { @@ -1552,7 +1552,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcElectricApplianceTypeEnum::Clas /* Ifc2x3::IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum(Value v) { @@ -1581,7 +1581,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcElectricCurrentEnum::Class() { /* Ifc2x3::IfcElectricCurrentEnum::IfcElectricCurrentEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcElectricCurrentEnum::IfcElectricCurrentEnum(Value v) { @@ -1610,7 +1610,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcElectricDistributionPointFuncti /* Ifc2x3::IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunctionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunctionEnum(Value v) { @@ -1639,7 +1639,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcElectricFlowStorageDeviceTypeEn /* Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum(Value v) { @@ -1668,7 +1668,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcElectricGeneratorTypeEnum::Clas /* Ifc2x3::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum(Value v) { @@ -1697,7 +1697,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcElectricHeaterTypeEnum::Class() /* Ifc2x3::IfcElectricHeaterTypeEnum::IfcElectricHeaterTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcElectricHeaterTypeEnum::IfcElectricHeaterTypeEnum(Value v) { @@ -1726,7 +1726,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcElectricMotorTypeEnum::Class() /* Ifc2x3::IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum(Value v) { @@ -1755,7 +1755,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcElectricTimeControlTypeEnum::Cl /* Ifc2x3::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum(Value v) { @@ -1784,7 +1784,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcElementAssemblyTypeEnum::Class( /* Ifc2x3::IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum(Value v) { @@ -1813,7 +1813,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcElementCompositionEnum::Class() /* Ifc2x3::IfcElementCompositionEnum::IfcElementCompositionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcElementCompositionEnum::IfcElementCompositionEnum(Value v) { @@ -1842,7 +1842,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcEnergySequenceEnum::Class() { r /* Ifc2x3::IfcEnergySequenceEnum::IfcEnergySequenceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcEnergySequenceEnum::IfcEnergySequenceEnum(Value v) { @@ -1871,7 +1871,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcEnvironmentalImpactCategoryEnum /* Ifc2x3::IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategoryEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategoryEnum(Value v) { @@ -1900,7 +1900,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcEvaporativeCoolerTypeEnum::Clas /* Ifc2x3::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum(Value v) { @@ -1929,7 +1929,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcEvaporatorTypeEnum::Class() { r /* Ifc2x3::IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum(Value v) { @@ -1958,7 +1958,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcFanTypeEnum::Class() { return * /* Ifc2x3::IfcFanTypeEnum::IfcFanTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcFanTypeEnum::IfcFanTypeEnum(Value v) { @@ -1987,7 +1987,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcFilterTypeEnum::Class() { retur /* Ifc2x3::IfcFilterTypeEnum::IfcFilterTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcFilterTypeEnum::IfcFilterTypeEnum(Value v) { @@ -2016,7 +2016,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcFireSuppressionTerminalTypeEnum /* Ifc2x3::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum(Value v) { @@ -2045,7 +2045,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcFlowDirectionEnum::Class() { re /* Ifc2x3::IfcFlowDirectionEnum::IfcFlowDirectionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcFlowDirectionEnum::IfcFlowDirectionEnum(Value v) { @@ -2074,7 +2074,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcFlowInstrumentTypeEnum::Class() /* Ifc2x3::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum(Value v) { @@ -2103,7 +2103,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcFlowMeterTypeEnum::Class() { re /* Ifc2x3::IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum(Value v) { @@ -2132,7 +2132,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcFootingTypeEnum::Class() { retu /* Ifc2x3::IfcFootingTypeEnum::IfcFootingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcFootingTypeEnum::IfcFootingTypeEnum(Value v) { @@ -2161,7 +2161,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcGasTerminalTypeEnum::Class() { /* Ifc2x3::IfcGasTerminalTypeEnum::IfcGasTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcGasTerminalTypeEnum::IfcGasTerminalTypeEnum(Value v) { @@ -2190,7 +2190,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcGeometricProjectionEnum::Class( /* Ifc2x3::IfcGeometricProjectionEnum::IfcGeometricProjectionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcGeometricProjectionEnum::IfcGeometricProjectionEnum(Value v) { @@ -2219,7 +2219,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcGlobalOrLocalEnum::Class() { re /* Ifc2x3::IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum(Value v) { @@ -2248,7 +2248,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcHeatExchangerTypeEnum::Class() /* Ifc2x3::IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum(Value v) { @@ -2277,7 +2277,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcHumidifierTypeEnum::Class() { r /* Ifc2x3::IfcHumidifierTypeEnum::IfcHumidifierTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcHumidifierTypeEnum::IfcHumidifierTypeEnum(Value v) { @@ -2306,7 +2306,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcInternalOrExternalEnum::Class() /* Ifc2x3::IfcInternalOrExternalEnum::IfcInternalOrExternalEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcInternalOrExternalEnum::IfcInternalOrExternalEnum(Value v) { @@ -2335,7 +2335,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcInventoryTypeEnum::Class() { re /* Ifc2x3::IfcInventoryTypeEnum::IfcInventoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcInventoryTypeEnum::IfcInventoryTypeEnum(Value v) { @@ -2364,7 +2364,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcJunctionBoxTypeEnum::Class() { /* Ifc2x3::IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum(Value v) { @@ -2393,7 +2393,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcLampTypeEnum::Class() { return /* Ifc2x3::IfcLampTypeEnum::IfcLampTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcLampTypeEnum::IfcLampTypeEnum(Value v) { @@ -2422,7 +2422,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcLayerSetDirectionEnum::Class() /* Ifc2x3::IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum(Value v) { @@ -2451,7 +2451,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcLightDistributionCurveEnum::Cla /* Ifc2x3::IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum(Value v) { @@ -2480,7 +2480,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcLightEmissionSourceEnum::Class( /* Ifc2x3::IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum(Value v) { @@ -2509,7 +2509,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcLightFixtureTypeEnum::Class() { /* Ifc2x3::IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum(Value v) { @@ -2538,7 +2538,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcLoadGroupTypeEnum::Class() { re /* Ifc2x3::IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum(Value v) { @@ -2567,7 +2567,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcLogicalOperatorEnum::Class() { /* Ifc2x3::IfcLogicalOperatorEnum::IfcLogicalOperatorEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcLogicalOperatorEnum::IfcLogicalOperatorEnum(Value v) { @@ -2596,7 +2596,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcMemberTypeEnum::Class() { retur /* Ifc2x3::IfcMemberTypeEnum::IfcMemberTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcMemberTypeEnum::IfcMemberTypeEnum(Value v) { @@ -2625,7 +2625,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcMotorConnectionTypeEnum::Class( /* Ifc2x3::IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum(Value v) { @@ -2654,7 +2654,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcNullStyle::Class() { return *(( /* Ifc2x3::IfcNullStyle::IfcNullStyle(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcNullStyle::IfcNullStyle(Value v) { @@ -2683,7 +2683,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcObjectTypeEnum::Class() { retur /* Ifc2x3::IfcObjectTypeEnum::IfcObjectTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcObjectTypeEnum::IfcObjectTypeEnum(Value v) { @@ -2712,7 +2712,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcObjectiveEnum::Class() { return /* Ifc2x3::IfcObjectiveEnum::IfcObjectiveEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcObjectiveEnum::IfcObjectiveEnum(Value v) { @@ -2741,7 +2741,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcOccupantTypeEnum::Class() { ret /* Ifc2x3::IfcOccupantTypeEnum::IfcOccupantTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcOccupantTypeEnum::IfcOccupantTypeEnum(Value v) { @@ -2770,7 +2770,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcOutletTypeEnum::Class() { retur /* Ifc2x3::IfcOutletTypeEnum::IfcOutletTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcOutletTypeEnum::IfcOutletTypeEnum(Value v) { @@ -2799,7 +2799,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcPermeableCoveringOperationEnum: /* Ifc2x3::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum(Value v) { @@ -2828,7 +2828,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcPhysicalOrVirtualEnum::Class() /* Ifc2x3::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum(Value v) { @@ -2857,7 +2857,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcPileConstructionEnum::Class() { /* Ifc2x3::IfcPileConstructionEnum::IfcPileConstructionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcPileConstructionEnum::IfcPileConstructionEnum(Value v) { @@ -2886,7 +2886,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcPileTypeEnum::Class() { return /* Ifc2x3::IfcPileTypeEnum::IfcPileTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcPileTypeEnum::IfcPileTypeEnum(Value v) { @@ -2915,7 +2915,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcPipeFittingTypeEnum::Class() { /* Ifc2x3::IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum(Value v) { @@ -2944,7 +2944,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcPipeSegmentTypeEnum::Class() { /* Ifc2x3::IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum(Value v) { @@ -2973,7 +2973,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcPlateTypeEnum::Class() { return /* Ifc2x3::IfcPlateTypeEnum::IfcPlateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcPlateTypeEnum::IfcPlateTypeEnum(Value v) { @@ -3002,7 +3002,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcProcedureTypeEnum::Class() { re /* Ifc2x3::IfcProcedureTypeEnum::IfcProcedureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcProcedureTypeEnum::IfcProcedureTypeEnum(Value v) { @@ -3031,7 +3031,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcProfileTypeEnum::Class() { retu /* Ifc2x3::IfcProfileTypeEnum::IfcProfileTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcProfileTypeEnum::IfcProfileTypeEnum(Value v) { @@ -3060,7 +3060,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcProjectOrderRecordTypeEnum::Cla /* Ifc2x3::IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordTypeEnum(Value v) { @@ -3089,7 +3089,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcProjectOrderTypeEnum::Class() { /* Ifc2x3::IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum(Value v) { @@ -3118,7 +3118,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcProjectedOrTrueLengthEnum::Clas /* Ifc2x3::IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum(Value v) { @@ -3147,7 +3147,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcPropertySourceEnum::Class() { r /* Ifc2x3::IfcPropertySourceEnum::IfcPropertySourceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcPropertySourceEnum::IfcPropertySourceEnum(Value v) { @@ -3176,7 +3176,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcProtectiveDeviceTypeEnum::Class /* Ifc2x3::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum(Value v) { @@ -3205,7 +3205,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcPumpTypeEnum::Class() { return /* Ifc2x3::IfcPumpTypeEnum::IfcPumpTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcPumpTypeEnum::IfcPumpTypeEnum(Value v) { @@ -3234,7 +3234,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcRailingTypeEnum::Class() { retu /* Ifc2x3::IfcRailingTypeEnum::IfcRailingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcRailingTypeEnum::IfcRailingTypeEnum(Value v) { @@ -3263,7 +3263,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcRampFlightTypeEnum::Class() { r /* Ifc2x3::IfcRampFlightTypeEnum::IfcRampFlightTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcRampFlightTypeEnum::IfcRampFlightTypeEnum(Value v) { @@ -3292,7 +3292,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcRampTypeEnum::Class() { return /* Ifc2x3::IfcRampTypeEnum::IfcRampTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcRampTypeEnum::IfcRampTypeEnum(Value v) { @@ -3321,7 +3321,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcReflectanceMethodEnum::Class() /* Ifc2x3::IfcReflectanceMethodEnum::IfcReflectanceMethodEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcReflectanceMethodEnum::IfcReflectanceMethodEnum(Value v) { @@ -3350,7 +3350,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcReinforcingBarRoleEnum::Class() /* Ifc2x3::IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum(Value v) { @@ -3379,7 +3379,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcReinforcingBarSurfaceEnum::Clas /* Ifc2x3::IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum(Value v) { @@ -3408,7 +3408,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcResourceConsumptionEnum::Class( /* Ifc2x3::IfcResourceConsumptionEnum::IfcResourceConsumptionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcResourceConsumptionEnum::IfcResourceConsumptionEnum(Value v) { @@ -3437,7 +3437,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcRibPlateDirectionEnum::Class() /* Ifc2x3::IfcRibPlateDirectionEnum::IfcRibPlateDirectionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcRibPlateDirectionEnum::IfcRibPlateDirectionEnum(Value v) { @@ -3466,7 +3466,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcRoleEnum::Class() { return *((i /* Ifc2x3::IfcRoleEnum::IfcRoleEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcRoleEnum::IfcRoleEnum(Value v) { @@ -3495,7 +3495,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcRoofTypeEnum::Class() { return /* Ifc2x3::IfcRoofTypeEnum::IfcRoofTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcRoofTypeEnum::IfcRoofTypeEnum(Value v) { @@ -3524,7 +3524,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcSIPrefix::Class() { return *((i /* Ifc2x3::IfcSIPrefix::IfcSIPrefix(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcSIPrefix::IfcSIPrefix(Value v) { @@ -3553,7 +3553,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcSIUnitName::Class() { return *( /* Ifc2x3::IfcSIUnitName::IfcSIUnitName(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcSIUnitName::IfcSIUnitName(Value v) { @@ -3582,7 +3582,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcSanitaryTerminalTypeEnum::Class /* Ifc2x3::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum(Value v) { @@ -3611,7 +3611,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcSectionTypeEnum::Class() { retu /* Ifc2x3::IfcSectionTypeEnum::IfcSectionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcSectionTypeEnum::IfcSectionTypeEnum(Value v) { @@ -3640,7 +3640,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcSensorTypeEnum::Class() { retur /* Ifc2x3::IfcSensorTypeEnum::IfcSensorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcSensorTypeEnum::IfcSensorTypeEnum(Value v) { @@ -3669,7 +3669,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcSequenceEnum::Class() { return /* Ifc2x3::IfcSequenceEnum::IfcSequenceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcSequenceEnum::IfcSequenceEnum(Value v) { @@ -3698,7 +3698,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcServiceLifeFactorTypeEnum::Clas /* Ifc2x3::IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorTypeEnum(Value v) { @@ -3727,7 +3727,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcServiceLifeTypeEnum::Class() { /* Ifc2x3::IfcServiceLifeTypeEnum::IfcServiceLifeTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcServiceLifeTypeEnum::IfcServiceLifeTypeEnum(Value v) { @@ -3756,7 +3756,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcSlabTypeEnum::Class() { return /* Ifc2x3::IfcSlabTypeEnum::IfcSlabTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcSlabTypeEnum::IfcSlabTypeEnum(Value v) { @@ -3785,7 +3785,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcSoundScaleEnum::Class() { retur /* Ifc2x3::IfcSoundScaleEnum::IfcSoundScaleEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcSoundScaleEnum::IfcSoundScaleEnum(Value v) { @@ -3814,7 +3814,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcSpaceHeaterTypeEnum::Class() { /* Ifc2x3::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum(Value v) { @@ -3843,7 +3843,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcSpaceTypeEnum::Class() { return /* Ifc2x3::IfcSpaceTypeEnum::IfcSpaceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcSpaceTypeEnum::IfcSpaceTypeEnum(Value v) { @@ -3872,7 +3872,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcStackTerminalTypeEnum::Class() /* Ifc2x3::IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum(Value v) { @@ -3901,7 +3901,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcStairFlightTypeEnum::Class() { /* Ifc2x3::IfcStairFlightTypeEnum::IfcStairFlightTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcStairFlightTypeEnum::IfcStairFlightTypeEnum(Value v) { @@ -3930,7 +3930,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcStairTypeEnum::Class() { return /* Ifc2x3::IfcStairTypeEnum::IfcStairTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcStairTypeEnum::IfcStairTypeEnum(Value v) { @@ -3959,7 +3959,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcStateEnum::Class() { return *(( /* Ifc2x3::IfcStateEnum::IfcStateEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcStateEnum::IfcStateEnum(Value v) { @@ -3988,7 +3988,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcStructuralCurveTypeEnum::Class( /* Ifc2x3::IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum(Value v) { @@ -4017,7 +4017,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcStructuralSurfaceTypeEnum::Clas /* Ifc2x3::IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum(Value v) { @@ -4046,7 +4046,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcSurfaceSide::Class() { return * /* Ifc2x3::IfcSurfaceSide::IfcSurfaceSide(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcSurfaceSide::IfcSurfaceSide(Value v) { @@ -4075,7 +4075,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcSurfaceTextureEnum::Class() { r /* Ifc2x3::IfcSurfaceTextureEnum::IfcSurfaceTextureEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcSurfaceTextureEnum::IfcSurfaceTextureEnum(Value v) { @@ -4104,7 +4104,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcSwitchingDeviceTypeEnum::Class( /* Ifc2x3::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum(Value v) { @@ -4133,7 +4133,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcTankTypeEnum::Class() { return /* Ifc2x3::IfcTankTypeEnum::IfcTankTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcTankTypeEnum::IfcTankTypeEnum(Value v) { @@ -4162,7 +4162,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcTendonTypeEnum::Class() { retur /* Ifc2x3::IfcTendonTypeEnum::IfcTendonTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcTendonTypeEnum::IfcTendonTypeEnum(Value v) { @@ -4191,7 +4191,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcTextPath::Class() { return *((i /* Ifc2x3::IfcTextPath::IfcTextPath(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcTextPath::IfcTextPath(Value v) { @@ -4220,7 +4220,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcThermalLoadSourceEnum::Class() /* Ifc2x3::IfcThermalLoadSourceEnum::IfcThermalLoadSourceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcThermalLoadSourceEnum::IfcThermalLoadSourceEnum(Value v) { @@ -4249,7 +4249,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcThermalLoadTypeEnum::Class() { /* Ifc2x3::IfcThermalLoadTypeEnum::IfcThermalLoadTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcThermalLoadTypeEnum::IfcThermalLoadTypeEnum(Value v) { @@ -4278,7 +4278,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcTimeSeriesDataTypeEnum::Class() /* Ifc2x3::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum(Value v) { @@ -4307,7 +4307,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Cla /* Ifc2x3::IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleTypeEnum(Value v) { @@ -4336,7 +4336,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcTransformerTypeEnum::Class() { /* Ifc2x3::IfcTransformerTypeEnum::IfcTransformerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcTransformerTypeEnum::IfcTransformerTypeEnum(Value v) { @@ -4365,7 +4365,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcTransitionCode::Class() { retur /* Ifc2x3::IfcTransitionCode::IfcTransitionCode(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcTransitionCode::IfcTransitionCode(Value v) { @@ -4394,7 +4394,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcTransportElementTypeEnum::Class /* Ifc2x3::IfcTransportElementTypeEnum::IfcTransportElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcTransportElementTypeEnum::IfcTransportElementTypeEnum(Value v) { @@ -4423,7 +4423,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcTrimmingPreference::Class() { r /* Ifc2x3::IfcTrimmingPreference::IfcTrimmingPreference(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcTrimmingPreference::IfcTrimmingPreference(Value v) { @@ -4452,7 +4452,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcTubeBundleTypeEnum::Class() { r /* Ifc2x3::IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum(Value v) { @@ -4481,7 +4481,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcUnitEnum::Class() { return *((i /* Ifc2x3::IfcUnitEnum::IfcUnitEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcUnitEnum::IfcUnitEnum(Value v) { @@ -4510,7 +4510,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcUnitaryEquipmentTypeEnum::Class /* Ifc2x3::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum(Value v) { @@ -4539,7 +4539,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcValveTypeEnum::Class() { return /* Ifc2x3::IfcValveTypeEnum::IfcValveTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcValveTypeEnum::IfcValveTypeEnum(Value v) { @@ -4568,7 +4568,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcVibrationIsolatorTypeEnum::Clas /* Ifc2x3::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum(Value v) { @@ -4597,7 +4597,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcWallTypeEnum::Class() { return /* Ifc2x3::IfcWallTypeEnum::IfcWallTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcWallTypeEnum::IfcWallTypeEnum(Value v) { @@ -4626,7 +4626,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcWasteTerminalTypeEnum::Class() /* Ifc2x3::IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum(Value v) { @@ -4655,7 +4655,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcWindowPanelOperationEnum::Class /* Ifc2x3::IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum(Value v) { @@ -4684,7 +4684,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcWindowPanelPositionEnum::Class( /* Ifc2x3::IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum(Value v) { @@ -4713,7 +4713,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcWindowStyleConstructionEnum::Cl /* Ifc2x3::IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum(Value v) { @@ -4742,7 +4742,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcWindowStyleOperationEnum::Class /* Ifc2x3::IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum(Value v) { @@ -4771,7 +4771,7 @@ const ifcopenshell::enumeration_type& Ifc2x3::IfcWorkControlTypeEnum::Class() { /* Ifc2x3::IfcWorkControlTypeEnum::IfcWorkControlTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc2x3::IfcWorkControlTypeEnum::IfcWorkControlTypeEnum(Value v) { @@ -5478,7 +5478,7 @@ Ifc2x3::IfcYearNumber::operator int64_t() const { return get_attribute_value(0); const ifcopenshell::entity& Ifc2x3::Ifc2DCompositeCurve::Class() { return *((ifcopenshell::entity*)IFC2X3_types[0]); } -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; } +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; } @@ -5489,7 +5489,7 @@ const ifcopenshell::entity& Ifc2x3::IfcActionRequest::Class() { return *((ifcope 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>(); } +::Ifc2x3::IfcActorSelect Ifc2x3::IfcActor::TheActor() const { return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcActorSelect>(); } void Ifc2x3::IfcActor::setTheActor(const ::Ifc2x3::IfcActorSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } std::vector<::Ifc2x3::IfcRelAssignsToActor> Ifc2x3::IfcActor::IsActingUpon() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[670], 6)); } @@ -5515,7 +5515,7 @@ void Ifc2x3::IfcActuatorType::setPredefinedType(const ::Ifc2x3::IfcActuatorTypeE const ifcopenshell::entity& Ifc2x3::IfcActuatorType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[9]); } -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; } +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)); } @@ -5537,7 +5537,7 @@ void Ifc2x3::IfcAirTerminalBoxType::setPredefinedType(const ::Ifc2x3::IfcAirTerm const ifcopenshell::entity& Ifc2x3::IfcAirTerminalBoxType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[14]); } -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; } +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]); } -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; } +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]); } -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; } +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,13 +5561,13 @@ void Ifc2x3::IfcAlarmType::setPredefinedType(const ::Ifc2x3::IfcAlarmTypeEnum::V const ifcopenshell::entity& Ifc2x3::IfcAlarmType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[20]); } -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; } +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]); } -Ifc2x3::IfcAngularDimension Ifc2x3::IfcAngularDimension::initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents) { set_attribute_value(0, cast_vector(v1_Contents));; return *this; } +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 @@ -5580,38 +5580,38 @@ Ifc2x3::IfcAnnotation Ifc2x3::IfcAnnotation::initialize(std::string v1_GlobalId, const ifcopenshell::entity& Ifc2x3::IfcAnnotationCurveOccurrence::Class() { return *((ifcopenshell::entity*)IFC2X3_types[28]); } -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; } +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>(); } +::Ifc2x3::IfcCurve Ifc2x3::IfcAnnotationFillArea::OuterBoundary() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcCurve>(); } void Ifc2x3::IfcAnnotationFillArea::setOuterBoundary(const ::Ifc2x3::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::optional< std::vector< ::Ifc2x3::IfcCurve > > Ifc2x3::IfcAnnotationFillArea::InnerBoundaries() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcCurve>(es); } -void Ifc2x3::IfcAnnotationFillArea::setInnerBoundaries(const std::optional< std::vector< ::Ifc2x3::IfcCurve > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } +std::optional< std::vector< ::Ifc2x3::IfcCurve > > Ifc2x3::IfcAnnotationFillArea::InnerBoundaries() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcCurve>(es); } +void Ifc2x3::IfcAnnotationFillArea::setInnerBoundaries(const std::optional< std::vector< ::Ifc2x3::IfcCurve > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } const ifcopenshell::entity& Ifc2x3::IfcAnnotationFillArea::Class() { return *((ifcopenshell::entity*)IFC2X3_types[29]); } -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; } +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>(); } +::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>(); } void Ifc2x3::IfcAnnotationFillAreaOccurrence::setFillStyleTarget(const ::Ifc2x3::IfcPoint& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< ::Ifc2x3::IfcGlobalOrLocalEnum::Value > Ifc2x3::IfcAnnotationFillAreaOccurrence::GlobalOrLocal() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } return ::Ifc2x3::IfcGlobalOrLocalEnum::FromString(get_attribute_value(4)); } void Ifc2x3::IfcAnnotationFillAreaOccurrence::setGlobalOrLocal(const std::optional< ::Ifc2x3::IfcGlobalOrLocalEnum::Value >& v) { if (v) {set_attribute_value(4, enumeration_reference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } const ifcopenshell::entity& Ifc2x3::IfcAnnotationFillAreaOccurrence::Class() { return *((ifcopenshell::entity*)IFC2X3_types[30]); } -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; } +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]); } -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; } +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>(); } +::Ifc2x3::IfcGeometricRepresentationItem Ifc2x3::IfcAnnotationSurface::Item() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcGeometricRepresentationItem>(); } void Ifc2x3::IfcAnnotationSurface::setItem(const ::Ifc2x3::IfcGeometricRepresentationItem& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcTextureCoordinate Ifc2x3::IfcAnnotationSurface::TextureCoordinates() const { if(get_attribute_value(1).isNull()) { return ::Ifc2x3::IfcTextureCoordinate{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcTextureCoordinate>(); } +::Ifc2x3::IfcTextureCoordinate Ifc2x3::IfcAnnotationSurface::TextureCoordinates() const { if(get_attribute_value(1).isNull()) { return ::Ifc2x3::IfcTextureCoordinate{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcTextureCoordinate>(); } void Ifc2x3::IfcAnnotationSurface::setTextureCoordinates(const ::Ifc2x3::IfcTextureCoordinate& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -5622,22 +5622,22 @@ Ifc2x3::IfcAnnotationSurface Ifc2x3::IfcAnnotationSurface::initialize(::Ifc2x3:: const ifcopenshell::entity& Ifc2x3::IfcAnnotationSurfaceOccurrence::Class() { return *((ifcopenshell::entity*)IFC2X3_types[33]); } -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; } +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]); } -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; } +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]); } -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; } +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>(); } +::Ifc2x3::IfcOrganization Ifc2x3::IfcApplication::ApplicationDeveloper() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcOrganization>(); } void Ifc2x3::IfcApplication::setApplicationDeveloper(const ::Ifc2x3::IfcOrganization& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::string Ifc2x3::IfcApplication::Version() const { std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcApplication::setVersion(const std::string& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -5655,13 +5655,13 @@ std::optional< std::string > Ifc2x3::IfcAppliedValue::Name() const { if(get_attr void Ifc2x3::IfcAppliedValue::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc2x3::IfcAppliedValue::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcAppliedValue::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc2x3::IfcAppliedValueSelect Ifc2x3::IfcAppliedValue::AppliedValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc2x3::IfcAppliedValueSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcAppliedValueSelect>(); } +::Ifc2x3::IfcAppliedValueSelect Ifc2x3::IfcAppliedValue::AppliedValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc2x3::IfcAppliedValueSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcAppliedValueSelect>(); } void Ifc2x3::IfcAppliedValue::setAppliedValue(const ::Ifc2x3::IfcAppliedValueSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcMeasureWithUnit Ifc2x3::IfcAppliedValue::UnitBasis() const { if(get_attribute_value(3).isNull()) { return ::Ifc2x3::IfcMeasureWithUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc2x3::IfcMeasureWithUnit>(); } +::Ifc2x3::IfcMeasureWithUnit Ifc2x3::IfcAppliedValue::UnitBasis() const { if(get_attribute_value(3).isNull()) { return ::Ifc2x3::IfcMeasureWithUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc2x3::IfcMeasureWithUnit>(); } void Ifc2x3::IfcAppliedValue::setUnitBasis(const ::Ifc2x3::IfcMeasureWithUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcAppliedValue::ApplicableDate() const { if(get_attribute_value(4).isNull()) { return ::Ifc2x3::IfcDateTimeSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcAppliedValue::ApplicableDate() const { if(get_attribute_value(4).isNull()) { return ::Ifc2x3::IfcDateTimeSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc2x3::IfcDateTimeSelect>(); } void Ifc2x3::IfcAppliedValue::setApplicableDate(const ::Ifc2x3::IfcDateTimeSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcAppliedValue::FixedUntilDate() const { if(get_attribute_value(5).isNull()) { return ::Ifc2x3::IfcDateTimeSelect{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcAppliedValue::FixedUntilDate() const { if(get_attribute_value(5).isNull()) { return ::Ifc2x3::IfcDateTimeSelect{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcDateTimeSelect>(); } void Ifc2x3::IfcAppliedValue::setFixedUntilDate(const ::Ifc2x3::IfcDateTimeSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } std::vector<::Ifc2x3::IfcReferencesValueDocument> Ifc2x3::IfcAppliedValue::ValuesReferenced() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[657], 1)); } @@ -5672,10 +5672,10 @@ const ifcopenshell::entity& Ifc2x3::IfcAppliedValue::Class() { return *((ifcopen 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>(); } +::Ifc2x3::IfcAppliedValue Ifc2x3::IfcAppliedValueRelationship::ComponentOfTotal() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcAppliedValue>(); } void Ifc2x3::IfcAppliedValueRelationship::setComponentOfTotal(const ::Ifc2x3::IfcAppliedValue& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc2x3::IfcAppliedValue > Ifc2x3::IfcAppliedValueRelationship::Components() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcAppliedValue>(es); } -void Ifc2x3::IfcAppliedValueRelationship::setComponents(const std::vector< ::Ifc2x3::IfcAppliedValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc2x3::IfcAppliedValue > Ifc2x3::IfcAppliedValueRelationship::Components() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcAppliedValue>(es); } +void Ifc2x3::IfcAppliedValueRelationship::setComponents(const std::vector< ::Ifc2x3::IfcAppliedValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } ::Ifc2x3::IfcArithmeticOperatorEnum::Value Ifc2x3::IfcAppliedValueRelationship::ArithmeticOperator() const { return ::Ifc2x3::IfcArithmeticOperatorEnum::FromString(get_attribute_value(2)); } void Ifc2x3::IfcAppliedValueRelationship::setArithmeticOperator(const ::Ifc2x3::IfcArithmeticOperatorEnum::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc2x3::IfcArithmeticOperatorEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc2x3::IfcAppliedValueRelationship::Name() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -5685,12 +5685,12 @@ void Ifc2x3::IfcAppliedValueRelationship::setDescription(const std::optional< st const ifcopenshell::entity& Ifc2x3::IfcAppliedValueRelationship::Class() { return *((ifcopenshell::entity*)IFC2X3_types[38]); } -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; } +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; } void Ifc2x3::IfcApproval::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcApproval::ApprovalDateTime() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcApproval::ApprovalDateTime() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcDateTimeSelect>(); } void Ifc2x3::IfcApproval::setApprovalDateTime(const ::Ifc2x3::IfcDateTimeSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc2x3::IfcApproval::ApprovalStatus() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcApproval::setApprovalStatus(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } @@ -5711,11 +5711,11 @@ const ifcopenshell::entity& Ifc2x3::IfcApproval::Class() { return *((ifcopenshel 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>(); } +::Ifc2x3::IfcActorSelect Ifc2x3::IfcApprovalActorRelationship::Actor() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcActorSelect>(); } void Ifc2x3::IfcApprovalActorRelationship::setActor(const ::Ifc2x3::IfcActorSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcApproval Ifc2x3::IfcApprovalActorRelationship::Approval() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcApproval>(); } +::Ifc2x3::IfcApproval Ifc2x3::IfcApprovalActorRelationship::Approval() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcApproval>(); } void Ifc2x3::IfcApprovalActorRelationship::setApproval(const ::Ifc2x3::IfcApproval& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc2x3::IfcActorRole Ifc2x3::IfcApprovalActorRelationship::Role() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcActorRole>(); } +::Ifc2x3::IfcActorRole Ifc2x3::IfcApprovalActorRelationship::Role() const { return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcActorRole>(); } void Ifc2x3::IfcApprovalActorRelationship::setRole(const ::Ifc2x3::IfcActorRole& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -5723,19 +5723,19 @@ const ifcopenshell::entity& Ifc2x3::IfcApprovalActorRelationship::Class() { retu 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); } -void Ifc2x3::IfcApprovalPropertyRelationship::setApprovedProperties(const std::vector< ::Ifc2x3::IfcProperty >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcApproval Ifc2x3::IfcApprovalPropertyRelationship::Approval() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcApproval>(); } +std::vector< ::Ifc2x3::IfcProperty > Ifc2x3::IfcApprovalPropertyRelationship::ApprovedProperties() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcProperty>(es); } +void Ifc2x3::IfcApprovalPropertyRelationship::setApprovedProperties(const std::vector< ::Ifc2x3::IfcProperty >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +::Ifc2x3::IfcApproval Ifc2x3::IfcApprovalPropertyRelationship::Approval() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcApproval>(); } void Ifc2x3::IfcApprovalPropertyRelationship::setApproval(const ::Ifc2x3::IfcApproval& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc2x3::IfcApprovalPropertyRelationship::Class() { return *((ifcopenshell::entity*)IFC2X3_types[42]); } -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; } +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>(); } +::Ifc2x3::IfcApproval Ifc2x3::IfcApprovalRelationship::RelatedApproval() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcApproval>(); } void Ifc2x3::IfcApprovalRelationship::setRelatedApproval(const ::Ifc2x3::IfcApproval& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcApproval Ifc2x3::IfcApprovalRelationship::RelatingApproval() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcApproval>(); } +::Ifc2x3::IfcApproval Ifc2x3::IfcApprovalRelationship::RelatingApproval() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcApproval>(); } void Ifc2x3::IfcApprovalRelationship::setRelatingApproval(const ::Ifc2x3::IfcApproval& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc2x3::IfcApprovalRelationship::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcApprovalRelationship::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } @@ -5747,7 +5747,7 @@ const ifcopenshell::entity& Ifc2x3::IfcApprovalRelationship::Class() { return *( 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>(); } +::Ifc2x3::IfcCurve Ifc2x3::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcCurve>(); } void Ifc2x3::IfcArbitraryClosedProfileDef::setOuterCurve(const ::Ifc2x3::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -5755,7 +5755,7 @@ const ifcopenshell::entity& Ifc2x3::IfcArbitraryClosedProfileDef::Class() { retu 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>(); } +::Ifc2x3::IfcBoundedCurve Ifc2x3::IfcArbitraryOpenProfileDef::Curve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcBoundedCurve>(); } void Ifc2x3::IfcArbitraryOpenProfileDef::setCurve(const ::Ifc2x3::IfcBoundedCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -5763,31 +5763,31 @@ const ifcopenshell::entity& Ifc2x3::IfcArbitraryOpenProfileDef::Class() { return 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); } -void Ifc2x3::IfcArbitraryProfileDefWithVoids::setInnerCurves(const std::vector< ::Ifc2x3::IfcCurve >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc2x3::IfcCurve > Ifc2x3::IfcArbitraryProfileDefWithVoids::InnerCurves() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc2x3::IfcCurve>(es); } +void Ifc2x3::IfcArbitraryProfileDefWithVoids::setInnerCurves(const std::vector< ::Ifc2x3::IfcCurve >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc2x3::IfcArbitraryProfileDefWithVoids::Class() { return *((ifcopenshell::entity*)IFC2X3_types[46]); } -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; } +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; } void Ifc2x3::IfcAsset::setAssetID(const std::string& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcCostValue Ifc2x3::IfcAsset::OriginalValue() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc2x3::IfcCostValue>(); } +::Ifc2x3::IfcCostValue Ifc2x3::IfcAsset::OriginalValue() const { return ((express::base)(get_attribute_value(6))).as<::Ifc2x3::IfcCostValue>(); } void Ifc2x3::IfcAsset::setOriginalValue(const ::Ifc2x3::IfcCostValue& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc2x3::IfcCostValue Ifc2x3::IfcAsset::CurrentValue() const { return ((express::Base)(get_attribute_value(7))).as<::Ifc2x3::IfcCostValue>(); } +::Ifc2x3::IfcCostValue Ifc2x3::IfcAsset::CurrentValue() const { return ((express::base)(get_attribute_value(7))).as<::Ifc2x3::IfcCostValue>(); } void Ifc2x3::IfcAsset::setCurrentValue(const ::Ifc2x3::IfcCostValue& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc2x3::IfcCostValue Ifc2x3::IfcAsset::TotalReplacementCost() const { return ((express::Base)(get_attribute_value(8))).as<::Ifc2x3::IfcCostValue>(); } +::Ifc2x3::IfcCostValue Ifc2x3::IfcAsset::TotalReplacementCost() const { return ((express::base)(get_attribute_value(8))).as<::Ifc2x3::IfcCostValue>(); } void Ifc2x3::IfcAsset::setTotalReplacementCost(const ::Ifc2x3::IfcCostValue& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc2x3::IfcActorSelect Ifc2x3::IfcAsset::Owner() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc2x3::IfcActorSelect>(); } +::Ifc2x3::IfcActorSelect Ifc2x3::IfcAsset::Owner() const { return ((express::base)(get_attribute_value(9))).as<::Ifc2x3::IfcActorSelect>(); } void Ifc2x3::IfcAsset::setOwner(const ::Ifc2x3::IfcActorSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -::Ifc2x3::IfcActorSelect Ifc2x3::IfcAsset::User() const { return ((express::Base)(get_attribute_value(10))).as<::Ifc2x3::IfcActorSelect>(); } +::Ifc2x3::IfcActorSelect Ifc2x3::IfcAsset::User() const { return ((express::base)(get_attribute_value(10))).as<::Ifc2x3::IfcActorSelect>(); } void Ifc2x3::IfcAsset::setUser(const ::Ifc2x3::IfcActorSelect& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -::Ifc2x3::IfcPerson Ifc2x3::IfcAsset::ResponsiblePerson() const { return ((express::Base)(get_attribute_value(11))).as<::Ifc2x3::IfcPerson>(); } +::Ifc2x3::IfcPerson Ifc2x3::IfcAsset::ResponsiblePerson() const { return ((express::base)(get_attribute_value(11))).as<::Ifc2x3::IfcPerson>(); } void Ifc2x3::IfcAsset::setResponsiblePerson(const ::Ifc2x3::IfcPerson& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -::Ifc2x3::IfcCalendarDate Ifc2x3::IfcAsset::IncorporationDate() const { return ((express::Base)(get_attribute_value(12))).as<::Ifc2x3::IfcCalendarDate>(); } +::Ifc2x3::IfcCalendarDate Ifc2x3::IfcAsset::IncorporationDate() const { return ((express::base)(get_attribute_value(12))).as<::Ifc2x3::IfcCalendarDate>(); } void Ifc2x3::IfcAsset::setIncorporationDate(const ::Ifc2x3::IfcCalendarDate& v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } -::Ifc2x3::IfcCostValue Ifc2x3::IfcAsset::DepreciatedValue() const { return ((express::Base)(get_attribute_value(13))).as<::Ifc2x3::IfcCostValue>(); } +::Ifc2x3::IfcCostValue Ifc2x3::IfcAsset::DepreciatedValue() const { return ((express::base)(get_attribute_value(13))).as<::Ifc2x3::IfcCostValue>(); } void Ifc2x3::IfcAsset::setDepreciatedValue(const ::Ifc2x3::IfcCostValue& v) { set_attribute_value(13, v);if constexpr (false)unset_attribute_value(13); } @@ -5809,7 +5809,7 @@ const ifcopenshell::entity& Ifc2x3::IfcAsymmetricIShapeProfileDef::Class() { ret 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>(); } +::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>(); } void Ifc2x3::IfcAxis1Placement::setAxis(const ::Ifc2x3::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -5817,7 +5817,7 @@ const ifcopenshell::entity& Ifc2x3::IfcAxis1Placement::Class() { return *((ifcop 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>(); } +::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>(); } void Ifc2x3::IfcAxis2Placement2D::setRefDirection(const ::Ifc2x3::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -5825,9 +5825,9 @@ const ifcopenshell::entity& Ifc2x3::IfcAxis2Placement2D::Class() { return *((ifc 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>(); } +::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>(); } void Ifc2x3::IfcAxis2Placement3D::setAxis(const ::Ifc2x3::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc2x3::IfcDirection Ifc2x3::IfcAxis2Placement3D::RefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc2x3::IfcDirection{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcDirection>(); } +::Ifc2x3::IfcDirection Ifc2x3::IfcAxis2Placement3D::RefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc2x3::IfcDirection{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcDirection>(); } void Ifc2x3::IfcAxis2Placement3D::setRefDirection(const ::Ifc2x3::IfcDirection& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -5837,8 +5837,8 @@ Ifc2x3::IfcAxis2Placement3D Ifc2x3::IfcAxis2Placement3D::initialize(::Ifc2x3::If // Function implementations for IfcBSplineCurve int64_t Ifc2x3::IfcBSplineCurve::Degree() const { int64_t v = get_attribute_value(0); return v; } void Ifc2x3::IfcBSplineCurve::setDegree(const int64_t& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc2x3::IfcCartesianPoint > Ifc2x3::IfcBSplineCurve::ControlPointsList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcCartesianPoint>(es); } -void Ifc2x3::IfcBSplineCurve::setControlPointsList(const std::vector< ::Ifc2x3::IfcCartesianPoint >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc2x3::IfcCartesianPoint > Ifc2x3::IfcBSplineCurve::ControlPointsList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcCartesianPoint>(es); } +void Ifc2x3::IfcBSplineCurve::setControlPointsList(const std::vector< ::Ifc2x3::IfcCartesianPoint >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } ::Ifc2x3::IfcBSplineCurveForm::Value Ifc2x3::IfcBSplineCurve::CurveForm() const { return ::Ifc2x3::IfcBSplineCurveForm::FromString(get_attribute_value(2)); } void Ifc2x3::IfcBSplineCurve::setCurveForm(const ::Ifc2x3::IfcBSplineCurveForm::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc2x3::IfcBSplineCurveForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } boost::logic::tribool Ifc2x3::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = get_attribute_value(3); return v; } @@ -5848,7 +5848,7 @@ void Ifc2x3::IfcBSplineCurve::setSelfIntersect(const boost::logic::tribool& v) { const ifcopenshell::entity& Ifc2x3::IfcBSplineCurve::Class() { return *((ifcopenshell::entity*)IFC2X3_types[80]); } -Ifc2x3::IfcBSplineCurve Ifc2x3::IfcBSplineCurve::initialize(int64_t 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; } +Ifc2x3::IfcBSplineCurve Ifc2x3::IfcBSplineCurve::initialize(int64_t 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 @@ -5862,13 +5862,13 @@ void Ifc2x3::IfcBeamType::setPredefinedType(const ::Ifc2x3::IfcBeamTypeEnum::Val const ifcopenshell::entity& Ifc2x3::IfcBeamType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[57]); } -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; } +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]); } -Ifc2x3::IfcBezierCurve Ifc2x3::IfcBezierCurve::initialize(int64_t 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; } +Ifc2x3::IfcBezierCurve Ifc2x3::IfcBezierCurve::initialize(int64_t 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; } @@ -5898,7 +5898,7 @@ void Ifc2x3::IfcBoilerType::setPredefinedType(const ::Ifc2x3::IfcBoilerTypeEnum: const ifcopenshell::entity& Ifc2x3::IfcBoilerType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[63]); } -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; } +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 @@ -5909,9 +5909,9 @@ Ifc2x3::IfcBooleanClippingResult Ifc2x3::IfcBooleanClippingResult::initialize(:: // Function implementations for IfcBooleanResult ::Ifc2x3::IfcBooleanOperator::Value Ifc2x3::IfcBooleanResult::Operator() const { return ::Ifc2x3::IfcBooleanOperator::FromString(get_attribute_value(0)); } void Ifc2x3::IfcBooleanResult::setOperator(const ::Ifc2x3::IfcBooleanOperator::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc2x3::IfcBooleanOperator::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcBooleanOperand Ifc2x3::IfcBooleanResult::FirstOperand() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcBooleanOperand>(); } +::Ifc2x3::IfcBooleanOperand Ifc2x3::IfcBooleanResult::FirstOperand() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcBooleanOperand>(); } void Ifc2x3::IfcBooleanResult::setFirstOperand(const ::Ifc2x3::IfcBooleanOperand& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc2x3::IfcBooleanOperand Ifc2x3::IfcBooleanResult::SecondOperand() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcBooleanOperand>(); } +::Ifc2x3::IfcBooleanOperand Ifc2x3::IfcBooleanResult::SecondOperand() const { return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcBooleanOperand>(); } void Ifc2x3::IfcBooleanResult::setSecondOperand(const ::Ifc2x3::IfcBooleanOperand& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -5995,7 +5995,7 @@ const ifcopenshell::entity& Ifc2x3::IfcBoundedSurface::Class() { return *((ifcop 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>(); } +::Ifc2x3::IfcCartesianPoint Ifc2x3::IfcBoundingBox::Corner() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcCartesianPoint>(); } void Ifc2x3::IfcBoundingBox::setCorner(const ::Ifc2x3::IfcCartesianPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc2x3::IfcBoundingBox::XDim() const { double v = get_attribute_value(1); return v; } void Ifc2x3::IfcBoundingBox::setXDim(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -6009,7 +6009,7 @@ const ifcopenshell::entity& Ifc2x3::IfcBoundingBox::Class() { return *((ifcopens 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>(); } +::Ifc2x3::IfcBoundingBox Ifc2x3::IfcBoxedHalfSpace::Enclosure() const { return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcBoundingBox>(); } void Ifc2x3::IfcBoxedHalfSpace::setEnclosure(const ::Ifc2x3::IfcBoundingBox& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -6021,7 +6021,7 @@ std::optional< double > Ifc2x3::IfcBuilding::ElevationOfRefHeight() const { if(g void Ifc2x3::IfcBuilding::setElevationOfRefHeight(const std::optional< double >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } std::optional< double > Ifc2x3::IfcBuilding::ElevationOfTerrain() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc2x3::IfcBuilding::setElevationOfTerrain(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc2x3::IfcPostalAddress Ifc2x3::IfcBuilding::BuildingAddress() const { if(get_attribute_value(11).isNull()) { return ::Ifc2x3::IfcPostalAddress{}; } return ((express::Base)(get_attribute_value(11))).as<::Ifc2x3::IfcPostalAddress>(); } +::Ifc2x3::IfcPostalAddress Ifc2x3::IfcBuilding::BuildingAddress() const { if(get_attribute_value(11).isNull()) { return ::Ifc2x3::IfcPostalAddress{}; } return ((express::base)(get_attribute_value(11))).as<::Ifc2x3::IfcPostalAddress>(); } void Ifc2x3::IfcBuilding::setBuildingAddress(const ::Ifc2x3::IfcPostalAddress& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } @@ -6060,13 +6060,13 @@ void Ifc2x3::IfcBuildingElementProxyType::setPredefinedType(const ::Ifc2x3::IfcB const ifcopenshell::entity& Ifc2x3::IfcBuildingElementProxyType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[87]); } -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; } +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]); } -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; } +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; } @@ -6100,7 +6100,7 @@ void Ifc2x3::IfcCableCarrierFittingType::setPredefinedType(const ::Ifc2x3::IfcCa const ifcopenshell::entity& Ifc2x3::IfcCableCarrierFittingType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[91]); } -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; } +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]); } -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; } +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]); } -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; } +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 int64_t Ifc2x3::IfcCalendarDate::DayComponent() const { int64_t v = get_attribute_value(0); return v; } @@ -6139,11 +6139,11 @@ const ifcopenshell::entity& Ifc2x3::IfcCartesianPoint::Class() { return *((ifcop 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>(); } +::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>(); } void Ifc2x3::IfcCartesianTransformationOperator::setAxis1(const ::Ifc2x3::IfcDirection& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcDirection Ifc2x3::IfcCartesianTransformationOperator::Axis2() const { if(get_attribute_value(1).isNull()) { return ::Ifc2x3::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcDirection>(); } +::Ifc2x3::IfcDirection Ifc2x3::IfcCartesianTransformationOperator::Axis2() const { if(get_attribute_value(1).isNull()) { return ::Ifc2x3::IfcDirection{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcDirection>(); } void Ifc2x3::IfcCartesianTransformationOperator::setAxis2(const ::Ifc2x3::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc2x3::IfcCartesianPoint Ifc2x3::IfcCartesianTransformationOperator::LocalOrigin() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcCartesianPoint>(); } +::Ifc2x3::IfcCartesianPoint Ifc2x3::IfcCartesianTransformationOperator::LocalOrigin() const { return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcCartesianPoint>(); } void Ifc2x3::IfcCartesianTransformationOperator::setLocalOrigin(const ::Ifc2x3::IfcCartesianPoint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc2x3::IfcCartesianTransformationOperator::Scale() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc2x3::IfcCartesianTransformationOperator::setScale(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } @@ -6167,7 +6167,7 @@ const ifcopenshell::entity& Ifc2x3::IfcCartesianTransformationOperator2DnonUnifo 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>(); } +::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>(); } void Ifc2x3::IfcCartesianTransformationOperator3D::setAxis3(const ::Ifc2x3::IfcDirection& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -6208,7 +6208,7 @@ void Ifc2x3::IfcChillerType::setPredefinedType(const ::Ifc2x3::IfcChillerTypeEnu const ifcopenshell::entity& Ifc2x3::IfcChillerType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[108]); } -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; } +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; } @@ -6239,7 +6239,7 @@ std::string Ifc2x3::IfcClassification::Source() const { std::string v = get_att void Ifc2x3::IfcClassification::setSource(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::string Ifc2x3::IfcClassification::Edition() const { std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcClassification::setEdition(const std::string& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc2x3::IfcCalendarDate Ifc2x3::IfcClassification::EditionDate() const { if(get_attribute_value(2).isNull()) { return ::Ifc2x3::IfcCalendarDate{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcCalendarDate>(); } +::Ifc2x3::IfcCalendarDate Ifc2x3::IfcClassification::EditionDate() const { if(get_attribute_value(2).isNull()) { return ::Ifc2x3::IfcCalendarDate{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcCalendarDate>(); } void Ifc2x3::IfcClassification::setEditionDate(const ::Ifc2x3::IfcCalendarDate& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::string Ifc2x3::IfcClassification::Name() const { std::string v = get_attribute_value(3); return v; } void Ifc2x3::IfcClassification::setName(const std::string& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -6250,9 +6250,9 @@ const ifcopenshell::entity& Ifc2x3::IfcClassification::Class() { return *((ifcop 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>(); } +::Ifc2x3::IfcClassificationNotationFacet Ifc2x3::IfcClassificationItem::Notation() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcClassificationNotationFacet>(); } void Ifc2x3::IfcClassificationItem::setNotation(const ::Ifc2x3::IfcClassificationNotationFacet& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcClassification Ifc2x3::IfcClassificationItem::ItemOf() const { if(get_attribute_value(1).isNull()) { return ::Ifc2x3::IfcClassification{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcClassification>(); } +::Ifc2x3::IfcClassification Ifc2x3::IfcClassificationItem::ItemOf() const { if(get_attribute_value(1).isNull()) { return ::Ifc2x3::IfcClassification{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcClassification>(); } void Ifc2x3::IfcClassificationItem::setItemOf(const ::Ifc2x3::IfcClassification& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::string Ifc2x3::IfcClassificationItem::Title() const { std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcClassificationItem::setTitle(const std::string& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -6264,22 +6264,22 @@ const ifcopenshell::entity& Ifc2x3::IfcClassificationItem::Class() { return *((i 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>(); } +::Ifc2x3::IfcClassificationItem Ifc2x3::IfcClassificationItemRelationship::RelatingItem() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcClassificationItem>(); } void Ifc2x3::IfcClassificationItemRelationship::setRelatingItem(const ::Ifc2x3::IfcClassificationItem& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc2x3::IfcClassificationItem > Ifc2x3::IfcClassificationItemRelationship::RelatedItems() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcClassificationItem>(es); } -void Ifc2x3::IfcClassificationItemRelationship::setRelatedItems(const std::vector< ::Ifc2x3::IfcClassificationItem >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc2x3::IfcClassificationItem > Ifc2x3::IfcClassificationItemRelationship::RelatedItems() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcClassificationItem>(es); } +void Ifc2x3::IfcClassificationItemRelationship::setRelatedItems(const std::vector< ::Ifc2x3::IfcClassificationItem >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc2x3::IfcClassificationItemRelationship::Class() { return *((ifcopenshell::entity*)IFC2X3_types[115]); } -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; } +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); } -void Ifc2x3::IfcClassificationNotation::setNotationFacets(const std::vector< ::Ifc2x3::IfcClassificationNotationFacet >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc2x3::IfcClassificationNotationFacet > Ifc2x3::IfcClassificationNotation::NotationFacets() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcClassificationNotationFacet>(es); } +void Ifc2x3::IfcClassificationNotation::setNotationFacets(const std::vector< ::Ifc2x3::IfcClassificationNotationFacet >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc2x3::IfcClassificationNotation::Class() { return *((ifcopenshell::entity*)IFC2X3_types[116]); } -Ifc2x3::IfcClassificationNotation Ifc2x3::IfcClassificationNotation::initialize(std::vector< ::Ifc2x3::IfcClassificationNotationFacet > v1_NotationFacets) { set_attribute_value(0, cast_vector(v1_NotationFacets));; return *this; } +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; } @@ -6290,7 +6290,7 @@ const ifcopenshell::entity& Ifc2x3::IfcClassificationNotationFacet::Class() { re 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>(); } +::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>(); } void Ifc2x3::IfcClassificationReference::setReferencedSource(const ::Ifc2x3::IfcClassification& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -6301,7 +6301,7 @@ Ifc2x3::IfcClassificationReference Ifc2x3::IfcClassificationReference::initializ const ifcopenshell::entity& Ifc2x3::IfcClosedShell::Class() { return *((ifcopenshell::entity*)IFC2X3_types[120]); } -Ifc2x3::IfcClosedShell Ifc2x3::IfcClosedShell::initialize(std::vector< ::Ifc2x3::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } +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]); } -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; } +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; } @@ -6343,34 +6343,34 @@ void Ifc2x3::IfcColumnType::setPredefinedType(const ::Ifc2x3::IfcColumnTypeEnum: const ifcopenshell::entity& Ifc2x3::IfcColumnType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[128]); } -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; } +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; } void Ifc2x3::IfcComplexProperty::setUsageName(const std::string& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc2x3::IfcProperty > Ifc2x3::IfcComplexProperty::HasProperties() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc2x3::IfcProperty>(es); } -void Ifc2x3::IfcComplexProperty::setHasProperties(const std::vector< ::Ifc2x3::IfcProperty >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc2x3::IfcProperty > Ifc2x3::IfcComplexProperty::HasProperties() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc2x3::IfcProperty>(es); } +void Ifc2x3::IfcComplexProperty::setHasProperties(const std::vector< ::Ifc2x3::IfcProperty >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc2x3::IfcComplexProperty::Class() { return *((ifcopenshell::entity*)IFC2X3_types[131]); } -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; } +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); } -void Ifc2x3::IfcCompositeCurve::setSegments(const std::vector< ::Ifc2x3::IfcCompositeCurveSegment >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc2x3::IfcCompositeCurveSegment > Ifc2x3::IfcCompositeCurve::Segments() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcCompositeCurveSegment>(es); } +void Ifc2x3::IfcCompositeCurve::setSegments(const std::vector< ::Ifc2x3::IfcCompositeCurveSegment >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } boost::logic::tribool Ifc2x3::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(1); return v; } void Ifc2x3::IfcCompositeCurve::setSelfIntersect(const boost::logic::tribool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc2x3::IfcCompositeCurve::Class() { return *((ifcopenshell::entity*)IFC2X3_types[132]); } -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; } +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)); } void Ifc2x3::IfcCompositeCurveSegment::setTransition(const ::Ifc2x3::IfcTransitionCode::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc2x3::IfcTransitionCode::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } bool Ifc2x3::IfcCompositeCurveSegment::SameSense() const { bool v = get_attribute_value(1); return v; } void Ifc2x3::IfcCompositeCurveSegment::setSameSense(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc2x3::IfcCurve Ifc2x3::IfcCompositeCurveSegment::ParentCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcCurve>(); } +::Ifc2x3::IfcCurve Ifc2x3::IfcCompositeCurveSegment::ParentCurve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcCurve>(); } void Ifc2x3::IfcCompositeCurveSegment::setParentCurve(const ::Ifc2x3::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::vector<::Ifc2x3::IfcCompositeCurve> Ifc2x3::IfcCompositeCurveSegment::UsingCurves() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[132], 0)); } @@ -6379,14 +6379,14 @@ const ifcopenshell::entity& Ifc2x3::IfcCompositeCurveSegment::Class() { return * 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); } -void Ifc2x3::IfcCompositeProfileDef::setProfiles(const std::vector< ::Ifc2x3::IfcProfileDef >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc2x3::IfcProfileDef > Ifc2x3::IfcCompositeProfileDef::Profiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc2x3::IfcProfileDef>(es); } +void Ifc2x3::IfcCompositeProfileDef::setProfiles(const std::vector< ::Ifc2x3::IfcProfileDef >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc2x3::IfcCompositeProfileDef::Label() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc2x3::IfcCompositeProfileDef::setLabel(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const ifcopenshell::entity& Ifc2x3::IfcCompositeProfileDef::Class() { return *((ifcopenshell::entity*)IFC2X3_types[134]); } -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; } +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]); } -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; } +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,7 +6402,7 @@ void Ifc2x3::IfcCondenserType::setPredefinedType(const ::Ifc2x3::IfcCondenserTyp const ifcopenshell::entity& Ifc2x3::IfcCondenserType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[138]); } -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; } +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 @@ -6411,9 +6411,9 @@ const ifcopenshell::entity& Ifc2x3::IfcCondition::Class() { return *((ifcopenshe 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>(); } +::Ifc2x3::IfcConditionCriterionSelect Ifc2x3::IfcConditionCriterion::Criterion() const { return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcConditionCriterionSelect>(); } void Ifc2x3::IfcConditionCriterion::setCriterion(const ::Ifc2x3::IfcConditionCriterionSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcConditionCriterion::CriterionDateTime() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcConditionCriterion::CriterionDateTime() const { return ((express::base)(get_attribute_value(6))).as<::Ifc2x3::IfcDateTimeSelect>(); } void Ifc2x3::IfcConditionCriterion::setCriterionDateTime(const ::Ifc2x3::IfcDateTimeSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -6421,7 +6421,7 @@ const ifcopenshell::entity& Ifc2x3::IfcConditionCriterion::Class() { return *((i 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>(); } +::Ifc2x3::IfcAxis2Placement Ifc2x3::IfcConic::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcAxis2Placement>(); } void Ifc2x3::IfcConic::setPosition(const ::Ifc2x3::IfcAxis2Placement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -6429,17 +6429,17 @@ const ifcopenshell::entity& Ifc2x3::IfcConic::Class() { return *((ifcopenshell:: 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); } -void Ifc2x3::IfcConnectedFaceSet::setCfsFaces(const std::vector< ::Ifc2x3::IfcFace >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc2x3::IfcFace > Ifc2x3::IfcConnectedFaceSet::CfsFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcFace>(es); } +void Ifc2x3::IfcConnectedFaceSet::setCfsFaces(const std::vector< ::Ifc2x3::IfcFace >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc2x3::IfcConnectedFaceSet::Class() { return *((ifcopenshell::entity*)IFC2X3_types[144]); } -Ifc2x3::IfcConnectedFaceSet Ifc2x3::IfcConnectedFaceSet::initialize(std::vector< ::Ifc2x3::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } +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>(); } +::Ifc2x3::IfcCurveOrEdgeCurve Ifc2x3::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcCurveOrEdgeCurve>(); } void Ifc2x3::IfcConnectionCurveGeometry::setCurveOnRelatingElement(const ::Ifc2x3::IfcCurveOrEdgeCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcCurveOrEdgeCurve Ifc2x3::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc2x3::IfcCurveOrEdgeCurve{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcCurveOrEdgeCurve>(); } +::Ifc2x3::IfcCurveOrEdgeCurve Ifc2x3::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc2x3::IfcCurveOrEdgeCurve{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcCurveOrEdgeCurve>(); } void Ifc2x3::IfcConnectionCurveGeometry::setCurveOnRelatedElement(const ::Ifc2x3::IfcCurveOrEdgeCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -6465,9 +6465,9 @@ const ifcopenshell::entity& Ifc2x3::IfcConnectionPointEccentricity::Class() { re 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>(); } +::Ifc2x3::IfcPointOrVertexPoint Ifc2x3::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcPointOrVertexPoint>(); } void Ifc2x3::IfcConnectionPointGeometry::setPointOnRelatingElement(const ::Ifc2x3::IfcPointOrVertexPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcPointOrVertexPoint Ifc2x3::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc2x3::IfcPointOrVertexPoint{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcPointOrVertexPoint>(); } +::Ifc2x3::IfcPointOrVertexPoint Ifc2x3::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc2x3::IfcPointOrVertexPoint{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcPointOrVertexPoint>(); } void Ifc2x3::IfcConnectionPointGeometry::setPointOnRelatedElement(const ::Ifc2x3::IfcPointOrVertexPoint& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -6475,11 +6475,11 @@ const ifcopenshell::entity& Ifc2x3::IfcConnectionPointGeometry::Class() { return 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>(); } +::Ifc2x3::IfcAxis2Placement Ifc2x3::IfcConnectionPortGeometry::LocationAtRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcAxis2Placement>(); } void Ifc2x3::IfcConnectionPortGeometry::setLocationAtRelatingElement(const ::Ifc2x3::IfcAxis2Placement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcAxis2Placement Ifc2x3::IfcConnectionPortGeometry::LocationAtRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc2x3::IfcAxis2Placement{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcAxis2Placement>(); } +::Ifc2x3::IfcAxis2Placement Ifc2x3::IfcConnectionPortGeometry::LocationAtRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc2x3::IfcAxis2Placement{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcAxis2Placement>(); } void Ifc2x3::IfcConnectionPortGeometry::setLocationAtRelatedElement(const ::Ifc2x3::IfcAxis2Placement& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc2x3::IfcProfileDef Ifc2x3::IfcConnectionPortGeometry::ProfileOfPort() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcProfileDef>(); } +::Ifc2x3::IfcProfileDef Ifc2x3::IfcConnectionPortGeometry::ProfileOfPort() const { return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcProfileDef>(); } void Ifc2x3::IfcConnectionPortGeometry::setProfileOfPort(const ::Ifc2x3::IfcProfileDef& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -6487,9 +6487,9 @@ const ifcopenshell::entity& Ifc2x3::IfcConnectionPortGeometry::Class() { return 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>(); } +::Ifc2x3::IfcSurfaceOrFaceSurface Ifc2x3::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcSurfaceOrFaceSurface>(); } void Ifc2x3::IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(const ::Ifc2x3::IfcSurfaceOrFaceSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcSurfaceOrFaceSurface Ifc2x3::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc2x3::IfcSurfaceOrFaceSurface{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcSurfaceOrFaceSurface>(); } +::Ifc2x3::IfcSurfaceOrFaceSurface Ifc2x3::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc2x3::IfcSurfaceOrFaceSurface{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcSurfaceOrFaceSurface>(); } void Ifc2x3::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(const ::Ifc2x3::IfcSurfaceOrFaceSurface& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -6505,9 +6505,9 @@ void Ifc2x3::IfcConstraint::setDescription(const std::optional< std::string >& v void Ifc2x3::IfcConstraint::setConstraintGrade(const ::Ifc2x3::IfcConstraintEnum::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc2x3::IfcConstraintEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc2x3::IfcConstraint::ConstraintSource() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc2x3::IfcConstraint::setConstraintSource(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc2x3::IfcActorSelect Ifc2x3::IfcConstraint::CreatingActor() const { if(get_attribute_value(4).isNull()) { return ::Ifc2x3::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc2x3::IfcActorSelect>(); } +::Ifc2x3::IfcActorSelect Ifc2x3::IfcConstraint::CreatingActor() const { if(get_attribute_value(4).isNull()) { return ::Ifc2x3::IfcActorSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc2x3::IfcActorSelect>(); } void Ifc2x3::IfcConstraint::setCreatingActor(const ::Ifc2x3::IfcActorSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcConstraint::CreationTime() const { if(get_attribute_value(5).isNull()) { return ::Ifc2x3::IfcDateTimeSelect{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcConstraint::CreationTime() const { if(get_attribute_value(5).isNull()) { return ::Ifc2x3::IfcDateTimeSelect{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcDateTimeSelect>(); } void Ifc2x3::IfcConstraint::setCreationTime(const ::Ifc2x3::IfcDateTimeSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } std::optional< std::string > Ifc2x3::IfcConstraint::UserDefinedGrade() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc2x3::IfcConstraint::setUserDefinedGrade(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } @@ -6527,40 +6527,40 @@ std::optional< std::string > Ifc2x3::IfcConstraintAggregationRelationship::Name( void Ifc2x3::IfcConstraintAggregationRelationship::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc2x3::IfcConstraintAggregationRelationship::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcConstraintAggregationRelationship::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc2x3::IfcConstraint Ifc2x3::IfcConstraintAggregationRelationship::RelatingConstraint() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcConstraint>(); } +::Ifc2x3::IfcConstraint Ifc2x3::IfcConstraintAggregationRelationship::RelatingConstraint() const { return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcConstraint>(); } void Ifc2x3::IfcConstraintAggregationRelationship::setRelatingConstraint(const ::Ifc2x3::IfcConstraint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc2x3::IfcConstraint > Ifc2x3::IfcConstraintAggregationRelationship::RelatedConstraints() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc2x3::IfcConstraint>(es); } -void Ifc2x3::IfcConstraintAggregationRelationship::setRelatedConstraints(const std::vector< ::Ifc2x3::IfcConstraint >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc2x3::IfcConstraint > Ifc2x3::IfcConstraintAggregationRelationship::RelatedConstraints() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc2x3::IfcConstraint>(es); } +void Ifc2x3::IfcConstraintAggregationRelationship::setRelatedConstraints(const std::vector< ::Ifc2x3::IfcConstraint >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } ::Ifc2x3::IfcLogicalOperatorEnum::Value Ifc2x3::IfcConstraintAggregationRelationship::LogicalAggregator() const { return ::Ifc2x3::IfcLogicalOperatorEnum::FromString(get_attribute_value(4)); } void Ifc2x3::IfcConstraintAggregationRelationship::setLogicalAggregator(const ::Ifc2x3::IfcLogicalOperatorEnum::Value& v) { set_attribute_value(4, enumeration_reference(&::Ifc2x3::IfcLogicalOperatorEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } const ifcopenshell::entity& Ifc2x3::IfcConstraintAggregationRelationship::Class() { return *((ifcopenshell::entity*)IFC2X3_types[153]); } -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; } +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>(); } +::Ifc2x3::IfcConstraint Ifc2x3::IfcConstraintClassificationRelationship::ClassifiedConstraint() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcConstraint>(); } void Ifc2x3::IfcConstraintClassificationRelationship::setClassifiedConstraint(const ::Ifc2x3::IfcConstraint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc2x3::IfcClassificationNotationSelect > Ifc2x3::IfcConstraintClassificationRelationship::RelatedClassifications() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcClassificationNotationSelect>(es); } -void Ifc2x3::IfcConstraintClassificationRelationship::setRelatedClassifications(const std::vector< ::Ifc2x3::IfcClassificationNotationSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc2x3::IfcClassificationNotationSelect > Ifc2x3::IfcConstraintClassificationRelationship::RelatedClassifications() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcClassificationNotationSelect>(es); } +void Ifc2x3::IfcConstraintClassificationRelationship::setRelatedClassifications(const std::vector< ::Ifc2x3::IfcClassificationNotationSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc2x3::IfcConstraintClassificationRelationship::Class() { return *((ifcopenshell::entity*)IFC2X3_types[154]); } -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; } +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; } void Ifc2x3::IfcConstraintRelationship::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc2x3::IfcConstraintRelationship::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcConstraintRelationship::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc2x3::IfcConstraint Ifc2x3::IfcConstraintRelationship::RelatingConstraint() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcConstraint>(); } +::Ifc2x3::IfcConstraint Ifc2x3::IfcConstraintRelationship::RelatingConstraint() const { return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcConstraint>(); } void Ifc2x3::IfcConstraintRelationship::setRelatingConstraint(const ::Ifc2x3::IfcConstraint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc2x3::IfcConstraint > Ifc2x3::IfcConstraintRelationship::RelatedConstraints() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc2x3::IfcConstraint>(es); } -void Ifc2x3::IfcConstraintRelationship::setRelatedConstraints(const std::vector< ::Ifc2x3::IfcConstraint >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc2x3::IfcConstraint > Ifc2x3::IfcConstraintRelationship::RelatedConstraints() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc2x3::IfcConstraint>(es); } +void Ifc2x3::IfcConstraintRelationship::setRelatedConstraints(const std::vector< ::Ifc2x3::IfcConstraint >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc2x3::IfcConstraintRelationship::Class() { return *((ifcopenshell::entity*)IFC2X3_types[156]); } -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; } +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 @@ -6569,14 +6569,14 @@ const ifcopenshell::entity& Ifc2x3::IfcConstructionEquipmentResource::Class() { 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); } -void Ifc2x3::IfcConstructionMaterialResource::setSuppliers(const std::optional< std::vector< ::Ifc2x3::IfcActorSelect > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +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); } +void Ifc2x3::IfcConstructionMaterialResource::setSuppliers(const std::optional< std::vector< ::Ifc2x3::IfcActorSelect > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } std::optional< double > Ifc2x3::IfcConstructionMaterialResource::UsageRatio() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc2x3::IfcConstructionMaterialResource::setUsageRatio(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const ifcopenshell::entity& Ifc2x3::IfcConstructionMaterialResource::Class() { return *((ifcopenshell::entity*)IFC2X3_types[158]); } -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; } +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 @@ -6591,7 +6591,7 @@ std::optional< std::string > Ifc2x3::IfcConstructionResource::ResourceGroup() co void Ifc2x3::IfcConstructionResource::setResourceGroup(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } std::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > Ifc2x3::IfcConstructionResource::ResourceConsumption() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc2x3::IfcResourceConsumptionEnum::FromString(get_attribute_value(7)); } void Ifc2x3::IfcConstructionResource::setResourceConsumption(const std::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value >& v) { if (v) {set_attribute_value(7, enumeration_reference(&::Ifc2x3::IfcResourceConsumptionEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -::Ifc2x3::IfcMeasureWithUnit Ifc2x3::IfcConstructionResource::BaseQuantity() const { if(get_attribute_value(8).isNull()) { return ::Ifc2x3::IfcMeasureWithUnit{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc2x3::IfcMeasureWithUnit>(); } +::Ifc2x3::IfcMeasureWithUnit Ifc2x3::IfcConstructionResource::BaseQuantity() const { if(get_attribute_value(8).isNull()) { return ::Ifc2x3::IfcMeasureWithUnit{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc2x3::IfcMeasureWithUnit>(); } void Ifc2x3::IfcConstructionResource::setBaseQuantity(const ::Ifc2x3::IfcMeasureWithUnit& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -6619,12 +6619,12 @@ void Ifc2x3::IfcControllerType::setPredefinedType(const ::Ifc2x3::IfcControllerT const ifcopenshell::entity& Ifc2x3::IfcControllerType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[164]); } -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; } +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; } void Ifc2x3::IfcConversionBasedUnit::setName(const std::string& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcMeasureWithUnit Ifc2x3::IfcConversionBasedUnit::ConversionFactor() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc2x3::IfcMeasureWithUnit>(); } +::Ifc2x3::IfcMeasureWithUnit Ifc2x3::IfcConversionBasedUnit::ConversionFactor() const { return ((express::base)(get_attribute_value(3))).as<::Ifc2x3::IfcMeasureWithUnit>(); } void Ifc2x3::IfcConversionBasedUnit::setConversionFactor(const ::Ifc2x3::IfcMeasureWithUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -6637,7 +6637,7 @@ void Ifc2x3::IfcCooledBeamType::setPredefinedType(const ::Ifc2x3::IfcCooledBeamT const ifcopenshell::entity& Ifc2x3::IfcCooledBeamType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[167]); } -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; } +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]); } -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; } +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 int64_t Ifc2x3::IfcCoordinatedUniversalTimeOffset::HourOffset() const { int64_t v = get_attribute_value(0); return v; } @@ -6666,17 +6666,17 @@ const ifcopenshell::entity& Ifc2x3::IfcCostItem::Class() { return *((ifcopenshel 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>(); } +::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>(); } void Ifc2x3::IfcCostSchedule::setSubmittedBy(const ::Ifc2x3::IfcActorSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcActorSelect Ifc2x3::IfcCostSchedule::PreparedBy() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc2x3::IfcActorSelect>(); } +::Ifc2x3::IfcActorSelect Ifc2x3::IfcCostSchedule::PreparedBy() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcActorSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc2x3::IfcActorSelect>(); } void Ifc2x3::IfcCostSchedule::setPreparedBy(const ::Ifc2x3::IfcActorSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcCostSchedule::SubmittedOn() const { if(get_attribute_value(7).isNull()) { return ::Ifc2x3::IfcDateTimeSelect{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcCostSchedule::SubmittedOn() const { if(get_attribute_value(7).isNull()) { return ::Ifc2x3::IfcDateTimeSelect{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc2x3::IfcDateTimeSelect>(); } void Ifc2x3::IfcCostSchedule::setSubmittedOn(const ::Ifc2x3::IfcDateTimeSelect& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } std::optional< std::string > Ifc2x3::IfcCostSchedule::Status() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc2x3::IfcCostSchedule::setStatus(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -std::optional< std::vector< ::Ifc2x3::IfcActorSelect > > Ifc2x3::IfcCostSchedule::TargetUsers() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc2x3::IfcActorSelect>(es); } -void Ifc2x3::IfcCostSchedule::setTargetUsers(const std::optional< std::vector< ::Ifc2x3::IfcActorSelect > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } -::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcCostSchedule::UpdateDate() const { if(get_attribute_value(10).isNull()) { return ::Ifc2x3::IfcDateTimeSelect{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc2x3::IfcDateTimeSelect>(); } +std::optional< std::vector< ::Ifc2x3::IfcActorSelect > > Ifc2x3::IfcCostSchedule::TargetUsers() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc2x3::IfcActorSelect>(es); } +void Ifc2x3::IfcCostSchedule::setTargetUsers(const std::optional< std::vector< ::Ifc2x3::IfcActorSelect > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcCostSchedule::UpdateDate() const { if(get_attribute_value(10).isNull()) { return ::Ifc2x3::IfcDateTimeSelect{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc2x3::IfcDateTimeSelect>(); } void Ifc2x3::IfcCostSchedule::setUpdateDate(const ::Ifc2x3::IfcDateTimeSelect& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } std::string Ifc2x3::IfcCostSchedule::ID() const { std::string v = get_attribute_value(11); return v; } void Ifc2x3::IfcCostSchedule::setID(const std::string& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } @@ -6685,7 +6685,7 @@ void Ifc2x3::IfcCostSchedule::setPredefinedType(const ::Ifc2x3::IfcCostScheduleT const ifcopenshell::entity& Ifc2x3::IfcCostSchedule::Class() { return *((ifcopenshell::entity*)IFC2X3_types[173]); } -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; } +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; } @@ -6713,7 +6713,7 @@ void Ifc2x3::IfcCoveringType::setPredefinedType(const ::Ifc2x3::IfcCoveringTypeE const ifcopenshell::entity& Ifc2x3::IfcCoveringType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[178]); } -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; } +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; } @@ -6776,7 +6776,7 @@ const ifcopenshell::entity& Ifc2x3::IfcCrewResource::Class() { return *((ifcopen 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>(); } +::Ifc2x3::IfcAxis2Placement3D Ifc2x3::IfcCsgPrimitive3D::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcAxis2Placement3D>(); } void Ifc2x3::IfcCsgPrimitive3D::setPosition(const ::Ifc2x3::IfcAxis2Placement3D& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -6784,7 +6784,7 @@ const ifcopenshell::entity& Ifc2x3::IfcCsgPrimitive3D::Class() { return *((ifcop 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>(); } +::Ifc2x3::IfcCsgSelect Ifc2x3::IfcCsgSolid::TreeRootExpression() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcCsgSelect>(); } void Ifc2x3::IfcCsgSolid::setTreeRootExpression(const ::Ifc2x3::IfcCsgSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -6792,15 +6792,15 @@ const ifcopenshell::entity& Ifc2x3::IfcCsgSolid::Class() { return *((ifcopenshel 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>(); } +::Ifc2x3::IfcMonetaryUnit Ifc2x3::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcMonetaryUnit>(); } void Ifc2x3::IfcCurrencyRelationship::setRelatingMonetaryUnit(const ::Ifc2x3::IfcMonetaryUnit& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcMonetaryUnit Ifc2x3::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcMonetaryUnit>(); } +::Ifc2x3::IfcMonetaryUnit Ifc2x3::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcMonetaryUnit>(); } void Ifc2x3::IfcCurrencyRelationship::setRelatedMonetaryUnit(const ::Ifc2x3::IfcMonetaryUnit& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } double Ifc2x3::IfcCurrencyRelationship::ExchangeRate() const { double v = get_attribute_value(2); return v; } void Ifc2x3::IfcCurrencyRelationship::setExchangeRate(const double& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcDateAndTime Ifc2x3::IfcCurrencyRelationship::RateDateTime() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc2x3::IfcDateAndTime>(); } +::Ifc2x3::IfcDateAndTime Ifc2x3::IfcCurrencyRelationship::RateDateTime() const { return ((express::base)(get_attribute_value(3))).as<::Ifc2x3::IfcDateAndTime>(); } void Ifc2x3::IfcCurrencyRelationship::setRateDateTime(const ::Ifc2x3::IfcDateAndTime& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc2x3::IfcLibraryInformation Ifc2x3::IfcCurrencyRelationship::RateSource() const { if(get_attribute_value(4).isNull()) { return ::Ifc2x3::IfcLibraryInformation{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc2x3::IfcLibraryInformation>(); } +::Ifc2x3::IfcLibraryInformation Ifc2x3::IfcCurrencyRelationship::RateSource() const { if(get_attribute_value(4).isNull()) { return ::Ifc2x3::IfcLibraryInformation{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc2x3::IfcLibraryInformation>(); } void Ifc2x3::IfcCurrencyRelationship::setRateSource(const ::Ifc2x3::IfcLibraryInformation& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -6819,7 +6819,7 @@ void Ifc2x3::IfcCurtainWallType::setPredefinedType(const ::Ifc2x3::IfcCurtainWal const ifcopenshell::entity& Ifc2x3::IfcCurtainWallType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[190]); } -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; } +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 @@ -6828,23 +6828,23 @@ const ifcopenshell::entity& Ifc2x3::IfcCurve::Class() { return *((ifcopenshell:: 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>(); } +::Ifc2x3::IfcPlane Ifc2x3::IfcCurveBoundedPlane::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcPlane>(); } void Ifc2x3::IfcCurveBoundedPlane::setBasisSurface(const ::Ifc2x3::IfcPlane& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcCurve Ifc2x3::IfcCurveBoundedPlane::OuterBoundary() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcCurve>(); } +::Ifc2x3::IfcCurve Ifc2x3::IfcCurveBoundedPlane::OuterBoundary() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcCurve>(); } void Ifc2x3::IfcCurveBoundedPlane::setOuterBoundary(const ::Ifc2x3::IfcCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc2x3::IfcCurve > Ifc2x3::IfcCurveBoundedPlane::InnerBoundaries() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc2x3::IfcCurve>(es); } -void Ifc2x3::IfcCurveBoundedPlane::setInnerBoundaries(const std::vector< ::Ifc2x3::IfcCurve >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc2x3::IfcCurve > Ifc2x3::IfcCurveBoundedPlane::InnerBoundaries() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc2x3::IfcCurve>(es); } +void Ifc2x3::IfcCurveBoundedPlane::setInnerBoundaries(const std::vector< ::Ifc2x3::IfcCurve >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc2x3::IfcCurveBoundedPlane::Class() { return *((ifcopenshell::entity*)IFC2X3_types[194]); } -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; } +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>(); } +::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>(); } void Ifc2x3::IfcCurveStyle::setCurveFont(const ::Ifc2x3::IfcCurveFontOrScaledCurveFontSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc2x3::IfcSizeSelect Ifc2x3::IfcCurveStyle::CurveWidth() const { if(get_attribute_value(2).isNull()) { return ::Ifc2x3::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcSizeSelect>(); } +::Ifc2x3::IfcSizeSelect Ifc2x3::IfcCurveStyle::CurveWidth() const { if(get_attribute_value(2).isNull()) { return ::Ifc2x3::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcSizeSelect>(); } void Ifc2x3::IfcCurveStyle::setCurveWidth(const ::Ifc2x3::IfcSizeSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcColour Ifc2x3::IfcCurveStyle::CurveColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc2x3::IfcColour{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc2x3::IfcColour>(); } +::Ifc2x3::IfcColour Ifc2x3::IfcCurveStyle::CurveColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc2x3::IfcColour{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc2x3::IfcColour>(); } void Ifc2x3::IfcCurveStyle::setCurveColour(const ::Ifc2x3::IfcColour& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -6854,17 +6854,17 @@ Ifc2x3::IfcCurveStyle Ifc2x3::IfcCurveStyle::initialize(std::optional< std::stri // 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; } void Ifc2x3::IfcCurveStyleFont::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::vector< ::Ifc2x3::IfcCurveStyleFontPattern > Ifc2x3::IfcCurveStyleFont::PatternList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcCurveStyleFontPattern>(es); } -void Ifc2x3::IfcCurveStyleFont::setPatternList(const std::vector< ::Ifc2x3::IfcCurveStyleFontPattern >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc2x3::IfcCurveStyleFontPattern > Ifc2x3::IfcCurveStyleFont::PatternList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcCurveStyleFontPattern>(es); } +void Ifc2x3::IfcCurveStyleFont::setPatternList(const std::vector< ::Ifc2x3::IfcCurveStyleFontPattern >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc2x3::IfcCurveStyleFont::Class() { return *((ifcopenshell::entity*)IFC2X3_types[198]); } -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; } +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; } void Ifc2x3::IfcCurveStyleFontAndScaling::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc2x3::IfcCurveStyleFontSelect Ifc2x3::IfcCurveStyleFontAndScaling::CurveFont() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcCurveStyleFontSelect>(); } +::Ifc2x3::IfcCurveStyleFontSelect Ifc2x3::IfcCurveStyleFontAndScaling::CurveFont() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcCurveStyleFontSelect>(); } void Ifc2x3::IfcCurveStyleFontAndScaling::setCurveFont(const ::Ifc2x3::IfcCurveStyleFontSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } double Ifc2x3::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = get_attribute_value(2); return v; } void Ifc2x3::IfcCurveStyleFontAndScaling::setCurveFontScaling(const double& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -6889,12 +6889,12 @@ void Ifc2x3::IfcDamperType::setPredefinedType(const ::Ifc2x3::IfcDamperTypeEnum: const ifcopenshell::entity& Ifc2x3::IfcDamperType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[202]); } -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; } +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>(); } +::Ifc2x3::IfcCalendarDate Ifc2x3::IfcDateAndTime::DateComponent() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcCalendarDate>(); } void Ifc2x3::IfcDateAndTime::setDateComponent(const ::Ifc2x3::IfcCalendarDate& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcLocalTime Ifc2x3::IfcDateAndTime::TimeComponent() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcLocalTime>(); } +::Ifc2x3::IfcLocalTime Ifc2x3::IfcDateAndTime::TimeComponent() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcLocalTime>(); } void Ifc2x3::IfcDateAndTime::setTimeComponent(const ::Ifc2x3::IfcLocalTime& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -6902,9 +6902,9 @@ const ifcopenshell::entity& Ifc2x3::IfcDateAndTime::Class() { return *((ifcopens 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>(); } +::Ifc2x3::IfcDefinedSymbolSelect Ifc2x3::IfcDefinedSymbol::Definition() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcDefinedSymbolSelect>(); } void Ifc2x3::IfcDefinedSymbol::setDefinition(const ::Ifc2x3::IfcDefinedSymbolSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcCartesianTransformationOperator2D Ifc2x3::IfcDefinedSymbol::Target() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcCartesianTransformationOperator2D>(); } +::Ifc2x3::IfcCartesianTransformationOperator2D Ifc2x3::IfcDefinedSymbol::Target() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcCartesianTransformationOperator2D>(); } void Ifc2x3::IfcDefinedSymbol::setTarget(const ::Ifc2x3::IfcCartesianTransformationOperator2D& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -6912,9 +6912,9 @@ const ifcopenshell::entity& Ifc2x3::IfcDefinedSymbol::Class() { return *((ifcope 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>(); } +::Ifc2x3::IfcProfileDef Ifc2x3::IfcDerivedProfileDef::ParentProfile() const { return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcProfileDef>(); } void Ifc2x3::IfcDerivedProfileDef::setParentProfile(const ::Ifc2x3::IfcProfileDef& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcCartesianTransformationOperator2D Ifc2x3::IfcDerivedProfileDef::Operator() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc2x3::IfcCartesianTransformationOperator2D>(); } +::Ifc2x3::IfcCartesianTransformationOperator2D Ifc2x3::IfcDerivedProfileDef::Operator() const { return ((express::base)(get_attribute_value(3))).as<::Ifc2x3::IfcCartesianTransformationOperator2D>(); } void Ifc2x3::IfcDerivedProfileDef::setOperator(const ::Ifc2x3::IfcCartesianTransformationOperator2D& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc2x3::IfcDerivedProfileDef::Label() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc2x3::IfcDerivedProfileDef::setLabel(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -6924,8 +6924,8 @@ const ifcopenshell::entity& Ifc2x3::IfcDerivedProfileDef::Class() { return *((if 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); } -void Ifc2x3::IfcDerivedUnit::setElements(const std::vector< ::Ifc2x3::IfcDerivedUnitElement >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc2x3::IfcDerivedUnitElement > Ifc2x3::IfcDerivedUnit::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcDerivedUnitElement>(es); } +void Ifc2x3::IfcDerivedUnit::setElements(const std::vector< ::Ifc2x3::IfcDerivedUnitElement >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } ::Ifc2x3::IfcDerivedUnitEnum::Value Ifc2x3::IfcDerivedUnit::UnitType() const { return ::Ifc2x3::IfcDerivedUnitEnum::FromString(get_attribute_value(1)); } void Ifc2x3::IfcDerivedUnit::setUnitType(const ::Ifc2x3::IfcDerivedUnitEnum::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc2x3::IfcDerivedUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc2x3::IfcDerivedUnit::UserDefinedType() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } @@ -6933,10 +6933,10 @@ void Ifc2x3::IfcDerivedUnit::setUserDefinedType(const std::optional< std::string const ifcopenshell::entity& Ifc2x3::IfcDerivedUnit::Class() { return *((ifcopenshell::entity*)IFC2X3_types[213]); } -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; } +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>(); } +::Ifc2x3::IfcNamedUnit Ifc2x3::IfcDerivedUnitElement::Unit() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcNamedUnit>(); } void Ifc2x3::IfcDerivedUnitElement::setUnit(const ::Ifc2x3::IfcNamedUnit& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } int64_t Ifc2x3::IfcDerivedUnitElement::Exponent() const { int64_t v = get_attribute_value(1); return v; } void Ifc2x3::IfcDerivedUnitElement::setExponent(const int64_t& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -6949,7 +6949,7 @@ Ifc2x3::IfcDerivedUnitElement Ifc2x3::IfcDerivedUnitElement::initialize(::Ifc2x3 const ifcopenshell::entity& Ifc2x3::IfcDiameterDimension::Class() { return *((ifcopenshell::entity*)IFC2X3_types[217]); } -Ifc2x3::IfcDiameterDimension Ifc2x3::IfcDiameterDimension::initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents) { set_attribute_value(0, cast_vector(v1_Contents));; return *this; } +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 @@ -6962,13 +6962,13 @@ Ifc2x3::IfcDimensionCalloutRelationship Ifc2x3::IfcDimensionCalloutRelationship: 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]); } -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; } +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]); } -Ifc2x3::IfcDimensionCurveDirectedCallout Ifc2x3::IfcDimensionCurveDirectedCallout::initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents) { set_attribute_value(0, cast_vector(v1_Contents));; return *this; } +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,7 +6976,7 @@ void Ifc2x3::IfcDimensionCurveTerminator::setRole(const ::Ifc2x3::IfcDimensionEx const ifcopenshell::entity& Ifc2x3::IfcDimensionCurveTerminator::Class() { return *((ifcopenshell::entity*)IFC2X3_types[223]); } -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; } +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 @@ -7022,7 +7022,7 @@ Ifc2x3::IfcDiscreteAccessory Ifc2x3::IfcDiscreteAccessory::initialize(std::strin const ifcopenshell::entity& Ifc2x3::IfcDiscreteAccessoryType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[229]); } -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; } +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 @@ -7036,7 +7036,7 @@ void Ifc2x3::IfcDistributionChamberElementType::setPredefinedType(const ::Ifc2x3 const ifcopenshell::entity& Ifc2x3::IfcDistributionChamberElementType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[231]); } -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; } +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; } @@ -7051,7 +7051,7 @@ Ifc2x3::IfcDistributionControlElement Ifc2x3::IfcDistributionControlElement::ini const ifcopenshell::entity& Ifc2x3::IfcDistributionControlElementType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[234]); } -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; } +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 @@ -7063,7 +7063,7 @@ Ifc2x3::IfcDistributionElement Ifc2x3::IfcDistributionElement::initialize(std::s const ifcopenshell::entity& Ifc2x3::IfcDistributionElementType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[236]); } -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; } +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 @@ -7076,7 +7076,7 @@ Ifc2x3::IfcDistributionFlowElement Ifc2x3::IfcDistributionFlowElement::initializ const ifcopenshell::entity& Ifc2x3::IfcDistributionFlowElementType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[238]); } -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; } +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)); } @@ -7105,8 +7105,8 @@ std::string Ifc2x3::IfcDocumentInformation::Name() const { std::string v = get_ void Ifc2x3::IfcDocumentInformation::setName(const std::string& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc2x3::IfcDocumentInformation::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcDocumentInformation::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::optional< std::vector< ::Ifc2x3::IfcDocumentReference > > Ifc2x3::IfcDocumentInformation::DocumentReferences() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc2x3::IfcDocumentReference>(es); } -void Ifc2x3::IfcDocumentInformation::setDocumentReferences(const std::optional< std::vector< ::Ifc2x3::IfcDocumentReference > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } +std::optional< std::vector< ::Ifc2x3::IfcDocumentReference > > Ifc2x3::IfcDocumentInformation::DocumentReferences() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc2x3::IfcDocumentReference>(es); } +void Ifc2x3::IfcDocumentInformation::setDocumentReferences(const std::optional< std::vector< ::Ifc2x3::IfcDocumentReference > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } std::optional< std::string > Ifc2x3::IfcDocumentInformation::Purpose() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc2x3::IfcDocumentInformation::setPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } std::optional< std::string > Ifc2x3::IfcDocumentInformation::IntendedUse() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -7115,19 +7115,19 @@ std::optional< std::string > Ifc2x3::IfcDocumentInformation::Scope() const { if( void Ifc2x3::IfcDocumentInformation::setScope(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } std::optional< std::string > Ifc2x3::IfcDocumentInformation::Revision() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc2x3::IfcDocumentInformation::setRevision(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc2x3::IfcActorSelect Ifc2x3::IfcDocumentInformation::DocumentOwner() const { if(get_attribute_value(8).isNull()) { return ::Ifc2x3::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc2x3::IfcActorSelect>(); } +::Ifc2x3::IfcActorSelect Ifc2x3::IfcDocumentInformation::DocumentOwner() const { if(get_attribute_value(8).isNull()) { return ::Ifc2x3::IfcActorSelect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc2x3::IfcActorSelect>(); } void Ifc2x3::IfcDocumentInformation::setDocumentOwner(const ::Ifc2x3::IfcActorSelect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::optional< std::vector< ::Ifc2x3::IfcActorSelect > > Ifc2x3::IfcDocumentInformation::Editors() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc2x3::IfcActorSelect>(es); } -void Ifc2x3::IfcDocumentInformation::setEditors(const std::optional< std::vector< ::Ifc2x3::IfcActorSelect > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } -::Ifc2x3::IfcDateAndTime Ifc2x3::IfcDocumentInformation::CreationTime() const { if(get_attribute_value(10).isNull()) { return ::Ifc2x3::IfcDateAndTime{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc2x3::IfcDateAndTime>(); } +std::optional< std::vector< ::Ifc2x3::IfcActorSelect > > Ifc2x3::IfcDocumentInformation::Editors() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc2x3::IfcActorSelect>(es); } +void Ifc2x3::IfcDocumentInformation::setEditors(const std::optional< std::vector< ::Ifc2x3::IfcActorSelect > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +::Ifc2x3::IfcDateAndTime Ifc2x3::IfcDocumentInformation::CreationTime() const { if(get_attribute_value(10).isNull()) { return ::Ifc2x3::IfcDateAndTime{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc2x3::IfcDateAndTime>(); } void Ifc2x3::IfcDocumentInformation::setCreationTime(const ::Ifc2x3::IfcDateAndTime& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -::Ifc2x3::IfcDateAndTime Ifc2x3::IfcDocumentInformation::LastRevisionTime() const { if(get_attribute_value(11).isNull()) { return ::Ifc2x3::IfcDateAndTime{}; } return ((express::Base)(get_attribute_value(11))).as<::Ifc2x3::IfcDateAndTime>(); } +::Ifc2x3::IfcDateAndTime Ifc2x3::IfcDocumentInformation::LastRevisionTime() const { if(get_attribute_value(11).isNull()) { return ::Ifc2x3::IfcDateAndTime{}; } return ((express::base)(get_attribute_value(11))).as<::Ifc2x3::IfcDateAndTime>(); } void Ifc2x3::IfcDocumentInformation::setLastRevisionTime(const ::Ifc2x3::IfcDateAndTime& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -::Ifc2x3::IfcDocumentElectronicFormat Ifc2x3::IfcDocumentInformation::ElectronicFormat() const { if(get_attribute_value(12).isNull()) { return ::Ifc2x3::IfcDocumentElectronicFormat{}; } return ((express::Base)(get_attribute_value(12))).as<::Ifc2x3::IfcDocumentElectronicFormat>(); } +::Ifc2x3::IfcDocumentElectronicFormat Ifc2x3::IfcDocumentInformation::ElectronicFormat() const { if(get_attribute_value(12).isNull()) { return ::Ifc2x3::IfcDocumentElectronicFormat{}; } return ((express::base)(get_attribute_value(12))).as<::Ifc2x3::IfcDocumentElectronicFormat>(); } void Ifc2x3::IfcDocumentInformation::setElectronicFormat(const ::Ifc2x3::IfcDocumentElectronicFormat& v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } -::Ifc2x3::IfcCalendarDate Ifc2x3::IfcDocumentInformation::ValidFrom() const { if(get_attribute_value(13).isNull()) { return ::Ifc2x3::IfcCalendarDate{}; } return ((express::Base)(get_attribute_value(13))).as<::Ifc2x3::IfcCalendarDate>(); } +::Ifc2x3::IfcCalendarDate Ifc2x3::IfcDocumentInformation::ValidFrom() const { if(get_attribute_value(13).isNull()) { return ::Ifc2x3::IfcCalendarDate{}; } return ((express::base)(get_attribute_value(13))).as<::Ifc2x3::IfcCalendarDate>(); } void Ifc2x3::IfcDocumentInformation::setValidFrom(const ::Ifc2x3::IfcCalendarDate& v) { set_attribute_value(13, v);if constexpr (false)unset_attribute_value(13); } -::Ifc2x3::IfcCalendarDate Ifc2x3::IfcDocumentInformation::ValidUntil() const { if(get_attribute_value(14).isNull()) { return ::Ifc2x3::IfcCalendarDate{}; } return ((express::Base)(get_attribute_value(14))).as<::Ifc2x3::IfcCalendarDate>(); } +::Ifc2x3::IfcCalendarDate Ifc2x3::IfcDocumentInformation::ValidUntil() const { if(get_attribute_value(14).isNull()) { return ::Ifc2x3::IfcCalendarDate{}; } return ((express::base)(get_attribute_value(14))).as<::Ifc2x3::IfcCalendarDate>(); } void Ifc2x3::IfcDocumentInformation::setValidUntil(const ::Ifc2x3::IfcCalendarDate& v) { set_attribute_value(14, v);if constexpr (false)unset_attribute_value(14); } std::optional< ::Ifc2x3::IfcDocumentConfidentialityEnum::Value > Ifc2x3::IfcDocumentInformation::Confidentiality() const { if(get_attribute_value(15).isNull()) { return std::nullopt; } return ::Ifc2x3::IfcDocumentConfidentialityEnum::FromString(get_attribute_value(15)); } void Ifc2x3::IfcDocumentInformation::setConfidentiality(const std::optional< ::Ifc2x3::IfcDocumentConfidentialityEnum::Value >& v) { if (v) {set_attribute_value(15, enumeration_reference(&::Ifc2x3::IfcDocumentConfidentialityEnum::Class(), (size_t) *v));} else {unset_attribute_value(15);} } @@ -7138,19 +7138,19 @@ 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]); } -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; } +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>(); } +::Ifc2x3::IfcDocumentInformation Ifc2x3::IfcDocumentInformationRelationship::RelatingDocument() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcDocumentInformation>(); } void Ifc2x3::IfcDocumentInformationRelationship::setRelatingDocument(const ::Ifc2x3::IfcDocumentInformation& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc2x3::IfcDocumentInformation > Ifc2x3::IfcDocumentInformationRelationship::RelatedDocuments() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcDocumentInformation>(es); } -void Ifc2x3::IfcDocumentInformationRelationship::setRelatedDocuments(const std::vector< ::Ifc2x3::IfcDocumentInformation >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc2x3::IfcDocumentInformation > Ifc2x3::IfcDocumentInformationRelationship::RelatedDocuments() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcDocumentInformation>(es); } +void Ifc2x3::IfcDocumentInformationRelationship::setRelatedDocuments(const std::vector< ::Ifc2x3::IfcDocumentInformation >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc2x3::IfcDocumentInformationRelationship::RelationshipType() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcDocumentInformationRelationship::setRelationshipType(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc2x3::IfcDocumentInformationRelationship::Class() { return *((ifcopenshell::entity*)IFC2X3_types[243]); } -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; } +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 @@ -7190,7 +7190,7 @@ std::optional< double > Ifc2x3::IfcDoorLiningProperties::CasingThickness() const void Ifc2x3::IfcDoorLiningProperties::setCasingThickness(const std::optional< double >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } std::optional< double > Ifc2x3::IfcDoorLiningProperties::CasingDepth() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } double v = get_attribute_value(13); return v; } void Ifc2x3::IfcDoorLiningProperties::setCasingDepth(const std::optional< double >& v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -::Ifc2x3::IfcShapeAspect Ifc2x3::IfcDoorLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(14).isNull()) { return ::Ifc2x3::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(14))).as<::Ifc2x3::IfcShapeAspect>(); } +::Ifc2x3::IfcShapeAspect Ifc2x3::IfcDoorLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(14).isNull()) { return ::Ifc2x3::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(14))).as<::Ifc2x3::IfcShapeAspect>(); } void Ifc2x3::IfcDoorLiningProperties::setShapeAspectStyle(const ::Ifc2x3::IfcShapeAspect& v) { set_attribute_value(14, v);if constexpr (false)unset_attribute_value(14); } @@ -7206,7 +7206,7 @@ std::optional< double > Ifc2x3::IfcDoorPanelProperties::PanelWidth() const { if( void Ifc2x3::IfcDoorPanelProperties::setPanelWidth(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc2x3::IfcDoorPanelPositionEnum::Value Ifc2x3::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc2x3::IfcDoorPanelPositionEnum::FromString(get_attribute_value(7)); } void Ifc2x3::IfcDoorPanelProperties::setPanelPosition(const ::Ifc2x3::IfcDoorPanelPositionEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc2x3::IfcDoorPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc2x3::IfcShapeAspect Ifc2x3::IfcDoorPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc2x3::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc2x3::IfcShapeAspect>(); } +::Ifc2x3::IfcShapeAspect Ifc2x3::IfcDoorPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc2x3::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc2x3::IfcShapeAspect>(); } void Ifc2x3::IfcDoorPanelProperties::setShapeAspectStyle(const ::Ifc2x3::IfcShapeAspect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -7225,26 +7225,26 @@ void Ifc2x3::IfcDoorStyle::setSizeable(const bool& v) { set_attribute_value(11, const ifcopenshell::entity& Ifc2x3::IfcDoorStyle::Class() { return *((ifcopenshell::entity*)IFC2X3_types[252]); } -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; } +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); } -void Ifc2x3::IfcDraughtingCallout::setContents(const std::vector< ::Ifc2x3::IfcDraughtingCalloutElement >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > Ifc2x3::IfcDraughtingCallout::Contents() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcDraughtingCalloutElement>(es); } +void Ifc2x3::IfcDraughtingCallout::setContents(const std::vector< ::Ifc2x3::IfcDraughtingCalloutElement >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } std::vector<::Ifc2x3::IfcDraughtingCalloutRelationship> Ifc2x3::IfcDraughtingCallout::IsRelatedFromCallout() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[258], 3)); } 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]); } -Ifc2x3::IfcDraughtingCallout Ifc2x3::IfcDraughtingCallout::initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents) { set_attribute_value(0, cast_vector(v1_Contents));; return *this; } +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; } void Ifc2x3::IfcDraughtingCalloutRelationship::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc2x3::IfcDraughtingCalloutRelationship::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcDraughtingCalloutRelationship::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc2x3::IfcDraughtingCallout Ifc2x3::IfcDraughtingCalloutRelationship::RelatingDraughtingCallout() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcDraughtingCallout>(); } +::Ifc2x3::IfcDraughtingCallout Ifc2x3::IfcDraughtingCalloutRelationship::RelatingDraughtingCallout() const { return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcDraughtingCallout>(); } void Ifc2x3::IfcDraughtingCalloutRelationship::setRelatingDraughtingCallout(const ::Ifc2x3::IfcDraughtingCallout& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcDraughtingCallout Ifc2x3::IfcDraughtingCalloutRelationship::RelatedDraughtingCallout() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc2x3::IfcDraughtingCallout>(); } +::Ifc2x3::IfcDraughtingCallout Ifc2x3::IfcDraughtingCalloutRelationship::RelatedDraughtingCallout() const { return ((express::base)(get_attribute_value(3))).as<::Ifc2x3::IfcDraughtingCallout>(); } void Ifc2x3::IfcDraughtingCalloutRelationship::setRelatedDraughtingCallout(const ::Ifc2x3::IfcDraughtingCallout& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -7275,7 +7275,7 @@ void Ifc2x3::IfcDuctFittingType::setPredefinedType(const ::Ifc2x3::IfcDuctFittin const ifcopenshell::entity& Ifc2x3::IfcDuctFittingType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[262]); } -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; } +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]); } -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; } +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,12 +7291,12 @@ void Ifc2x3::IfcDuctSilencerType::setPredefinedType(const ::Ifc2x3::IfcDuctSilen const ifcopenshell::entity& Ifc2x3::IfcDuctSilencerType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[266]); } -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; } +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>(); } +::Ifc2x3::IfcVertex Ifc2x3::IfcEdge::EdgeStart() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcVertex>(); } void Ifc2x3::IfcEdge::setEdgeStart(const ::Ifc2x3::IfcVertex& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcVertex Ifc2x3::IfcEdge::EdgeEnd() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcVertex>(); } +::Ifc2x3::IfcVertex Ifc2x3::IfcEdge::EdgeEnd() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcVertex>(); } void Ifc2x3::IfcEdge::setEdgeEnd(const ::Ifc2x3::IfcVertex& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -7304,7 +7304,7 @@ const ifcopenshell::entity& Ifc2x3::IfcEdge::Class() { return *((ifcopenshell::e 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>(); } +::Ifc2x3::IfcCurve Ifc2x3::IfcEdgeCurve::EdgeGeometry() const { return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcCurve>(); } void Ifc2x3::IfcEdgeCurve::setEdgeGeometry(const ::Ifc2x3::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } bool Ifc2x3::IfcEdgeCurve::SameSense() const { bool v = get_attribute_value(3); return v; } void Ifc2x3::IfcEdgeCurve::setSameSense(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -7322,12 +7322,12 @@ const ifcopenshell::entity& Ifc2x3::IfcEdgeFeature::Class() { return *((ifcopens 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); } -void Ifc2x3::IfcEdgeLoop::setEdgeList(const std::vector< ::Ifc2x3::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc2x3::IfcOrientedEdge > Ifc2x3::IfcEdgeLoop::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcOrientedEdge>(es); } +void Ifc2x3::IfcEdgeLoop::setEdgeList(const std::vector< ::Ifc2x3::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc2x3::IfcEdgeLoop::Class() { return *((ifcopenshell::entity*)IFC2X3_types[272]); } -Ifc2x3::IfcEdgeLoop Ifc2x3::IfcEdgeLoop::initialize(std::vector< ::Ifc2x3::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } +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]); } -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; } +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)); } @@ -7353,7 +7353,7 @@ void Ifc2x3::IfcElectricFlowStorageDeviceType::setPredefinedType(const ::Ifc2x3: const ifcopenshell::entity& Ifc2x3::IfcElectricFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[285]); } -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; } +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]); } -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; } +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]); } -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; } +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]); } -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; } +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]); } -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; } +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)); } @@ -7461,17 +7461,17 @@ Ifc2x3::IfcElementComponent Ifc2x3::IfcElementComponent::initialize(std::string const ifcopenshell::entity& Ifc2x3::IfcElementComponentType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[302]); } -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; } +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; } void Ifc2x3::IfcElementQuantity::setMethodOfMeasurement(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector< ::Ifc2x3::IfcPhysicalQuantity > Ifc2x3::IfcElementQuantity::Quantities() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc2x3::IfcPhysicalQuantity>(es); } -void Ifc2x3::IfcElementQuantity::setQuantities(const std::vector< ::Ifc2x3::IfcPhysicalQuantity >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc2x3::IfcPhysicalQuantity > Ifc2x3::IfcElementQuantity::Quantities() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc2x3::IfcPhysicalQuantity>(es); } +void Ifc2x3::IfcElementQuantity::setQuantities(const std::vector< ::Ifc2x3::IfcPhysicalQuantity >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc2x3::IfcElementQuantity::Class() { return *((ifcopenshell::entity*)IFC2X3_types[304]); } -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; } +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,10 +7479,10 @@ void Ifc2x3::IfcElementType::setElementType(const std::optional< std::string >& const ifcopenshell::entity& Ifc2x3::IfcElementType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[305]); } -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; } +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>(); } +::Ifc2x3::IfcAxis2Placement3D Ifc2x3::IfcElementarySurface::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcAxis2Placement3D>(); } void Ifc2x3::IfcElementarySurface::setPosition(const ::Ifc2x3::IfcAxis2Placement3D& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -7519,7 +7519,7 @@ Ifc2x3::IfcEnergyConversionDevice Ifc2x3::IfcEnergyConversionDevice::initialize( const ifcopenshell::entity& Ifc2x3::IfcEnergyConversionDeviceType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[309]); } -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; } +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)); } @@ -7561,7 +7561,7 @@ void Ifc2x3::IfcEvaporativeCoolerType::setPredefinedType(const ::Ifc2x3::IfcEvap const ifcopenshell::entity& Ifc2x3::IfcEvaporativeCoolerType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[317]); } -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; } +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,11 +7569,11 @@ void Ifc2x3::IfcEvaporatorType::setPredefinedType(const ::Ifc2x3::IfcEvaporatorT const ifcopenshell::entity& Ifc2x3::IfcEvaporatorType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[319]); } -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; } +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); } -void Ifc2x3::IfcExtendedMaterialProperties::setExtendedProperties(const std::vector< ::Ifc2x3::IfcProperty >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc2x3::IfcProperty > Ifc2x3::IfcExtendedMaterialProperties::ExtendedProperties() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcProperty>(es); } +void Ifc2x3::IfcExtendedMaterialProperties::setExtendedProperties(const std::vector< ::Ifc2x3::IfcProperty >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc2x3::IfcExtendedMaterialProperties::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcExtendedMaterialProperties::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } std::string Ifc2x3::IfcExtendedMaterialProperties::Name() const { std::string v = get_attribute_value(3); return v; } @@ -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]); } -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; } +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; } @@ -7620,7 +7620,7 @@ const ifcopenshell::entity& Ifc2x3::IfcExternallyDefinedTextFont::Class() { retu 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>(); } +::Ifc2x3::IfcDirection Ifc2x3::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcDirection>(); } void Ifc2x3::IfcExtrudedAreaSolid::setExtrudedDirection(const ::Ifc2x3::IfcDirection& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc2x3::IfcExtrudedAreaSolid::Depth() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcExtrudedAreaSolid::setDepth(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -7630,23 +7630,23 @@ const ifcopenshell::entity& Ifc2x3::IfcExtrudedAreaSolid::Class() { return *((if 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); } -void Ifc2x3::IfcFace::setBounds(const std::vector< ::Ifc2x3::IfcFaceBound >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc2x3::IfcFaceBound > Ifc2x3::IfcFace::Bounds() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcFaceBound>(es); } +void Ifc2x3::IfcFace::setBounds(const std::vector< ::Ifc2x3::IfcFaceBound >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc2x3::IfcFace::Class() { return *((ifcopenshell::entity*)IFC2X3_types[328]); } -Ifc2x3::IfcFace Ifc2x3::IfcFace::initialize(std::vector< ::Ifc2x3::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds));; return *this; } +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); } -void Ifc2x3::IfcFaceBasedSurfaceModel::setFbsmFaces(const std::vector< ::Ifc2x3::IfcConnectedFaceSet >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc2x3::IfcConnectedFaceSet > Ifc2x3::IfcFaceBasedSurfaceModel::FbsmFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcConnectedFaceSet>(es); } +void Ifc2x3::IfcFaceBasedSurfaceModel::setFbsmFaces(const std::vector< ::Ifc2x3::IfcConnectedFaceSet >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc2x3::IfcFaceBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC2X3_types[329]); } -Ifc2x3::IfcFaceBasedSurfaceModel Ifc2x3::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc2x3::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces));; return *this; } +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>(); } +::Ifc2x3::IfcLoop Ifc2x3::IfcFaceBound::Bound() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcLoop>(); } void Ifc2x3::IfcFaceBound::setBound(const ::Ifc2x3::IfcLoop& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } bool Ifc2x3::IfcFaceBound::Orientation() const { bool v = get_attribute_value(1); return v; } void Ifc2x3::IfcFaceBound::setOrientation(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -7662,14 +7662,14 @@ const ifcopenshell::entity& Ifc2x3::IfcFaceOuterBound::Class() { return *((ifcop 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>(); } +::Ifc2x3::IfcSurface Ifc2x3::IfcFaceSurface::FaceSurface() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcSurface>(); } void Ifc2x3::IfcFaceSurface::setFaceSurface(const ::Ifc2x3::IfcSurface& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } bool Ifc2x3::IfcFaceSurface::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc2x3::IfcFaceSurface::setSameSense(const bool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc2x3::IfcFaceSurface::Class() { return *((ifcopenshell::entity*)IFC2X3_types[332]); } -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; } +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 @@ -7678,12 +7678,12 @@ const ifcopenshell::entity& Ifc2x3::IfcFacetedBrep::Class() { return *((ifcopens 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); } -void Ifc2x3::IfcFacetedBrepWithVoids::setVoids(const std::vector< ::Ifc2x3::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc2x3::IfcClosedShell > Ifc2x3::IfcFacetedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcClosedShell>(es); } +void Ifc2x3::IfcFacetedBrepWithVoids::setVoids(const std::vector< ::Ifc2x3::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc2x3::IfcFacetedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC2X3_types[334]); } -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; } +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; } @@ -7709,7 +7709,7 @@ void Ifc2x3::IfcFanType::setPredefinedType(const ::Ifc2x3::IfcFanTypeEnum::Value const ifcopenshell::entity& Ifc2x3::IfcFanType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[336]); } -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; } +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 @@ -7721,7 +7721,7 @@ Ifc2x3::IfcFastener Ifc2x3::IfcFastener::initialize(std::string v1_GlobalId, ::I const ifcopenshell::entity& Ifc2x3::IfcFastenerType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[339]); } -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; } +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 @@ -7744,21 +7744,21 @@ const ifcopenshell::entity& Ifc2x3::IfcFeatureElementSubtraction::Class() { retu 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); } -void Ifc2x3::IfcFillAreaStyle::setFillStyles(const std::vector< ::Ifc2x3::IfcFillStyleSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc2x3::IfcFillStyleSelect > Ifc2x3::IfcFillAreaStyle::FillStyles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcFillStyleSelect>(es); } +void Ifc2x3::IfcFillAreaStyle::setFillStyles(const std::vector< ::Ifc2x3::IfcFillStyleSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc2x3::IfcFillAreaStyle::Class() { return *((ifcopenshell::entity*)IFC2X3_types[343]); } -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; } +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>(); } +::Ifc2x3::IfcCurveStyle Ifc2x3::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcCurveStyle>(); } void Ifc2x3::IfcFillAreaStyleHatching::setHatchLineAppearance(const ::Ifc2x3::IfcCurveStyle& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcHatchLineDistanceSelect Ifc2x3::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcHatchLineDistanceSelect>(); } +::Ifc2x3::IfcHatchLineDistanceSelect Ifc2x3::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcHatchLineDistanceSelect>(); } void Ifc2x3::IfcFillAreaStyleHatching::setStartOfNextHatchLine(const ::Ifc2x3::IfcHatchLineDistanceSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc2x3::IfcCartesianPoint Ifc2x3::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(get_attribute_value(2).isNull()) { return ::Ifc2x3::IfcCartesianPoint{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcCartesianPoint>(); } +::Ifc2x3::IfcCartesianPoint Ifc2x3::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(get_attribute_value(2).isNull()) { return ::Ifc2x3::IfcCartesianPoint{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcCartesianPoint>(); } void Ifc2x3::IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(const ::Ifc2x3::IfcCartesianPoint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcCartesianPoint Ifc2x3::IfcFillAreaStyleHatching::PatternStart() const { if(get_attribute_value(3).isNull()) { return ::Ifc2x3::IfcCartesianPoint{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc2x3::IfcCartesianPoint>(); } +::Ifc2x3::IfcCartesianPoint Ifc2x3::IfcFillAreaStyleHatching::PatternStart() const { if(get_attribute_value(3).isNull()) { return ::Ifc2x3::IfcCartesianPoint{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc2x3::IfcCartesianPoint>(); } void Ifc2x3::IfcFillAreaStyleHatching::setPatternStart(const ::Ifc2x3::IfcCartesianPoint& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } double Ifc2x3::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = get_attribute_value(4); return v; } void Ifc2x3::IfcFillAreaStyleHatching::setHatchLineAngle(const double& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -7768,7 +7768,7 @@ const ifcopenshell::entity& Ifc2x3::IfcFillAreaStyleHatching::Class() { return * 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>(); } +::Ifc2x3::IfcAnnotationSymbolOccurrence Ifc2x3::IfcFillAreaStyleTileSymbolWithStyle::Symbol() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcAnnotationSymbolOccurrence>(); } void Ifc2x3::IfcFillAreaStyleTileSymbolWithStyle::setSymbol(const ::Ifc2x3::IfcAnnotationSymbolOccurrence& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -7776,16 +7776,16 @@ const ifcopenshell::entity& Ifc2x3::IfcFillAreaStyleTileSymbolWithStyle::Class() 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>(); } +::Ifc2x3::IfcOneDirectionRepeatFactor Ifc2x3::IfcFillAreaStyleTiles::TilingPattern() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcOneDirectionRepeatFactor>(); } void Ifc2x3::IfcFillAreaStyleTiles::setTilingPattern(const ::Ifc2x3::IfcOneDirectionRepeatFactor& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc2x3::IfcFillAreaStyleTileShapeSelect > Ifc2x3::IfcFillAreaStyleTiles::Tiles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcFillAreaStyleTileShapeSelect>(es); } -void Ifc2x3::IfcFillAreaStyleTiles::setTiles(const std::vector< ::Ifc2x3::IfcFillAreaStyleTileShapeSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc2x3::IfcFillAreaStyleTileShapeSelect > Ifc2x3::IfcFillAreaStyleTiles::Tiles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcFillAreaStyleTileShapeSelect>(es); } +void Ifc2x3::IfcFillAreaStyleTiles::setTiles(const std::vector< ::Ifc2x3::IfcFillAreaStyleTileShapeSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } double Ifc2x3::IfcFillAreaStyleTiles::TilingScale() const { double v = get_attribute_value(2); return v; } void Ifc2x3::IfcFillAreaStyleTiles::setTilingScale(const double& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc2x3::IfcFillAreaStyleTiles::Class() { return *((ifcopenshell::entity*)IFC2X3_types[345]); } -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; } +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]); } -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; } +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,7 +7801,7 @@ void Ifc2x3::IfcFireSuppressionTerminalType::setPredefinedType(const ::Ifc2x3::I const ifcopenshell::entity& Ifc2x3::IfcFireSuppressionTerminalType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[351]); } -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; } +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 @@ -7813,7 +7813,7 @@ Ifc2x3::IfcFlowController Ifc2x3::IfcFlowController::initialize(std::string v1_G const ifcopenshell::entity& Ifc2x3::IfcFlowControllerType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[354]); } -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; } +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 @@ -7825,7 +7825,7 @@ Ifc2x3::IfcFlowFitting Ifc2x3::IfcFlowFitting::initialize(std::string v1_GlobalI const ifcopenshell::entity& Ifc2x3::IfcFlowFittingType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[357]); } -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; } +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]); } -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; } +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,7 +7841,7 @@ void Ifc2x3::IfcFlowMeterType::setPredefinedType(const ::Ifc2x3::IfcFlowMeterTyp const ifcopenshell::entity& Ifc2x3::IfcFlowMeterType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[360]); } -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; } +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 @@ -7853,7 +7853,7 @@ Ifc2x3::IfcFlowMovingDevice Ifc2x3::IfcFlowMovingDevice::initialize(std::string const ifcopenshell::entity& Ifc2x3::IfcFlowMovingDeviceType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[363]); } -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; } +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 @@ -7865,7 +7865,7 @@ Ifc2x3::IfcFlowSegment Ifc2x3::IfcFlowSegment::initialize(std::string v1_GlobalI const ifcopenshell::entity& Ifc2x3::IfcFlowSegmentType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[365]); } -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; } +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 @@ -7877,7 +7877,7 @@ Ifc2x3::IfcFlowStorageDevice Ifc2x3::IfcFlowStorageDevice::initialize(std::strin const ifcopenshell::entity& Ifc2x3::IfcFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[367]); } -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; } +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 @@ -7889,7 +7889,7 @@ Ifc2x3::IfcFlowTerminal Ifc2x3::IfcFlowTerminal::initialize(std::string v1_Globa const ifcopenshell::entity& Ifc2x3::IfcFlowTerminalType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[369]); } -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; } +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 @@ -7901,20 +7901,20 @@ Ifc2x3::IfcFlowTreatmentDevice Ifc2x3::IfcFlowTreatmentDevice::initialize(std::s const ifcopenshell::entity& Ifc2x3::IfcFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[371]); } -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; } +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)); } void Ifc2x3::IfcFluidFlowProperties::setPropertySource(const ::Ifc2x3::IfcPropertySourceEnum::Value& v) { set_attribute_value(4, enumeration_reference(&::Ifc2x3::IfcPropertySourceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcTimeSeries Ifc2x3::IfcFluidFlowProperties::FlowConditionTimeSeries() const { if(get_attribute_value(5).isNull()) { return ::Ifc2x3::IfcTimeSeries{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcTimeSeries>(); } +::Ifc2x3::IfcTimeSeries Ifc2x3::IfcFluidFlowProperties::FlowConditionTimeSeries() const { if(get_attribute_value(5).isNull()) { return ::Ifc2x3::IfcTimeSeries{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcTimeSeries>(); } void Ifc2x3::IfcFluidFlowProperties::setFlowConditionTimeSeries(const ::Ifc2x3::IfcTimeSeries& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcTimeSeries Ifc2x3::IfcFluidFlowProperties::VelocityTimeSeries() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcTimeSeries{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc2x3::IfcTimeSeries>(); } +::Ifc2x3::IfcTimeSeries Ifc2x3::IfcFluidFlowProperties::VelocityTimeSeries() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcTimeSeries{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc2x3::IfcTimeSeries>(); } void Ifc2x3::IfcFluidFlowProperties::setVelocityTimeSeries(const ::Ifc2x3::IfcTimeSeries& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc2x3::IfcTimeSeries Ifc2x3::IfcFluidFlowProperties::FlowrateTimeSeries() const { if(get_attribute_value(7).isNull()) { return ::Ifc2x3::IfcTimeSeries{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc2x3::IfcTimeSeries>(); } +::Ifc2x3::IfcTimeSeries Ifc2x3::IfcFluidFlowProperties::FlowrateTimeSeries() const { if(get_attribute_value(7).isNull()) { return ::Ifc2x3::IfcTimeSeries{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc2x3::IfcTimeSeries>(); } void Ifc2x3::IfcFluidFlowProperties::setFlowrateTimeSeries(const ::Ifc2x3::IfcTimeSeries& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc2x3::IfcMaterial Ifc2x3::IfcFluidFlowProperties::Fluid() const { return ((express::Base)(get_attribute_value(8))).as<::Ifc2x3::IfcMaterial>(); } +::Ifc2x3::IfcMaterial Ifc2x3::IfcFluidFlowProperties::Fluid() const { return ((express::base)(get_attribute_value(8))).as<::Ifc2x3::IfcMaterial>(); } void Ifc2x3::IfcFluidFlowProperties::setFluid(const ::Ifc2x3::IfcMaterial& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc2x3::IfcTimeSeries Ifc2x3::IfcFluidFlowProperties::PressureTimeSeries() const { if(get_attribute_value(9).isNull()) { return ::Ifc2x3::IfcTimeSeries{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc2x3::IfcTimeSeries>(); } +::Ifc2x3::IfcTimeSeries Ifc2x3::IfcFluidFlowProperties::PressureTimeSeries() const { if(get_attribute_value(9).isNull()) { return ::Ifc2x3::IfcTimeSeries{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc2x3::IfcTimeSeries>(); } void Ifc2x3::IfcFluidFlowProperties::setPressureTimeSeries(const ::Ifc2x3::IfcTimeSeries& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::optional< std::string > Ifc2x3::IfcFluidFlowProperties::UserDefinedPropertySource() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } std::string v = get_attribute_value(10); return v; } void Ifc2x3::IfcFluidFlowProperties::setUserDefinedPropertySource(const std::optional< std::string >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } @@ -7922,11 +7922,11 @@ std::optional< double > Ifc2x3::IfcFluidFlowProperties::TemperatureSingleValue() void Ifc2x3::IfcFluidFlowProperties::setTemperatureSingleValue(const std::optional< double >& v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } std::optional< double > Ifc2x3::IfcFluidFlowProperties::WetBulbTemperatureSingleValue() const { if(get_attribute_value(12).isNull()) { return std::nullopt; } double v = get_attribute_value(12); return v; } void Ifc2x3::IfcFluidFlowProperties::setWetBulbTemperatureSingleValue(const std::optional< double >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc2x3::IfcTimeSeries Ifc2x3::IfcFluidFlowProperties::WetBulbTemperatureTimeSeries() const { if(get_attribute_value(13).isNull()) { return ::Ifc2x3::IfcTimeSeries{}; } return ((express::Base)(get_attribute_value(13))).as<::Ifc2x3::IfcTimeSeries>(); } +::Ifc2x3::IfcTimeSeries Ifc2x3::IfcFluidFlowProperties::WetBulbTemperatureTimeSeries() const { if(get_attribute_value(13).isNull()) { return ::Ifc2x3::IfcTimeSeries{}; } return ((express::base)(get_attribute_value(13))).as<::Ifc2x3::IfcTimeSeries>(); } void Ifc2x3::IfcFluidFlowProperties::setWetBulbTemperatureTimeSeries(const ::Ifc2x3::IfcTimeSeries& v) { set_attribute_value(13, v);if constexpr (false)unset_attribute_value(13); } -::Ifc2x3::IfcTimeSeries Ifc2x3::IfcFluidFlowProperties::TemperatureTimeSeries() const { if(get_attribute_value(14).isNull()) { return ::Ifc2x3::IfcTimeSeries{}; } return ((express::Base)(get_attribute_value(14))).as<::Ifc2x3::IfcTimeSeries>(); } +::Ifc2x3::IfcTimeSeries Ifc2x3::IfcFluidFlowProperties::TemperatureTimeSeries() const { if(get_attribute_value(14).isNull()) { return ::Ifc2x3::IfcTimeSeries{}; } return ((express::base)(get_attribute_value(14))).as<::Ifc2x3::IfcTimeSeries>(); } void Ifc2x3::IfcFluidFlowProperties::setTemperatureTimeSeries(const ::Ifc2x3::IfcTimeSeries& v) { set_attribute_value(14, v);if constexpr (false)unset_attribute_value(14); } -::Ifc2x3::IfcDerivedMeasureValue Ifc2x3::IfcFluidFlowProperties::FlowrateSingleValue() const { if(get_attribute_value(15).isNull()) { return ::Ifc2x3::IfcDerivedMeasureValue{}; } return ((express::Base)(get_attribute_value(15))).as<::Ifc2x3::IfcDerivedMeasureValue>(); } +::Ifc2x3::IfcDerivedMeasureValue Ifc2x3::IfcFluidFlowProperties::FlowrateSingleValue() const { if(get_attribute_value(15).isNull()) { return ::Ifc2x3::IfcDerivedMeasureValue{}; } return ((express::base)(get_attribute_value(15))).as<::Ifc2x3::IfcDerivedMeasureValue>(); } void Ifc2x3::IfcFluidFlowProperties::setFlowrateSingleValue(const ::Ifc2x3::IfcDerivedMeasureValue& v) { set_attribute_value(15, v);if constexpr (false)unset_attribute_value(15); } std::optional< double > Ifc2x3::IfcFluidFlowProperties::FlowConditionSingleValue() const { if(get_attribute_value(16).isNull()) { return std::nullopt; } double v = get_attribute_value(16); return v; } void Ifc2x3::IfcFluidFlowProperties::setFlowConditionSingleValue(const std::optional< double >& v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } @@ -7971,7 +7971,7 @@ Ifc2x3::IfcFurnishingElement Ifc2x3::IfcFurnishingElement::initialize(std::strin const ifcopenshell::entity& Ifc2x3::IfcFurnishingElementType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[382]); } -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; } +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 @@ -7985,7 +7985,7 @@ void Ifc2x3::IfcFurnitureType::setAssemblyPlace(const ::Ifc2x3::IfcAssemblyPlace const ifcopenshell::entity& Ifc2x3::IfcFurnitureType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[384]); } -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; } +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]); } -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; } +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; } @@ -8027,16 +8027,16 @@ Ifc2x3::IfcGeneralProfileProperties Ifc2x3::IfcGeneralProfileProperties::initial const ifcopenshell::entity& Ifc2x3::IfcGeometricCurveSet::Class() { return *((ifcopenshell::entity*)IFC2X3_types[389]); } -Ifc2x3::IfcGeometricCurveSet Ifc2x3::IfcGeometricCurveSet::initialize(std::vector< ::Ifc2x3::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } +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 int64_t Ifc2x3::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int64_t v = get_attribute_value(2); return v; } void Ifc2x3::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(const int64_t& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc2x3::IfcGeometricRepresentationContext::Precision() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc2x3::IfcGeometricRepresentationContext::setPrecision(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc2x3::IfcAxis2Placement Ifc2x3::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc2x3::IfcAxis2Placement>(); } +::Ifc2x3::IfcAxis2Placement Ifc2x3::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((express::base)(get_attribute_value(4))).as<::Ifc2x3::IfcAxis2Placement>(); } void Ifc2x3::IfcGeometricRepresentationContext::setWorldCoordinateSystem(const ::Ifc2x3::IfcAxis2Placement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcDirection Ifc2x3::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return ::Ifc2x3::IfcDirection{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcDirection>(); } +::Ifc2x3::IfcDirection Ifc2x3::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return ::Ifc2x3::IfcDirection{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcDirection>(); } void Ifc2x3::IfcGeometricRepresentationContext::setTrueNorth(const ::Ifc2x3::IfcDirection& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } std::vector<::Ifc2x3::IfcGeometricRepresentationSubContext> Ifc2x3::IfcGeometricRepresentationContext::HasSubContexts() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[393], 6)); } @@ -8051,7 +8051,7 @@ const ifcopenshell::entity& Ifc2x3::IfcGeometricRepresentationItem::Class() { re 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>(); } +::Ifc2x3::IfcGeometricRepresentationContext Ifc2x3::IfcGeometricRepresentationSubContext::ParentContext() const { return ((express::base)(get_attribute_value(6))).as<::Ifc2x3::IfcGeometricRepresentationContext>(); } void Ifc2x3::IfcGeometricRepresentationSubContext::setParentContext(const ::Ifc2x3::IfcGeometricRepresentationContext& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< double > Ifc2x3::IfcGeometricRepresentationSubContext::TargetScale() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } void Ifc2x3::IfcGeometricRepresentationSubContext::setTargetScale(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } @@ -8065,30 +8065,30 @@ const ifcopenshell::entity& Ifc2x3::IfcGeometricRepresentationSubContext::Class( 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); } -void Ifc2x3::IfcGeometricSet::setElements(const std::vector< ::Ifc2x3::IfcGeometricSetSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc2x3::IfcGeometricSetSelect > Ifc2x3::IfcGeometricSet::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcGeometricSetSelect>(es); } +void Ifc2x3::IfcGeometricSet::setElements(const std::vector< ::Ifc2x3::IfcGeometricSetSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc2x3::IfcGeometricSet::Class() { return *((ifcopenshell::entity*)IFC2X3_types[394]); } -Ifc2x3::IfcGeometricSet Ifc2x3::IfcGeometricSet::initialize(std::vector< ::Ifc2x3::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } +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); } -void Ifc2x3::IfcGrid::setUAxes(const std::vector< ::Ifc2x3::IfcGridAxis >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } -std::vector< ::Ifc2x3::IfcGridAxis > Ifc2x3::IfcGrid::VAxes() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc2x3::IfcGridAxis>(es); } -void Ifc2x3::IfcGrid::setVAxes(const std::vector< ::Ifc2x3::IfcGridAxis >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } -std::optional< std::vector< ::Ifc2x3::IfcGridAxis > > Ifc2x3::IfcGrid::WAxes() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc2x3::IfcGridAxis>(es); } -void Ifc2x3::IfcGrid::setWAxes(const std::optional< std::vector< ::Ifc2x3::IfcGridAxis > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +std::vector< ::Ifc2x3::IfcGridAxis > Ifc2x3::IfcGrid::UAxes() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc2x3::IfcGridAxis>(es); } +void Ifc2x3::IfcGrid::setUAxes(const std::vector< ::Ifc2x3::IfcGridAxis >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } +std::vector< ::Ifc2x3::IfcGridAxis > Ifc2x3::IfcGrid::VAxes() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc2x3::IfcGridAxis>(es); } +void Ifc2x3::IfcGrid::setVAxes(const std::vector< ::Ifc2x3::IfcGridAxis >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } +std::optional< std::vector< ::Ifc2x3::IfcGridAxis > > Ifc2x3::IfcGrid::WAxes() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc2x3::IfcGridAxis>(es); } +void Ifc2x3::IfcGrid::setWAxes(const std::optional< std::vector< ::Ifc2x3::IfcGridAxis > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } 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]); } -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; } +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; } void Ifc2x3::IfcGridAxis::setAxisTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc2x3::IfcCurve Ifc2x3::IfcGridAxis::AxisCurve() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcCurve>(); } +::Ifc2x3::IfcCurve Ifc2x3::IfcGridAxis::AxisCurve() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcCurve>(); } void Ifc2x3::IfcGridAxis::setAxisCurve(const ::Ifc2x3::IfcCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } bool Ifc2x3::IfcGridAxis::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc2x3::IfcGridAxis::setSameSense(const bool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8102,9 +8102,9 @@ const ifcopenshell::entity& Ifc2x3::IfcGridAxis::Class() { return *((ifcopenshel 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>(); } +::Ifc2x3::IfcVirtualGridIntersection Ifc2x3::IfcGridPlacement::PlacementLocation() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcVirtualGridIntersection>(); } void Ifc2x3::IfcGridPlacement::setPlacementLocation(const ::Ifc2x3::IfcVirtualGridIntersection& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcVirtualGridIntersection Ifc2x3::IfcGridPlacement::PlacementRefDirection() const { if(get_attribute_value(1).isNull()) { return ::Ifc2x3::IfcVirtualGridIntersection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcVirtualGridIntersection>(); } +::Ifc2x3::IfcVirtualGridIntersection Ifc2x3::IfcGridPlacement::PlacementRefDirection() const { if(get_attribute_value(1).isNull()) { return ::Ifc2x3::IfcVirtualGridIntersection{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcVirtualGridIntersection>(); } void Ifc2x3::IfcGridPlacement::setPlacementRefDirection(const ::Ifc2x3::IfcVirtualGridIntersection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8119,7 +8119,7 @@ const ifcopenshell::entity& Ifc2x3::IfcGroup::Class() { return *((ifcopenshell:: 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>(); } +::Ifc2x3::IfcSurface Ifc2x3::IfcHalfSpaceSolid::BaseSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcSurface>(); } void Ifc2x3::IfcHalfSpaceSolid::setBaseSurface(const ::Ifc2x3::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } bool Ifc2x3::IfcHalfSpaceSolid::AgreementFlag() const { bool v = get_attribute_value(1); return v; } void Ifc2x3::IfcHalfSpaceSolid::setAgreementFlag(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8134,7 +8134,7 @@ void Ifc2x3::IfcHeatExchangerType::setPredefinedType(const ::Ifc2x3::IfcHeatExch const ifcopenshell::entity& Ifc2x3::IfcHeatExchangerType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[404]); } -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; } +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]); } -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; } +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; } @@ -8187,38 +8187,38 @@ Ifc2x3::IfcImageTexture Ifc2x3::IfcImageTexture::initialize(bool v1_RepeatS, boo // Function implementations for IfcInventory ::Ifc2x3::IfcInventoryTypeEnum::Value Ifc2x3::IfcInventory::InventoryType() const { return ::Ifc2x3::IfcInventoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc2x3::IfcInventory::setInventoryType(const ::Ifc2x3::IfcInventoryTypeEnum::Value& v) { set_attribute_value(5, enumeration_reference(&::Ifc2x3::IfcInventoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcActorSelect Ifc2x3::IfcInventory::Jurisdiction() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc2x3::IfcActorSelect>(); } +::Ifc2x3::IfcActorSelect Ifc2x3::IfcInventory::Jurisdiction() const { return ((express::base)(get_attribute_value(6))).as<::Ifc2x3::IfcActorSelect>(); } void Ifc2x3::IfcInventory::setJurisdiction(const ::Ifc2x3::IfcActorSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::vector< ::Ifc2x3::IfcPerson > Ifc2x3::IfcInventory::ResponsiblePersons() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc2x3::IfcPerson>(es); } -void Ifc2x3::IfcInventory::setResponsiblePersons(const std::vector< ::Ifc2x3::IfcPerson >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } -::Ifc2x3::IfcCalendarDate Ifc2x3::IfcInventory::LastUpdateDate() const { return ((express::Base)(get_attribute_value(8))).as<::Ifc2x3::IfcCalendarDate>(); } +std::vector< ::Ifc2x3::IfcPerson > Ifc2x3::IfcInventory::ResponsiblePersons() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc2x3::IfcPerson>(es); } +void Ifc2x3::IfcInventory::setResponsiblePersons(const std::vector< ::Ifc2x3::IfcPerson >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } +::Ifc2x3::IfcCalendarDate Ifc2x3::IfcInventory::LastUpdateDate() const { return ((express::base)(get_attribute_value(8))).as<::Ifc2x3::IfcCalendarDate>(); } void Ifc2x3::IfcInventory::setLastUpdateDate(const ::Ifc2x3::IfcCalendarDate& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc2x3::IfcCostValue Ifc2x3::IfcInventory::CurrentValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc2x3::IfcCostValue{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc2x3::IfcCostValue>(); } +::Ifc2x3::IfcCostValue Ifc2x3::IfcInventory::CurrentValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc2x3::IfcCostValue{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc2x3::IfcCostValue>(); } void Ifc2x3::IfcInventory::setCurrentValue(const ::Ifc2x3::IfcCostValue& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -::Ifc2x3::IfcCostValue Ifc2x3::IfcInventory::OriginalValue() const { if(get_attribute_value(10).isNull()) { return ::Ifc2x3::IfcCostValue{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc2x3::IfcCostValue>(); } +::Ifc2x3::IfcCostValue Ifc2x3::IfcInventory::OriginalValue() const { if(get_attribute_value(10).isNull()) { return ::Ifc2x3::IfcCostValue{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc2x3::IfcCostValue>(); } void Ifc2x3::IfcInventory::setOriginalValue(const ::Ifc2x3::IfcCostValue& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } const ifcopenshell::entity& Ifc2x3::IfcInventory::Class() { return *((ifcopenshell::entity*)IFC2X3_types[419]); } -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; } +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); } -void Ifc2x3::IfcIrregularTimeSeries::setValues(const std::vector< ::Ifc2x3::IfcIrregularTimeSeriesValue >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } +std::vector< ::Ifc2x3::IfcIrregularTimeSeriesValue > Ifc2x3::IfcIrregularTimeSeries::Values() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc2x3::IfcIrregularTimeSeriesValue>(es); } +void Ifc2x3::IfcIrregularTimeSeries::setValues(const std::vector< ::Ifc2x3::IfcIrregularTimeSeriesValue >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } const ifcopenshell::entity& Ifc2x3::IfcIrregularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC2X3_types[422]); } -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; } +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>(); } +::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcIrregularTimeSeriesValue::TimeStamp() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcDateTimeSelect>(); } void Ifc2x3::IfcIrregularTimeSeriesValue::setTimeStamp(const ::Ifc2x3::IfcDateTimeSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc2x3::IfcValue > Ifc2x3::IfcIrregularTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcValue>(es); } -void Ifc2x3::IfcIrregularTimeSeriesValue::setListValues(const std::vector< ::Ifc2x3::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc2x3::IfcValue > Ifc2x3::IfcIrregularTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcValue>(es); } +void Ifc2x3::IfcIrregularTimeSeriesValue::setListValues(const std::vector< ::Ifc2x3::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc2x3::IfcIrregularTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC2X3_types[423]); } -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; } +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]); } -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; } +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; } @@ -8264,23 +8264,23 @@ void Ifc2x3::IfcLampType::setPredefinedType(const ::Ifc2x3::IfcLampTypeEnum::Val const ifcopenshell::entity& Ifc2x3::IfcLampType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[431]); } -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; } +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; } void Ifc2x3::IfcLibraryInformation::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc2x3::IfcLibraryInformation::Version() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcLibraryInformation::setVersion(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc2x3::IfcOrganization Ifc2x3::IfcLibraryInformation::Publisher() const { if(get_attribute_value(2).isNull()) { return ::Ifc2x3::IfcOrganization{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcOrganization>(); } +::Ifc2x3::IfcOrganization Ifc2x3::IfcLibraryInformation::Publisher() const { if(get_attribute_value(2).isNull()) { return ::Ifc2x3::IfcOrganization{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcOrganization>(); } void Ifc2x3::IfcLibraryInformation::setPublisher(const ::Ifc2x3::IfcOrganization& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcCalendarDate Ifc2x3::IfcLibraryInformation::VersionDate() const { if(get_attribute_value(3).isNull()) { return ::Ifc2x3::IfcCalendarDate{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc2x3::IfcCalendarDate>(); } +::Ifc2x3::IfcCalendarDate Ifc2x3::IfcLibraryInformation::VersionDate() const { if(get_attribute_value(3).isNull()) { return ::Ifc2x3::IfcCalendarDate{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc2x3::IfcCalendarDate>(); } void Ifc2x3::IfcLibraryInformation::setVersionDate(const ::Ifc2x3::IfcCalendarDate& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -std::optional< std::vector< ::Ifc2x3::IfcLibraryReference > > Ifc2x3::IfcLibraryInformation::LibraryReference() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(4); return cast_vector<::Ifc2x3::IfcLibraryReference>(es); } -void Ifc2x3::IfcLibraryInformation::setLibraryReference(const std::optional< std::vector< ::Ifc2x3::IfcLibraryReference > >& v) { if (v) {set_attribute_value(4, cast_vector(*v));} else {unset_attribute_value(4);} } +std::optional< std::vector< ::Ifc2x3::IfcLibraryReference > > Ifc2x3::IfcLibraryInformation::LibraryReference() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(4); return cast_vector<::Ifc2x3::IfcLibraryReference>(es); } +void Ifc2x3::IfcLibraryInformation::setLibraryReference(const std::optional< std::vector< ::Ifc2x3::IfcLibraryReference > >& v) { if (v) {set_attribute_value(4, cast_vector(*v));} else {unset_attribute_value(4);} } const ifcopenshell::entity& Ifc2x3::IfcLibraryInformation::Class() { return *((ifcopenshell::entity*)IFC2X3_types[436]); } -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; } +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 @@ -8307,22 +8307,22 @@ void Ifc2x3::IfcLightFixtureType::setPredefinedType(const ::Ifc2x3::IfcLightFixt const ifcopenshell::entity& Ifc2x3::IfcLightFixtureType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[443]); } -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; } +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)); } void Ifc2x3::IfcLightIntensityDistribution::setLightDistributionCurve(const ::Ifc2x3::IfcLightDistributionCurveEnum::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc2x3::IfcLightDistributionCurveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc2x3::IfcLightDistributionData > Ifc2x3::IfcLightIntensityDistribution::DistributionData() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcLightDistributionData>(es); } -void Ifc2x3::IfcLightIntensityDistribution::setDistributionData(const std::vector< ::Ifc2x3::IfcLightDistributionData >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc2x3::IfcLightDistributionData > Ifc2x3::IfcLightIntensityDistribution::DistributionData() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcLightDistributionData>(es); } +void Ifc2x3::IfcLightIntensityDistribution::setDistributionData(const std::vector< ::Ifc2x3::IfcLightDistributionData >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc2x3::IfcLightIntensityDistribution::Class() { return *((ifcopenshell::entity*)IFC2X3_types[445]); } -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; } +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; } void Ifc2x3::IfcLightSource::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc2x3::IfcColourRgb Ifc2x3::IfcLightSource::LightColour() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcColourRgb>(); } +::Ifc2x3::IfcColourRgb Ifc2x3::IfcLightSource::LightColour() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcColourRgb>(); } void Ifc2x3::IfcLightSource::setLightColour(const ::Ifc2x3::IfcColourRgb& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< double > Ifc2x3::IfcLightSource::AmbientIntensity() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } double v = get_attribute_value(2); return v; } void Ifc2x3::IfcLightSource::setAmbientIntensity(const std::optional< double >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } @@ -8340,7 +8340,7 @@ const ifcopenshell::entity& Ifc2x3::IfcLightSourceAmbient::Class() { return *((i 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>(); } +::Ifc2x3::IfcDirection Ifc2x3::IfcLightSourceDirectional::Orientation() const { return ((express::base)(get_attribute_value(4))).as<::Ifc2x3::IfcDirection>(); } void Ifc2x3::IfcLightSourceDirectional::setOrientation(const ::Ifc2x3::IfcDirection& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -8348,9 +8348,9 @@ const ifcopenshell::entity& Ifc2x3::IfcLightSourceDirectional::Class() { return 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>(); } +::Ifc2x3::IfcAxis2Placement3D Ifc2x3::IfcLightSourceGoniometric::Position() const { return ((express::base)(get_attribute_value(4))).as<::Ifc2x3::IfcAxis2Placement3D>(); } void Ifc2x3::IfcLightSourceGoniometric::setPosition(const ::Ifc2x3::IfcAxis2Placement3D& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcColourRgb Ifc2x3::IfcLightSourceGoniometric::ColourAppearance() const { if(get_attribute_value(5).isNull()) { return ::Ifc2x3::IfcColourRgb{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcColourRgb>(); } +::Ifc2x3::IfcColourRgb Ifc2x3::IfcLightSourceGoniometric::ColourAppearance() const { if(get_attribute_value(5).isNull()) { return ::Ifc2x3::IfcColourRgb{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcColourRgb>(); } void Ifc2x3::IfcLightSourceGoniometric::setColourAppearance(const ::Ifc2x3::IfcColourRgb& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } double Ifc2x3::IfcLightSourceGoniometric::ColourTemperature() const { double v = get_attribute_value(6); return v; } void Ifc2x3::IfcLightSourceGoniometric::setColourTemperature(const double& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -8358,7 +8358,7 @@ double Ifc2x3::IfcLightSourceGoniometric::LuminousFlux() const { double v = get void Ifc2x3::IfcLightSourceGoniometric::setLuminousFlux(const double& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc2x3::IfcLightEmissionSourceEnum::Value Ifc2x3::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc2x3::IfcLightEmissionSourceEnum::FromString(get_attribute_value(8)); } void Ifc2x3::IfcLightSourceGoniometric::setLightEmissionSource(const ::Ifc2x3::IfcLightEmissionSourceEnum::Value& v) { set_attribute_value(8, enumeration_reference(&::Ifc2x3::IfcLightEmissionSourceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc2x3::IfcLightDistributionDataSourceSelect Ifc2x3::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc2x3::IfcLightDistributionDataSourceSelect>(); } +::Ifc2x3::IfcLightDistributionDataSourceSelect Ifc2x3::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((express::base)(get_attribute_value(9))).as<::Ifc2x3::IfcLightDistributionDataSourceSelect>(); } void Ifc2x3::IfcLightSourceGoniometric::setLightDistributionDataSource(const ::Ifc2x3::IfcLightDistributionDataSourceSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } @@ -8366,7 +8366,7 @@ const ifcopenshell::entity& Ifc2x3::IfcLightSourceGoniometric::Class() { return 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>(); } +::Ifc2x3::IfcCartesianPoint Ifc2x3::IfcLightSourcePositional::Position() const { return ((express::base)(get_attribute_value(4))).as<::Ifc2x3::IfcCartesianPoint>(); } void Ifc2x3::IfcLightSourcePositional::setPosition(const ::Ifc2x3::IfcCartesianPoint& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } double Ifc2x3::IfcLightSourcePositional::Radius() const { double v = get_attribute_value(5); return v; } void Ifc2x3::IfcLightSourcePositional::setRadius(const double& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -8382,7 +8382,7 @@ const ifcopenshell::entity& Ifc2x3::IfcLightSourcePositional::Class() { return * 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>(); } +::Ifc2x3::IfcDirection Ifc2x3::IfcLightSourceSpot::Orientation() const { return ((express::base)(get_attribute_value(9))).as<::Ifc2x3::IfcDirection>(); } void Ifc2x3::IfcLightSourceSpot::setOrientation(const ::Ifc2x3::IfcDirection& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::optional< double > Ifc2x3::IfcLightSourceSpot::ConcentrationExponent() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc2x3::IfcLightSourceSpot::setConcentrationExponent(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } @@ -8396,9 +8396,9 @@ const ifcopenshell::entity& Ifc2x3::IfcLightSourceSpot::Class() { return *((ifco 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>(); } +::Ifc2x3::IfcCartesianPoint Ifc2x3::IfcLine::Pnt() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcCartesianPoint>(); } void Ifc2x3::IfcLine::setPnt(const ::Ifc2x3::IfcCartesianPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcVector Ifc2x3::IfcLine::Dir() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcVector>(); } +::Ifc2x3::IfcVector Ifc2x3::IfcLine::Dir() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcVector>(); } void Ifc2x3::IfcLine::setDir(const ::Ifc2x3::IfcVector& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8409,12 +8409,12 @@ Ifc2x3::IfcLine Ifc2x3::IfcLine::initialize(::Ifc2x3::IfcCartesianPoint v1_Pnt, const ifcopenshell::entity& Ifc2x3::IfcLinearDimension::Class() { return *((ifcopenshell::entity*)IFC2X3_types[453]); } -Ifc2x3::IfcLinearDimension Ifc2x3::IfcLinearDimension::initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents) { set_attribute_value(0, cast_vector(v1_Contents));; return *this; } +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>(); } +::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>(); } void Ifc2x3::IfcLocalPlacement::setPlacementRelTo(const ::Ifc2x3::IfcObjectPlacement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcAxis2Placement Ifc2x3::IfcLocalPlacement::RelativePlacement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcAxis2Placement>(); } +::Ifc2x3::IfcAxis2Placement Ifc2x3::IfcLocalPlacement::RelativePlacement() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcAxis2Placement>(); } void Ifc2x3::IfcLocalPlacement::setRelativePlacement(const ::Ifc2x3::IfcAxis2Placement& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8428,7 +8428,7 @@ std::optional< int64_t > Ifc2x3::IfcLocalTime::MinuteComponent() const { if(get_ void Ifc2x3::IfcLocalTime::setMinuteComponent(const std::optional< int64_t >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< double > Ifc2x3::IfcLocalTime::SecondComponent() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } double v = get_attribute_value(2); return v; } void Ifc2x3::IfcLocalTime::setSecondComponent(const std::optional< double >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc2x3::IfcCoordinatedUniversalTimeOffset Ifc2x3::IfcLocalTime::Zone() const { if(get_attribute_value(3).isNull()) { return ::Ifc2x3::IfcCoordinatedUniversalTimeOffset{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc2x3::IfcCoordinatedUniversalTimeOffset>(); } +::Ifc2x3::IfcCoordinatedUniversalTimeOffset Ifc2x3::IfcLocalTime::Zone() const { if(get_attribute_value(3).isNull()) { return ::Ifc2x3::IfcCoordinatedUniversalTimeOffset{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc2x3::IfcCoordinatedUniversalTimeOffset>(); } void Ifc2x3::IfcLocalTime::setZone(const ::Ifc2x3::IfcCoordinatedUniversalTimeOffset& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< int64_t > Ifc2x3::IfcLocalTime::DaylightSavingOffset() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(4); return v; } void Ifc2x3::IfcLocalTime::setDaylightSavingOffset(const std::optional< int64_t >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -8444,7 +8444,7 @@ const ifcopenshell::entity& Ifc2x3::IfcLoop::Class() { return *((ifcopenshell::e 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>(); } +::Ifc2x3::IfcClosedShell Ifc2x3::IfcManifoldSolidBrep::Outer() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcClosedShell>(); } void Ifc2x3::IfcManifoldSolidBrep::setOuter(const ::Ifc2x3::IfcClosedShell& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -8452,9 +8452,9 @@ const ifcopenshell::entity& Ifc2x3::IfcManifoldSolidBrep::Class() { return *((if 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>(); } +::Ifc2x3::IfcRepresentationMap Ifc2x3::IfcMappedItem::MappingSource() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcRepresentationMap>(); } void Ifc2x3::IfcMappedItem::setMappingSource(const ::Ifc2x3::IfcRepresentationMap& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcCartesianTransformationOperator Ifc2x3::IfcMappedItem::MappingTarget() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcCartesianTransformationOperator>(); } +::Ifc2x3::IfcCartesianTransformationOperator Ifc2x3::IfcMappedItem::MappingTarget() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcCartesianTransformationOperator>(); } void Ifc2x3::IfcMappedItem::setMappingTarget(const ::Ifc2x3::IfcCartesianTransformationOperator& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8472,25 +8472,25 @@ const ifcopenshell::entity& Ifc2x3::IfcMaterial::Class() { return *((ifcopenshel 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); } -void Ifc2x3::IfcMaterialClassificationRelationship::setMaterialClassifications(const std::vector< ::Ifc2x3::IfcClassificationNotationSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcMaterial Ifc2x3::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcMaterial>(); } +std::vector< ::Ifc2x3::IfcClassificationNotationSelect > Ifc2x3::IfcMaterialClassificationRelationship::MaterialClassifications() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcClassificationNotationSelect>(es); } +void Ifc2x3::IfcMaterialClassificationRelationship::setMaterialClassifications(const std::vector< ::Ifc2x3::IfcClassificationNotationSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +::Ifc2x3::IfcMaterial Ifc2x3::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcMaterial>(); } void Ifc2x3::IfcMaterialClassificationRelationship::setClassifiedMaterial(const ::Ifc2x3::IfcMaterial& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc2x3::IfcMaterialClassificationRelationship::Class() { return *((ifcopenshell::entity*)IFC2X3_types[477]); } -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; } +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>(); } +::Ifc2x3::IfcMaterial Ifc2x3::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((express::base)(get_attribute_value(3))).as<::Ifc2x3::IfcMaterial>(); } void Ifc2x3::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(const ::Ifc2x3::IfcMaterial& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc2x3::IfcMaterialDefinitionRepresentation::Class() { return *((ifcopenshell::entity*)IFC2X3_types[478]); } -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; } +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>(); } +::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>(); } void Ifc2x3::IfcMaterialLayer::setMaterial(const ::Ifc2x3::IfcMaterial& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc2x3::IfcMaterialLayer::LayerThickness() const { double v = get_attribute_value(1); return v; } void Ifc2x3::IfcMaterialLayer::setLayerThickness(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8503,17 +8503,17 @@ const ifcopenshell::entity& Ifc2x3::IfcMaterialLayer::Class() { return *((ifcope 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); } -void Ifc2x3::IfcMaterialLayerSet::setMaterialLayers(const std::vector< ::Ifc2x3::IfcMaterialLayer >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc2x3::IfcMaterialLayer > Ifc2x3::IfcMaterialLayerSet::MaterialLayers() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcMaterialLayer>(es); } +void Ifc2x3::IfcMaterialLayerSet::setMaterialLayers(const std::vector< ::Ifc2x3::IfcMaterialLayer >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc2x3::IfcMaterialLayerSet::LayerSetName() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcMaterialLayerSet::setLayerSetName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const ifcopenshell::entity& Ifc2x3::IfcMaterialLayerSet::Class() { return *((ifcopenshell::entity*)IFC2X3_types[480]); } -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; } +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>(); } +::Ifc2x3::IfcMaterialLayerSet Ifc2x3::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcMaterialLayerSet>(); } void Ifc2x3::IfcMaterialLayerSetUsage::setForLayerSet(const ::Ifc2x3::IfcMaterialLayerSet& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } ::Ifc2x3::IfcLayerSetDirectionEnum::Value Ifc2x3::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc2x3::IfcLayerSetDirectionEnum::FromString(get_attribute_value(1)); } void Ifc2x3::IfcMaterialLayerSetUsage::setLayerSetDirection(const ::Ifc2x3::IfcLayerSetDirectionEnum::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc2x3::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } @@ -8527,15 +8527,15 @@ const ifcopenshell::entity& Ifc2x3::IfcMaterialLayerSetUsage::Class() { return * 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); } -void Ifc2x3::IfcMaterialList::setMaterials(const std::vector< ::Ifc2x3::IfcMaterial >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc2x3::IfcMaterial > Ifc2x3::IfcMaterialList::Materials() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcMaterial>(es); } +void Ifc2x3::IfcMaterialList::setMaterials(const std::vector< ::Ifc2x3::IfcMaterial >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc2x3::IfcMaterialList::Class() { return *((ifcopenshell::entity*)IFC2X3_types[482]); } -Ifc2x3::IfcMaterialList Ifc2x3::IfcMaterialList::initialize(std::vector< ::Ifc2x3::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials));; return *this; } +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>(); } +::Ifc2x3::IfcMaterial Ifc2x3::IfcMaterialProperties::Material() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcMaterial>(); } void Ifc2x3::IfcMaterialProperties::setMaterial(const ::Ifc2x3::IfcMaterial& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -8543,9 +8543,9 @@ const ifcopenshell::entity& Ifc2x3::IfcMaterialProperties::Class() { return *((i 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>(); } +::Ifc2x3::IfcValue Ifc2x3::IfcMeasureWithUnit::ValueComponent() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcValue>(); } void Ifc2x3::IfcMeasureWithUnit::setValueComponent(const ::Ifc2x3::IfcValue& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcUnit Ifc2x3::IfcMeasureWithUnit::UnitComponent() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcUnit>(); } +::Ifc2x3::IfcUnit Ifc2x3::IfcMeasureWithUnit::UnitComponent() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcUnit>(); } void Ifc2x3::IfcMeasureWithUnit::setUnitComponent(const ::Ifc2x3::IfcUnit& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8584,7 +8584,7 @@ Ifc2x3::IfcMechanicalFastener Ifc2x3::IfcMechanicalFastener::initialize(std::str const ifcopenshell::entity& Ifc2x3::IfcMechanicalFastenerType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[489]); } -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; } +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; } @@ -8615,12 +8615,12 @@ std::optional< double > Ifc2x3::IfcMechanicalSteelMaterialProperties::Proportion void Ifc2x3::IfcMechanicalSteelMaterialProperties::setProportionalStress(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } std::optional< double > Ifc2x3::IfcMechanicalSteelMaterialProperties::PlasticStrain() const { if(get_attribute_value(11).isNull()) { return std::nullopt; } double v = get_attribute_value(11); return v; } void Ifc2x3::IfcMechanicalSteelMaterialProperties::setPlasticStrain(const std::optional< double >& v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -std::optional< std::vector< ::Ifc2x3::IfcRelaxation > > Ifc2x3::IfcMechanicalSteelMaterialProperties::Relaxations() const { if(get_attribute_value(12).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(12); return cast_vector<::Ifc2x3::IfcRelaxation>(es); } -void Ifc2x3::IfcMechanicalSteelMaterialProperties::setRelaxations(const std::optional< std::vector< ::Ifc2x3::IfcRelaxation > >& v) { if (v) {set_attribute_value(12, cast_vector(*v));} else {unset_attribute_value(12);} } +std::optional< std::vector< ::Ifc2x3::IfcRelaxation > > Ifc2x3::IfcMechanicalSteelMaterialProperties::Relaxations() const { if(get_attribute_value(12).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(12); return cast_vector<::Ifc2x3::IfcRelaxation>(es); } +void Ifc2x3::IfcMechanicalSteelMaterialProperties::setRelaxations(const std::optional< std::vector< ::Ifc2x3::IfcRelaxation > >& v) { if (v) {set_attribute_value(12, cast_vector(*v));} else {unset_attribute_value(12);} } const ifcopenshell::entity& Ifc2x3::IfcMechanicalSteelMaterialProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[491]); } -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; } +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 @@ -8634,14 +8634,14 @@ void Ifc2x3::IfcMemberType::setPredefinedType(const ::Ifc2x3::IfcMemberTypeEnum: const ifcopenshell::entity& Ifc2x3::IfcMemberType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[493]); } -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; } +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)); } void Ifc2x3::IfcMetric::setBenchmark(const ::Ifc2x3::IfcBenchmarkEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc2x3::IfcBenchmarkEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } std::optional< std::string > Ifc2x3::IfcMetric::ValueSource() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc2x3::IfcMetric::setValueSource(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc2x3::IfcMetricValueSelect Ifc2x3::IfcMetric::DataValue() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc2x3::IfcMetricValueSelect>(); } +::Ifc2x3::IfcMetricValueSelect Ifc2x3::IfcMetric::DataValue() const { return ((express::base)(get_attribute_value(9))).as<::Ifc2x3::IfcMetricValueSelect>(); } void Ifc2x3::IfcMetric::setDataValue(const ::Ifc2x3::IfcMetricValueSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } @@ -8662,12 +8662,12 @@ void Ifc2x3::IfcMotorConnectionType::setPredefinedType(const ::Ifc2x3::IfcMotorC const ifcopenshell::entity& Ifc2x3::IfcMotorConnectionType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[508]); } -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; } +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>(); } +::Ifc2x3::IfcSpatialStructureElement Ifc2x3::IfcMove::MoveFrom() const { return ((express::base)(get_attribute_value(10))).as<::Ifc2x3::IfcSpatialStructureElement>(); } void Ifc2x3::IfcMove::setMoveFrom(const ::Ifc2x3::IfcSpatialStructureElement& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -::Ifc2x3::IfcSpatialStructureElement Ifc2x3::IfcMove::MoveTo() const { return ((express::Base)(get_attribute_value(11))).as<::Ifc2x3::IfcSpatialStructureElement>(); } +::Ifc2x3::IfcSpatialStructureElement Ifc2x3::IfcMove::MoveTo() const { return ((express::base)(get_attribute_value(11))).as<::Ifc2x3::IfcSpatialStructureElement>(); } void Ifc2x3::IfcMove::setMoveTo(const ::Ifc2x3::IfcSpatialStructureElement& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } std::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcMove::PunchList() const { if(get_attribute_value(12).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(12); return v; } void Ifc2x3::IfcMove::setPunchList(const std::optional< std::vector< std::string > /*[1:?]*/ >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } @@ -8677,7 +8677,7 @@ const ifcopenshell::entity& Ifc2x3::IfcMove::Class() { return *((ifcopenshell::e 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< int64_t > 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>(); } +::Ifc2x3::IfcDimensionalExponents Ifc2x3::IfcNamedUnit::Dimensions() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcDimensionalExponents>(); } void Ifc2x3::IfcNamedUnit::setDimensions(const ::Ifc2x3::IfcDimensionalExponents& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } ::Ifc2x3::IfcUnitEnum::Value Ifc2x3::IfcNamedUnit::UnitType() const { return ::Ifc2x3::IfcUnitEnum::FromString(get_attribute_value(1)); } void Ifc2x3::IfcNamedUnit::setUnitType(const ::Ifc2x3::IfcUnitEnum::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc2x3::IfcUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } @@ -8714,9 +8714,9 @@ const ifcopenshell::entity& Ifc2x3::IfcObjectPlacement::Class() { return *((ifco 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>(); } +::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>(); } void Ifc2x3::IfcObjective::setBenchmarkValues(const ::Ifc2x3::IfcMetric& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc2x3::IfcMetric Ifc2x3::IfcObjective::ResultValues() const { if(get_attribute_value(8).isNull()) { return ::Ifc2x3::IfcMetric{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc2x3::IfcMetric>(); } +::Ifc2x3::IfcMetric Ifc2x3::IfcObjective::ResultValues() const { if(get_attribute_value(8).isNull()) { return ::Ifc2x3::IfcMetric{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc2x3::IfcMetric>(); } void Ifc2x3::IfcObjective::setResultValues(const ::Ifc2x3::IfcMetric& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } ::Ifc2x3::IfcObjectiveEnum::Value Ifc2x3::IfcObjective::ObjectiveQualifier() const { return ::Ifc2x3::IfcObjectiveEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcObjective::setObjectiveQualifier(const ::Ifc2x3::IfcObjectiveEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc2x3::IfcObjectiveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } @@ -8736,7 +8736,7 @@ const ifcopenshell::entity& Ifc2x3::IfcOccupant::Class() { return *((ifcopenshel 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>(); } +::Ifc2x3::IfcCurve Ifc2x3::IfcOffsetCurve2D::BasisCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcCurve>(); } void Ifc2x3::IfcOffsetCurve2D::setBasisCurve(const ::Ifc2x3::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc2x3::IfcOffsetCurve2D::Distance() const { double v = get_attribute_value(1); return v; } void Ifc2x3::IfcOffsetCurve2D::setDistance(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8748,13 +8748,13 @@ const ifcopenshell::entity& Ifc2x3::IfcOffsetCurve2D::Class() { return *((ifcope 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>(); } +::Ifc2x3::IfcCurve Ifc2x3::IfcOffsetCurve3D::BasisCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcCurve>(); } void Ifc2x3::IfcOffsetCurve3D::setBasisCurve(const ::Ifc2x3::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc2x3::IfcOffsetCurve3D::Distance() const { double v = get_attribute_value(1); return v; } void Ifc2x3::IfcOffsetCurve3D::setDistance(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } boost::logic::tribool Ifc2x3::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc2x3::IfcOffsetCurve3D::setSelfIntersect(const boost::logic::tribool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcDirection Ifc2x3::IfcOffsetCurve3D::RefDirection() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc2x3::IfcDirection>(); } +::Ifc2x3::IfcDirection Ifc2x3::IfcOffsetCurve3D::RefDirection() const { return ((express::base)(get_attribute_value(3))).as<::Ifc2x3::IfcDirection>(); } void Ifc2x3::IfcOffsetCurve3D::setRefDirection(const ::Ifc2x3::IfcDirection& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -8762,7 +8762,7 @@ const ifcopenshell::entity& Ifc2x3::IfcOffsetCurve3D::Class() { return *((ifcope 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>(); } +::Ifc2x3::IfcVector Ifc2x3::IfcOneDirectionRepeatFactor::RepeatFactor() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcVector>(); } void Ifc2x3::IfcOneDirectionRepeatFactor::setRepeatFactor(const ::Ifc2x3::IfcVector& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -8773,7 +8773,7 @@ Ifc2x3::IfcOneDirectionRepeatFactor Ifc2x3::IfcOneDirectionRepeatFactor::initial const ifcopenshell::entity& Ifc2x3::IfcOpenShell::Class() { return *((ifcopenshell::entity*)IFC2X3_types[528]); } -Ifc2x3::IfcOpenShell Ifc2x3::IfcOpenShell::initialize(std::vector< ::Ifc2x3::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } +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 @@ -8821,34 +8821,34 @@ std::string Ifc2x3::IfcOrganization::Name() const { std::string v = get_attribu void Ifc2x3::IfcOrganization::setName(const std::string& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc2x3::IfcOrganization::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcOrganization::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::optional< std::vector< ::Ifc2x3::IfcActorRole > > Ifc2x3::IfcOrganization::Roles() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc2x3::IfcActorRole>(es); } -void Ifc2x3::IfcOrganization::setRoles(const std::optional< std::vector< ::Ifc2x3::IfcActorRole > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } -std::optional< std::vector< ::Ifc2x3::IfcAddress > > Ifc2x3::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(4); return cast_vector<::Ifc2x3::IfcAddress>(es); } -void Ifc2x3::IfcOrganization::setAddresses(const std::optional< std::vector< ::Ifc2x3::IfcAddress > >& v) { if (v) {set_attribute_value(4, cast_vector(*v));} else {unset_attribute_value(4);} } +std::optional< std::vector< ::Ifc2x3::IfcActorRole > > Ifc2x3::IfcOrganization::Roles() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc2x3::IfcActorRole>(es); } +void Ifc2x3::IfcOrganization::setRoles(const std::optional< std::vector< ::Ifc2x3::IfcActorRole > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } +std::optional< std::vector< ::Ifc2x3::IfcAddress > > Ifc2x3::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(4); return cast_vector<::Ifc2x3::IfcAddress>(es); } +void Ifc2x3::IfcOrganization::setAddresses(const std::optional< std::vector< ::Ifc2x3::IfcAddress > >& v) { if (v) {set_attribute_value(4, cast_vector(*v));} else {unset_attribute_value(4);} } std::vector<::Ifc2x3::IfcOrganizationRelationship> Ifc2x3::IfcOrganization::IsRelatedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[532], 3)); } std::vector<::Ifc2x3::IfcOrganizationRelationship> Ifc2x3::IfcOrganization::Relates() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[532], 2)); } 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]); } -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; } +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; } void Ifc2x3::IfcOrganizationRelationship::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc2x3::IfcOrganizationRelationship::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcOrganizationRelationship::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc2x3::IfcOrganization Ifc2x3::IfcOrganizationRelationship::RelatingOrganization() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcOrganization>(); } +::Ifc2x3::IfcOrganization Ifc2x3::IfcOrganizationRelationship::RelatingOrganization() const { return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcOrganization>(); } void Ifc2x3::IfcOrganizationRelationship::setRelatingOrganization(const ::Ifc2x3::IfcOrganization& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc2x3::IfcOrganization > Ifc2x3::IfcOrganizationRelationship::RelatedOrganizations() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc2x3::IfcOrganization>(es); } -void Ifc2x3::IfcOrganizationRelationship::setRelatedOrganizations(const std::vector< ::Ifc2x3::IfcOrganization >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc2x3::IfcOrganization > Ifc2x3::IfcOrganizationRelationship::RelatedOrganizations() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc2x3::IfcOrganization>(es); } +void Ifc2x3::IfcOrganizationRelationship::setRelatedOrganizations(const std::vector< ::Ifc2x3::IfcOrganization >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc2x3::IfcOrganizationRelationship::Class() { return *((ifcopenshell::entity*)IFC2X3_types[532]); } -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; } +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>(); } +::Ifc2x3::IfcEdge Ifc2x3::IfcOrientedEdge::EdgeElement() const { return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcEdge>(); } void Ifc2x3::IfcOrientedEdge::setEdgeElement(const ::Ifc2x3::IfcEdge& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } bool Ifc2x3::IfcOrientedEdge::Orientation() const { bool v = get_attribute_value(3); return v; } void Ifc2x3::IfcOrientedEdge::setOrientation(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -8863,12 +8863,12 @@ void Ifc2x3::IfcOutletType::setPredefinedType(const ::Ifc2x3::IfcOutletTypeEnum: const ifcopenshell::entity& Ifc2x3::IfcOutletType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[535]); } -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; } +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>(); } +::Ifc2x3::IfcPersonAndOrganization Ifc2x3::IfcOwnerHistory::OwningUser() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcPersonAndOrganization>(); } void Ifc2x3::IfcOwnerHistory::setOwningUser(const ::Ifc2x3::IfcPersonAndOrganization& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcApplication Ifc2x3::IfcOwnerHistory::OwningApplication() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcApplication>(); } +::Ifc2x3::IfcApplication Ifc2x3::IfcOwnerHistory::OwningApplication() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcApplication>(); } void Ifc2x3::IfcOwnerHistory::setOwningApplication(const ::Ifc2x3::IfcApplication& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< ::Ifc2x3::IfcStateEnum::Value > Ifc2x3::IfcOwnerHistory::State() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } return ::Ifc2x3::IfcStateEnum::FromString(get_attribute_value(2)); } void Ifc2x3::IfcOwnerHistory::setState(const std::optional< ::Ifc2x3::IfcStateEnum::Value >& v) { if (v) {set_attribute_value(2, enumeration_reference(&::Ifc2x3::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } @@ -8876,9 +8876,9 @@ void Ifc2x3::IfcOwnerHistory::setState(const std::optional< ::Ifc2x3::IfcStateEn void Ifc2x3::IfcOwnerHistory::setChangeAction(const ::Ifc2x3::IfcChangeActionEnum::Value& v) { set_attribute_value(3, enumeration_reference(&::Ifc2x3::IfcChangeActionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } std::optional< int64_t > Ifc2x3::IfcOwnerHistory::LastModifiedDate() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(4); return v; } void Ifc2x3::IfcOwnerHistory::setLastModifiedDate(const std::optional< int64_t >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc2x3::IfcPersonAndOrganization Ifc2x3::IfcOwnerHistory::LastModifyingUser() const { if(get_attribute_value(5).isNull()) { return ::Ifc2x3::IfcPersonAndOrganization{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcPersonAndOrganization>(); } +::Ifc2x3::IfcPersonAndOrganization Ifc2x3::IfcOwnerHistory::LastModifyingUser() const { if(get_attribute_value(5).isNull()) { return ::Ifc2x3::IfcPersonAndOrganization{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcPersonAndOrganization>(); } void Ifc2x3::IfcOwnerHistory::setLastModifyingUser(const ::Ifc2x3::IfcPersonAndOrganization& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcApplication Ifc2x3::IfcOwnerHistory::LastModifyingApplication() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcApplication{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc2x3::IfcApplication>(); } +::Ifc2x3::IfcApplication Ifc2x3::IfcOwnerHistory::LastModifyingApplication() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcApplication{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc2x3::IfcApplication>(); } void Ifc2x3::IfcOwnerHistory::setLastModifyingApplication(const ::Ifc2x3::IfcApplication& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } int64_t Ifc2x3::IfcOwnerHistory::CreationDate() const { int64_t v = get_attribute_value(7); return v; } void Ifc2x3::IfcOwnerHistory::setCreationDate(const int64_t& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -8888,7 +8888,7 @@ const ifcopenshell::entity& Ifc2x3::IfcOwnerHistory::Class() { return *((ifcopen 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< int64_t > v5_LastModifiedDate, ::Ifc2x3::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc2x3::IfcApplication v7_LastModifyingApplication, int64_t 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>(); } +::Ifc2x3::IfcAxis2Placement2D Ifc2x3::IfcParameterizedProfileDef::Position() const { return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcAxis2Placement2D>(); } void Ifc2x3::IfcParameterizedProfileDef::setPosition(const ::Ifc2x3::IfcAxis2Placement2D& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8896,12 +8896,12 @@ const ifcopenshell::entity& Ifc2x3::IfcParameterizedProfileDef::Class() { return 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); } -void Ifc2x3::IfcPath::setEdgeList(const std::vector< ::Ifc2x3::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc2x3::IfcOrientedEdge > Ifc2x3::IfcPath::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcOrientedEdge>(es); } +void Ifc2x3::IfcPath::setEdgeList(const std::vector< ::Ifc2x3::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc2x3::IfcPath::Class() { return *((ifcopenshell::entity*)IFC2X3_types[540]); } -Ifc2x3::IfcPath Ifc2x3::IfcPath::initialize(std::vector< ::Ifc2x3::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } +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; } @@ -8920,7 +8920,7 @@ std::optional< double > Ifc2x3::IfcPermeableCoveringProperties::FrameDepth() con void Ifc2x3::IfcPermeableCoveringProperties::setFrameDepth(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } std::optional< double > Ifc2x3::IfcPermeableCoveringProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } void Ifc2x3::IfcPermeableCoveringProperties::setFrameThickness(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc2x3::IfcShapeAspect Ifc2x3::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc2x3::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc2x3::IfcShapeAspect>(); } +::Ifc2x3::IfcShapeAspect Ifc2x3::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc2x3::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc2x3::IfcShapeAspect>(); } void Ifc2x3::IfcPermeableCoveringProperties::setShapeAspectStyle(const ::Ifc2x3::IfcShapeAspect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -8948,31 +8948,31 @@ std::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcPerson::PrefixT void Ifc2x3::IfcPerson::setPrefixTitles(const std::optional< std::vector< std::string > /*[1:?]*/ >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } std::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcPerson::SuffixTitles() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(5); return v; } void Ifc2x3::IfcPerson::setSuffixTitles(const std::optional< std::vector< std::string > /*[1:?]*/ >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::optional< std::vector< ::Ifc2x3::IfcActorRole > > Ifc2x3::IfcPerson::Roles() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc2x3::IfcActorRole>(es); } -void Ifc2x3::IfcPerson::setRoles(const std::optional< std::vector< ::Ifc2x3::IfcActorRole > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc2x3::IfcAddress > > Ifc2x3::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc2x3::IfcAddress>(es); } -void Ifc2x3::IfcPerson::setAddresses(const std::optional< std::vector< ::Ifc2x3::IfcAddress > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc2x3::IfcActorRole > > Ifc2x3::IfcPerson::Roles() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc2x3::IfcActorRole>(es); } +void Ifc2x3::IfcPerson::setRoles(const std::optional< std::vector< ::Ifc2x3::IfcActorRole > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +std::optional< std::vector< ::Ifc2x3::IfcAddress > > Ifc2x3::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc2x3::IfcAddress>(es); } +void Ifc2x3::IfcPerson::setAddresses(const std::optional< std::vector< ::Ifc2x3::IfcAddress > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } 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]); } -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; } +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>(); } +::Ifc2x3::IfcPerson Ifc2x3::IfcPersonAndOrganization::ThePerson() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcPerson>(); } void Ifc2x3::IfcPersonAndOrganization::setThePerson(const ::Ifc2x3::IfcPerson& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcOrganization Ifc2x3::IfcPersonAndOrganization::TheOrganization() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcOrganization>(); } +::Ifc2x3::IfcOrganization Ifc2x3::IfcPersonAndOrganization::TheOrganization() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcOrganization>(); } void Ifc2x3::IfcPersonAndOrganization::setTheOrganization(const ::Ifc2x3::IfcOrganization& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::optional< std::vector< ::Ifc2x3::IfcActorRole > > Ifc2x3::IfcPersonAndOrganization::Roles() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc2x3::IfcActorRole>(es); } -void Ifc2x3::IfcPersonAndOrganization::setRoles(const std::optional< std::vector< ::Ifc2x3::IfcActorRole > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc2x3::IfcActorRole > > Ifc2x3::IfcPersonAndOrganization::Roles() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc2x3::IfcActorRole>(es); } +void Ifc2x3::IfcPersonAndOrganization::setRoles(const std::optional< std::vector< ::Ifc2x3::IfcActorRole > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc2x3::IfcPersonAndOrganization::Class() { return *((ifcopenshell::entity*)IFC2X3_types[546]); } -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; } +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); } -void Ifc2x3::IfcPhysicalComplexQuantity::setHasQuantities(const std::vector< ::Ifc2x3::IfcPhysicalQuantity >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc2x3::IfcPhysicalQuantity > Ifc2x3::IfcPhysicalComplexQuantity::HasQuantities() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc2x3::IfcPhysicalQuantity>(es); } +void Ifc2x3::IfcPhysicalComplexQuantity::setHasQuantities(const std::vector< ::Ifc2x3::IfcPhysicalQuantity >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::string Ifc2x3::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = get_attribute_value(3); return v; } void Ifc2x3::IfcPhysicalComplexQuantity::setDiscrimination(const std::string& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc2x3::IfcPhysicalComplexQuantity::Quality() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -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]); } -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; } +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; } @@ -8996,7 +8996,7 @@ const ifcopenshell::entity& Ifc2x3::IfcPhysicalQuantity::Class() { return *((ifc 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>(); } +::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>(); } void Ifc2x3::IfcPhysicalSimpleQuantity::setUnit(const ::Ifc2x3::IfcNamedUnit& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -9019,7 +9019,7 @@ void Ifc2x3::IfcPipeFittingType::setPredefinedType(const ::Ifc2x3::IfcPipeFittin const ifcopenshell::entity& Ifc2x3::IfcPipeFittingType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[555]); } -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; } +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]); } -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; } +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 int64_t Ifc2x3::IfcPixelTexture::Width() const { int64_t v = get_attribute_value(4); return v; } @@ -9044,7 +9044,7 @@ const ifcopenshell::entity& Ifc2x3::IfcPixelTexture::Class() { return *((ifcopen Ifc2x3::IfcPixelTexture Ifc2x3::IfcPixelTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, ::Ifc2x3::IfcSurfaceTextureEnum::Value v3_TextureType, ::Ifc2x3::IfcCartesianTransformationOperator2D v4_TextureTransform, int64_t v5_Width, int64_t v6_Height, int64_t 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>(); } +::Ifc2x3::IfcCartesianPoint Ifc2x3::IfcPlacement::Location() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcCartesianPoint>(); } void Ifc2x3::IfcPlacement::setLocation(const ::Ifc2x3::IfcCartesianPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -9052,7 +9052,7 @@ const ifcopenshell::entity& Ifc2x3::IfcPlacement::Class() { return *((ifcopenshe 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>(); } +::Ifc2x3::IfcAxis2Placement Ifc2x3::IfcPlanarBox::Placement() const { return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcAxis2Placement>(); } void Ifc2x3::IfcPlanarBox::setPlacement(const ::Ifc2x3::IfcAxis2Placement& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -9087,7 +9087,7 @@ void Ifc2x3::IfcPlateType::setPredefinedType(const ::Ifc2x3::IfcPlateTypeEnum::V const ifcopenshell::entity& Ifc2x3::IfcPlateType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[567]); } -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; } +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 @@ -9096,7 +9096,7 @@ const ifcopenshell::entity& Ifc2x3::IfcPoint::Class() { return *((ifcopenshell:: 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>(); } +::Ifc2x3::IfcCurve Ifc2x3::IfcPointOnCurve::BasisCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcCurve>(); } void Ifc2x3::IfcPointOnCurve::setBasisCurve(const ::Ifc2x3::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc2x3::IfcPointOnCurve::PointParameter() const { double v = get_attribute_value(1); return v; } void Ifc2x3::IfcPointOnCurve::setPointParameter(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9106,7 +9106,7 @@ const ifcopenshell::entity& Ifc2x3::IfcPointOnCurve::Class() { return *((ifcopen 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>(); } +::Ifc2x3::IfcSurface Ifc2x3::IfcPointOnSurface::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcSurface>(); } void Ifc2x3::IfcPointOnSurface::setBasisSurface(const ::Ifc2x3::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc2x3::IfcPointOnSurface::PointParameterU() const { double v = get_attribute_value(1); return v; } void Ifc2x3::IfcPointOnSurface::setPointParameterU(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9118,17 +9118,17 @@ const ifcopenshell::entity& Ifc2x3::IfcPointOnSurface::Class() { return *((ifcop 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); } -void Ifc2x3::IfcPolyLoop::setPolygon(const std::vector< ::Ifc2x3::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc2x3::IfcCartesianPoint > Ifc2x3::IfcPolyLoop::Polygon() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcCartesianPoint>(es); } +void Ifc2x3::IfcPolyLoop::setPolygon(const std::vector< ::Ifc2x3::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc2x3::IfcPolyLoop::Class() { return *((ifcopenshell::entity*)IFC2X3_types[575]); } -Ifc2x3::IfcPolyLoop Ifc2x3::IfcPolyLoop::initialize(std::vector< ::Ifc2x3::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon));; return *this; } +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>(); } +::Ifc2x3::IfcAxis2Placement3D Ifc2x3::IfcPolygonalBoundedHalfSpace::Position() const { return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcAxis2Placement3D>(); } void Ifc2x3::IfcPolygonalBoundedHalfSpace::setPosition(const ::Ifc2x3::IfcAxis2Placement3D& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcBoundedCurve Ifc2x3::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc2x3::IfcBoundedCurve>(); } +::Ifc2x3::IfcBoundedCurve Ifc2x3::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((express::base)(get_attribute_value(3))).as<::Ifc2x3::IfcBoundedCurve>(); } void Ifc2x3::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(const ::Ifc2x3::IfcBoundedCurve& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -9136,12 +9136,12 @@ const ifcopenshell::entity& Ifc2x3::IfcPolygonalBoundedHalfSpace::Class() { retu 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); } -void Ifc2x3::IfcPolyline::setPoints(const std::vector< ::Ifc2x3::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc2x3::IfcCartesianPoint > Ifc2x3::IfcPolyline::Points() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcCartesianPoint>(es); } +void Ifc2x3::IfcPolyline::setPoints(const std::vector< ::Ifc2x3::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc2x3::IfcPolyline::Class() { return *((ifcopenshell::entity*)IFC2X3_types[574]); } -Ifc2x3::IfcPolyline Ifc2x3::IfcPolyline::initialize(std::vector< ::Ifc2x3::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points));; return *this; } +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 @@ -9227,14 +9227,14 @@ std::string Ifc2x3::IfcPresentationLayerAssignment::Name() const { std::string void Ifc2x3::IfcPresentationLayerAssignment::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc2x3::IfcPresentationLayerAssignment::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcPresentationLayerAssignment::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc2x3::IfcLayeredItem > Ifc2x3::IfcPresentationLayerAssignment::AssignedItems() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc2x3::IfcLayeredItem>(es); } -void Ifc2x3::IfcPresentationLayerAssignment::setAssignedItems(const std::vector< ::Ifc2x3::IfcLayeredItem >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc2x3::IfcLayeredItem > Ifc2x3::IfcPresentationLayerAssignment::AssignedItems() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc2x3::IfcLayeredItem>(es); } +void Ifc2x3::IfcPresentationLayerAssignment::setAssignedItems(const std::vector< ::Ifc2x3::IfcLayeredItem >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc2x3::IfcPresentationLayerAssignment::Identifier() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc2x3::IfcPresentationLayerAssignment::setIdentifier(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const ifcopenshell::entity& Ifc2x3::IfcPresentationLayerAssignment::Class() { return *((ifcopenshell::entity*)IFC2X3_types[591]); } -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; } +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; } @@ -9243,12 +9243,12 @@ boost::logic::tribool Ifc2x3::IfcPresentationLayerWithStyle::LayerFrozen() const void Ifc2x3::IfcPresentationLayerWithStyle::setLayerFrozen(const boost::logic::tribool& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } boost::logic::tribool Ifc2x3::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc2x3::IfcPresentationLayerWithStyle::setLayerBlocked(const boost::logic::tribool& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::vector< ::Ifc2x3::IfcPresentationStyleSelect > Ifc2x3::IfcPresentationLayerWithStyle::LayerStyles() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc2x3::IfcPresentationStyleSelect>(es); } -void Ifc2x3::IfcPresentationLayerWithStyle::setLayerStyles(const std::vector< ::Ifc2x3::IfcPresentationStyleSelect >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } +std::vector< ::Ifc2x3::IfcPresentationStyleSelect > Ifc2x3::IfcPresentationLayerWithStyle::LayerStyles() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc2x3::IfcPresentationStyleSelect>(es); } +void Ifc2x3::IfcPresentationLayerWithStyle::setLayerStyles(const std::vector< ::Ifc2x3::IfcPresentationStyleSelect >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } const ifcopenshell::entity& Ifc2x3::IfcPresentationLayerWithStyle::Class() { return *((ifcopenshell::entity*)IFC2X3_types[592]); } -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; } +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; } @@ -9259,12 +9259,12 @@ const ifcopenshell::entity& Ifc2x3::IfcPresentationStyle::Class() { return *((if 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); } -void Ifc2x3::IfcPresentationStyleAssignment::setStyles(const std::vector< ::Ifc2x3::IfcPresentationStyleSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc2x3::IfcPresentationStyleSelect > Ifc2x3::IfcPresentationStyleAssignment::Styles() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcPresentationStyleSelect>(es); } +void Ifc2x3::IfcPresentationStyleAssignment::setStyles(const std::vector< ::Ifc2x3::IfcPresentationStyleSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc2x3::IfcPresentationStyleAssignment::Class() { return *((ifcopenshell::entity*)IFC2X3_types[594]); } -Ifc2x3::IfcPresentationStyleAssignment Ifc2x3::IfcPresentationStyleAssignment::initialize(std::vector< ::Ifc2x3::IfcPresentationStyleSelect > v1_Styles) { set_attribute_value(0, cast_vector(v1_Styles));; return *this; } +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; } @@ -9288,9 +9288,9 @@ const ifcopenshell::entity& Ifc2x3::IfcProcess::Class() { return *((ifcopenshell 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>(); } +::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>(); } void Ifc2x3::IfcProduct::setObjectPlacement(const ::Ifc2x3::IfcObjectPlacement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcProductRepresentation Ifc2x3::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcProductRepresentation{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc2x3::IfcProductRepresentation>(); } +::Ifc2x3::IfcProductRepresentation Ifc2x3::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcProductRepresentation{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc2x3::IfcProductRepresentation>(); } void Ifc2x3::IfcProduct::setRepresentation(const ::Ifc2x3::IfcProductRepresentation& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::vector<::Ifc2x3::IfcRelAssignsToProduct> Ifc2x3::IfcProduct::ReferencedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[674], 6)); } @@ -9304,19 +9304,19 @@ 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]); } -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; } +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; } void Ifc2x3::IfcProductRepresentation::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc2x3::IfcProductRepresentation::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcProductRepresentation::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc2x3::IfcRepresentation > Ifc2x3::IfcProductRepresentation::Representations() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc2x3::IfcRepresentation>(es); } -void Ifc2x3::IfcProductRepresentation::setRepresentations(const std::vector< ::Ifc2x3::IfcRepresentation >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc2x3::IfcRepresentation > Ifc2x3::IfcProductRepresentation::Representations() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc2x3::IfcRepresentation>(es); } +void Ifc2x3::IfcProductRepresentation::setRepresentations(const std::vector< ::Ifc2x3::IfcRepresentation >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc2x3::IfcProductRepresentation::Class() { return *((ifcopenshell::entity*)IFC2X3_types[602]); } -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; } +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; } @@ -9345,7 +9345,7 @@ Ifc2x3::IfcProfileDef Ifc2x3::IfcProfileDef::initialize(::Ifc2x3::IfcProfileType // 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; } void Ifc2x3::IfcProfileProperties::setProfileName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc2x3::IfcProfileDef Ifc2x3::IfcProfileProperties::ProfileDefinition() const { if(get_attribute_value(1).isNull()) { return ::Ifc2x3::IfcProfileDef{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcProfileDef>(); } +::Ifc2x3::IfcProfileDef Ifc2x3::IfcProfileProperties::ProfileDefinition() const { if(get_attribute_value(1).isNull()) { return ::Ifc2x3::IfcProfileDef{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcProfileDef>(); } void Ifc2x3::IfcProfileProperties::setProfileDefinition(const ::Ifc2x3::IfcProfileDef& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9357,14 +9357,14 @@ std::optional< std::string > Ifc2x3::IfcProject::LongName() const { if(get_attri void Ifc2x3::IfcProject::setLongName(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< std::string > Ifc2x3::IfcProject::Phase() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc2x3::IfcProject::setPhase(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector< ::Ifc2x3::IfcRepresentationContext > Ifc2x3::IfcProject::RepresentationContexts() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc2x3::IfcRepresentationContext>(es); } -void Ifc2x3::IfcProject::setRepresentationContexts(const std::vector< ::Ifc2x3::IfcRepresentationContext >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } -::Ifc2x3::IfcUnitAssignment Ifc2x3::IfcProject::UnitsInContext() const { return ((express::Base)(get_attribute_value(8))).as<::Ifc2x3::IfcUnitAssignment>(); } +std::vector< ::Ifc2x3::IfcRepresentationContext > Ifc2x3::IfcProject::RepresentationContexts() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc2x3::IfcRepresentationContext>(es); } +void Ifc2x3::IfcProject::setRepresentationContexts(const std::vector< ::Ifc2x3::IfcRepresentationContext >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } +::Ifc2x3::IfcUnitAssignment Ifc2x3::IfcProject::UnitsInContext() const { return ((express::base)(get_attribute_value(8))).as<::Ifc2x3::IfcUnitAssignment>(); } void Ifc2x3::IfcProject::setUnitsInContext(const ::Ifc2x3::IfcUnitAssignment& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const ifcopenshell::entity& Ifc2x3::IfcProject::Class() { return *((ifcopenshell::entity*)IFC2X3_types[607]); } -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; } +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; } @@ -9379,20 +9379,20 @@ const ifcopenshell::entity& Ifc2x3::IfcProjectOrder::Class() { return *((ifcopen 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); } -void Ifc2x3::IfcProjectOrderRecord::setRecords(const std::vector< ::Ifc2x3::IfcRelAssignsToProjectOrder >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc2x3::IfcRelAssignsToProjectOrder > Ifc2x3::IfcProjectOrderRecord::Records() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc2x3::IfcRelAssignsToProjectOrder>(es); } +void Ifc2x3::IfcProjectOrderRecord::setRecords(const std::vector< ::Ifc2x3::IfcRelAssignsToProjectOrder >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } ::Ifc2x3::IfcProjectOrderRecordTypeEnum::Value Ifc2x3::IfcProjectOrderRecord::PredefinedType() const { return ::Ifc2x3::IfcProjectOrderRecordTypeEnum::FromString(get_attribute_value(6)); } void Ifc2x3::IfcProjectOrderRecord::setPredefinedType(const ::Ifc2x3::IfcProjectOrderRecordTypeEnum::Value& v) { set_attribute_value(6, enumeration_reference(&::Ifc2x3::IfcProjectOrderRecordTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc2x3::IfcProjectOrderRecord::Class() { return *((ifcopenshell::entity*)IFC2X3_types[612]); } -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; } +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]); } -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; } +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 @@ -9414,11 +9414,11 @@ const ifcopenshell::entity& Ifc2x3::IfcProperty::Class() { return *((ifcopenshel 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>(); } +::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>(); } void Ifc2x3::IfcPropertyBoundedValue::setUpperBoundValue(const ::Ifc2x3::IfcValue& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcValue Ifc2x3::IfcPropertyBoundedValue::LowerBoundValue() const { if(get_attribute_value(3).isNull()) { return ::Ifc2x3::IfcValue{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc2x3::IfcValue>(); } +::Ifc2x3::IfcValue Ifc2x3::IfcPropertyBoundedValue::LowerBoundValue() const { if(get_attribute_value(3).isNull()) { return ::Ifc2x3::IfcValue{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc2x3::IfcValue>(); } void Ifc2x3::IfcPropertyBoundedValue::setLowerBoundValue(const ::Ifc2x3::IfcValue& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc2x3::IfcUnit Ifc2x3::IfcPropertyBoundedValue::Unit() const { if(get_attribute_value(4).isNull()) { return ::Ifc2x3::IfcUnit{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc2x3::IfcUnit>(); } +::Ifc2x3::IfcUnit Ifc2x3::IfcPropertyBoundedValue::Unit() const { if(get_attribute_value(4).isNull()) { return ::Ifc2x3::IfcUnit{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc2x3::IfcUnit>(); } void Ifc2x3::IfcPropertyBoundedValue::setUnit(const ::Ifc2x3::IfcUnit& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -9426,10 +9426,10 @@ const ifcopenshell::entity& Ifc2x3::IfcPropertyBoundedValue::Class() { return *( 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>(); } +::Ifc2x3::IfcConstraint Ifc2x3::IfcPropertyConstraintRelationship::RelatingConstraint() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcConstraint>(); } void Ifc2x3::IfcPropertyConstraintRelationship::setRelatingConstraint(const ::Ifc2x3::IfcConstraint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc2x3::IfcProperty > Ifc2x3::IfcPropertyConstraintRelationship::RelatedProperties() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcProperty>(es); } -void Ifc2x3::IfcPropertyConstraintRelationship::setRelatedProperties(const std::vector< ::Ifc2x3::IfcProperty >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc2x3::IfcProperty > Ifc2x3::IfcPropertyConstraintRelationship::RelatedProperties() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcProperty>(es); } +void Ifc2x3::IfcPropertyConstraintRelationship::setRelatedProperties(const std::vector< ::Ifc2x3::IfcProperty >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc2x3::IfcPropertyConstraintRelationship::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcPropertyConstraintRelationship::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } std::optional< std::string > Ifc2x3::IfcPropertyConstraintRelationship::Description() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -9437,7 +9437,7 @@ void Ifc2x3::IfcPropertyConstraintRelationship::setDescription(const std::option const ifcopenshell::entity& Ifc2x3::IfcPropertyConstraintRelationship::Class() { return *((ifcopenshell::entity*)IFC2X3_types[617]); } -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; } +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 @@ -9447,9 +9447,9 @@ const ifcopenshell::entity& Ifc2x3::IfcPropertyDefinition::Class() { return *((i 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>(); } +::Ifc2x3::IfcProperty Ifc2x3::IfcPropertyDependencyRelationship::DependingProperty() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcProperty>(); } void Ifc2x3::IfcPropertyDependencyRelationship::setDependingProperty(const ::Ifc2x3::IfcProperty& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcProperty Ifc2x3::IfcPropertyDependencyRelationship::DependantProperty() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcProperty>(); } +::Ifc2x3::IfcProperty Ifc2x3::IfcPropertyDependencyRelationship::DependantProperty() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcProperty>(); } void Ifc2x3::IfcPropertyDependencyRelationship::setDependantProperty(const ::Ifc2x3::IfcProperty& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc2x3::IfcPropertyDependencyRelationship::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcPropertyDependencyRelationship::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } @@ -9463,41 +9463,41 @@ const ifcopenshell::entity& Ifc2x3::IfcPropertyDependencyRelationship::Class() { 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); } -void Ifc2x3::IfcPropertyEnumeratedValue::setEnumerationValues(const std::vector< ::Ifc2x3::IfcValue >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcPropertyEnumeration Ifc2x3::IfcPropertyEnumeratedValue::EnumerationReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc2x3::IfcPropertyEnumeration{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc2x3::IfcPropertyEnumeration>(); } +std::vector< ::Ifc2x3::IfcValue > Ifc2x3::IfcPropertyEnumeratedValue::EnumerationValues() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc2x3::IfcValue>(es); } +void Ifc2x3::IfcPropertyEnumeratedValue::setEnumerationValues(const std::vector< ::Ifc2x3::IfcValue >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +::Ifc2x3::IfcPropertyEnumeration Ifc2x3::IfcPropertyEnumeratedValue::EnumerationReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc2x3::IfcPropertyEnumeration{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc2x3::IfcPropertyEnumeration>(); } void Ifc2x3::IfcPropertyEnumeratedValue::setEnumerationReference(const ::Ifc2x3::IfcPropertyEnumeration& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc2x3::IfcPropertyEnumeratedValue::Class() { return *((ifcopenshell::entity*)IFC2X3_types[620]); } -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; } +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; } void Ifc2x3::IfcPropertyEnumeration::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc2x3::IfcValue > Ifc2x3::IfcPropertyEnumeration::EnumerationValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcValue>(es); } -void Ifc2x3::IfcPropertyEnumeration::setEnumerationValues(const std::vector< ::Ifc2x3::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -::Ifc2x3::IfcUnit Ifc2x3::IfcPropertyEnumeration::Unit() const { if(get_attribute_value(2).isNull()) { return ::Ifc2x3::IfcUnit{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcUnit>(); } +std::vector< ::Ifc2x3::IfcValue > Ifc2x3::IfcPropertyEnumeration::EnumerationValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcValue>(es); } +void Ifc2x3::IfcPropertyEnumeration::setEnumerationValues(const std::vector< ::Ifc2x3::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +::Ifc2x3::IfcUnit Ifc2x3::IfcPropertyEnumeration::Unit() const { if(get_attribute_value(2).isNull()) { return ::Ifc2x3::IfcUnit{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcUnit>(); } void Ifc2x3::IfcPropertyEnumeration::setUnit(const ::Ifc2x3::IfcUnit& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc2x3::IfcPropertyEnumeration::Class() { return *((ifcopenshell::entity*)IFC2X3_types[621]); } -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; } +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); } -void Ifc2x3::IfcPropertyListValue::setListValues(const std::vector< ::Ifc2x3::IfcValue >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcUnit Ifc2x3::IfcPropertyListValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc2x3::IfcUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc2x3::IfcUnit>(); } +std::vector< ::Ifc2x3::IfcValue > Ifc2x3::IfcPropertyListValue::ListValues() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc2x3::IfcValue>(es); } +void Ifc2x3::IfcPropertyListValue::setListValues(const std::vector< ::Ifc2x3::IfcValue >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +::Ifc2x3::IfcUnit Ifc2x3::IfcPropertyListValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc2x3::IfcUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc2x3::IfcUnit>(); } void Ifc2x3::IfcPropertyListValue::setUnit(const ::Ifc2x3::IfcUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc2x3::IfcPropertyListValue::Class() { return *((ifcopenshell::entity*)IFC2X3_types[622]); } -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; } +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; } void Ifc2x3::IfcPropertyReferenceValue::setUsageName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc2x3::IfcObjectReferenceSelect Ifc2x3::IfcPropertyReferenceValue::PropertyReference() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc2x3::IfcObjectReferenceSelect>(); } +::Ifc2x3::IfcObjectReferenceSelect Ifc2x3::IfcPropertyReferenceValue::PropertyReference() const { return ((express::base)(get_attribute_value(3))).as<::Ifc2x3::IfcObjectReferenceSelect>(); } void Ifc2x3::IfcPropertyReferenceValue::setPropertyReference(const ::Ifc2x3::IfcObjectReferenceSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -9505,12 +9505,12 @@ const ifcopenshell::entity& Ifc2x3::IfcPropertyReferenceValue::Class() { return 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); } -void Ifc2x3::IfcPropertySet::setHasProperties(const std::vector< ::Ifc2x3::IfcProperty >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +std::vector< ::Ifc2x3::IfcProperty > Ifc2x3::IfcPropertySet::HasProperties() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc2x3::IfcProperty>(es); } +void Ifc2x3::IfcPropertySet::setHasProperties(const std::vector< ::Ifc2x3::IfcProperty >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } const ifcopenshell::entity& Ifc2x3::IfcPropertySet::Class() { return *((ifcopenshell::entity*)IFC2X3_types[624]); } -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; } +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 @@ -9521,9 +9521,9 @@ const ifcopenshell::entity& Ifc2x3::IfcPropertySetDefinition::Class() { return * 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>(); } +::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>(); } void Ifc2x3::IfcPropertySingleValue::setNominalValue(const ::Ifc2x3::IfcValue& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcUnit Ifc2x3::IfcPropertySingleValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc2x3::IfcUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc2x3::IfcUnit>(); } +::Ifc2x3::IfcUnit Ifc2x3::IfcPropertySingleValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc2x3::IfcUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc2x3::IfcUnit>(); } void Ifc2x3::IfcPropertySingleValue::setUnit(const ::Ifc2x3::IfcUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -9531,20 +9531,20 @@ const ifcopenshell::entity& Ifc2x3::IfcPropertySingleValue::Class() { return *(( 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); } -void Ifc2x3::IfcPropertyTableValue::setDefiningValues(const std::vector< ::Ifc2x3::IfcValue >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc2x3::IfcValue > Ifc2x3::IfcPropertyTableValue::DefinedValues() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc2x3::IfcValue>(es); } -void Ifc2x3::IfcPropertyTableValue::setDefinedValues(const std::vector< ::Ifc2x3::IfcValue >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc2x3::IfcValue > Ifc2x3::IfcPropertyTableValue::DefiningValues() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc2x3::IfcValue>(es); } +void Ifc2x3::IfcPropertyTableValue::setDefiningValues(const std::vector< ::Ifc2x3::IfcValue >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc2x3::IfcValue > Ifc2x3::IfcPropertyTableValue::DefinedValues() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc2x3::IfcValue>(es); } +void Ifc2x3::IfcPropertyTableValue::setDefinedValues(const std::vector< ::Ifc2x3::IfcValue >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc2x3::IfcPropertyTableValue::Expression() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc2x3::IfcPropertyTableValue::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc2x3::IfcUnit Ifc2x3::IfcPropertyTableValue::DefiningUnit() const { if(get_attribute_value(5).isNull()) { return ::Ifc2x3::IfcUnit{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcUnit>(); } +::Ifc2x3::IfcUnit Ifc2x3::IfcPropertyTableValue::DefiningUnit() const { if(get_attribute_value(5).isNull()) { return ::Ifc2x3::IfcUnit{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcUnit>(); } void Ifc2x3::IfcPropertyTableValue::setDefiningUnit(const ::Ifc2x3::IfcUnit& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcUnit Ifc2x3::IfcPropertyTableValue::DefinedUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcUnit{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc2x3::IfcUnit>(); } +::Ifc2x3::IfcUnit Ifc2x3::IfcPropertyTableValue::DefinedUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcUnit{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc2x3::IfcUnit>(); } void Ifc2x3::IfcPropertyTableValue::setDefinedUnit(const ::Ifc2x3::IfcUnit& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc2x3::IfcPropertyTableValue::Class() { return *((ifcopenshell::entity*)IFC2X3_types[628]); } -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; } +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]); } -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; } +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)); } @@ -9570,7 +9570,7 @@ void Ifc2x3::IfcPumpType::setPredefinedType(const ::Ifc2x3::IfcPumpTypeEnum::Val const ifcopenshell::entity& Ifc2x3::IfcPumpType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[632]); } -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; } +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; } @@ -9624,7 +9624,7 @@ Ifc2x3::IfcQuantityWeight Ifc2x3::IfcQuantityWeight::initialize(std::string v1_N const ifcopenshell::entity& Ifc2x3::IfcRadiusDimension::Class() { return *((ifcopenshell::entity*)IFC2X3_types[641]); } -Ifc2x3::IfcRadiusDimension Ifc2x3::IfcRadiusDimension::initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents) { set_attribute_value(0, cast_vector(v1_Contents));; return *this; } +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)); } @@ -9640,7 +9640,7 @@ void Ifc2x3::IfcRailingType::setPredefinedType(const ::Ifc2x3::IfcRailingTypeEnu const ifcopenshell::entity& Ifc2x3::IfcRailingType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[643]); } -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; } +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)); } @@ -9662,7 +9662,7 @@ void Ifc2x3::IfcRampFlightType::setPredefinedType(const ::Ifc2x3::IfcRampFlightT const ifcopenshell::entity& Ifc2x3::IfcRampFlightType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[647]); } -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; } +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]); } -Ifc2x3::IfcRationalBezierCurve Ifc2x3::IfcRationalBezierCurve::initialize(int64_t 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; } +Ifc2x3::IfcRationalBezierCurve Ifc2x3::IfcRationalBezierCurve::initialize(int64_t 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; } @@ -9707,7 +9707,7 @@ const ifcopenshell::entity& Ifc2x3::IfcRectangularPyramid::Class() { return *((i 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>(); } +::Ifc2x3::IfcSurface Ifc2x3::IfcRectangularTrimmedSurface::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcSurface>(); } void Ifc2x3::IfcRectangularTrimmedSurface::setBasisSurface(const ::Ifc2x3::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc2x3::IfcRectangularTrimmedSurface::U1() const { double v = get_attribute_value(1); return v; } void Ifc2x3::IfcRectangularTrimmedSurface::setU1(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9727,10 +9727,10 @@ const ifcopenshell::entity& Ifc2x3::IfcRectangularTrimmedSurface::Class() { retu 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>(); } +::Ifc2x3::IfcDocumentSelect Ifc2x3::IfcReferencesValueDocument::ReferencedDocument() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcDocumentSelect>(); } void Ifc2x3::IfcReferencesValueDocument::setReferencedDocument(const ::Ifc2x3::IfcDocumentSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc2x3::IfcAppliedValue > Ifc2x3::IfcReferencesValueDocument::ReferencingValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcAppliedValue>(es); } -void Ifc2x3::IfcReferencesValueDocument::setReferencingValues(const std::vector< ::Ifc2x3::IfcAppliedValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc2x3::IfcAppliedValue > Ifc2x3::IfcReferencesValueDocument::ReferencingValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcAppliedValue>(es); } +void Ifc2x3::IfcReferencesValueDocument::setReferencingValues(const std::vector< ::Ifc2x3::IfcAppliedValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc2x3::IfcReferencesValueDocument::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcReferencesValueDocument::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } std::optional< std::string > Ifc2x3::IfcReferencesValueDocument::Description() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -9738,17 +9738,17 @@ void Ifc2x3::IfcReferencesValueDocument::setDescription(const std::optional< std const ifcopenshell::entity& Ifc2x3::IfcReferencesValueDocument::Class() { return *((ifcopenshell::entity*)IFC2X3_types[657]); } -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; } +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; } void Ifc2x3::IfcRegularTimeSeries::setTimeStep(const double& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::vector< ::Ifc2x3::IfcTimeSeriesValue > Ifc2x3::IfcRegularTimeSeries::Values() const { std::vector es = get_attribute_value(9); return cast_vector<::Ifc2x3::IfcTimeSeriesValue>(es); } -void Ifc2x3::IfcRegularTimeSeries::setValues(const std::vector< ::Ifc2x3::IfcTimeSeriesValue >& v) { set_attribute_value(9, cast_vector(v));if constexpr (false)unset_attribute_value(9); } +std::vector< ::Ifc2x3::IfcTimeSeriesValue > Ifc2x3::IfcRegularTimeSeries::Values() const { std::vector es = get_attribute_value(9); return cast_vector<::Ifc2x3::IfcTimeSeriesValue>(es); } +void Ifc2x3::IfcRegularTimeSeries::setValues(const std::vector< ::Ifc2x3::IfcTimeSeriesValue >& v) { set_attribute_value(9, cast_vector(v));if constexpr (false)unset_attribute_value(9); } const ifcopenshell::entity& Ifc2x3::IfcRegularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC2X3_types[659]); } -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; } +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; } @@ -9771,12 +9771,12 @@ Ifc2x3::IfcReinforcementBarProperties Ifc2x3::IfcReinforcementBarProperties::ini // 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; } void Ifc2x3::IfcReinforcementDefinitionProperties::setDefinitionType(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector< ::Ifc2x3::IfcSectionReinforcementProperties > Ifc2x3::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc2x3::IfcSectionReinforcementProperties>(es); } -void Ifc2x3::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(const std::vector< ::Ifc2x3::IfcSectionReinforcementProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc2x3::IfcSectionReinforcementProperties > Ifc2x3::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc2x3::IfcSectionReinforcementProperties>(es); } +void Ifc2x3::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(const std::vector< ::Ifc2x3::IfcSectionReinforcementProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc2x3::IfcReinforcementDefinitionProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[661]); } -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; } +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; } @@ -9828,161 +9828,161 @@ Ifc2x3::IfcReinforcingMesh Ifc2x3::IfcReinforcingMesh::initialize(std::string v1 const ifcopenshell::entity& Ifc2x3::IfcRelAggregates::Class() { return *((ifcopenshell::entity*)IFC2X3_types[667]); } -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; } +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); } -void Ifc2x3::IfcRelAssigns::setRelatedObjects(const std::vector< ::Ifc2x3::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +std::vector< ::Ifc2x3::IfcObjectDefinition > Ifc2x3::IfcRelAssigns::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc2x3::IfcObjectDefinition>(es); } +void Ifc2x3::IfcRelAssigns::setRelatedObjects(const std::vector< ::Ifc2x3::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > Ifc2x3::IfcRelAssigns::RelatedObjectsType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc2x3::IfcObjectTypeEnum::FromString(get_attribute_value(5)); } void Ifc2x3::IfcRelAssigns::setRelatedObjectsType(const std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value >& v) { if (v) {set_attribute_value(5, enumeration_reference(&::Ifc2x3::IfcObjectTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } const ifcopenshell::entity& Ifc2x3::IfcRelAssigns::Class() { return *((ifcopenshell::entity*)IFC2X3_types[668]); } -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; } +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>(); } +::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>(); } void Ifc2x3::IfcRelAssignsTasks::setTimeForTask(const ::Ifc2x3::IfcScheduleTimeControl& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const ifcopenshell::entity& Ifc2x3::IfcRelAssignsTasks::Class() { return *((ifcopenshell::entity*)IFC2X3_types[669]); } -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; } +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>(); } +::Ifc2x3::IfcActor Ifc2x3::IfcRelAssignsToActor::RelatingActor() const { return ((express::base)(get_attribute_value(6))).as<::Ifc2x3::IfcActor>(); } void Ifc2x3::IfcRelAssignsToActor::setRelatingActor(const ::Ifc2x3::IfcActor& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc2x3::IfcActorRole Ifc2x3::IfcRelAssignsToActor::ActingRole() const { if(get_attribute_value(7).isNull()) { return ::Ifc2x3::IfcActorRole{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc2x3::IfcActorRole>(); } +::Ifc2x3::IfcActorRole Ifc2x3::IfcRelAssignsToActor::ActingRole() const { if(get_attribute_value(7).isNull()) { return ::Ifc2x3::IfcActorRole{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc2x3::IfcActorRole>(); } void Ifc2x3::IfcRelAssignsToActor::setActingRole(const ::Ifc2x3::IfcActorRole& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const ifcopenshell::entity& Ifc2x3::IfcRelAssignsToActor::Class() { return *((ifcopenshell::entity*)IFC2X3_types[670]); } -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; } +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>(); } +::Ifc2x3::IfcControl Ifc2x3::IfcRelAssignsToControl::RelatingControl() const { return ((express::base)(get_attribute_value(6))).as<::Ifc2x3::IfcControl>(); } void Ifc2x3::IfcRelAssignsToControl::setRelatingControl(const ::Ifc2x3::IfcControl& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc2x3::IfcRelAssignsToControl::Class() { return *((ifcopenshell::entity*)IFC2X3_types[671]); } -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; } +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>(); } +::Ifc2x3::IfcGroup Ifc2x3::IfcRelAssignsToGroup::RelatingGroup() const { return ((express::base)(get_attribute_value(6))).as<::Ifc2x3::IfcGroup>(); } void Ifc2x3::IfcRelAssignsToGroup::setRelatingGroup(const ::Ifc2x3::IfcGroup& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc2x3::IfcRelAssignsToGroup::Class() { return *((ifcopenshell::entity*)IFC2X3_types[672]); } -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; } +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>(); } +::Ifc2x3::IfcProcess Ifc2x3::IfcRelAssignsToProcess::RelatingProcess() const { return ((express::base)(get_attribute_value(6))).as<::Ifc2x3::IfcProcess>(); } void Ifc2x3::IfcRelAssignsToProcess::setRelatingProcess(const ::Ifc2x3::IfcProcess& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc2x3::IfcMeasureWithUnit Ifc2x3::IfcRelAssignsToProcess::QuantityInProcess() const { if(get_attribute_value(7).isNull()) { return ::Ifc2x3::IfcMeasureWithUnit{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc2x3::IfcMeasureWithUnit>(); } +::Ifc2x3::IfcMeasureWithUnit Ifc2x3::IfcRelAssignsToProcess::QuantityInProcess() const { if(get_attribute_value(7).isNull()) { return ::Ifc2x3::IfcMeasureWithUnit{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc2x3::IfcMeasureWithUnit>(); } void Ifc2x3::IfcRelAssignsToProcess::setQuantityInProcess(const ::Ifc2x3::IfcMeasureWithUnit& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const ifcopenshell::entity& Ifc2x3::IfcRelAssignsToProcess::Class() { return *((ifcopenshell::entity*)IFC2X3_types[673]); } -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; } +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>(); } +::Ifc2x3::IfcProduct Ifc2x3::IfcRelAssignsToProduct::RelatingProduct() const { return ((express::base)(get_attribute_value(6))).as<::Ifc2x3::IfcProduct>(); } void Ifc2x3::IfcRelAssignsToProduct::setRelatingProduct(const ::Ifc2x3::IfcProduct& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc2x3::IfcRelAssignsToProduct::Class() { return *((ifcopenshell::entity*)IFC2X3_types[674]); } -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; } +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]); } -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; } +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>(); } +::Ifc2x3::IfcResource Ifc2x3::IfcRelAssignsToResource::RelatingResource() const { return ((express::base)(get_attribute_value(6))).as<::Ifc2x3::IfcResource>(); } void Ifc2x3::IfcRelAssignsToResource::setRelatingResource(const ::Ifc2x3::IfcResource& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc2x3::IfcRelAssignsToResource::Class() { return *((ifcopenshell::entity*)IFC2X3_types[676]); } -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; } +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); } -void Ifc2x3::IfcRelAssociates::setRelatedObjects(const std::vector< ::Ifc2x3::IfcRoot >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +std::vector< ::Ifc2x3::IfcRoot > Ifc2x3::IfcRelAssociates::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc2x3::IfcRoot>(es); } +void Ifc2x3::IfcRelAssociates::setRelatedObjects(const std::vector< ::Ifc2x3::IfcRoot >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } const ifcopenshell::entity& Ifc2x3::IfcRelAssociates::Class() { return *((ifcopenshell::entity*)IFC2X3_types[677]); } -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; } +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>(); } +::Ifc2x3::IfcAppliedValue Ifc2x3::IfcRelAssociatesAppliedValue::RelatingAppliedValue() const { return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcAppliedValue>(); } void Ifc2x3::IfcRelAssociatesAppliedValue::setRelatingAppliedValue(const ::Ifc2x3::IfcAppliedValue& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc2x3::IfcRelAssociatesAppliedValue::Class() { return *((ifcopenshell::entity*)IFC2X3_types[678]); } -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; } +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>(); } +::Ifc2x3::IfcApproval Ifc2x3::IfcRelAssociatesApproval::RelatingApproval() const { return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcApproval>(); } void Ifc2x3::IfcRelAssociatesApproval::setRelatingApproval(const ::Ifc2x3::IfcApproval& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc2x3::IfcRelAssociatesApproval::Class() { return *((ifcopenshell::entity*)IFC2X3_types[679]); } -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; } +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>(); } +::Ifc2x3::IfcClassificationNotationSelect Ifc2x3::IfcRelAssociatesClassification::RelatingClassification() const { return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcClassificationNotationSelect>(); } void Ifc2x3::IfcRelAssociatesClassification::setRelatingClassification(const ::Ifc2x3::IfcClassificationNotationSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc2x3::IfcRelAssociatesClassification::Class() { return *((ifcopenshell::entity*)IFC2X3_types[680]); } -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; } +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; } void Ifc2x3::IfcRelAssociatesConstraint::setIntent(const std::string& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcConstraint Ifc2x3::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc2x3::IfcConstraint>(); } +::Ifc2x3::IfcConstraint Ifc2x3::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((express::base)(get_attribute_value(6))).as<::Ifc2x3::IfcConstraint>(); } void Ifc2x3::IfcRelAssociatesConstraint::setRelatingConstraint(const ::Ifc2x3::IfcConstraint& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc2x3::IfcRelAssociatesConstraint::Class() { return *((ifcopenshell::entity*)IFC2X3_types[681]); } -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; } +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>(); } +::Ifc2x3::IfcDocumentSelect Ifc2x3::IfcRelAssociatesDocument::RelatingDocument() const { return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcDocumentSelect>(); } void Ifc2x3::IfcRelAssociatesDocument::setRelatingDocument(const ::Ifc2x3::IfcDocumentSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc2x3::IfcRelAssociatesDocument::Class() { return *((ifcopenshell::entity*)IFC2X3_types[682]); } -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; } +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>(); } +::Ifc2x3::IfcLibrarySelect Ifc2x3::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcLibrarySelect>(); } void Ifc2x3::IfcRelAssociatesLibrary::setRelatingLibrary(const ::Ifc2x3::IfcLibrarySelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc2x3::IfcRelAssociatesLibrary::Class() { return *((ifcopenshell::entity*)IFC2X3_types[683]); } -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; } +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>(); } +::Ifc2x3::IfcMaterialSelect Ifc2x3::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcMaterialSelect>(); } void Ifc2x3::IfcRelAssociatesMaterial::setRelatingMaterial(const ::Ifc2x3::IfcMaterialSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc2x3::IfcRelAssociatesMaterial::Class() { return *((ifcopenshell::entity*)IFC2X3_types[684]); } -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; } +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>(); } +::Ifc2x3::IfcProfileProperties Ifc2x3::IfcRelAssociatesProfileProperties::RelatingProfileProperties() const { return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcProfileProperties>(); } void Ifc2x3::IfcRelAssociatesProfileProperties::setRelatingProfileProperties(const ::Ifc2x3::IfcProfileProperties& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcShapeAspect Ifc2x3::IfcRelAssociatesProfileProperties::ProfileSectionLocation() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc2x3::IfcShapeAspect>(); } +::Ifc2x3::IfcShapeAspect Ifc2x3::IfcRelAssociatesProfileProperties::ProfileSectionLocation() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc2x3::IfcShapeAspect>(); } void Ifc2x3::IfcRelAssociatesProfileProperties::setProfileSectionLocation(const ::Ifc2x3::IfcShapeAspect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc2x3::IfcOrientationSelect Ifc2x3::IfcRelAssociatesProfileProperties::ProfileOrientation() const { if(get_attribute_value(7).isNull()) { return ::Ifc2x3::IfcOrientationSelect{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc2x3::IfcOrientationSelect>(); } +::Ifc2x3::IfcOrientationSelect Ifc2x3::IfcRelAssociatesProfileProperties::ProfileOrientation() const { if(get_attribute_value(7).isNull()) { return ::Ifc2x3::IfcOrientationSelect{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc2x3::IfcOrientationSelect>(); } void Ifc2x3::IfcRelAssociatesProfileProperties::setProfileOrientation(const ::Ifc2x3::IfcOrientationSelect& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const ifcopenshell::entity& Ifc2x3::IfcRelAssociatesProfileProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[685]); } -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; } +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 @@ -9991,11 +9991,11 @@ const ifcopenshell::entity& Ifc2x3::IfcRelConnects::Class() { return *((ifcopens 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>(); } +::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>(); } void Ifc2x3::IfcRelConnectsElements::setConnectionGeometry(const ::Ifc2x3::IfcConnectionGeometry& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcElement Ifc2x3::IfcRelConnectsElements::RelatingElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcElement>(); } +::Ifc2x3::IfcElement Ifc2x3::IfcRelConnectsElements::RelatingElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcElement>(); } void Ifc2x3::IfcRelConnectsElements::setRelatingElement(const ::Ifc2x3::IfcElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcElement Ifc2x3::IfcRelConnectsElements::RelatedElement() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc2x3::IfcElement>(); } +::Ifc2x3::IfcElement Ifc2x3::IfcRelConnectsElements::RelatedElement() const { return ((express::base)(get_attribute_value(6))).as<::Ifc2x3::IfcElement>(); } void Ifc2x3::IfcRelConnectsElements::setRelatedElement(const ::Ifc2x3::IfcElement& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -10017,9 +10017,9 @@ const ifcopenshell::entity& Ifc2x3::IfcRelConnectsPathElements::Class() { return 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< int64_t > /*[0:?]*/ v8_RelatingPriorities, std::vector< int64_t > /*[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>(); } +::Ifc2x3::IfcPort Ifc2x3::IfcRelConnectsPortToElement::RelatingPort() const { return ((express::base)(get_attribute_value(4))).as<::Ifc2x3::IfcPort>(); } void Ifc2x3::IfcRelConnectsPortToElement::setRelatingPort(const ::Ifc2x3::IfcPort& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcElement Ifc2x3::IfcRelConnectsPortToElement::RelatedElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcElement>(); } +::Ifc2x3::IfcElement Ifc2x3::IfcRelConnectsPortToElement::RelatedElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcElement>(); } void Ifc2x3::IfcRelConnectsPortToElement::setRelatedElement(const ::Ifc2x3::IfcElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -10027,11 +10027,11 @@ const ifcopenshell::entity& Ifc2x3::IfcRelConnectsPortToElement::Class() { retur 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>(); } +::Ifc2x3::IfcPort Ifc2x3::IfcRelConnectsPorts::RelatingPort() const { return ((express::base)(get_attribute_value(4))).as<::Ifc2x3::IfcPort>(); } void Ifc2x3::IfcRelConnectsPorts::setRelatingPort(const ::Ifc2x3::IfcPort& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcPort Ifc2x3::IfcRelConnectsPorts::RelatedPort() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcPort>(); } +::Ifc2x3::IfcPort Ifc2x3::IfcRelConnectsPorts::RelatedPort() const { return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcPort>(); } void Ifc2x3::IfcRelConnectsPorts::setRelatedPort(const ::Ifc2x3::IfcPort& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcElement Ifc2x3::IfcRelConnectsPorts::RealizingElement() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcElement{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc2x3::IfcElement>(); } +::Ifc2x3::IfcElement Ifc2x3::IfcRelConnectsPorts::RealizingElement() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcElement{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc2x3::IfcElement>(); } void Ifc2x3::IfcRelConnectsPorts::setRealizingElement(const ::Ifc2x3::IfcElement& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -10039,9 +10039,9 @@ const ifcopenshell::entity& Ifc2x3::IfcRelConnectsPorts::Class() { return *((ifc 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>(); } +::Ifc2x3::IfcStructuralActivityAssignmentSelect Ifc2x3::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc2x3::IfcStructuralActivityAssignmentSelect>(); } void Ifc2x3::IfcRelConnectsStructuralActivity::setRelatingElement(const ::Ifc2x3::IfcStructuralActivityAssignmentSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcStructuralActivity Ifc2x3::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcStructuralActivity>(); } +::Ifc2x3::IfcStructuralActivity Ifc2x3::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcStructuralActivity>(); } void Ifc2x3::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(const ::Ifc2x3::IfcStructuralActivity& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -10049,9 +10049,9 @@ const ifcopenshell::entity& Ifc2x3::IfcRelConnectsStructuralActivity::Class() { 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>(); } +::Ifc2x3::IfcElement Ifc2x3::IfcRelConnectsStructuralElement::RelatingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc2x3::IfcElement>(); } void Ifc2x3::IfcRelConnectsStructuralElement::setRelatingElement(const ::Ifc2x3::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcStructuralMember Ifc2x3::IfcRelConnectsStructuralElement::RelatedStructuralMember() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcStructuralMember>(); } +::Ifc2x3::IfcStructuralMember Ifc2x3::IfcRelConnectsStructuralElement::RelatedStructuralMember() const { return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcStructuralMember>(); } void Ifc2x3::IfcRelConnectsStructuralElement::setRelatedStructuralMember(const ::Ifc2x3::IfcStructuralMember& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -10059,17 +10059,17 @@ const ifcopenshell::entity& Ifc2x3::IfcRelConnectsStructuralElement::Class() { r 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>(); } +::Ifc2x3::IfcStructuralMember Ifc2x3::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((express::base)(get_attribute_value(4))).as<::Ifc2x3::IfcStructuralMember>(); } void Ifc2x3::IfcRelConnectsStructuralMember::setRelatingStructuralMember(const ::Ifc2x3::IfcStructuralMember& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcStructuralConnection Ifc2x3::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcStructuralConnection>(); } +::Ifc2x3::IfcStructuralConnection Ifc2x3::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcStructuralConnection>(); } void Ifc2x3::IfcRelConnectsStructuralMember::setRelatedStructuralConnection(const ::Ifc2x3::IfcStructuralConnection& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcBoundaryCondition Ifc2x3::IfcRelConnectsStructuralMember::AppliedCondition() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcBoundaryCondition{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc2x3::IfcBoundaryCondition>(); } +::Ifc2x3::IfcBoundaryCondition Ifc2x3::IfcRelConnectsStructuralMember::AppliedCondition() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcBoundaryCondition{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc2x3::IfcBoundaryCondition>(); } void Ifc2x3::IfcRelConnectsStructuralMember::setAppliedCondition(const ::Ifc2x3::IfcBoundaryCondition& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc2x3::IfcStructuralConnectionCondition Ifc2x3::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(get_attribute_value(7).isNull()) { return ::Ifc2x3::IfcStructuralConnectionCondition{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc2x3::IfcStructuralConnectionCondition>(); } +::Ifc2x3::IfcStructuralConnectionCondition Ifc2x3::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(get_attribute_value(7).isNull()) { return ::Ifc2x3::IfcStructuralConnectionCondition{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc2x3::IfcStructuralConnectionCondition>(); } void Ifc2x3::IfcRelConnectsStructuralMember::setAdditionalConditions(const ::Ifc2x3::IfcStructuralConnectionCondition& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } std::optional< double > Ifc2x3::IfcRelConnectsStructuralMember::SupportedLength() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } void Ifc2x3::IfcRelConnectsStructuralMember::setSupportedLength(const std::optional< double >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc2x3::IfcAxis2Placement3D Ifc2x3::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(get_attribute_value(9).isNull()) { return ::Ifc2x3::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc2x3::IfcAxis2Placement3D>(); } +::Ifc2x3::IfcAxis2Placement3D Ifc2x3::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(get_attribute_value(9).isNull()) { return ::Ifc2x3::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc2x3::IfcAxis2Placement3D>(); } void Ifc2x3::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(const ::Ifc2x3::IfcAxis2Placement3D& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } @@ -10077,7 +10077,7 @@ const ifcopenshell::entity& Ifc2x3::IfcRelConnectsStructuralMember::Class() { re 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>(); } +::Ifc2x3::IfcConnectionGeometry Ifc2x3::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((express::base)(get_attribute_value(10))).as<::Ifc2x3::IfcConnectionGeometry>(); } void Ifc2x3::IfcRelConnectsWithEccentricity::setConnectionConstraint(const ::Ifc2x3::IfcConnectionGeometry& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } @@ -10085,83 +10085,83 @@ const ifcopenshell::entity& Ifc2x3::IfcRelConnectsWithEccentricity::Class() { re 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); } -void Ifc2x3::IfcRelConnectsWithRealizingElements::setRealizingElements(const std::vector< ::Ifc2x3::IfcElement >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } +std::vector< ::Ifc2x3::IfcElement > Ifc2x3::IfcRelConnectsWithRealizingElements::RealizingElements() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc2x3::IfcElement>(es); } +void Ifc2x3::IfcRelConnectsWithRealizingElements::setRealizingElements(const std::vector< ::Ifc2x3::IfcElement >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } std::optional< std::string > Ifc2x3::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc2x3::IfcRelConnectsWithRealizingElements::setConnectionType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const ifcopenshell::entity& Ifc2x3::IfcRelConnectsWithRealizingElements::Class() { return *((ifcopenshell::entity*)IFC2X3_types[697]); } -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; } +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); } -void Ifc2x3::IfcRelContainedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc2x3::IfcProduct >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcSpatialStructureElement Ifc2x3::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcSpatialStructureElement>(); } +std::vector< ::Ifc2x3::IfcProduct > Ifc2x3::IfcRelContainedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc2x3::IfcProduct>(es); } +void Ifc2x3::IfcRelContainedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc2x3::IfcProduct >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc2x3::IfcSpatialStructureElement Ifc2x3::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcSpatialStructureElement>(); } void Ifc2x3::IfcRelContainedInSpatialStructure::setRelatingStructure(const ::Ifc2x3::IfcSpatialStructureElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc2x3::IfcRelContainedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC2X3_types[698]); } -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; } +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>(); } +::Ifc2x3::IfcElement Ifc2x3::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc2x3::IfcElement>(); } void Ifc2x3::IfcRelCoversBldgElements::setRelatingBuildingElement(const ::Ifc2x3::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc2x3::IfcCovering > Ifc2x3::IfcRelCoversBldgElements::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc2x3::IfcCovering>(es); } -void Ifc2x3::IfcRelCoversBldgElements::setRelatedCoverings(const std::vector< ::Ifc2x3::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc2x3::IfcCovering > Ifc2x3::IfcRelCoversBldgElements::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc2x3::IfcCovering>(es); } +void Ifc2x3::IfcRelCoversBldgElements::setRelatedCoverings(const std::vector< ::Ifc2x3::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc2x3::IfcRelCoversBldgElements::Class() { return *((ifcopenshell::entity*)IFC2X3_types[699]); } -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; } +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>(); } +::Ifc2x3::IfcSpace Ifc2x3::IfcRelCoversSpaces::RelatedSpace() const { return ((express::base)(get_attribute_value(4))).as<::Ifc2x3::IfcSpace>(); } void Ifc2x3::IfcRelCoversSpaces::setRelatedSpace(const ::Ifc2x3::IfcSpace& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc2x3::IfcCovering > Ifc2x3::IfcRelCoversSpaces::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc2x3::IfcCovering>(es); } -void Ifc2x3::IfcRelCoversSpaces::setRelatedCoverings(const std::vector< ::Ifc2x3::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc2x3::IfcCovering > Ifc2x3::IfcRelCoversSpaces::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc2x3::IfcCovering>(es); } +void Ifc2x3::IfcRelCoversSpaces::setRelatedCoverings(const std::vector< ::Ifc2x3::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc2x3::IfcRelCoversSpaces::Class() { return *((ifcopenshell::entity*)IFC2X3_types[700]); } -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; } +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>(); } +::Ifc2x3::IfcObjectDefinition Ifc2x3::IfcRelDecomposes::RelatingObject() const { return ((express::base)(get_attribute_value(4))).as<::Ifc2x3::IfcObjectDefinition>(); } void Ifc2x3::IfcRelDecomposes::setRelatingObject(const ::Ifc2x3::IfcObjectDefinition& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc2x3::IfcObjectDefinition > Ifc2x3::IfcRelDecomposes::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc2x3::IfcObjectDefinition>(es); } -void Ifc2x3::IfcRelDecomposes::setRelatedObjects(const std::vector< ::Ifc2x3::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc2x3::IfcObjectDefinition > Ifc2x3::IfcRelDecomposes::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc2x3::IfcObjectDefinition>(es); } +void Ifc2x3::IfcRelDecomposes::setRelatedObjects(const std::vector< ::Ifc2x3::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc2x3::IfcRelDecomposes::Class() { return *((ifcopenshell::entity*)IFC2X3_types[701]); } -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; } +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); } -void Ifc2x3::IfcRelDefines::setRelatedObjects(const std::vector< ::Ifc2x3::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +std::vector< ::Ifc2x3::IfcObject > Ifc2x3::IfcRelDefines::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc2x3::IfcObject>(es); } +void Ifc2x3::IfcRelDefines::setRelatedObjects(const std::vector< ::Ifc2x3::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } const ifcopenshell::entity& Ifc2x3::IfcRelDefines::Class() { return *((ifcopenshell::entity*)IFC2X3_types[702]); } -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; } +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>(); } +::Ifc2x3::IfcPropertySetDefinition Ifc2x3::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcPropertySetDefinition>(); } void Ifc2x3::IfcRelDefinesByProperties::setRelatingPropertyDefinition(const ::Ifc2x3::IfcPropertySetDefinition& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc2x3::IfcRelDefinesByProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[703]); } -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; } +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>(); } +::Ifc2x3::IfcTypeObject Ifc2x3::IfcRelDefinesByType::RelatingType() const { return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcTypeObject>(); } void Ifc2x3::IfcRelDefinesByType::setRelatingType(const ::Ifc2x3::IfcTypeObject& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc2x3::IfcRelDefinesByType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[704]); } -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; } +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>(); } +::Ifc2x3::IfcOpeningElement Ifc2x3::IfcRelFillsElement::RelatingOpeningElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc2x3::IfcOpeningElement>(); } void Ifc2x3::IfcRelFillsElement::setRelatingOpeningElement(const ::Ifc2x3::IfcOpeningElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcElement Ifc2x3::IfcRelFillsElement::RelatedBuildingElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcElement>(); } +::Ifc2x3::IfcElement Ifc2x3::IfcRelFillsElement::RelatedBuildingElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcElement>(); } void Ifc2x3::IfcRelFillsElement::setRelatedBuildingElement(const ::Ifc2x3::IfcElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -10169,25 +10169,25 @@ const ifcopenshell::entity& Ifc2x3::IfcRelFillsElement::Class() { return *((ifco 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); } -void Ifc2x3::IfcRelFlowControlElements::setRelatedControlElements(const std::vector< ::Ifc2x3::IfcDistributionControlElement >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcDistributionFlowElement Ifc2x3::IfcRelFlowControlElements::RelatingFlowElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcDistributionFlowElement>(); } +std::vector< ::Ifc2x3::IfcDistributionControlElement > Ifc2x3::IfcRelFlowControlElements::RelatedControlElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc2x3::IfcDistributionControlElement>(es); } +void Ifc2x3::IfcRelFlowControlElements::setRelatedControlElements(const std::vector< ::Ifc2x3::IfcDistributionControlElement >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc2x3::IfcDistributionFlowElement Ifc2x3::IfcRelFlowControlElements::RelatingFlowElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcDistributionFlowElement>(); } void Ifc2x3::IfcRelFlowControlElements::setRelatingFlowElement(const ::Ifc2x3::IfcDistributionFlowElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc2x3::IfcRelFlowControlElements::Class() { return *((ifcopenshell::entity*)IFC2X3_types[706]); } -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; } +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; } void Ifc2x3::IfcRelInteractionRequirements::setDailyInteraction(const std::optional< double >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } std::optional< double > Ifc2x3::IfcRelInteractionRequirements::ImportanceRating() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } double v = get_attribute_value(5); return v; } void Ifc2x3::IfcRelInteractionRequirements::setImportanceRating(const std::optional< double >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc2x3::IfcSpatialStructureElement Ifc2x3::IfcRelInteractionRequirements::LocationOfInteraction() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcSpatialStructureElement{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc2x3::IfcSpatialStructureElement>(); } +::Ifc2x3::IfcSpatialStructureElement Ifc2x3::IfcRelInteractionRequirements::LocationOfInteraction() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcSpatialStructureElement{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc2x3::IfcSpatialStructureElement>(); } void Ifc2x3::IfcRelInteractionRequirements::setLocationOfInteraction(const ::Ifc2x3::IfcSpatialStructureElement& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc2x3::IfcSpaceProgram Ifc2x3::IfcRelInteractionRequirements::RelatedSpaceProgram() const { return ((express::Base)(get_attribute_value(7))).as<::Ifc2x3::IfcSpaceProgram>(); } +::Ifc2x3::IfcSpaceProgram Ifc2x3::IfcRelInteractionRequirements::RelatedSpaceProgram() const { return ((express::base)(get_attribute_value(7))).as<::Ifc2x3::IfcSpaceProgram>(); } void Ifc2x3::IfcRelInteractionRequirements::setRelatedSpaceProgram(const ::Ifc2x3::IfcSpaceProgram& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc2x3::IfcSpaceProgram Ifc2x3::IfcRelInteractionRequirements::RelatingSpaceProgram() const { return ((express::Base)(get_attribute_value(8))).as<::Ifc2x3::IfcSpaceProgram>(); } +::Ifc2x3::IfcSpaceProgram Ifc2x3::IfcRelInteractionRequirements::RelatingSpaceProgram() const { return ((express::base)(get_attribute_value(8))).as<::Ifc2x3::IfcSpaceProgram>(); } void Ifc2x3::IfcRelInteractionRequirements::setRelatingSpaceProgram(const ::Ifc2x3::IfcSpaceProgram& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -10198,26 +10198,26 @@ Ifc2x3::IfcRelInteractionRequirements Ifc2x3::IfcRelInteractionRequirements::ini const ifcopenshell::entity& Ifc2x3::IfcRelNests::Class() { return *((ifcopenshell::entity*)IFC2X3_types[708]); } -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; } +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]); } -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; } +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); } -void Ifc2x3::IfcRelOverridesProperties::setOverridingProperties(const std::vector< ::Ifc2x3::IfcProperty >& v) { set_attribute_value(6, cast_vector(v));if constexpr (false)unset_attribute_value(6); } +std::vector< ::Ifc2x3::IfcProperty > Ifc2x3::IfcRelOverridesProperties::OverridingProperties() const { std::vector es = get_attribute_value(6); return cast_vector<::Ifc2x3::IfcProperty>(es); } +void Ifc2x3::IfcRelOverridesProperties::setOverridingProperties(const std::vector< ::Ifc2x3::IfcProperty >& v) { set_attribute_value(6, cast_vector(v));if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc2x3::IfcRelOverridesProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[710]); } -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; } +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>(); } +::Ifc2x3::IfcElement Ifc2x3::IfcRelProjectsElement::RelatingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc2x3::IfcElement>(); } void Ifc2x3::IfcRelProjectsElement::setRelatingElement(const ::Ifc2x3::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcFeatureElementAddition Ifc2x3::IfcRelProjectsElement::RelatedFeatureElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcFeatureElementAddition>(); } +::Ifc2x3::IfcFeatureElementAddition Ifc2x3::IfcRelProjectsElement::RelatedFeatureElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcFeatureElementAddition>(); } void Ifc2x3::IfcRelProjectsElement::setRelatedFeatureElement(const ::Ifc2x3::IfcFeatureElementAddition& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -10225,25 +10225,25 @@ const ifcopenshell::entity& Ifc2x3::IfcRelProjectsElement::Class() { return *((i 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); } -void Ifc2x3::IfcRelReferencedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc2x3::IfcProduct >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcSpatialStructureElement Ifc2x3::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcSpatialStructureElement>(); } +std::vector< ::Ifc2x3::IfcProduct > Ifc2x3::IfcRelReferencedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc2x3::IfcProduct>(es); } +void Ifc2x3::IfcRelReferencedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc2x3::IfcProduct >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc2x3::IfcSpatialStructureElement Ifc2x3::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcSpatialStructureElement>(); } void Ifc2x3::IfcRelReferencedInSpatialStructure::setRelatingStructure(const ::Ifc2x3::IfcSpatialStructureElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc2x3::IfcRelReferencedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC2X3_types[712]); } -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; } +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]); } -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; } +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>(); } +::Ifc2x3::IfcProcess Ifc2x3::IfcRelSequence::RelatingProcess() const { return ((express::base)(get_attribute_value(4))).as<::Ifc2x3::IfcProcess>(); } void Ifc2x3::IfcRelSequence::setRelatingProcess(const ::Ifc2x3::IfcProcess& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcProcess Ifc2x3::IfcRelSequence::RelatedProcess() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcProcess>(); } +::Ifc2x3::IfcProcess Ifc2x3::IfcRelSequence::RelatedProcess() const { return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcProcess>(); } void Ifc2x3::IfcRelSequence::setRelatedProcess(const ::Ifc2x3::IfcProcess& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } double Ifc2x3::IfcRelSequence::TimeLag() const { double v = get_attribute_value(6); return v; } void Ifc2x3::IfcRelSequence::setTimeLag(const double& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -10255,21 +10255,21 @@ const ifcopenshell::entity& Ifc2x3::IfcRelSequence::Class() { return *((ifcopens 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>(); } +::Ifc2x3::IfcSystem Ifc2x3::IfcRelServicesBuildings::RelatingSystem() const { return ((express::base)(get_attribute_value(4))).as<::Ifc2x3::IfcSystem>(); } void Ifc2x3::IfcRelServicesBuildings::setRelatingSystem(const ::Ifc2x3::IfcSystem& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc2x3::IfcSpatialStructureElement > Ifc2x3::IfcRelServicesBuildings::RelatedBuildings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc2x3::IfcSpatialStructureElement>(es); } -void Ifc2x3::IfcRelServicesBuildings::setRelatedBuildings(const std::vector< ::Ifc2x3::IfcSpatialStructureElement >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc2x3::IfcSpatialStructureElement > Ifc2x3::IfcRelServicesBuildings::RelatedBuildings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc2x3::IfcSpatialStructureElement>(es); } +void Ifc2x3::IfcRelServicesBuildings::setRelatedBuildings(const std::vector< ::Ifc2x3::IfcSpatialStructureElement >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc2x3::IfcRelServicesBuildings::Class() { return *((ifcopenshell::entity*)IFC2X3_types[715]); } -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; } +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>(); } +::Ifc2x3::IfcSpace Ifc2x3::IfcRelSpaceBoundary::RelatingSpace() const { return ((express::base)(get_attribute_value(4))).as<::Ifc2x3::IfcSpace>(); } void Ifc2x3::IfcRelSpaceBoundary::setRelatingSpace(const ::Ifc2x3::IfcSpace& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcElement Ifc2x3::IfcRelSpaceBoundary::RelatedBuildingElement() const { if(get_attribute_value(5).isNull()) { return ::Ifc2x3::IfcElement{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcElement>(); } +::Ifc2x3::IfcElement Ifc2x3::IfcRelSpaceBoundary::RelatedBuildingElement() const { if(get_attribute_value(5).isNull()) { return ::Ifc2x3::IfcElement{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcElement>(); } void Ifc2x3::IfcRelSpaceBoundary::setRelatedBuildingElement(const ::Ifc2x3::IfcElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcConnectionGeometry Ifc2x3::IfcRelSpaceBoundary::ConnectionGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcConnectionGeometry{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc2x3::IfcConnectionGeometry>(); } +::Ifc2x3::IfcConnectionGeometry Ifc2x3::IfcRelSpaceBoundary::ConnectionGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcConnectionGeometry{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc2x3::IfcConnectionGeometry>(); } void Ifc2x3::IfcRelSpaceBoundary::setConnectionGeometry(const ::Ifc2x3::IfcConnectionGeometry& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } ::Ifc2x3::IfcPhysicalOrVirtualEnum::Value Ifc2x3::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc2x3::IfcPhysicalOrVirtualEnum::FromString(get_attribute_value(7)); } void Ifc2x3::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(const ::Ifc2x3::IfcPhysicalOrVirtualEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc2x3::IfcPhysicalOrVirtualEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } @@ -10281,9 +10281,9 @@ const ifcopenshell::entity& Ifc2x3::IfcRelSpaceBoundary::Class() { return *((ifc 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>(); } +::Ifc2x3::IfcElement Ifc2x3::IfcRelVoidsElement::RelatingBuildingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc2x3::IfcElement>(); } void Ifc2x3::IfcRelVoidsElement::setRelatingBuildingElement(const ::Ifc2x3::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcFeatureElementSubtraction Ifc2x3::IfcRelVoidsElement::RelatedOpeningElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcFeatureElementSubtraction>(); } +::Ifc2x3::IfcFeatureElementSubtraction Ifc2x3::IfcRelVoidsElement::RelatedOpeningElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcFeatureElementSubtraction>(); } void Ifc2x3::IfcRelVoidsElement::setRelatedOpeningElement(const ::Ifc2x3::IfcFeatureElementSubtraction& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -10307,21 +10307,21 @@ const ifcopenshell::entity& Ifc2x3::IfcRelaxation::Class() { return *((ifcopensh 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>(); } +::Ifc2x3::IfcRepresentationContext Ifc2x3::IfcRepresentation::ContextOfItems() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcRepresentationContext>(); } void Ifc2x3::IfcRepresentation::setContextOfItems(const ::Ifc2x3::IfcRepresentationContext& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc2x3::IfcRepresentation::RepresentationIdentifier() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcRepresentation::setRepresentationIdentifier(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc2x3::IfcRepresentation::RepresentationType() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcRepresentation::setRepresentationType(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector< ::Ifc2x3::IfcRepresentationItem > Ifc2x3::IfcRepresentation::Items() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc2x3::IfcRepresentationItem>(es); } -void Ifc2x3::IfcRepresentation::setItems(const std::vector< ::Ifc2x3::IfcRepresentationItem >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc2x3::IfcRepresentationItem > Ifc2x3::IfcRepresentation::Items() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc2x3::IfcRepresentationItem>(es); } +void Ifc2x3::IfcRepresentation::setItems(const std::vector< ::Ifc2x3::IfcRepresentationItem >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } std::vector<::Ifc2x3::IfcRepresentationMap> Ifc2x3::IfcRepresentation::RepresentationMap() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[721], 1)); } std::vector<::Ifc2x3::IfcPresentationLayerAssignment> Ifc2x3::IfcRepresentation::LayerAssignments() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[591], 2)); } 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]); } -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; } +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; } @@ -10343,9 +10343,9 @@ const ifcopenshell::entity& Ifc2x3::IfcRepresentationItem::Class() { return *((i 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>(); } +::Ifc2x3::IfcAxis2Placement Ifc2x3::IfcRepresentationMap::MappingOrigin() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcAxis2Placement>(); } void Ifc2x3::IfcRepresentationMap::setMappingOrigin(const ::Ifc2x3::IfcAxis2Placement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcRepresentation Ifc2x3::IfcRepresentationMap::MappedRepresentation() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcRepresentation>(); } +::Ifc2x3::IfcRepresentation Ifc2x3::IfcRepresentationMap::MappedRepresentation() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcRepresentation>(); } void Ifc2x3::IfcRepresentationMap::setMappedRepresentation(const ::Ifc2x3::IfcRepresentation& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::vector<::Ifc2x3::IfcMappedItem> Ifc2x3::IfcRepresentationMap::MapUsage() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[471], 0)); } @@ -10361,7 +10361,7 @@ const ifcopenshell::entity& Ifc2x3::IfcResource::Class() { return *((ifcopenshel 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>(); } +::Ifc2x3::IfcAxis1Placement Ifc2x3::IfcRevolvedAreaSolid::Axis() const { return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcAxis1Placement>(); } void Ifc2x3::IfcRevolvedAreaSolid::setAxis(const ::Ifc2x3::IfcAxis1Placement& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc2x3::IfcRevolvedAreaSolid::Angle() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcRevolvedAreaSolid::setAngle(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -10417,7 +10417,7 @@ Ifc2x3::IfcRoof Ifc2x3::IfcRoof::initialize(std::string v1_GlobalId, ::Ifc2x3::I // Function implementations for IfcRoot std::string Ifc2x3::IfcRoot::GlobalId() const { std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcRoot::setGlobalId(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcOwnerHistory Ifc2x3::IfcRoot::OwnerHistory() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcOwnerHistory>(); } +::Ifc2x3::IfcOwnerHistory Ifc2x3::IfcRoot::OwnerHistory() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcOwnerHistory>(); } void Ifc2x3::IfcRoot::setOwnerHistory(const ::Ifc2x3::IfcOwnerHistory& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc2x3::IfcRoot::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcRoot::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } @@ -10460,24 +10460,24 @@ void Ifc2x3::IfcSanitaryTerminalType::setPredefinedType(const ::Ifc2x3::IfcSanit const ifcopenshell::entity& Ifc2x3::IfcSanitaryTerminalType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[738]); } -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; } +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>(); } +::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>(); } void Ifc2x3::IfcScheduleTimeControl::setActualStart(const ::Ifc2x3::IfcDateTimeSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcScheduleTimeControl::EarlyStart() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcDateTimeSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcScheduleTimeControl::EarlyStart() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcDateTimeSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc2x3::IfcDateTimeSelect>(); } void Ifc2x3::IfcScheduleTimeControl::setEarlyStart(const ::Ifc2x3::IfcDateTimeSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcScheduleTimeControl::LateStart() const { if(get_attribute_value(7).isNull()) { return ::Ifc2x3::IfcDateTimeSelect{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcScheduleTimeControl::LateStart() const { if(get_attribute_value(7).isNull()) { return ::Ifc2x3::IfcDateTimeSelect{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc2x3::IfcDateTimeSelect>(); } void Ifc2x3::IfcScheduleTimeControl::setLateStart(const ::Ifc2x3::IfcDateTimeSelect& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcScheduleTimeControl::ScheduleStart() const { if(get_attribute_value(8).isNull()) { return ::Ifc2x3::IfcDateTimeSelect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcScheduleTimeControl::ScheduleStart() const { if(get_attribute_value(8).isNull()) { return ::Ifc2x3::IfcDateTimeSelect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc2x3::IfcDateTimeSelect>(); } void Ifc2x3::IfcScheduleTimeControl::setScheduleStart(const ::Ifc2x3::IfcDateTimeSelect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcScheduleTimeControl::ActualFinish() const { if(get_attribute_value(9).isNull()) { return ::Ifc2x3::IfcDateTimeSelect{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcScheduleTimeControl::ActualFinish() const { if(get_attribute_value(9).isNull()) { return ::Ifc2x3::IfcDateTimeSelect{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc2x3::IfcDateTimeSelect>(); } void Ifc2x3::IfcScheduleTimeControl::setActualFinish(const ::Ifc2x3::IfcDateTimeSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcScheduleTimeControl::EarlyFinish() const { if(get_attribute_value(10).isNull()) { return ::Ifc2x3::IfcDateTimeSelect{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcScheduleTimeControl::EarlyFinish() const { if(get_attribute_value(10).isNull()) { return ::Ifc2x3::IfcDateTimeSelect{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc2x3::IfcDateTimeSelect>(); } void Ifc2x3::IfcScheduleTimeControl::setEarlyFinish(const ::Ifc2x3::IfcDateTimeSelect& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcScheduleTimeControl::LateFinish() const { if(get_attribute_value(11).isNull()) { return ::Ifc2x3::IfcDateTimeSelect{}; } return ((express::Base)(get_attribute_value(11))).as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcScheduleTimeControl::LateFinish() const { if(get_attribute_value(11).isNull()) { return ::Ifc2x3::IfcDateTimeSelect{}; } return ((express::base)(get_attribute_value(11))).as<::Ifc2x3::IfcDateTimeSelect>(); } void Ifc2x3::IfcScheduleTimeControl::setLateFinish(const ::Ifc2x3::IfcDateTimeSelect& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcScheduleTimeControl::ScheduleFinish() const { if(get_attribute_value(12).isNull()) { return ::Ifc2x3::IfcDateTimeSelect{}; } return ((express::Base)(get_attribute_value(12))).as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcScheduleTimeControl::ScheduleFinish() const { if(get_attribute_value(12).isNull()) { return ::Ifc2x3::IfcDateTimeSelect{}; } return ((express::base)(get_attribute_value(12))).as<::Ifc2x3::IfcDateTimeSelect>(); } void Ifc2x3::IfcScheduleTimeControl::setScheduleFinish(const ::Ifc2x3::IfcDateTimeSelect& v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } std::optional< double > Ifc2x3::IfcScheduleTimeControl::ScheduleDuration() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } double v = get_attribute_value(13); return v; } void Ifc2x3::IfcScheduleTimeControl::setScheduleDuration(const std::optional< double >& v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } @@ -10491,7 +10491,7 @@ std::optional< double > Ifc2x3::IfcScheduleTimeControl::TotalFloat() const { if( void Ifc2x3::IfcScheduleTimeControl::setTotalFloat(const std::optional< double >& v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } std::optional< bool > Ifc2x3::IfcScheduleTimeControl::IsCritical() const { if(get_attribute_value(18).isNull()) { return std::nullopt; } bool v = get_attribute_value(18); return v; } void Ifc2x3::IfcScheduleTimeControl::setIsCritical(const std::optional< bool >& v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcScheduleTimeControl::StatusTime() const { if(get_attribute_value(19).isNull()) { return ::Ifc2x3::IfcDateTimeSelect{}; } return ((express::Base)(get_attribute_value(19))).as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcScheduleTimeControl::StatusTime() const { if(get_attribute_value(19).isNull()) { return ::Ifc2x3::IfcDateTimeSelect{}; } return ((express::base)(get_attribute_value(19))).as<::Ifc2x3::IfcDateTimeSelect>(); } void Ifc2x3::IfcScheduleTimeControl::setStatusTime(const ::Ifc2x3::IfcDateTimeSelect& v) { set_attribute_value(19, v);if constexpr (false)unset_attribute_value(19); } std::optional< double > Ifc2x3::IfcScheduleTimeControl::StartFloat() const { if(get_attribute_value(20).isNull()) { return std::nullopt; } double v = get_attribute_value(20); return v; } void Ifc2x3::IfcScheduleTimeControl::setStartFloat(const std::optional< double >& v) { if (v) {set_attribute_value(20, *v);} else {unset_attribute_value(20);} } @@ -10508,9 +10508,9 @@ Ifc2x3::IfcScheduleTimeControl Ifc2x3::IfcScheduleTimeControl::initialize(std::s // Function implementations for IfcSectionProperties ::Ifc2x3::IfcSectionTypeEnum::Value Ifc2x3::IfcSectionProperties::SectionType() const { return ::Ifc2x3::IfcSectionTypeEnum::FromString(get_attribute_value(0)); } void Ifc2x3::IfcSectionProperties::setSectionType(const ::Ifc2x3::IfcSectionTypeEnum::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc2x3::IfcSectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcProfileDef Ifc2x3::IfcSectionProperties::StartProfile() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcProfileDef>(); } +::Ifc2x3::IfcProfileDef Ifc2x3::IfcSectionProperties::StartProfile() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcProfileDef>(); } void Ifc2x3::IfcSectionProperties::setStartProfile(const ::Ifc2x3::IfcProfileDef& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc2x3::IfcProfileDef Ifc2x3::IfcSectionProperties::EndProfile() const { if(get_attribute_value(2).isNull()) { return ::Ifc2x3::IfcProfileDef{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcProfileDef>(); } +::Ifc2x3::IfcProfileDef Ifc2x3::IfcSectionProperties::EndProfile() const { if(get_attribute_value(2).isNull()) { return ::Ifc2x3::IfcProfileDef{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcProfileDef>(); } void Ifc2x3::IfcSectionProperties::setEndProfile(const ::Ifc2x3::IfcProfileDef& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -10526,26 +10526,26 @@ std::optional< double > Ifc2x3::IfcSectionReinforcementProperties::TransversePos void Ifc2x3::IfcSectionReinforcementProperties::setTransversePosition(const std::optional< double >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc2x3::IfcReinforcingBarRoleEnum::Value Ifc2x3::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc2x3::IfcReinforcingBarRoleEnum::FromString(get_attribute_value(3)); } void Ifc2x3::IfcSectionReinforcementProperties::setReinforcementRole(const ::Ifc2x3::IfcReinforcingBarRoleEnum::Value& v) { set_attribute_value(3, enumeration_reference(&::Ifc2x3::IfcReinforcingBarRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -::Ifc2x3::IfcSectionProperties Ifc2x3::IfcSectionReinforcementProperties::SectionDefinition() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc2x3::IfcSectionProperties>(); } +::Ifc2x3::IfcSectionProperties Ifc2x3::IfcSectionReinforcementProperties::SectionDefinition() const { return ((express::base)(get_attribute_value(4))).as<::Ifc2x3::IfcSectionProperties>(); } void Ifc2x3::IfcSectionReinforcementProperties::setSectionDefinition(const ::Ifc2x3::IfcSectionProperties& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc2x3::IfcReinforcementBarProperties > Ifc2x3::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc2x3::IfcReinforcementBarProperties>(es); } -void Ifc2x3::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(const std::vector< ::Ifc2x3::IfcReinforcementBarProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc2x3::IfcReinforcementBarProperties > Ifc2x3::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc2x3::IfcReinforcementBarProperties>(es); } +void Ifc2x3::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(const std::vector< ::Ifc2x3::IfcReinforcementBarProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc2x3::IfcSectionReinforcementProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[746]); } -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; } +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>(); } +::Ifc2x3::IfcCompositeCurve Ifc2x3::IfcSectionedSpine::SpineCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcCompositeCurve>(); } void Ifc2x3::IfcSectionedSpine::setSpineCurve(const ::Ifc2x3::IfcCompositeCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc2x3::IfcProfileDef > Ifc2x3::IfcSectionedSpine::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcProfileDef>(es); } -void Ifc2x3::IfcSectionedSpine::setCrossSections(const std::vector< ::Ifc2x3::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc2x3::IfcAxis2Placement3D > Ifc2x3::IfcSectionedSpine::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc2x3::IfcAxis2Placement3D>(es); } -void Ifc2x3::IfcSectionedSpine::setCrossSectionPositions(const std::vector< ::Ifc2x3::IfcAxis2Placement3D >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc2x3::IfcProfileDef > Ifc2x3::IfcSectionedSpine::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcProfileDef>(es); } +void Ifc2x3::IfcSectionedSpine::setCrossSections(const std::vector< ::Ifc2x3::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc2x3::IfcAxis2Placement3D > Ifc2x3::IfcSectionedSpine::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc2x3::IfcAxis2Placement3D>(es); } +void Ifc2x3::IfcSectionedSpine::setCrossSectionPositions(const std::vector< ::Ifc2x3::IfcAxis2Placement3D >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc2x3::IfcSectionedSpine::Class() { return *((ifcopenshell::entity*)IFC2X3_types[743]); } -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; } +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]); } -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; } +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)); } @@ -10568,11 +10568,11 @@ Ifc2x3::IfcServiceLife Ifc2x3::IfcServiceLife::initialize(std::string v1_GlobalI // Function implementations for IfcServiceLifeFactor ::Ifc2x3::IfcServiceLifeFactorTypeEnum::Value Ifc2x3::IfcServiceLifeFactor::PredefinedType() const { return ::Ifc2x3::IfcServiceLifeFactorTypeEnum::FromString(get_attribute_value(4)); } void Ifc2x3::IfcServiceLifeFactor::setPredefinedType(const ::Ifc2x3::IfcServiceLifeFactorTypeEnum::Value& v) { set_attribute_value(4, enumeration_reference(&::Ifc2x3::IfcServiceLifeFactorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcMeasureValue Ifc2x3::IfcServiceLifeFactor::UpperValue() const { if(get_attribute_value(5).isNull()) { return ::Ifc2x3::IfcMeasureValue{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcMeasureValue>(); } +::Ifc2x3::IfcMeasureValue Ifc2x3::IfcServiceLifeFactor::UpperValue() const { if(get_attribute_value(5).isNull()) { return ::Ifc2x3::IfcMeasureValue{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcMeasureValue>(); } void Ifc2x3::IfcServiceLifeFactor::setUpperValue(const ::Ifc2x3::IfcMeasureValue& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcMeasureValue Ifc2x3::IfcServiceLifeFactor::MostUsedValue() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc2x3::IfcMeasureValue>(); } +::Ifc2x3::IfcMeasureValue Ifc2x3::IfcServiceLifeFactor::MostUsedValue() const { return ((express::base)(get_attribute_value(6))).as<::Ifc2x3::IfcMeasureValue>(); } void Ifc2x3::IfcServiceLifeFactor::setMostUsedValue(const ::Ifc2x3::IfcMeasureValue& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc2x3::IfcMeasureValue Ifc2x3::IfcServiceLifeFactor::LowerValue() const { if(get_attribute_value(7).isNull()) { return ::Ifc2x3::IfcMeasureValue{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc2x3::IfcMeasureValue>(); } +::Ifc2x3::IfcMeasureValue Ifc2x3::IfcServiceLifeFactor::LowerValue() const { if(get_attribute_value(7).isNull()) { return ::Ifc2x3::IfcMeasureValue{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc2x3::IfcMeasureValue>(); } void Ifc2x3::IfcServiceLifeFactor::setLowerValue(const ::Ifc2x3::IfcMeasureValue& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -10580,41 +10580,41 @@ const ifcopenshell::entity& Ifc2x3::IfcServiceLifeFactor::Class() { return *((if 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); } -void Ifc2x3::IfcShapeAspect::setShapeRepresentations(const std::vector< ::Ifc2x3::IfcShapeModel >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc2x3::IfcShapeModel > Ifc2x3::IfcShapeAspect::ShapeRepresentations() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcShapeModel>(es); } +void Ifc2x3::IfcShapeAspect::setShapeRepresentations(const std::vector< ::Ifc2x3::IfcShapeModel >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc2x3::IfcShapeAspect::Name() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcShapeAspect::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc2x3::IfcShapeAspect::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcShapeAspect::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } boost::logic::tribool Ifc2x3::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc2x3::IfcShapeAspect::setProductDefinitional(const boost::logic::tribool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc2x3::IfcProductDefinitionShape Ifc2x3::IfcShapeAspect::PartOfProductDefinitionShape() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc2x3::IfcProductDefinitionShape>(); } +::Ifc2x3::IfcProductDefinitionShape Ifc2x3::IfcShapeAspect::PartOfProductDefinitionShape() const { return ((express::base)(get_attribute_value(4))).as<::Ifc2x3::IfcProductDefinitionShape>(); } void Ifc2x3::IfcShapeAspect::setPartOfProductDefinitionShape(const ::Ifc2x3::IfcProductDefinitionShape& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const ifcopenshell::entity& Ifc2x3::IfcShapeAspect::Class() { return *((ifcopenshell::entity*)IFC2X3_types[755]); } -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; } +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]); } -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; } +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]); } -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; } +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); } -void Ifc2x3::IfcShellBasedSurfaceModel::setSbsmBoundary(const std::vector< ::Ifc2x3::IfcShell >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc2x3::IfcShell > Ifc2x3::IfcShellBasedSurfaceModel::SbsmBoundary() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcShell>(es); } +void Ifc2x3::IfcShellBasedSurfaceModel::setSbsmBoundary(const std::vector< ::Ifc2x3::IfcShell >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc2x3::IfcShellBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC2X3_types[760]); } -Ifc2x3::IfcShellBasedSurfaceModel Ifc2x3::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc2x3::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary));; return *this; } +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 @@ -10631,7 +10631,7 @@ std::optional< double > Ifc2x3::IfcSite::RefElevation() const { if(get_attribute void Ifc2x3::IfcSite::setRefElevation(const std::optional< double >& v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } std::optional< std::string > Ifc2x3::IfcSite::LandTitleNumber() const { if(get_attribute_value(12).isNull()) { return std::nullopt; } std::string v = get_attribute_value(12); return v; } void Ifc2x3::IfcSite::setLandTitleNumber(const std::optional< std::string >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc2x3::IfcPostalAddress Ifc2x3::IfcSite::SiteAddress() const { if(get_attribute_value(13).isNull()) { return ::Ifc2x3::IfcPostalAddress{}; } return ((express::Base)(get_attribute_value(13))).as<::Ifc2x3::IfcPostalAddress>(); } +::Ifc2x3::IfcPostalAddress Ifc2x3::IfcSite::SiteAddress() const { if(get_attribute_value(13).isNull()) { return ::Ifc2x3::IfcPostalAddress{}; } return ((express::base)(get_attribute_value(13))).as<::Ifc2x3::IfcPostalAddress>(); } void Ifc2x3::IfcSite::setSiteAddress(const ::Ifc2x3::IfcPostalAddress& v) { set_attribute_value(13, v);if constexpr (false)unset_attribute_value(13); } @@ -10652,7 +10652,7 @@ void Ifc2x3::IfcSlabType::setPredefinedType(const ::Ifc2x3::IfcSlabTypeEnum::Val const ifcopenshell::entity& Ifc2x3::IfcSlabType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[769]); } -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; } +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; } @@ -10677,19 +10677,19 @@ bool Ifc2x3::IfcSoundProperties::IsAttenuating() const { bool v = get_attribute void Ifc2x3::IfcSoundProperties::setIsAttenuating(const bool& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::optional< ::Ifc2x3::IfcSoundScaleEnum::Value > Ifc2x3::IfcSoundProperties::SoundScale() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc2x3::IfcSoundScaleEnum::FromString(get_attribute_value(5)); } void Ifc2x3::IfcSoundProperties::setSoundScale(const std::optional< ::Ifc2x3::IfcSoundScaleEnum::Value >& v) { if (v) {set_attribute_value(5, enumeration_reference(&::Ifc2x3::IfcSoundScaleEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -std::vector< ::Ifc2x3::IfcSoundValue > Ifc2x3::IfcSoundProperties::SoundValues() const { std::vector es = get_attribute_value(6); return cast_vector<::Ifc2x3::IfcSoundValue>(es); } -void Ifc2x3::IfcSoundProperties::setSoundValues(const std::vector< ::Ifc2x3::IfcSoundValue >& v) { set_attribute_value(6, cast_vector(v));if constexpr (false)unset_attribute_value(6); } +std::vector< ::Ifc2x3::IfcSoundValue > Ifc2x3::IfcSoundProperties::SoundValues() const { std::vector es = get_attribute_value(6); return cast_vector<::Ifc2x3::IfcSoundValue>(es); } +void Ifc2x3::IfcSoundProperties::setSoundValues(const std::vector< ::Ifc2x3::IfcSoundValue >& v) { set_attribute_value(6, cast_vector(v));if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc2x3::IfcSoundProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[776]); } -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; } +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>(); } +::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>(); } void Ifc2x3::IfcSoundValue::setSoundLevelTimeSeries(const ::Ifc2x3::IfcTimeSeries& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } double Ifc2x3::IfcSoundValue::Frequency() const { double v = get_attribute_value(5); return v; } void Ifc2x3::IfcSoundValue::setFrequency(const double& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcDerivedMeasureValue Ifc2x3::IfcSoundValue::SoundLevelSingleValue() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcDerivedMeasureValue{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc2x3::IfcDerivedMeasureValue>(); } +::Ifc2x3::IfcDerivedMeasureValue Ifc2x3::IfcSoundValue::SoundLevelSingleValue() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcDerivedMeasureValue{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc2x3::IfcDerivedMeasureValue>(); } void Ifc2x3::IfcSoundValue::setSoundLevelSingleValue(const ::Ifc2x3::IfcDerivedMeasureValue& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -10714,7 +10714,7 @@ void Ifc2x3::IfcSpaceHeaterType::setPredefinedType(const ::Ifc2x3::IfcSpaceHeate const ifcopenshell::entity& Ifc2x3::IfcSpaceHeaterType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[780]); } -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; } +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; } @@ -10723,7 +10723,7 @@ std::optional< double > Ifc2x3::IfcSpaceProgram::MaxRequiredArea() const { if(ge void Ifc2x3::IfcSpaceProgram::setMaxRequiredArea(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } std::optional< double > Ifc2x3::IfcSpaceProgram::MinRequiredArea() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } void Ifc2x3::IfcSpaceProgram::setMinRequiredArea(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc2x3::IfcSpatialStructureElement Ifc2x3::IfcSpaceProgram::RequestedLocation() const { if(get_attribute_value(8).isNull()) { return ::Ifc2x3::IfcSpatialStructureElement{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc2x3::IfcSpatialStructureElement>(); } +::Ifc2x3::IfcSpatialStructureElement Ifc2x3::IfcSpaceProgram::RequestedLocation() const { if(get_attribute_value(8).isNull()) { return ::Ifc2x3::IfcSpatialStructureElement{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc2x3::IfcSpatialStructureElement>(); } void Ifc2x3::IfcSpaceProgram::setRequestedLocation(const ::Ifc2x3::IfcSpatialStructureElement& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } double Ifc2x3::IfcSpaceProgram::StandardRequiredArea() const { double v = get_attribute_value(9); return v; } void Ifc2x3::IfcSpaceProgram::setStandardRequiredArea(const double& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } @@ -10747,7 +10747,7 @@ double Ifc2x3::IfcSpaceThermalLoadProperties::MaximumValue() const { double v = void Ifc2x3::IfcSpaceThermalLoadProperties::setMaximumValue(const double& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } std::optional< double > Ifc2x3::IfcSpaceThermalLoadProperties::MinimumValue() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } void Ifc2x3::IfcSpaceThermalLoadProperties::setMinimumValue(const std::optional< double >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -::Ifc2x3::IfcTimeSeries Ifc2x3::IfcSpaceThermalLoadProperties::ThermalLoadTimeSeriesValues() const { if(get_attribute_value(10).isNull()) { return ::Ifc2x3::IfcTimeSeries{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc2x3::IfcTimeSeries>(); } +::Ifc2x3::IfcTimeSeries Ifc2x3::IfcSpaceThermalLoadProperties::ThermalLoadTimeSeriesValues() const { if(get_attribute_value(10).isNull()) { return ::Ifc2x3::IfcTimeSeries{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc2x3::IfcTimeSeries>(); } void Ifc2x3::IfcSpaceThermalLoadProperties::setThermalLoadTimeSeriesValues(const ::Ifc2x3::IfcTimeSeries& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } std::optional< std::string > Ifc2x3::IfcSpaceThermalLoadProperties::UserDefinedThermalLoadSource() const { if(get_attribute_value(11).isNull()) { return std::nullopt; } std::string v = get_attribute_value(11); return v; } void Ifc2x3::IfcSpaceThermalLoadProperties::setUserDefinedThermalLoadSource(const std::optional< std::string >& v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } @@ -10766,7 +10766,7 @@ void Ifc2x3::IfcSpaceType::setPredefinedType(const ::Ifc2x3::IfcSpaceTypeEnum::V const ifcopenshell::entity& Ifc2x3::IfcSpaceType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[784]); } -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; } +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; } @@ -10785,7 +10785,7 @@ Ifc2x3::IfcSpatialStructureElement Ifc2x3::IfcSpatialStructureElement::initializ const ifcopenshell::entity& Ifc2x3::IfcSpatialStructureElementType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[787]); } -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; } +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; } @@ -10801,7 +10801,7 @@ void Ifc2x3::IfcStackTerminalType::setPredefinedType(const ::Ifc2x3::IfcStackTer const ifcopenshell::entity& Ifc2x3::IfcStackTerminalType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[793]); } -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; } +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)); } @@ -10831,12 +10831,12 @@ void Ifc2x3::IfcStairFlightType::setPredefinedType(const ::Ifc2x3::IfcStairFligh const ifcopenshell::entity& Ifc2x3::IfcStairFlightType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[797]); } -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; } +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; } void Ifc2x3::IfcStructuralAction::setDestabilizingLoad(const bool& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -::Ifc2x3::IfcStructuralReaction Ifc2x3::IfcStructuralAction::CausedBy() const { if(get_attribute_value(10).isNull()) { return ::Ifc2x3::IfcStructuralReaction{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc2x3::IfcStructuralReaction>(); } +::Ifc2x3::IfcStructuralReaction Ifc2x3::IfcStructuralAction::CausedBy() const { if(get_attribute_value(10).isNull()) { return ::Ifc2x3::IfcStructuralReaction{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc2x3::IfcStructuralReaction>(); } void Ifc2x3::IfcStructuralAction::setCausedBy(const ::Ifc2x3::IfcStructuralReaction& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } @@ -10844,7 +10844,7 @@ const ifcopenshell::entity& Ifc2x3::IfcStructuralAction::Class() { return *((ifc 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>(); } +::Ifc2x3::IfcStructuralLoad Ifc2x3::IfcStructuralActivity::AppliedLoad() const { return ((express::base)(get_attribute_value(7))).as<::Ifc2x3::IfcStructuralLoad>(); } void Ifc2x3::IfcStructuralActivity::setAppliedLoad(const ::Ifc2x3::IfcStructuralLoad& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc2x3::IfcGlobalOrLocalEnum::Value Ifc2x3::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc2x3::IfcGlobalOrLocalEnum::FromString(get_attribute_value(8)); } void Ifc2x3::IfcStructuralActivity::setGlobalOrLocal(const ::Ifc2x3::IfcGlobalOrLocalEnum::Value& v) { set_attribute_value(8, enumeration_reference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } @@ -10857,19 +10857,19 @@ Ifc2x3::IfcStructuralActivity Ifc2x3::IfcStructuralActivity::initialize(std::str // Function implementations for IfcStructuralAnalysisModel ::Ifc2x3::IfcAnalysisModelTypeEnum::Value Ifc2x3::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc2x3::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } void Ifc2x3::IfcStructuralAnalysisModel::setPredefinedType(const ::Ifc2x3::IfcAnalysisModelTypeEnum::Value& v) { set_attribute_value(5, enumeration_reference(&::Ifc2x3::IfcAnalysisModelTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcAxis2Placement3D Ifc2x3::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc2x3::IfcAxis2Placement3D>(); } +::Ifc2x3::IfcAxis2Placement3D Ifc2x3::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc2x3::IfcAxis2Placement3D>(); } void Ifc2x3::IfcStructuralAnalysisModel::setOrientationOf2DPlane(const ::Ifc2x3::IfcAxis2Placement3D& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::optional< std::vector< ::Ifc2x3::IfcStructuralLoadGroup > > Ifc2x3::IfcStructuralAnalysisModel::LoadedBy() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc2x3::IfcStructuralLoadGroup>(es); } -void Ifc2x3::IfcStructuralAnalysisModel::setLoadedBy(const std::optional< std::vector< ::Ifc2x3::IfcStructuralLoadGroup > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } -std::optional< std::vector< ::Ifc2x3::IfcStructuralResultGroup > > Ifc2x3::IfcStructuralAnalysisModel::HasResults() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc2x3::IfcStructuralResultGroup>(es); } -void Ifc2x3::IfcStructuralAnalysisModel::setHasResults(const std::optional< std::vector< ::Ifc2x3::IfcStructuralResultGroup > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } +std::optional< std::vector< ::Ifc2x3::IfcStructuralLoadGroup > > Ifc2x3::IfcStructuralAnalysisModel::LoadedBy() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc2x3::IfcStructuralLoadGroup>(es); } +void Ifc2x3::IfcStructuralAnalysisModel::setLoadedBy(const std::optional< std::vector< ::Ifc2x3::IfcStructuralLoadGroup > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc2x3::IfcStructuralResultGroup > > Ifc2x3::IfcStructuralAnalysisModel::HasResults() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc2x3::IfcStructuralResultGroup>(es); } +void Ifc2x3::IfcStructuralAnalysisModel::setHasResults(const std::optional< std::vector< ::Ifc2x3::IfcStructuralResultGroup > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } const ifcopenshell::entity& Ifc2x3::IfcStructuralAnalysisModel::Class() { return *((ifcopenshell::entity*)IFC2X3_types[804]); } -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; } +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>(); } +::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>(); } void Ifc2x3::IfcStructuralConnection::setAppliedCondition(const ::Ifc2x3::IfcBoundaryCondition& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } std::vector<::Ifc2x3::IfcRelConnectsStructuralMember> Ifc2x3::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[695], 5)); } @@ -10921,14 +10921,14 @@ const ifcopenshell::entity& Ifc2x3::IfcStructuralLinearAction::Class() { return 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>(); } +::Ifc2x3::IfcShapeAspect Ifc2x3::IfcStructuralLinearActionVarying::VaryingAppliedLoadLocation() const { return ((express::base)(get_attribute_value(12))).as<::Ifc2x3::IfcShapeAspect>(); } void Ifc2x3::IfcStructuralLinearActionVarying::setVaryingAppliedLoadLocation(const ::Ifc2x3::IfcShapeAspect& v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } -std::vector< ::Ifc2x3::IfcStructuralLoad > Ifc2x3::IfcStructuralLinearActionVarying::SubsequentAppliedLoads() const { std::vector es = get_attribute_value(13); return cast_vector<::Ifc2x3::IfcStructuralLoad>(es); } -void Ifc2x3::IfcStructuralLinearActionVarying::setSubsequentAppliedLoads(const std::vector< ::Ifc2x3::IfcStructuralLoad >& v) { set_attribute_value(13, cast_vector(v));if constexpr (false)unset_attribute_value(13); } +std::vector< ::Ifc2x3::IfcStructuralLoad > Ifc2x3::IfcStructuralLinearActionVarying::SubsequentAppliedLoads() const { std::vector es = get_attribute_value(13); return cast_vector<::Ifc2x3::IfcStructuralLoad>(es); } +void Ifc2x3::IfcStructuralLinearActionVarying::setSubsequentAppliedLoads(const std::vector< ::Ifc2x3::IfcStructuralLoad >& v) { set_attribute_value(13, cast_vector(v));if constexpr (false)unset_attribute_value(13); } const ifcopenshell::entity& Ifc2x3::IfcStructuralLinearActionVarying::Class() { return *((ifcopenshell::entity*)IFC2X3_types[813]); } -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; } +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; } @@ -11073,14 +11073,14 @@ const ifcopenshell::entity& Ifc2x3::IfcStructuralPlanarAction::Class() { return 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>(); } +::Ifc2x3::IfcShapeAspect Ifc2x3::IfcStructuralPlanarActionVarying::VaryingAppliedLoadLocation() const { return ((express::base)(get_attribute_value(12))).as<::Ifc2x3::IfcShapeAspect>(); } void Ifc2x3::IfcStructuralPlanarActionVarying::setVaryingAppliedLoadLocation(const ::Ifc2x3::IfcShapeAspect& v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } -std::vector< ::Ifc2x3::IfcStructuralLoad > Ifc2x3::IfcStructuralPlanarActionVarying::SubsequentAppliedLoads() const { std::vector es = get_attribute_value(13); return cast_vector<::Ifc2x3::IfcStructuralLoad>(es); } -void Ifc2x3::IfcStructuralPlanarActionVarying::setSubsequentAppliedLoads(const std::vector< ::Ifc2x3::IfcStructuralLoad >& v) { set_attribute_value(13, cast_vector(v));if constexpr (false)unset_attribute_value(13); } +std::vector< ::Ifc2x3::IfcStructuralLoad > Ifc2x3::IfcStructuralPlanarActionVarying::SubsequentAppliedLoads() const { std::vector es = get_attribute_value(13); return cast_vector<::Ifc2x3::IfcStructuralLoad>(es); } +void Ifc2x3::IfcStructuralPlanarActionVarying::setSubsequentAppliedLoads(const std::vector< ::Ifc2x3::IfcStructuralLoad >& v) { set_attribute_value(13, cast_vector(v));if constexpr (false)unset_attribute_value(13); } const ifcopenshell::entity& Ifc2x3::IfcStructuralPlanarActionVarying::Class() { return *((ifcopenshell::entity*)IFC2X3_types[826]); } -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; } +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 @@ -11148,7 +11148,7 @@ Ifc2x3::IfcStructuralReaction Ifc2x3::IfcStructuralReaction::initialize(std::str // Function implementations for IfcStructuralResultGroup ::Ifc2x3::IfcAnalysisTheoryTypeEnum::Value Ifc2x3::IfcStructuralResultGroup::TheoryType() const { return ::Ifc2x3::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc2x3::IfcStructuralResultGroup::setTheoryType(const ::Ifc2x3::IfcAnalysisTheoryTypeEnum::Value& v) { set_attribute_value(5, enumeration_reference(&::Ifc2x3::IfcAnalysisTheoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcStructuralLoadGroup Ifc2x3::IfcStructuralResultGroup::ResultForLoadGroup() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcStructuralLoadGroup{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc2x3::IfcStructuralLoadGroup>(); } +::Ifc2x3::IfcStructuralLoadGroup Ifc2x3::IfcStructuralResultGroup::ResultForLoadGroup() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcStructuralLoadGroup{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc2x3::IfcStructuralLoadGroup>(); } void Ifc2x3::IfcStructuralResultGroup::setResultForLoadGroup(const ::Ifc2x3::IfcStructuralLoadGroup& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } bool Ifc2x3::IfcStructuralResultGroup::IsLinear() const { bool v = get_attribute_value(7); return v; } void Ifc2x3::IfcStructuralResultGroup::setIsLinear(const bool& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -11191,7 +11191,7 @@ Ifc2x3::IfcStructuralSurfaceMember Ifc2x3::IfcStructuralSurfaceMember::initializ // Function implementations for IfcStructuralSurfaceMemberVarying std::vector< double > /*[2:?]*/ Ifc2x3::IfcStructuralSurfaceMemberVarying::SubsequentThickness() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(9); return v; } void Ifc2x3::IfcStructuralSurfaceMemberVarying::setSubsequentThickness(const std::vector< double > /*[2:?]*/& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -::Ifc2x3::IfcShapeAspect Ifc2x3::IfcStructuralSurfaceMemberVarying::VaryingThicknessLocation() const { return ((express::Base)(get_attribute_value(10))).as<::Ifc2x3::IfcShapeAspect>(); } +::Ifc2x3::IfcShapeAspect Ifc2x3::IfcStructuralSurfaceMemberVarying::VaryingThicknessLocation() const { return ((express::base)(get_attribute_value(10))).as<::Ifc2x3::IfcShapeAspect>(); } void Ifc2x3::IfcStructuralSurfaceMemberVarying::setVaryingThicknessLocation(const ::Ifc2x3::IfcShapeAspect& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } @@ -11202,34 +11202,34 @@ Ifc2x3::IfcStructuralSurfaceMemberVarying Ifc2x3::IfcStructuralSurfaceMemberVary const ifcopenshell::entity& Ifc2x3::IfcStructuredDimensionCallout::Class() { return *((ifcopenshell::entity*)IFC2X3_types[838]); } -Ifc2x3::IfcStructuredDimensionCallout Ifc2x3::IfcStructuredDimensionCallout::initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents) { set_attribute_value(0, cast_vector(v1_Contents));; return *this; } +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]); } -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; } +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>(); } +::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>(); } void Ifc2x3::IfcStyledItem::setItem(const ::Ifc2x3::IfcRepresentationItem& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > Ifc2x3::IfcStyledItem::Styles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcPresentationStyleAssignment>(es); } -void Ifc2x3::IfcStyledItem::setStyles(const std::vector< ::Ifc2x3::IfcPresentationStyleAssignment >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > Ifc2x3::IfcStyledItem::Styles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcPresentationStyleAssignment>(es); } +void Ifc2x3::IfcStyledItem::setStyles(const std::vector< ::Ifc2x3::IfcPresentationStyleAssignment >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc2x3::IfcStyledItem::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcStyledItem::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc2x3::IfcStyledItem::Class() { return *((ifcopenshell::entity*)IFC2X3_types[839]); } -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; } +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]); } -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; } +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>(); } +::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>(); } void Ifc2x3::IfcSubContractResource::setSubContractor(const ::Ifc2x3::IfcActorSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::optional< std::string > Ifc2x3::IfcSubContractResource::JobDescription() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } std::string v = get_attribute_value(10); return v; } void Ifc2x3::IfcSubContractResource::setJobDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } @@ -11239,7 +11239,7 @@ const ifcopenshell::entity& Ifc2x3::IfcSubContractResource::Class() { return *(( 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>(); } +::Ifc2x3::IfcEdge Ifc2x3::IfcSubedge::ParentEdge() const { return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcEdge>(); } void Ifc2x3::IfcSubedge::setParentEdge(const ::Ifc2x3::IfcEdge& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -11253,13 +11253,13 @@ const ifcopenshell::entity& Ifc2x3::IfcSurface::Class() { return *((ifcopenshell 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>(); } +::Ifc2x3::IfcCurve Ifc2x3::IfcSurfaceCurveSweptAreaSolid::Directrix() const { return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcCurve>(); } void Ifc2x3::IfcSurfaceCurveSweptAreaSolid::setDirectrix(const ::Ifc2x3::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc2x3::IfcSurfaceCurveSweptAreaSolid::StartParam() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcSurfaceCurveSweptAreaSolid::setStartParam(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } double Ifc2x3::IfcSurfaceCurveSweptAreaSolid::EndParam() const { double v = get_attribute_value(4); return v; } void Ifc2x3::IfcSurfaceCurveSweptAreaSolid::setEndParam(const double& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcSurface Ifc2x3::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcSurface>(); } +::Ifc2x3::IfcSurface Ifc2x3::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcSurface>(); } void Ifc2x3::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(const ::Ifc2x3::IfcSurface& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -11267,7 +11267,7 @@ const ifcopenshell::entity& Ifc2x3::IfcSurfaceCurveSweptAreaSolid::Class() { ret 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>(); } +::Ifc2x3::IfcDirection Ifc2x3::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcDirection>(); } void Ifc2x3::IfcSurfaceOfLinearExtrusion::setExtrudedDirection(const ::Ifc2x3::IfcDirection& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc2x3::IfcSurfaceOfLinearExtrusion::Depth() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcSurfaceOfLinearExtrusion::setDepth(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -11277,7 +11277,7 @@ const ifcopenshell::entity& Ifc2x3::IfcSurfaceOfLinearExtrusion::Class() { retur 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>(); } +::Ifc2x3::IfcAxis1Placement Ifc2x3::IfcSurfaceOfRevolution::AxisPosition() const { return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcAxis1Placement>(); } void Ifc2x3::IfcSurfaceOfRevolution::setAxisPosition(const ::Ifc2x3::IfcAxis1Placement& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -11287,21 +11287,21 @@ Ifc2x3::IfcSurfaceOfRevolution Ifc2x3::IfcSurfaceOfRevolution::initialize(::Ifc2 // Function implementations for IfcSurfaceStyle ::Ifc2x3::IfcSurfaceSide::Value Ifc2x3::IfcSurfaceStyle::Side() const { return ::Ifc2x3::IfcSurfaceSide::FromString(get_attribute_value(1)); } void Ifc2x3::IfcSurfaceStyle::setSide(const ::Ifc2x3::IfcSurfaceSide::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc2x3::IfcSurfaceSide::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc2x3::IfcSurfaceStyleElementSelect > Ifc2x3::IfcSurfaceStyle::Styles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc2x3::IfcSurfaceStyleElementSelect>(es); } -void Ifc2x3::IfcSurfaceStyle::setStyles(const std::vector< ::Ifc2x3::IfcSurfaceStyleElementSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc2x3::IfcSurfaceStyleElementSelect > Ifc2x3::IfcSurfaceStyle::Styles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc2x3::IfcSurfaceStyleElementSelect>(es); } +void Ifc2x3::IfcSurfaceStyle::setStyles(const std::vector< ::Ifc2x3::IfcSurfaceStyleElementSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc2x3::IfcSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC2X3_types[850]); } -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; } +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>(); } +::Ifc2x3::IfcColourRgb Ifc2x3::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcColourRgb>(); } void Ifc2x3::IfcSurfaceStyleLighting::setDiffuseTransmissionColour(const ::Ifc2x3::IfcColourRgb& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcColourRgb Ifc2x3::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcColourRgb>(); } +::Ifc2x3::IfcColourRgb Ifc2x3::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcColourRgb>(); } void Ifc2x3::IfcSurfaceStyleLighting::setDiffuseReflectionColour(const ::Ifc2x3::IfcColourRgb& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc2x3::IfcColourRgb Ifc2x3::IfcSurfaceStyleLighting::TransmissionColour() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcColourRgb>(); } +::Ifc2x3::IfcColourRgb Ifc2x3::IfcSurfaceStyleLighting::TransmissionColour() const { return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcColourRgb>(); } void Ifc2x3::IfcSurfaceStyleLighting::setTransmissionColour(const ::Ifc2x3::IfcColourRgb& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcColourRgb Ifc2x3::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc2x3::IfcColourRgb>(); } +::Ifc2x3::IfcColourRgb Ifc2x3::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((express::base)(get_attribute_value(3))).as<::Ifc2x3::IfcColourRgb>(); } void Ifc2x3::IfcSurfaceStyleLighting::setReflectanceColour(const ::Ifc2x3::IfcColourRgb& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -11321,17 +11321,17 @@ Ifc2x3::IfcSurfaceStyleRefraction Ifc2x3::IfcSurfaceStyleRefraction::initialize( // 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; } void Ifc2x3::IfcSurfaceStyleRendering::setTransparency(const std::optional< double >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc2x3::IfcColourOrFactor Ifc2x3::IfcSurfaceStyleRendering::DiffuseColour() const { if(get_attribute_value(2).isNull()) { return ::Ifc2x3::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcColourOrFactor>(); } +::Ifc2x3::IfcColourOrFactor Ifc2x3::IfcSurfaceStyleRendering::DiffuseColour() const { if(get_attribute_value(2).isNull()) { return ::Ifc2x3::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcColourOrFactor>(); } void Ifc2x3::IfcSurfaceStyleRendering::setDiffuseColour(const ::Ifc2x3::IfcColourOrFactor& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcColourOrFactor Ifc2x3::IfcSurfaceStyleRendering::TransmissionColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc2x3::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc2x3::IfcColourOrFactor>(); } +::Ifc2x3::IfcColourOrFactor Ifc2x3::IfcSurfaceStyleRendering::TransmissionColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc2x3::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc2x3::IfcColourOrFactor>(); } void Ifc2x3::IfcSurfaceStyleRendering::setTransmissionColour(const ::Ifc2x3::IfcColourOrFactor& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc2x3::IfcColourOrFactor Ifc2x3::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(get_attribute_value(4).isNull()) { return ::Ifc2x3::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc2x3::IfcColourOrFactor>(); } +::Ifc2x3::IfcColourOrFactor Ifc2x3::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(get_attribute_value(4).isNull()) { return ::Ifc2x3::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc2x3::IfcColourOrFactor>(); } void Ifc2x3::IfcSurfaceStyleRendering::setDiffuseTransmissionColour(const ::Ifc2x3::IfcColourOrFactor& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcColourOrFactor Ifc2x3::IfcSurfaceStyleRendering::ReflectionColour() const { if(get_attribute_value(5).isNull()) { return ::Ifc2x3::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcColourOrFactor>(); } +::Ifc2x3::IfcColourOrFactor Ifc2x3::IfcSurfaceStyleRendering::ReflectionColour() const { if(get_attribute_value(5).isNull()) { return ::Ifc2x3::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcColourOrFactor>(); } void Ifc2x3::IfcSurfaceStyleRendering::setReflectionColour(const ::Ifc2x3::IfcColourOrFactor& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcColourOrFactor Ifc2x3::IfcSurfaceStyleRendering::SpecularColour() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc2x3::IfcColourOrFactor>(); } +::Ifc2x3::IfcColourOrFactor Ifc2x3::IfcSurfaceStyleRendering::SpecularColour() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc2x3::IfcColourOrFactor>(); } void Ifc2x3::IfcSurfaceStyleRendering::setSpecularColour(const ::Ifc2x3::IfcColourOrFactor& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc2x3::IfcSpecularHighlightSelect Ifc2x3::IfcSurfaceStyleRendering::SpecularHighlight() const { if(get_attribute_value(7).isNull()) { return ::Ifc2x3::IfcSpecularHighlightSelect{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc2x3::IfcSpecularHighlightSelect>(); } +::Ifc2x3::IfcSpecularHighlightSelect Ifc2x3::IfcSurfaceStyleRendering::SpecularHighlight() const { if(get_attribute_value(7).isNull()) { return ::Ifc2x3::IfcSpecularHighlightSelect{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc2x3::IfcSpecularHighlightSelect>(); } void Ifc2x3::IfcSurfaceStyleRendering::setSpecularHighlight(const ::Ifc2x3::IfcSpecularHighlightSelect& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc2x3::IfcReflectanceMethodEnum::Value Ifc2x3::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc2x3::IfcReflectanceMethodEnum::FromString(get_attribute_value(8)); } void Ifc2x3::IfcSurfaceStyleRendering::setReflectanceMethod(const ::Ifc2x3::IfcReflectanceMethodEnum::Value& v) { set_attribute_value(8, enumeration_reference(&::Ifc2x3::IfcReflectanceMethodEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } @@ -11341,7 +11341,7 @@ const ifcopenshell::entity& Ifc2x3::IfcSurfaceStyleRendering::Class() { return * 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>(); } +::Ifc2x3::IfcColourRgb Ifc2x3::IfcSurfaceStyleShading::SurfaceColour() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcColourRgb>(); } void Ifc2x3::IfcSurfaceStyleShading::setSurfaceColour(const ::Ifc2x3::IfcColourRgb& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -11349,12 +11349,12 @@ const ifcopenshell::entity& Ifc2x3::IfcSurfaceStyleShading::Class() { return *(( 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); } -void Ifc2x3::IfcSurfaceStyleWithTextures::setTextures(const std::vector< ::Ifc2x3::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc2x3::IfcSurfaceTexture > Ifc2x3::IfcSurfaceStyleWithTextures::Textures() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcSurfaceTexture>(es); } +void Ifc2x3::IfcSurfaceStyleWithTextures::setTextures(const std::vector< ::Ifc2x3::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc2x3::IfcSurfaceStyleWithTextures::Class() { return *((ifcopenshell::entity*)IFC2X3_types[856]); } -Ifc2x3::IfcSurfaceStyleWithTextures Ifc2x3::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc2x3::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures));; return *this; } +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; } @@ -11363,7 +11363,7 @@ bool Ifc2x3::IfcSurfaceTexture::RepeatT() const { bool v = get_attribute_value( void Ifc2x3::IfcSurfaceTexture::setRepeatT(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } ::Ifc2x3::IfcSurfaceTextureEnum::Value Ifc2x3::IfcSurfaceTexture::TextureType() const { return ::Ifc2x3::IfcSurfaceTextureEnum::FromString(get_attribute_value(2)); } void Ifc2x3::IfcSurfaceTexture::setTextureType(const ::Ifc2x3::IfcSurfaceTextureEnum::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc2x3::IfcSurfaceTextureEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcCartesianTransformationOperator2D Ifc2x3::IfcSurfaceTexture::TextureTransform() const { if(get_attribute_value(3).isNull()) { return ::Ifc2x3::IfcCartesianTransformationOperator2D{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc2x3::IfcCartesianTransformationOperator2D>(); } +::Ifc2x3::IfcCartesianTransformationOperator2D Ifc2x3::IfcSurfaceTexture::TextureTransform() const { if(get_attribute_value(3).isNull()) { return ::Ifc2x3::IfcCartesianTransformationOperator2D{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc2x3::IfcCartesianTransformationOperator2D>(); } void Ifc2x3::IfcSurfaceTexture::setTextureTransform(const ::Ifc2x3::IfcCartesianTransformationOperator2D& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -11371,9 +11371,9 @@ const ifcopenshell::entity& Ifc2x3::IfcSurfaceTexture::Class() { return *((ifcop 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>(); } +::Ifc2x3::IfcProfileDef Ifc2x3::IfcSweptAreaSolid::SweptArea() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcProfileDef>(); } void Ifc2x3::IfcSweptAreaSolid::setSweptArea(const ::Ifc2x3::IfcProfileDef& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcAxis2Placement3D Ifc2x3::IfcSweptAreaSolid::Position() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcAxis2Placement3D>(); } +::Ifc2x3::IfcAxis2Placement3D Ifc2x3::IfcSweptAreaSolid::Position() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcAxis2Placement3D>(); } void Ifc2x3::IfcSweptAreaSolid::setPosition(const ::Ifc2x3::IfcAxis2Placement3D& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11381,7 +11381,7 @@ const ifcopenshell::entity& Ifc2x3::IfcSweptAreaSolid::Class() { return *((ifcop 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>(); } +::Ifc2x3::IfcCurve Ifc2x3::IfcSweptDiskSolid::Directrix() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcCurve>(); } void Ifc2x3::IfcSweptDiskSolid::setDirectrix(const ::Ifc2x3::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc2x3::IfcSweptDiskSolid::Radius() const { double v = get_attribute_value(1); return v; } void Ifc2x3::IfcSweptDiskSolid::setRadius(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11397,9 +11397,9 @@ const ifcopenshell::entity& Ifc2x3::IfcSweptDiskSolid::Class() { return *((ifcop 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>(); } +::Ifc2x3::IfcProfileDef Ifc2x3::IfcSweptSurface::SweptCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcProfileDef>(); } void Ifc2x3::IfcSweptSurface::setSweptCurve(const ::Ifc2x3::IfcProfileDef& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcAxis2Placement3D Ifc2x3::IfcSweptSurface::Position() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcAxis2Placement3D>(); } +::Ifc2x3::IfcAxis2Placement3D Ifc2x3::IfcSweptSurface::Position() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcAxis2Placement3D>(); } void Ifc2x3::IfcSweptSurface::setPosition(const ::Ifc2x3::IfcAxis2Placement3D& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11412,10 +11412,10 @@ void Ifc2x3::IfcSwitchingDeviceType::setPredefinedType(const ::Ifc2x3::IfcSwitch const ifcopenshell::entity& Ifc2x3::IfcSwitchingDeviceType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[862]); } -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; } +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>(); } +::Ifc2x3::IfcSymbolStyleSelect Ifc2x3::IfcSymbolStyle::StyleOfSymbol() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcSymbolStyleSelect>(); } void Ifc2x3::IfcSymbolStyle::setStyleOfSymbol(const ::Ifc2x3::IfcSymbolStyleSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11433,7 +11433,7 @@ Ifc2x3::IfcSystem Ifc2x3::IfcSystem::initialize(std::string v1_GlobalId, ::Ifc2x const ifcopenshell::entity& Ifc2x3::IfcSystemFurnitureElementType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[867]); } -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; } +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; } @@ -11464,23 +11464,23 @@ Ifc2x3::IfcTShapeProfileDef Ifc2x3::IfcTShapeProfileDef::initialize(::Ifc2x3::If // Function implementations for IfcTable std::string Ifc2x3::IfcTable::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcTable::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc2x3::IfcTableRow > Ifc2x3::IfcTable::Rows() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcTableRow>(es); } -void Ifc2x3::IfcTable::setRows(const std::vector< ::Ifc2x3::IfcTableRow >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc2x3::IfcTableRow > Ifc2x3::IfcTable::Rows() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcTableRow>(es); } +void Ifc2x3::IfcTable::setRows(const std::vector< ::Ifc2x3::IfcTableRow >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc2x3::IfcTable::Class() { return *((ifcopenshell::entity*)IFC2X3_types[868]); } -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; } +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); } -void Ifc2x3::IfcTableRow::setRowCells(const std::vector< ::Ifc2x3::IfcValue >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc2x3::IfcValue > Ifc2x3::IfcTableRow::RowCells() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcValue>(es); } +void Ifc2x3::IfcTableRow::setRowCells(const std::vector< ::Ifc2x3::IfcValue >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } bool Ifc2x3::IfcTableRow::IsHeading() const { bool v = get_attribute_value(1); return v; } void Ifc2x3::IfcTableRow::setIsHeading(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } 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]); } -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; } +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]); } -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; } +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; } @@ -11551,17 +11551,17 @@ const ifcopenshell::entity& Ifc2x3::IfcTendonAnchor::Class() { return *((ifcopen 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>(); } +::Ifc2x3::IfcAnnotationCurveOccurrence Ifc2x3::IfcTerminatorSymbol::AnnotatedCurve() const { return ((express::base)(get_attribute_value(3))).as<::Ifc2x3::IfcAnnotationCurveOccurrence>(); } void Ifc2x3::IfcTerminatorSymbol::setAnnotatedCurve(const ::Ifc2x3::IfcAnnotationCurveOccurrence& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc2x3::IfcTerminatorSymbol::Class() { return *((ifcopenshell::entity*)IFC2X3_types[878]); } -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; } +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; } void Ifc2x3::IfcTextLiteral::setLiteral(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcAxis2Placement Ifc2x3::IfcTextLiteral::Placement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcAxis2Placement>(); } +::Ifc2x3::IfcAxis2Placement Ifc2x3::IfcTextLiteral::Placement() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcAxis2Placement>(); } void Ifc2x3::IfcTextLiteral::setPlacement(const ::Ifc2x3::IfcAxis2Placement& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } ::Ifc2x3::IfcTextPath::Value Ifc2x3::IfcTextLiteral::Path() const { return ::Ifc2x3::IfcTextPath::FromString(get_attribute_value(2)); } void Ifc2x3::IfcTextLiteral::setPath(const ::Ifc2x3::IfcTextPath::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc2x3::IfcTextPath::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } @@ -11571,7 +11571,7 @@ const ifcopenshell::entity& Ifc2x3::IfcTextLiteral::Class() { return *((ifcopens 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>(); } +::Ifc2x3::IfcPlanarExtent Ifc2x3::IfcTextLiteralWithExtent::Extent() const { return ((express::base)(get_attribute_value(3))).as<::Ifc2x3::IfcPlanarExtent>(); } void Ifc2x3::IfcTextLiteralWithExtent::setExtent(const ::Ifc2x3::IfcPlanarExtent& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::string Ifc2x3::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = get_attribute_value(4); return v; } void Ifc2x3::IfcTextLiteralWithExtent::setBoxAlignment(const std::string& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -11581,11 +11581,11 @@ const ifcopenshell::entity& Ifc2x3::IfcTextLiteralWithExtent::Class() { return * 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>(); } +::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>(); } void Ifc2x3::IfcTextStyle::setTextCharacterAppearance(const ::Ifc2x3::IfcCharacterStyleSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc2x3::IfcTextStyleSelect Ifc2x3::IfcTextStyle::TextStyle() const { if(get_attribute_value(2).isNull()) { return ::Ifc2x3::IfcTextStyleSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcTextStyleSelect>(); } +::Ifc2x3::IfcTextStyleSelect Ifc2x3::IfcTextStyle::TextStyle() const { if(get_attribute_value(2).isNull()) { return ::Ifc2x3::IfcTextStyleSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcTextStyleSelect>(); } void Ifc2x3::IfcTextStyle::setTextStyle(const ::Ifc2x3::IfcTextStyleSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcTextFontSelect Ifc2x3::IfcTextStyle::TextFontStyle() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc2x3::IfcTextFontSelect>(); } +::Ifc2x3::IfcTextFontSelect Ifc2x3::IfcTextStyle::TextFontStyle() const { return ((express::base)(get_attribute_value(3))).as<::Ifc2x3::IfcTextFontSelect>(); } void Ifc2x3::IfcTextStyle::setTextFontStyle(const ::Ifc2x3::IfcTextFontSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -11601,7 +11601,7 @@ std::optional< std::string > Ifc2x3::IfcTextStyleFontModel::FontVariant() const void Ifc2x3::IfcTextStyleFontModel::setFontVariant(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } std::optional< std::string > Ifc2x3::IfcTextStyleFontModel::FontWeight() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc2x3::IfcTextStyleFontModel::setFontWeight(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc2x3::IfcSizeSelect Ifc2x3::IfcTextStyleFontModel::FontSize() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcSizeSelect>(); } +::Ifc2x3::IfcSizeSelect Ifc2x3::IfcTextStyleFontModel::FontSize() const { return ((express::base)(get_attribute_value(5))).as<::Ifc2x3::IfcSizeSelect>(); } void Ifc2x3::IfcTextStyleFontModel::setFontSize(const ::Ifc2x3::IfcSizeSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -11609,9 +11609,9 @@ const ifcopenshell::entity& Ifc2x3::IfcTextStyleFontModel::Class() { return *((i 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>(); } +::Ifc2x3::IfcColour Ifc2x3::IfcTextStyleForDefinedFont::Colour() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcColour>(); } void Ifc2x3::IfcTextStyleForDefinedFont::setColour(const ::Ifc2x3::IfcColour& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcColour Ifc2x3::IfcTextStyleForDefinedFont::BackgroundColour() const { if(get_attribute_value(1).isNull()) { return ::Ifc2x3::IfcColour{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcColour>(); } +::Ifc2x3::IfcColour Ifc2x3::IfcTextStyleForDefinedFont::BackgroundColour() const { if(get_attribute_value(1).isNull()) { return ::Ifc2x3::IfcColour{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcColour>(); } void Ifc2x3::IfcTextStyleForDefinedFont::setBackgroundColour(const ::Ifc2x3::IfcColour& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11619,19 +11619,19 @@ const ifcopenshell::entity& Ifc2x3::IfcTextStyleForDefinedFont::Class() { return 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>(); } +::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>(); } void Ifc2x3::IfcTextStyleTextModel::setTextIndent(const ::Ifc2x3::IfcSizeSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc2x3::IfcTextStyleTextModel::TextAlign() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcTextStyleTextModel::setTextAlign(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc2x3::IfcTextStyleTextModel::TextDecoration() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcTextStyleTextModel::setTextDecoration(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc2x3::IfcSizeSelect Ifc2x3::IfcTextStyleTextModel::LetterSpacing() const { if(get_attribute_value(3).isNull()) { return ::Ifc2x3::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc2x3::IfcSizeSelect>(); } +::Ifc2x3::IfcSizeSelect Ifc2x3::IfcTextStyleTextModel::LetterSpacing() const { if(get_attribute_value(3).isNull()) { return ::Ifc2x3::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc2x3::IfcSizeSelect>(); } void Ifc2x3::IfcTextStyleTextModel::setLetterSpacing(const ::Ifc2x3::IfcSizeSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc2x3::IfcSizeSelect Ifc2x3::IfcTextStyleTextModel::WordSpacing() const { if(get_attribute_value(4).isNull()) { return ::Ifc2x3::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc2x3::IfcSizeSelect>(); } +::Ifc2x3::IfcSizeSelect Ifc2x3::IfcTextStyleTextModel::WordSpacing() const { if(get_attribute_value(4).isNull()) { return ::Ifc2x3::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc2x3::IfcSizeSelect>(); } void Ifc2x3::IfcTextStyleTextModel::setWordSpacing(const ::Ifc2x3::IfcSizeSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::optional< std::string > Ifc2x3::IfcTextStyleTextModel::TextTransform() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc2x3::IfcTextStyleTextModel::setTextTransform(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc2x3::IfcSizeSelect Ifc2x3::IfcTextStyleTextModel::LineHeight() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc2x3::IfcSizeSelect>(); } +::Ifc2x3::IfcSizeSelect Ifc2x3::IfcTextStyleTextModel::LineHeight() const { if(get_attribute_value(6).isNull()) { return ::Ifc2x3::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc2x3::IfcSizeSelect>(); } void Ifc2x3::IfcTextStyleTextModel::setLineHeight(const ::Ifc2x3::IfcSizeSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -11647,7 +11647,7 @@ std::optional< double > Ifc2x3::IfcTextStyleWithBoxCharacteristics::BoxSlantAngl void Ifc2x3::IfcTextStyleWithBoxCharacteristics::setBoxSlantAngle(const std::optional< double >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } std::optional< double > Ifc2x3::IfcTextStyleWithBoxCharacteristics::BoxRotateAngle() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc2x3::IfcTextStyleWithBoxCharacteristics::setBoxRotateAngle(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc2x3::IfcSizeSelect Ifc2x3::IfcTextStyleWithBoxCharacteristics::CharacterSpacing() const { if(get_attribute_value(4).isNull()) { return ::Ifc2x3::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc2x3::IfcSizeSelect>(); } +::Ifc2x3::IfcSizeSelect Ifc2x3::IfcTextStyleWithBoxCharacteristics::CharacterSpacing() const { if(get_attribute_value(4).isNull()) { return ::Ifc2x3::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc2x3::IfcSizeSelect>(); } void Ifc2x3::IfcTextStyleWithBoxCharacteristics::setCharacterSpacing(const ::Ifc2x3::IfcSizeSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -11664,20 +11664,20 @@ Ifc2x3::IfcTextureCoordinate Ifc2x3::IfcTextureCoordinate::initialize() { ; retu // Function implementations for IfcTextureCoordinateGenerator std::string Ifc2x3::IfcTextureCoordinateGenerator::Mode() const { std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcTextureCoordinateGenerator::setMode(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc2x3::IfcSimpleValue > Ifc2x3::IfcTextureCoordinateGenerator::Parameter() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcSimpleValue>(es); } -void Ifc2x3::IfcTextureCoordinateGenerator::setParameter(const std::vector< ::Ifc2x3::IfcSimpleValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc2x3::IfcSimpleValue > Ifc2x3::IfcTextureCoordinateGenerator::Parameter() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcSimpleValue>(es); } +void Ifc2x3::IfcTextureCoordinateGenerator::setParameter(const std::vector< ::Ifc2x3::IfcSimpleValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc2x3::IfcTextureCoordinateGenerator::Class() { return *((ifcopenshell::entity*)IFC2X3_types[895]); } -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; } +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); } -void Ifc2x3::IfcTextureMap::setTextureMaps(const std::vector< ::Ifc2x3::IfcVertexBasedTextureMap >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc2x3::IfcVertexBasedTextureMap > Ifc2x3::IfcTextureMap::TextureMaps() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcVertexBasedTextureMap>(es); } +void Ifc2x3::IfcTextureMap::setTextureMaps(const std::vector< ::Ifc2x3::IfcVertexBasedTextureMap >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc2x3::IfcTextureMap::Class() { return *((ifcopenshell::entity*)IFC2X3_types[896]); } -Ifc2x3::IfcTextureMap Ifc2x3::IfcTextureMap::initialize(std::vector< ::Ifc2x3::IfcVertexBasedTextureMap > v1_TextureMaps) { set_attribute_value(0, cast_vector(v1_TextureMaps));; return *this; } +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; } @@ -11706,9 +11706,9 @@ std::string Ifc2x3::IfcTimeSeries::Name() const { std::string v = get_attribute void Ifc2x3::IfcTimeSeries::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc2x3::IfcTimeSeries::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcTimeSeries::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcTimeSeries::StartTime() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcTimeSeries::StartTime() const { return ((express::base)(get_attribute_value(2))).as<::Ifc2x3::IfcDateTimeSelect>(); } void Ifc2x3::IfcTimeSeries::setStartTime(const ::Ifc2x3::IfcDateTimeSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcTimeSeries::EndTime() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcTimeSeries::EndTime() const { return ((express::base)(get_attribute_value(3))).as<::Ifc2x3::IfcDateTimeSelect>(); } void Ifc2x3::IfcTimeSeries::setEndTime(const ::Ifc2x3::IfcDateTimeSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } ::Ifc2x3::IfcTimeSeriesDataTypeEnum::Value Ifc2x3::IfcTimeSeries::TimeSeriesDataType() const { return ::Ifc2x3::IfcTimeSeriesDataTypeEnum::FromString(get_attribute_value(4)); } void Ifc2x3::IfcTimeSeries::setTimeSeriesDataType(const ::Ifc2x3::IfcTimeSeriesDataTypeEnum::Value& v) { set_attribute_value(4, enumeration_reference(&::Ifc2x3::IfcTimeSeriesDataTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } @@ -11716,7 +11716,7 @@ void Ifc2x3::IfcTimeSeries::setTimeSeriesDataType(const ::Ifc2x3::IfcTimeSeriesD void Ifc2x3::IfcTimeSeries::setDataOrigin(const ::Ifc2x3::IfcDataOriginEnum::Value& v) { set_attribute_value(5, enumeration_reference(&::Ifc2x3::IfcDataOriginEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } std::optional< std::string > Ifc2x3::IfcTimeSeries::UserDefinedDataOrigin() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc2x3::IfcTimeSeries::setUserDefinedDataOrigin(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc2x3::IfcUnit Ifc2x3::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return ::Ifc2x3::IfcUnit{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc2x3::IfcUnit>(); } +::Ifc2x3::IfcUnit Ifc2x3::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return ::Ifc2x3::IfcUnit{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc2x3::IfcUnit>(); } void Ifc2x3::IfcTimeSeries::setUnit(const ::Ifc2x3::IfcUnit& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } std::vector<::Ifc2x3::IfcTimeSeriesReferenceRelationship> Ifc2x3::IfcTimeSeries::DocumentedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[910], 0)); } @@ -11725,34 +11725,34 @@ const ifcopenshell::entity& Ifc2x3::IfcTimeSeries::Class() { return *((ifcopensh 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>(); } +::Ifc2x3::IfcTimeSeries Ifc2x3::IfcTimeSeriesReferenceRelationship::ReferencedTimeSeries() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcTimeSeries>(); } void Ifc2x3::IfcTimeSeriesReferenceRelationship::setReferencedTimeSeries(const ::Ifc2x3::IfcTimeSeries& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc2x3::IfcDocumentSelect > Ifc2x3::IfcTimeSeriesReferenceRelationship::TimeSeriesReferences() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcDocumentSelect>(es); } -void Ifc2x3::IfcTimeSeriesReferenceRelationship::setTimeSeriesReferences(const std::vector< ::Ifc2x3::IfcDocumentSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc2x3::IfcDocumentSelect > Ifc2x3::IfcTimeSeriesReferenceRelationship::TimeSeriesReferences() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcDocumentSelect>(es); } +void Ifc2x3::IfcTimeSeriesReferenceRelationship::setTimeSeriesReferences(const std::vector< ::Ifc2x3::IfcDocumentSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc2x3::IfcTimeSeriesReferenceRelationship::Class() { return *((ifcopenshell::entity*)IFC2X3_types[910]); } -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; } +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); } -void Ifc2x3::IfcTimeSeriesSchedule::setApplicableDates(const std::optional< std::vector< ::Ifc2x3::IfcDateTimeSelect > >& v) { if (v) {set_attribute_value(5, cast_vector(*v));} else {unset_attribute_value(5);} } +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); } +void Ifc2x3::IfcTimeSeriesSchedule::setApplicableDates(const std::optional< std::vector< ::Ifc2x3::IfcDateTimeSelect > >& v) { if (v) {set_attribute_value(5, cast_vector(*v));} else {unset_attribute_value(5);} } ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value Ifc2x3::IfcTimeSeriesSchedule::TimeSeriesScheduleType() const { return ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::FromString(get_attribute_value(6)); } void Ifc2x3::IfcTimeSeriesSchedule::setTimeSeriesScheduleType(const ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value& v) { set_attribute_value(6, enumeration_reference(&::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(6); } -::Ifc2x3::IfcTimeSeries Ifc2x3::IfcTimeSeriesSchedule::TimeSeries() const { return ((express::Base)(get_attribute_value(7))).as<::Ifc2x3::IfcTimeSeries>(); } +::Ifc2x3::IfcTimeSeries Ifc2x3::IfcTimeSeriesSchedule::TimeSeries() const { return ((express::base)(get_attribute_value(7))).as<::Ifc2x3::IfcTimeSeries>(); } void Ifc2x3::IfcTimeSeriesSchedule::setTimeSeries(const ::Ifc2x3::IfcTimeSeries& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const ifcopenshell::entity& Ifc2x3::IfcTimeSeriesSchedule::Class() { return *((ifcopenshell::entity*)IFC2X3_types[911]); } -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; } +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); } -void Ifc2x3::IfcTimeSeriesValue::setListValues(const std::vector< ::Ifc2x3::IfcValue >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc2x3::IfcValue > Ifc2x3::IfcTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcValue>(es); } +void Ifc2x3::IfcTimeSeriesValue::setListValues(const std::vector< ::Ifc2x3::IfcValue >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc2x3::IfcTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC2X3_types[913]); } -Ifc2x3::IfcTimeSeriesValue Ifc2x3::IfcTimeSeriesValue::initialize(std::vector< ::Ifc2x3::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues));; return *this; } +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 @@ -11764,7 +11764,7 @@ Ifc2x3::IfcTopologicalRepresentationItem Ifc2x3::IfcTopologicalRepresentationIte const ifcopenshell::entity& Ifc2x3::IfcTopologyRepresentation::Class() { return *((ifcopenshell::entity*)IFC2X3_types[916]); } -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; } +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]); } -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; } +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)); } @@ -11792,7 +11792,7 @@ void Ifc2x3::IfcTransportElementType::setPredefinedType(const ::Ifc2x3::IfcTrans const ifcopenshell::entity& Ifc2x3::IfcTransportElementType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[922]); } -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; } +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; } @@ -11809,12 +11809,12 @@ const ifcopenshell::entity& Ifc2x3::IfcTrapeziumProfileDef::Class() { return *(( 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>(); } +::Ifc2x3::IfcCurve Ifc2x3::IfcTrimmedCurve::BasisCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcCurve>(); } void Ifc2x3::IfcTrimmedCurve::setBasisCurve(const ::Ifc2x3::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc2x3::IfcTrimmingSelect > Ifc2x3::IfcTrimmedCurve::Trim1() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcTrimmingSelect>(es); } -void Ifc2x3::IfcTrimmedCurve::setTrim1(const std::vector< ::Ifc2x3::IfcTrimmingSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc2x3::IfcTrimmingSelect > Ifc2x3::IfcTrimmedCurve::Trim2() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc2x3::IfcTrimmingSelect>(es); } -void Ifc2x3::IfcTrimmedCurve::setTrim2(const std::vector< ::Ifc2x3::IfcTrimmingSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc2x3::IfcTrimmingSelect > Ifc2x3::IfcTrimmedCurve::Trim1() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcTrimmingSelect>(es); } +void Ifc2x3::IfcTrimmedCurve::setTrim1(const std::vector< ::Ifc2x3::IfcTrimmingSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc2x3::IfcTrimmingSelect > Ifc2x3::IfcTrimmedCurve::Trim2() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc2x3::IfcTrimmingSelect>(es); } +void Ifc2x3::IfcTrimmedCurve::setTrim2(const std::vector< ::Ifc2x3::IfcTrimmingSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } bool Ifc2x3::IfcTrimmedCurve::SenseAgreement() const { bool v = get_attribute_value(3); return v; } void Ifc2x3::IfcTrimmedCurve::setSenseAgreement(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } ::Ifc2x3::IfcTrimmingPreference::Value Ifc2x3::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc2x3::IfcTrimmingPreference::FromString(get_attribute_value(4)); } @@ -11822,7 +11822,7 @@ void Ifc2x3::IfcTrimmedCurve::setMasterRepresentation(const ::Ifc2x3::IfcTrimmin const ifcopenshell::entity& Ifc2x3::IfcTrimmedCurve::Class() { return *((ifcopenshell::entity*)IFC2X3_types[925]); } -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; } +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,10 +11830,10 @@ void Ifc2x3::IfcTubeBundleType::setPredefinedType(const ::Ifc2x3::IfcTubeBundleT const ifcopenshell::entity& Ifc2x3::IfcTubeBundleType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[929]); } -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; } +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>(); } +::Ifc2x3::IfcVector Ifc2x3::IfcTwoDirectionRepeatFactor::SecondRepeatFactor() const { return ((express::base)(get_attribute_value(1))).as<::Ifc2x3::IfcVector>(); } void Ifc2x3::IfcTwoDirectionRepeatFactor::setSecondRepeatFactor(const ::Ifc2x3::IfcVector& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11843,23 +11843,23 @@ Ifc2x3::IfcTwoDirectionRepeatFactor Ifc2x3::IfcTwoDirectionRepeatFactor::initial // 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; } void Ifc2x3::IfcTypeObject::setApplicableOccurrence(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > Ifc2x3::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(5); return cast_vector<::Ifc2x3::IfcPropertySetDefinition>(es); } -void Ifc2x3::IfcTypeObject::setHasPropertySets(const std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > >& v) { if (v) {set_attribute_value(5, cast_vector(*v));} else {unset_attribute_value(5);} } +std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > Ifc2x3::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(5); return cast_vector<::Ifc2x3::IfcPropertySetDefinition>(es); } +void Ifc2x3::IfcTypeObject::setHasPropertySets(const std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > >& v) { if (v) {set_attribute_value(5, cast_vector(*v));} else {unset_attribute_value(5);} } 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]); } -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; } +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); } -void Ifc2x3::IfcTypeProduct::setRepresentationMaps(const std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +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); } +void Ifc2x3::IfcTypeProduct::setRepresentationMaps(const std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } std::optional< std::string > Ifc2x3::IfcTypeProduct::Tag() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc2x3::IfcTypeProduct::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const ifcopenshell::entity& Ifc2x3::IfcTypeProduct::Class() { return *((ifcopenshell::entity*)IFC2X3_types[933]); } -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; } +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; } @@ -11884,12 +11884,12 @@ const ifcopenshell::entity& Ifc2x3::IfcUShapeProfileDef::Class() { return *((ifc 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); } -void Ifc2x3::IfcUnitAssignment::setUnits(const std::vector< ::Ifc2x3::IfcUnit >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc2x3::IfcUnit > Ifc2x3::IfcUnitAssignment::Units() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcUnit>(es); } +void Ifc2x3::IfcUnitAssignment::setUnits(const std::vector< ::Ifc2x3::IfcUnit >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc2x3::IfcUnitAssignment::Class() { return *((ifcopenshell::entity*)IFC2X3_types[937]); } -Ifc2x3::IfcUnitAssignment Ifc2x3::IfcUnitAssignment::initialize(std::vector< ::Ifc2x3::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units));; return *this; } +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]); } -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; } +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,10 +11905,10 @@ void Ifc2x3::IfcValveType::setPredefinedType(const ::Ifc2x3::IfcValveTypeEnum::V const ifcopenshell::entity& Ifc2x3::IfcValveType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[941]); } -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; } +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>(); } +::Ifc2x3::IfcDirection Ifc2x3::IfcVector::Orientation() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcDirection>(); } void Ifc2x3::IfcVector::setOrientation(const ::Ifc2x3::IfcDirection& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc2x3::IfcVector::Magnitude() const { double v = get_attribute_value(1); return v; } void Ifc2x3::IfcVector::setMagnitude(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11924,17 +11924,17 @@ const ifcopenshell::entity& Ifc2x3::IfcVertex::Class() { return *((ifcopenshell: 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); } -void Ifc2x3::IfcVertexBasedTextureMap::setTextureVertices(const std::vector< ::Ifc2x3::IfcTextureVertex >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc2x3::IfcCartesianPoint > Ifc2x3::IfcVertexBasedTextureMap::TexturePoints() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcCartesianPoint>(es); } -void Ifc2x3::IfcVertexBasedTextureMap::setTexturePoints(const std::vector< ::Ifc2x3::IfcCartesianPoint >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc2x3::IfcTextureVertex > Ifc2x3::IfcVertexBasedTextureMap::TextureVertices() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcTextureVertex>(es); } +void Ifc2x3::IfcVertexBasedTextureMap::setTextureVertices(const std::vector< ::Ifc2x3::IfcTextureVertex >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc2x3::IfcCartesianPoint > Ifc2x3::IfcVertexBasedTextureMap::TexturePoints() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcCartesianPoint>(es); } +void Ifc2x3::IfcVertexBasedTextureMap::setTexturePoints(const std::vector< ::Ifc2x3::IfcCartesianPoint >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc2x3::IfcVertexBasedTextureMap::Class() { return *((ifcopenshell::entity*)IFC2X3_types[947]); } -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; } +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>(); } +::Ifc2x3::IfcVertex Ifc2x3::IfcVertexLoop::LoopVertex() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcVertex>(); } void Ifc2x3::IfcVertexLoop::setLoopVertex(const ::Ifc2x3::IfcVertex& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -11942,7 +11942,7 @@ const ifcopenshell::entity& Ifc2x3::IfcVertexLoop::Class() { return *((ifcopensh 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>(); } +::Ifc2x3::IfcPoint Ifc2x3::IfcVertexPoint::VertexGeometry() const { return ((express::base)(get_attribute_value(0))).as<::Ifc2x3::IfcPoint>(); } void Ifc2x3::IfcVertexPoint::setVertexGeometry(const ::Ifc2x3::IfcPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -11955,7 +11955,7 @@ void Ifc2x3::IfcVibrationIsolatorType::setPredefinedType(const ::Ifc2x3::IfcVibr const ifcopenshell::entity& Ifc2x3::IfcVibrationIsolatorType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[950]); } -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; } +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 @@ -11964,14 +11964,14 @@ const ifcopenshell::entity& Ifc2x3::IfcVirtualElement::Class() { return *((ifcop 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); } -void Ifc2x3::IfcVirtualGridIntersection::setIntersectingAxes(const std::vector< ::Ifc2x3::IfcGridAxis >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc2x3::IfcGridAxis > Ifc2x3::IfcVirtualGridIntersection::IntersectingAxes() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcGridAxis>(es); } +void Ifc2x3::IfcVirtualGridIntersection::setIntersectingAxes(const std::vector< ::Ifc2x3::IfcGridAxis >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } std::vector< double > /*[2:3]*/ Ifc2x3::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc2x3::IfcVirtualGridIntersection::setOffsetDistances(const std::vector< double > /*[2:3]*/& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc2x3::IfcVirtualGridIntersection::Class() { return *((ifcopenshell::entity*)IFC2X3_types[953]); } -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; } +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 @@ -11991,7 +11991,7 @@ void Ifc2x3::IfcWallType::setPredefinedType(const ::Ifc2x3::IfcWallTypeEnum::Val const ifcopenshell::entity& Ifc2x3::IfcWallType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[958]); } -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; } +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]); } -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; } +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; } @@ -12048,7 +12048,7 @@ std::optional< double > Ifc2x3::IfcWindowLiningProperties::FirstMullionOffset() void Ifc2x3::IfcWindowLiningProperties::setFirstMullionOffset(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } std::optional< double > Ifc2x3::IfcWindowLiningProperties::SecondMullionOffset() const { if(get_attribute_value(11).isNull()) { return std::nullopt; } double v = get_attribute_value(11); return v; } void Ifc2x3::IfcWindowLiningProperties::setSecondMullionOffset(const std::optional< double >& v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -::Ifc2x3::IfcShapeAspect Ifc2x3::IfcWindowLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(12).isNull()) { return ::Ifc2x3::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(12))).as<::Ifc2x3::IfcShapeAspect>(); } +::Ifc2x3::IfcShapeAspect Ifc2x3::IfcWindowLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(12).isNull()) { return ::Ifc2x3::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(12))).as<::Ifc2x3::IfcShapeAspect>(); } void Ifc2x3::IfcWindowLiningProperties::setShapeAspectStyle(const ::Ifc2x3::IfcShapeAspect& v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } @@ -12064,7 +12064,7 @@ std::optional< double > Ifc2x3::IfcWindowPanelProperties::FrameDepth() const { i void Ifc2x3::IfcWindowPanelProperties::setFrameDepth(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } std::optional< double > Ifc2x3::IfcWindowPanelProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } void Ifc2x3::IfcWindowPanelProperties::setFrameThickness(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc2x3::IfcShapeAspect Ifc2x3::IfcWindowPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc2x3::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc2x3::IfcShapeAspect>(); } +::Ifc2x3::IfcShapeAspect Ifc2x3::IfcWindowPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc2x3::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc2x3::IfcShapeAspect>(); } void Ifc2x3::IfcWindowPanelProperties::setShapeAspectStyle(const ::Ifc2x3::IfcShapeAspect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -12083,24 +12083,24 @@ void Ifc2x3::IfcWindowStyle::setSizeable(const bool& v) { set_attribute_value(11 const ifcopenshell::entity& Ifc2x3::IfcWindowStyle::Class() { return *((ifcopenshell::entity*)IFC2X3_types[970]); } -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; } +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; } void Ifc2x3::IfcWorkControl::setIdentifier(const std::string& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcWorkControl::CreationDate() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcWorkControl::CreationDate() const { return ((express::base)(get_attribute_value(6))).as<::Ifc2x3::IfcDateTimeSelect>(); } void Ifc2x3::IfcWorkControl::setCreationDate(const ::Ifc2x3::IfcDateTimeSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::optional< std::vector< ::Ifc2x3::IfcPerson > > Ifc2x3::IfcWorkControl::Creators() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc2x3::IfcPerson>(es); } -void Ifc2x3::IfcWorkControl::setCreators(const std::optional< std::vector< ::Ifc2x3::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc2x3::IfcPerson > > Ifc2x3::IfcWorkControl::Creators() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc2x3::IfcPerson>(es); } +void Ifc2x3::IfcWorkControl::setCreators(const std::optional< std::vector< ::Ifc2x3::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< std::string > Ifc2x3::IfcWorkControl::Purpose() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc2x3::IfcWorkControl::setPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } std::optional< double > Ifc2x3::IfcWorkControl::Duration() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } void Ifc2x3::IfcWorkControl::setDuration(const std::optional< double >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } std::optional< double > Ifc2x3::IfcWorkControl::TotalFloat() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc2x3::IfcWorkControl::setTotalFloat(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcWorkControl::StartTime() const { return ((express::Base)(get_attribute_value(11))).as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcWorkControl::StartTime() const { return ((express::base)(get_attribute_value(11))).as<::Ifc2x3::IfcDateTimeSelect>(); } void Ifc2x3::IfcWorkControl::setStartTime(const ::Ifc2x3::IfcDateTimeSelect& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcWorkControl::FinishTime() const { if(get_attribute_value(12).isNull()) { return ::Ifc2x3::IfcDateTimeSelect{}; } return ((express::Base)(get_attribute_value(12))).as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcWorkControl::FinishTime() const { if(get_attribute_value(12).isNull()) { return ::Ifc2x3::IfcDateTimeSelect{}; } return ((express::base)(get_attribute_value(12))).as<::Ifc2x3::IfcDateTimeSelect>(); } void Ifc2x3::IfcWorkControl::setFinishTime(const ::Ifc2x3::IfcDateTimeSelect& v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } std::optional< ::Ifc2x3::IfcWorkControlTypeEnum::Value > Ifc2x3::IfcWorkControl::WorkControlType() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } return ::Ifc2x3::IfcWorkControlTypeEnum::FromString(get_attribute_value(13)); } void Ifc2x3::IfcWorkControl::setWorkControlType(const std::optional< ::Ifc2x3::IfcWorkControlTypeEnum::Value >& v) { if (v) {set_attribute_value(13, enumeration_reference(&::Ifc2x3::IfcWorkControlTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } @@ -12109,19 +12109,19 @@ void Ifc2x3::IfcWorkControl::setUserDefinedControlType(const std::optional< std: const ifcopenshell::entity& Ifc2x3::IfcWorkControl::Class() { return *((ifcopenshell::entity*)IFC2X3_types[973]); } -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; } +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]); } -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; } +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]); } -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; } +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; } diff --git a/src/ifcparse/schemas/Ifc2x3.h b/src/ifcparse/schemas/Ifc2x3.h index f93ff073cf..c13bc04c99 100644 --- a/src/ifcparse/schemas/Ifc2x3.h +++ b/src/ifcparse/schemas/Ifc2x3.h @@ -65,28 +65,28 @@ class Ifc2DCompositeCurve; class IfcActionRequest; class IfcActor; class IfcActo /// IfcOrganization An organization. /// IfcPerson A person. /// IfcPersonAndOrganization A person related to an organization. -class IFC_SCHEMA_API IfcActorSelect : public express::Select { +class IFC_SCHEMA_API IfcActorSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOrganization as() const { return express::Base::as(); } + // IfcOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPerson as() const { return express::Base::as(); } + // IfcPerson as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPersonAndOrganization as() const { return express::Base::as(); } + // IfcPersonAndOrganization as() const { return express::base::as(); } - IfcActorSelect(const IfcOrganization& c) : express::Select(c) {}; + IfcActorSelect(const IfcOrganization& c) : express::select(c) {}; - IfcActorSelect(const IfcPerson& c) : express::Select(c) {}; + IfcActorSelect(const IfcPerson& c) : express::select(c) {}; - IfcActorSelect(const IfcPersonAndOrganization& c) : express::Select(c) {}; + IfcActorSelect(const IfcPersonAndOrganization& c) : express::select(c) {}; }; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. @@ -103,28 +103,28 @@ public: /// Selecting IfcMeasureWithUnit allows the specification of both the actual figure for the value together with the currency in which the value is represented. /// Selecting IfcMonetaryMeasure allows the specification only of the value, the currency being as set by the global context /// 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_SCHEMA_API IfcAppliedValueSelect : public express::Select { +class IFC_SCHEMA_API IfcAppliedValueSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureWithUnit as() const { return express::Base::as(); } + // IfcMeasureWithUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } - IfcAppliedValueSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRatioMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMeasureWithUnit& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMeasureWithUnit& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMonetaryMeasure& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. @@ -132,22 +132,22 @@ public: /// NOTE: Corresponding STEP type: axis2_placement, please refer to ISO/IS 10303-42:1994, p. 19 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 1.5 -class IFC_SCHEMA_API IfcAxis2Placement : public express::Select { +class IFC_SCHEMA_API IfcAxis2Placement : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAxis2Placement2D as() const { return express::Base::as(); } + // IfcAxis2Placement2D as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAxis2Placement3D as() const { return express::Base::as(); } + // IfcAxis2Placement3D as() const { return express::base::as(); } - IfcAxis2Placement(const IfcAxis2Placement2D& c) : express::Select(c) {}; + IfcAxis2Placement(const IfcAxis2Placement2D& c) : express::select(c) {}; - IfcAxis2Placement(const IfcAxis2Placement3D& c) : express::Select(c) {}; + IfcAxis2Placement(const IfcAxis2Placement3D& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies @@ -166,34 +166,34 @@ public: /// (IfcSolidModel) are defined for being valid Boolean operands. /// /// HISTORY: New Type in IFC Release 1.5.1 -class IFC_SCHEMA_API IfcBooleanOperand : public express::Select { +class IFC_SCHEMA_API IfcBooleanOperand : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidModel as() const { return express::Base::as(); } + // IfcSolidModel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHalfSpaceSolid as() const { return express::Base::as(); } + // IfcHalfSpaceSolid as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBooleanResult as() const { return express::Base::as(); } + // IfcBooleanResult as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCsgPrimitive3D as() const { return express::Base::as(); } + // IfcCsgPrimitive3D as() const { return express::base::as(); } - IfcBooleanOperand(const IfcSolidModel& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcSolidModel& c) : express::select(c) {}; - IfcBooleanOperand(const IfcHalfSpaceSolid& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcHalfSpaceSolid& c) : express::select(c) {}; - IfcBooleanOperand(const IfcBooleanResult& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcBooleanResult& c) : express::select(c) {}; - IfcBooleanOperand(const IfcCsgPrimitive3D& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcCsgPrimitive3D& c) : express::select(c) {}; }; /// The character style select allows for a selection of character styles for text. Currently only text color and background color is selectable. @@ -204,35 +204,35 @@ public: /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The SELECT item IfcTextStyleForDefinedFont replaces the old IfcColour. -class IFC_SCHEMA_API IfcCharacterStyleSelect : public express::Select { +class IFC_SCHEMA_API IfcCharacterStyleSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTextStyleForDefinedFont as() const { return express::Base::as(); } + // IfcTextStyleForDefinedFont as() const { return express::base::as(); } - IfcCharacterStyleSelect(const IfcTextStyleForDefinedFont& c) : express::Select(c) {}; + IfcCharacterStyleSelect(const IfcTextStyleForDefinedFont& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcClassificationNotationSelect : public express::Select { +class IFC_SCHEMA_API IfcClassificationNotationSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassificationNotation as() const { return express::Base::as(); } + // IfcClassificationNotation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassificationReference as() const { return express::Base::as(); } + // IfcClassificationReference as() const { return express::base::as(); } - IfcClassificationNotationSelect(const IfcClassificationNotation& c) : express::Select(c) {}; + IfcClassificationNotationSelect(const IfcClassificationNotation& c) : express::select(c) {}; - IfcClassificationNotationSelect(const IfcClassificationReference& c) : express::Select(c) {}; + IfcClassificationNotationSelect(const IfcClassificationReference& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. @@ -240,62 +240,62 @@ public: /// NOTE  Corresponding STEP name: colour. It has been made into a SELECT type in IFC to avoid multiple inheritance for pre defined colour. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_SCHEMA_API IfcColour : public express::Select { +class IFC_SCHEMA_API IfcColour : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColourSpecification as() const { return express::Base::as(); } + // IfcColourSpecification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedColour as() const { return express::Base::as(); } + // IfcPreDefinedColour as() const { return express::base::as(); } - IfcColour(const IfcColourSpecification& c) : express::Select(c) {}; + IfcColour(const IfcColourSpecification& c) : express::select(c) {}; - IfcColour(const IfcPreDefinedColour& c) : express::Select(c) {}; + IfcColour(const IfcPreDefinedColour& c) : express::select(c) {}; }; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcColourOrFactor : public express::Select { +class IFC_SCHEMA_API IfcColourOrFactor : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColourRgb as() const { return express::Base::as(); } + // IfcColourRgb as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } - IfcColourOrFactor(const IfcColourRgb& c) : express::Select(c) {}; + IfcColourOrFactor(const IfcColourRgb& c) : express::select(c) {}; - IfcColourOrFactor(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcColourOrFactor(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcConditionCriterionSelect : public express::Select { +class IFC_SCHEMA_API IfcConditionCriterionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureWithUnit as() const { return express::Base::as(); } + // IfcMeasureWithUnit as() const { return express::base::as(); } - IfcConditionCriterionSelect(const IfcLabel& c) : express::Select(c) {}; + IfcConditionCriterionSelect(const IfcLabel& c) : express::select(c) {}; - IfcConditionCriterionSelect(const IfcMeasureWithUnit& c) : express::Select(c) {}; + IfcConditionCriterionSelect(const IfcMeasureWithUnit& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. @@ -304,22 +304,22 @@ public: /// NOTE Corresponding ISO 10303-42 type: csg_select, please refer to ISO/IS 10303-42:1994, p.168 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcCsgSelect : public express::Select { +class IFC_SCHEMA_API IfcCsgSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBooleanResult as() const { return express::Base::as(); } + // IfcBooleanResult as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCsgPrimitive3D as() const { return express::Base::as(); } + // IfcCsgPrimitive3D as() const { return express::base::as(); } - IfcCsgSelect(const IfcBooleanResult& c) : express::Select(c) {}; + IfcCsgSelect(const IfcBooleanResult& c) : express::select(c) {}; - IfcCsgSelect(const IfcCsgPrimitive3D& c) : express::Select(c) {}; + IfcCsgSelect(const IfcCsgPrimitive3D& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. @@ -327,34 +327,34 @@ public: /// NOTE Corresponding ISO 10303 name: curve_font_or_scaled_curve_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_SCHEMA_API IfcCurveFontOrScaledCurveFontSelect : public express::Select { +class IFC_SCHEMA_API IfcCurveFontOrScaledCurveFontSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFontSelect as() const { return express::Base::as(); } + // IfcCurveStyleFontSelect as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedCurveFont as() const { return express::Base::as(); } + // IfcPreDefinedCurveFont as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFont as() const { return express::Base::as(); } + // IfcCurveStyleFont as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFontAndScaling as() const { return express::Base::as(); } + // IfcCurveStyleFontAndScaling as() const { return express::base::as(); } - IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontSelect& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontSelect& c) : express::select(c) {}; - IfcCurveFontOrScaledCurveFontSelect(const IfcPreDefinedCurveFont& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcPreDefinedCurveFont& c) : express::select(c) {}; - IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFont& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFont& c) : express::select(c) {}; - IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontAndScaling& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontAndScaling& c) : express::select(c) {}; }; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve @@ -365,22 +365,22 @@ public: /// IfcEdgeCurve /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_SCHEMA_API IfcCurveOrEdgeCurve : public express::Select { +class IFC_SCHEMA_API IfcCurveOrEdgeCurve : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoundedCurve as() const { return express::Base::as(); } + // IfcBoundedCurve as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEdgeCurve as() const { return express::Base::as(); } + // IfcEdgeCurve as() const { return express::base::as(); } - IfcCurveOrEdgeCurve(const IfcBoundedCurve& c) : express::Select(c) {}; + IfcCurveOrEdgeCurve(const IfcBoundedCurve& c) : express::select(c) {}; - IfcCurveOrEdgeCurve(const IfcEdgeCurve& c) : express::Select(c) {}; + IfcCurveOrEdgeCurve(const IfcEdgeCurve& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. @@ -388,47 +388,47 @@ public: /// NOTE Corresponding ISO 10303 name: curve_style_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_SCHEMA_API IfcCurveStyleFontSelect : public express::Select { +class IFC_SCHEMA_API IfcCurveStyleFontSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedCurveFont as() const { return express::Base::as(); } + // IfcPreDefinedCurveFont as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFont as() const { return express::Base::as(); } + // IfcCurveStyleFont as() const { return express::base::as(); } - IfcCurveStyleFontSelect(const IfcPreDefinedCurveFont& c) : express::Select(c) {}; + IfcCurveStyleFontSelect(const IfcPreDefinedCurveFont& c) : express::select(c) {}; - IfcCurveStyleFontSelect(const IfcCurveStyleFont& c) : express::Select(c) {}; + IfcCurveStyleFontSelect(const IfcCurveStyleFont& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcDateTimeSelect : public express::Select { +class IFC_SCHEMA_API IfcDateTimeSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCalendarDate as() const { return express::Base::as(); } + // IfcCalendarDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLocalTime as() const { return express::Base::as(); } + // IfcLocalTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateAndTime as() const { return express::Base::as(); } + // IfcDateAndTime as() const { return express::base::as(); } - IfcDateTimeSelect(const IfcCalendarDate& c) : express::Select(c) {}; + IfcDateTimeSelect(const IfcCalendarDate& c) : express::select(c) {}; - IfcDateTimeSelect(const IfcLocalTime& c) : express::Select(c) {}; + IfcDateTimeSelect(const IfcLocalTime& c) : express::select(c) {}; - IfcDateTimeSelect(const IfcDateAndTime& c) : express::Select(c) {}; + IfcDateTimeSelect(const IfcDateAndTime& c) : express::select(c) {}; }; /// The defined symbol select is a selection between a predefined symbol and an externally defined symbol. @@ -436,22 +436,22 @@ public: /// NOTE Corresponding ISO 10303 name: defined_symbol_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcDefinedSymbolSelect : public express::Select { +class IFC_SCHEMA_API IfcDefinedSymbolSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedSymbol as() const { return express::Base::as(); } + // IfcPreDefinedSymbol as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternallyDefinedSymbol as() const { return express::Base::as(); } + // IfcExternallyDefinedSymbol as() const { return express::base::as(); } - IfcDefinedSymbolSelect(const IfcPreDefinedSymbol& c) : express::Select(c) {}; + IfcDefinedSymbolSelect(const IfcPreDefinedSymbol& c) : express::select(c) {}; - IfcDefinedSymbolSelect(const IfcExternallyDefinedSymbol& c) : express::Select(c) {}; + IfcDefinedSymbolSelect(const IfcExternallyDefinedSymbol& c) : express::select(c) {}; }; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. @@ -528,418 +528,418 @@ public: /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. -class IFC_SCHEMA_API IfcDerivedMeasureValue : public express::Select { +class IFC_SCHEMA_API IfcDerivedMeasureValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } - IfcDerivedMeasureValue(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcTimeStamp& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcTimeStamp& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPressureMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPowerMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcForceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcForceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcWarpingMomentMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPHMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPHMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIonConcentrationMeasure& c) : express::select(c) {}; }; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. @@ -950,47 +950,47 @@ public: /// /// IfcDocumentInformation (for "metadata" of an external document) /// IfcDocumentReference (for reference within a document) -class IFC_SCHEMA_API IfcDocumentSelect : public express::Select { +class IFC_SCHEMA_API IfcDocumentSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDocumentReference as() const { return express::Base::as(); } + // IfcDocumentReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDocumentInformation as() const { return express::Base::as(); } + // IfcDocumentInformation as() const { return express::base::as(); } - IfcDocumentSelect(const IfcDocumentReference& c) : express::Select(c) {}; + IfcDocumentSelect(const IfcDocumentReference& c) : express::select(c) {}; - IfcDocumentSelect(const IfcDocumentInformation& c) : express::Select(c) {}; + IfcDocumentSelect(const IfcDocumentInformation& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcDraughtingCalloutElement : public express::Select { +class IFC_SCHEMA_API IfcDraughtingCalloutElement : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAnnotationCurveOccurrence as() const { return express::Base::as(); } + // IfcAnnotationCurveOccurrence as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAnnotationTextOccurrence as() const { return express::Base::as(); } + // IfcAnnotationTextOccurrence as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAnnotationSymbolOccurrence as() const { return express::Base::as(); } + // IfcAnnotationSymbolOccurrence as() const { return express::base::as(); } - IfcDraughtingCalloutElement(const IfcAnnotationCurveOccurrence& c) : express::Select(c) {}; + IfcDraughtingCalloutElement(const IfcAnnotationCurveOccurrence& c) : express::select(c) {}; - IfcDraughtingCalloutElement(const IfcAnnotationTextOccurrence& c) : express::Select(c) {}; + IfcDraughtingCalloutElement(const IfcAnnotationTextOccurrence& c) : express::select(c) {}; - IfcDraughtingCalloutElement(const IfcAnnotationSymbolOccurrence& c) : express::Select(c) {}; + IfcDraughtingCalloutElement(const IfcAnnotationSymbolOccurrence& c) : express::select(c) {}; }; /// The fill area style tile shape select is used to make a selection for the style of the fill area style tile. @@ -1000,16 +1000,16 @@ public: /// NOTE Corresponding ISO 10303 name: fill_area_style_tile_shape_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcFillAreaStyleTileShapeSelect : public express::Select { +class IFC_SCHEMA_API IfcFillAreaStyleTileShapeSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFillAreaStyleTileSymbolWithStyle as() const { return express::Base::as(); } + // IfcFillAreaStyleTileSymbolWithStyle as() const { return express::base::as(); } - IfcFillAreaStyleTileShapeSelect(const IfcFillAreaStyleTileSymbolWithStyle& c) : express::Select(c) {}; + IfcFillAreaStyleTileShapeSelect(const IfcFillAreaStyleTileSymbolWithStyle& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. @@ -1018,46 +1018,46 @@ public: /// the final definition of the formal standard. /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcFillStyleSelect : public express::Select { +class IFC_SCHEMA_API IfcFillStyleSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFillAreaStyleHatching as() const { return express::Base::as(); } + // IfcFillAreaStyleHatching as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFillAreaStyleTiles as() const { return express::Base::as(); } + // IfcFillAreaStyleTiles as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColour as() const { return express::Base::as(); } + // IfcColour as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColourSpecification as() const { return express::Base::as(); } + // IfcColourSpecification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedColour as() const { return express::Base::as(); } + // IfcPreDefinedColour as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternallyDefinedHatchStyle as() const { return express::Base::as(); } + // IfcExternallyDefinedHatchStyle as() const { return express::base::as(); } - IfcFillStyleSelect(const IfcFillAreaStyleHatching& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcFillAreaStyleHatching& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcFillAreaStyleTiles& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcFillAreaStyleTiles& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcColour& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcColour& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcColourSpecification& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcColourSpecification& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcPreDefinedColour& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcPreDefinedColour& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcExternallyDefinedHatchStyle& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcExternallyDefinedHatchStyle& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. @@ -1065,49 +1065,49 @@ public: /// NOTE: Corresponding ISO 10303 type: geometric_set_select. Please refer to ISO/IS 10303-42:1994, p. 169 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 2x. -class IFC_SCHEMA_API IfcGeometricSetSelect : public express::Select { +class IFC_SCHEMA_API IfcGeometricSetSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPoint as() const { return express::Base::as(); } + // IfcPoint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurve as() const { return express::Base::as(); } + // IfcCurve as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurface as() const { return express::Base::as(); } + // IfcSurface as() const { return express::base::as(); } - IfcGeometricSetSelect(const IfcPoint& c) : express::Select(c) {}; + IfcGeometricSetSelect(const IfcPoint& c) : express::select(c) {}; - IfcGeometricSetSelect(const IfcCurve& c) : express::Select(c) {}; + IfcGeometricSetSelect(const IfcCurve& c) : express::select(c) {}; - IfcGeometricSetSelect(const IfcSurface& c) : express::Select(c) {}; + IfcGeometricSetSelect(const IfcSurface& c) : express::select(c) {}; }; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcHatchLineDistanceSelect : public express::Select { +class IFC_SCHEMA_API IfcHatchLineDistanceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOneDirectionRepeatFactor as() const { return express::Base::as(); } + // IfcOneDirectionRepeatFactor as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } - IfcHatchLineDistanceSelect(const IfcOneDirectionRepeatFactor& c) : express::Select(c) {}; + IfcHatchLineDistanceSelect(const IfcOneDirectionRepeatFactor& c) : express::select(c) {}; - IfcHatchLineDistanceSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcHatchLineDistanceSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. @@ -1117,22 +1117,22 @@ public: /// NOTE: Corresponding ISO 10303 name: layered_item. It was called layered_things in the ISO/CD version and had been renamed to layered_item in the ISO/IS final version. Please refer to ISO/IS 10303-46:1994, p. 13 for the final definition of the formal standard. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcLayeredItem : public express::Select { +class IFC_SCHEMA_API IfcLayeredItem : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRepresentationItem as() const { return express::Base::as(); } + // IfcRepresentationItem as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRepresentation as() const { return express::Base::as(); } + // IfcRepresentation as() const { return express::base::as(); } - IfcLayeredItem(const IfcRepresentationItem& c) : express::Select(c) {}; + IfcLayeredItem(const IfcRepresentationItem& c) : express::select(c) {}; - IfcLayeredItem(const IfcRepresentation& c) : express::Select(c) {}; + IfcLayeredItem(const IfcRepresentation& c) : express::select(c) {}; }; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. @@ -1145,22 +1145,22 @@ public: /// IfcLibraryReference (for reference into a library of information by location) /// /// 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_SCHEMA_API IfcLibrarySelect : public express::Select { +class IFC_SCHEMA_API IfcLibrarySelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLibraryReference as() const { return express::Base::as(); } + // IfcLibraryReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLibraryInformation as() const { return express::Base::as(); } + // IfcLibraryInformation as() const { return express::base::as(); } - IfcLibrarySelect(const IfcLibraryReference& c) : express::Select(c) {}; + IfcLibrarySelect(const IfcLibraryReference& c) : express::select(c) {}; - IfcLibrarySelect(const IfcLibraryInformation& c) : express::Select(c) {}; + IfcLibrarySelect(const IfcLibraryInformation& c) : express::select(c) {}; }; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. @@ -1185,22 +1185,22 @@ public: /// directions covers all cases. /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcLightDistributionDataSourceSelect : public express::Select { +class IFC_SCHEMA_API IfcLightDistributionDataSourceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalReference as() const { return express::Base::as(); } + // IfcExternalReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLightIntensityDistribution as() const { return express::Base::as(); } + // IfcLightIntensityDistribution as() const { return express::base::as(); } - IfcLightDistributionDataSourceSelect(const IfcExternalReference& c) : express::Select(c) {}; + IfcLightDistributionDataSourceSelect(const IfcExternalReference& c) : express::select(c) {}; - IfcLightDistributionDataSourceSelect(const IfcLightIntensityDistribution& c) : express::Select(c) {}; + IfcLightDistributionDataSourceSelect(const IfcLightIntensityDistribution& c) : express::select(c) {}; }; /// IfcMaterialSelect provides selection of either a material @@ -1229,40 +1229,40 @@ public: /// /// IFC2x4 CHANGE The select now includes two new abstract entities IfcMaterialDefinition /// and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards. -class IFC_SCHEMA_API IfcMaterialSelect : public express::Select { +class IFC_SCHEMA_API IfcMaterialSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterial as() const { return express::Base::as(); } + // IfcMaterial as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialList as() const { return express::Base::as(); } + // IfcMaterialList as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialLayerSetUsage as() const { return express::Base::as(); } + // IfcMaterialLayerSetUsage as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialLayerSet as() const { return express::Base::as(); } + // IfcMaterialLayerSet as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialLayer as() const { return express::Base::as(); } + // IfcMaterialLayer as() const { return express::base::as(); } - IfcMaterialSelect(const IfcMaterial& c) : express::Select(c) {}; + IfcMaterialSelect(const IfcMaterial& c) : express::select(c) {}; - IfcMaterialSelect(const IfcMaterialList& c) : express::Select(c) {}; + IfcMaterialSelect(const IfcMaterialList& c) : express::select(c) {}; - IfcMaterialSelect(const IfcMaterialLayerSetUsage& c) : express::Select(c) {}; + IfcMaterialSelect(const IfcMaterialLayerSetUsage& c) : express::select(c) {}; - IfcMaterialSelect(const IfcMaterialLayerSet& c) : express::Select(c) {}; + IfcMaterialSelect(const IfcMaterialLayerSet& c) : express::select(c) {}; - IfcMaterialSelect(const IfcMaterialLayer& c) : express::Select(c) {}; + IfcMaterialSelect(const IfcMaterialLayer& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). @@ -1274,142 +1274,142 @@ public: /// HISTORY New type in IFC Release 1.5.1. /// /// IFC 2x4 change: added IfcNonNegativeLengthMeasure -class IFC_SCHEMA_API IfcMeasureValue : public express::Select { +class IFC_SCHEMA_API IfcMeasureValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } - IfcMeasureValue(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcVolumeMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcTimeMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcRatioMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcParameterValue& c) : express::Select(c) {}; + IfcMeasureValue(const IfcParameterValue& c) : express::select(c) {}; - IfcMeasureValue(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcNumericMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcMassMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcMassMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcLengthMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcCountMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcCountMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcAreaMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcComplexNumber& c) : express::Select(c) {}; + IfcMeasureValue(const IfcComplexNumber& c) : express::select(c) {}; }; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. @@ -1424,170 +1424,170 @@ public: /// IfcTable /// IfcText /// IfcTimeSeries -class IFC_SCHEMA_API IfcMetricValueSelect : public express::Select { +class IFC_SCHEMA_API IfcMetricValueSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTimeSelect as() const { return express::Base::as(); } + // IfcDateTimeSelect as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCalendarDate as() const { return express::Base::as(); } + // IfcCalendarDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLocalTime as() const { return express::Base::as(); } + // IfcLocalTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateAndTime as() const { return express::Base::as(); } + // IfcDateAndTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureWithUnit as() const { return express::Base::as(); } + // IfcMeasureWithUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTable as() const { return express::Base::as(); } + // IfcTable as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeSeries as() const { return express::Base::as(); } + // IfcTimeSeries as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCostValue as() const { return express::Base::as(); } + // IfcCostValue as() const { return express::base::as(); } - IfcMetricValueSelect(const IfcDateTimeSelect& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDateTimeSelect& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcCalendarDate& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcCalendarDate& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLocalTime& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLocalTime& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDateAndTime& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDateAndTime& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMeasureWithUnit& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMeasureWithUnit& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTable& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTable& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcText& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcText& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTimeSeries& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTimeSeries& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcCostValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcCostValue& c) : express::select(c) {}; }; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// /// HISTORY  New select type in IFC Release 2.0. -class IFC_SCHEMA_API IfcObjectReferenceSelect : public express::Select { +class IFC_SCHEMA_API IfcObjectReferenceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterial as() const { return express::Base::as(); } + // IfcMaterial as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPerson as() const { return express::Base::as(); } + // IfcPerson as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateAndTime as() const { return express::Base::as(); } + // IfcDateAndTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialList as() const { return express::Base::as(); } + // IfcMaterialList as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOrganization as() const { return express::Base::as(); } + // IfcOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCalendarDate as() const { return express::Base::as(); } + // IfcCalendarDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLocalTime as() const { return express::Base::as(); } + // IfcLocalTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPersonAndOrganization as() const { return express::Base::as(); } + // IfcPersonAndOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialLayer as() const { return express::Base::as(); } + // IfcMaterialLayer as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalReference as() const { return express::Base::as(); } + // IfcExternalReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeSeries as() const { return express::Base::as(); } + // IfcTimeSeries as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAddress as() const { return express::Base::as(); } + // IfcAddress as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAppliedValue as() const { return express::Base::as(); } + // IfcAppliedValue as() const { return express::base::as(); } - IfcObjectReferenceSelect(const IfcMaterial& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcMaterial& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcPerson& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcPerson& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcDateAndTime& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcDateAndTime& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcMaterialList& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcMaterialList& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcOrganization& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcOrganization& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcCalendarDate& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcCalendarDate& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcLocalTime& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcLocalTime& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcPersonAndOrganization& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcPersonAndOrganization& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcMaterialLayer& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcMaterialLayer& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcExternalReference& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcExternalReference& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcTimeSeries& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcTimeSeries& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcAddress& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcAddress& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcAppliedValue& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcAppliedValue& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcOrientationSelect : public express::Select { +class IFC_SCHEMA_API IfcOrientationSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDirection as() const { return express::Base::as(); } + // IfcDirection as() const { return express::base::as(); } - IfcOrientationSelect(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcOrientationSelect(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcOrientationSelect(const IfcDirection& c) : express::Select(c) {}; + IfcOrientationSelect(const IfcDirection& c) : express::select(c) {}; }; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. @@ -1597,22 +1597,22 @@ public: /// IfcVertexPoint /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_SCHEMA_API IfcPointOrVertexPoint : public express::Select { +class IFC_SCHEMA_API IfcPointOrVertexPoint : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPoint as() const { return express::Base::as(); } + // IfcPoint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVertexPoint as() const { return express::Base::as(); } + // IfcVertexPoint as() const { return express::base::as(); } - IfcPointOrVertexPoint(const IfcPoint& c) : express::Select(c) {}; + IfcPointOrVertexPoint(const IfcPoint& c) : express::select(c) {}; - IfcPointOrVertexPoint(const IfcVertexPoint& c) : express::Select(c) {}; + IfcPointOrVertexPoint(const IfcVertexPoint& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The presentation style select is a selection of one of many kinds of styles, a different one for each kind of geometric representation item to be styled. @@ -1623,46 +1623,46 @@ public: /// HISTORY New type in IFC2x2. /// /// IFC2x4 CHANGE The select type has been deprecated. -class IFC_SCHEMA_API IfcPresentationStyleSelect : public express::Select { +class IFC_SCHEMA_API IfcPresentationStyleSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNullStyle as() const { return express::Base::as(); } + // IfcNullStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyle as() const { return express::Base::as(); } + // IfcCurveStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSymbolStyle as() const { return express::Base::as(); } + // IfcSymbolStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFillAreaStyle as() const { return express::Base::as(); } + // IfcFillAreaStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTextStyle as() const { return express::Base::as(); } + // IfcTextStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyle as() const { return express::Base::as(); } + // IfcSurfaceStyle as() const { return express::base::as(); } - IfcPresentationStyleSelect(const IfcNullStyle& c) : express::Select(c) {}; + IfcPresentationStyleSelect(const IfcNullStyle& c) : express::select(c) {}; - IfcPresentationStyleSelect(const IfcCurveStyle& c) : express::Select(c) {}; + IfcPresentationStyleSelect(const IfcCurveStyle& c) : express::select(c) {}; - IfcPresentationStyleSelect(const IfcSymbolStyle& c) : express::Select(c) {}; + IfcPresentationStyleSelect(const IfcSymbolStyle& c) : express::select(c) {}; - IfcPresentationStyleSelect(const IfcFillAreaStyle& c) : express::Select(c) {}; + IfcPresentationStyleSelect(const IfcFillAreaStyle& c) : express::select(c) {}; - IfcPresentationStyleSelect(const IfcTextStyle& c) : express::Select(c) {}; + IfcPresentationStyleSelect(const IfcTextStyle& c) : express::select(c) {}; - IfcPresentationStyleSelect(const IfcSurfaceStyle& c) : express::Select(c) {}; + IfcPresentationStyleSelect(const IfcSurfaceStyle& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. @@ -1676,22 +1676,22 @@ public: /// NOTE  Corresponding ISO 10303 type: shell. Please refer to ISO/IS 10303-42:1994, p. 127 for the final definition of the formal standard. Only the select items closed_shell (IfcClosedShell) and open_shell (IfcOpenShell) have been incorporated in the current IFC release. /// /// HISTORY  New type in IFC2x. -class IFC_SCHEMA_API IfcShell : public express::Select { +class IFC_SCHEMA_API IfcShell : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClosedShell as() const { return express::Base::as(); } + // IfcClosedShell as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOpenShell as() const { return express::Base::as(); } + // IfcOpenShell as() const { return express::base::as(); } - IfcShell(const IfcClosedShell& c) : express::Select(c) {}; + IfcShell(const IfcClosedShell& c) : express::select(c) {}; - IfcShell(const IfcOpenShell& c) : express::Select(c) {}; + IfcShell(const IfcOpenShell& c) : express::select(c) {}; }; /// IfcSimpleValue is a select type for selecting between simple value types. @@ -1713,52 +1713,52 @@ public: /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. -class IFC_SCHEMA_API IfcSimpleValue : public express::Select { +class IFC_SCHEMA_API IfcSimpleValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } - IfcSimpleValue(const IfcInteger& c) : express::Select(c) {}; + IfcSimpleValue(const IfcInteger& c) : express::select(c) {}; - IfcSimpleValue(const IfcReal& c) : express::Select(c) {}; + IfcSimpleValue(const IfcReal& c) : express::select(c) {}; - IfcSimpleValue(const IfcBoolean& c) : express::Select(c) {}; + IfcSimpleValue(const IfcBoolean& c) : express::select(c) {}; - IfcSimpleValue(const IfcIdentifier& c) : express::Select(c) {}; + IfcSimpleValue(const IfcIdentifier& c) : express::select(c) {}; - IfcSimpleValue(const IfcText& c) : express::Select(c) {}; + IfcSimpleValue(const IfcText& c) : express::select(c) {}; - IfcSimpleValue(const IfcLabel& c) : express::Select(c) {}; + IfcSimpleValue(const IfcLabel& c) : express::select(c) {}; - IfcSimpleValue(const IfcLogical& c) : express::Select(c) {}; + IfcSimpleValue(const IfcLogical& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. @@ -1773,46 +1773,46 @@ public: /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. -class IFC_SCHEMA_API IfcSizeSelect : public express::Select { +class IFC_SCHEMA_API IfcSizeSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } - IfcSizeSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcRatioMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcPositiveRatioMeasure& c) : express::select(c) {}; }; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. @@ -1825,22 +1825,22 @@ public: /// For each surface side style only one of the two methods is needed for calculating the specular part of the equation. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcSpecularHighlightSelect : public express::Select { +class IFC_SCHEMA_API IfcSpecularHighlightSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecularExponent as() const { return express::Base::as(); } + // IfcSpecularExponent as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecularRoughness as() const { return express::Base::as(); } + // IfcSpecularRoughness as() const { return express::base::as(); } - IfcSpecularHighlightSelect(const IfcSpecularExponent& c) : express::Select(c) {}; + IfcSpecularHighlightSelect(const IfcSpecularExponent& c) : express::select(c) {}; - IfcSpecularHighlightSelect(const IfcSpecularRoughness& c) : express::Select(c) {}; + IfcSpecularHighlightSelect(const IfcSpecularRoughness& c) : express::select(c) {}; }; /// Definition from IAI: This type definition shall be used to @@ -1852,22 +1852,22 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcStructuralActivityAssignmentSelect : public express::Select { +class IFC_SCHEMA_API IfcStructuralActivityAssignmentSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcStructuralItem as() const { return express::Base::as(); } + // IfcStructuralItem as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElement as() const { return express::Base::as(); } + // IfcElement as() const { return express::base::as(); } - IfcStructuralActivityAssignmentSelect(const IfcStructuralItem& c) : express::Select(c) {}; + IfcStructuralActivityAssignmentSelect(const IfcStructuralItem& c) : express::select(c) {}; - IfcStructuralActivityAssignmentSelect(const IfcElement& c) : express::Select(c) {}; + IfcStructuralActivityAssignmentSelect(const IfcElement& c) : express::select(c) {}; }; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface @@ -1879,28 +1879,28 @@ public: /// IfcFaceBasedSurfaceModel (a connected face set, representing a faceted surface as an approximation of a non planar, non rectangular bounded surface) /// /// HISTORY  New select type in IFC2x3. -class IFC_SCHEMA_API IfcSurfaceOrFaceSurface : public express::Select { +class IFC_SCHEMA_API IfcSurfaceOrFaceSurface : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurface as() const { return express::Base::as(); } + // IfcSurface as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFaceSurface as() const { return express::Base::as(); } + // IfcFaceSurface as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFaceBasedSurfaceModel as() const { return express::Base::as(); } + // IfcFaceBasedSurfaceModel as() const { return express::base::as(); } - IfcSurfaceOrFaceSurface(const IfcSurface& c) : express::Select(c) {}; + IfcSurfaceOrFaceSurface(const IfcSurface& c) : express::select(c) {}; - IfcSurfaceOrFaceSurface(const IfcFaceSurface& c) : express::Select(c) {}; + IfcSurfaceOrFaceSurface(const IfcFaceSurface& c) : express::select(c) {}; - IfcSurfaceOrFaceSurface(const IfcFaceBasedSurfaceModel& c) : express::Select(c) {}; + IfcSurfaceOrFaceSurface(const IfcFaceBasedSurfaceModel& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. @@ -1912,40 +1912,40 @@ public: /// NOTE: Corresponding ISO 10303 type: surface_style_element_select. Please refer to ISO/IS 10303-46:1994, p. 85 for the final definition of the formal standard. /// /// HISTORY: New Select type in IFC2x2. -class IFC_SCHEMA_API IfcSurfaceStyleElementSelect : public express::Select { +class IFC_SCHEMA_API IfcSurfaceStyleElementSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleShading as() const { return express::Base::as(); } + // IfcSurfaceStyleShading as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleLighting as() const { return express::Base::as(); } + // IfcSurfaceStyleLighting as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleWithTextures as() const { return express::Base::as(); } + // IfcSurfaceStyleWithTextures as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternallyDefinedSurfaceStyle as() const { return express::Base::as(); } + // IfcExternallyDefinedSurfaceStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleRefraction as() const { return express::Base::as(); } + // IfcSurfaceStyleRefraction as() const { return express::base::as(); } - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleShading& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleShading& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleLighting& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleLighting& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleWithTextures& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleWithTextures& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcExternallyDefinedSurfaceStyle& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcExternallyDefinedSurfaceStyle& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleRefraction& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleRefraction& c) : express::select(c) {}; }; /// The symbol style select allows for the selection of styles to be assigned to an annotated symbol. @@ -1955,28 +1955,28 @@ public: /// NOTE Corresponding ISO 10303 name: symbol_style_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_SCHEMA_API IfcSymbolStyleSelect : public express::Select { +class IFC_SCHEMA_API IfcSymbolStyleSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColour as() const { return express::Base::as(); } + // IfcColour as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColourSpecification as() const { return express::Base::as(); } + // IfcColourSpecification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedColour as() const { return express::Base::as(); } + // IfcPreDefinedColour as() const { return express::base::as(); } - IfcSymbolStyleSelect(const IfcColour& c) : express::Select(c) {}; + IfcSymbolStyleSelect(const IfcColour& c) : express::select(c) {}; - IfcSymbolStyleSelect(const IfcColourSpecification& c) : express::Select(c) {}; + IfcSymbolStyleSelect(const IfcColourSpecification& c) : express::select(c) {}; - IfcSymbolStyleSelect(const IfcPreDefinedColour& c) : express::Select(c) {}; + IfcSymbolStyleSelect(const IfcPreDefinedColour& c) : express::select(c) {}; }; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. @@ -1986,22 +1986,22 @@ public: /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. -class IFC_SCHEMA_API IfcTextFontSelect : public express::Select { +class IFC_SCHEMA_API IfcTextFontSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedTextFont as() const { return express::Base::as(); } + // IfcPreDefinedTextFont as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternallyDefinedTextFont as() const { return express::Base::as(); } + // IfcExternallyDefinedTextFont as() const { return express::base::as(); } - IfcTextFontSelect(const IfcPreDefinedTextFont& c) : express::Select(c) {}; + IfcTextFontSelect(const IfcPreDefinedTextFont& c) : express::select(c) {}; - IfcTextFontSelect(const IfcExternallyDefinedTextFont& c) : express::Select(c) {}; + IfcTextFontSelect(const IfcExternallyDefinedTextFont& c) : express::select(c) {}; }; /// The text style select allows for the selection of styles to be assigned to an annotated text. The text style determines the text model that affect the visual presentation of characters, spaces, words, and paragraphs. There are two choices: @@ -2013,22 +2013,22 @@ public: /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The items within the IfcTextStyleSelect have changed to IfcTextStyleWithBoxCharacteristics and IfcTextStyleTextModel. -class IFC_SCHEMA_API IfcTextStyleSelect : public express::Select { +class IFC_SCHEMA_API IfcTextStyleSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTextStyleWithBoxCharacteristics as() const { return express::Base::as(); } + // IfcTextStyleWithBoxCharacteristics as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTextStyleTextModel as() const { return express::Base::as(); } + // IfcTextStyleTextModel as() const { return express::base::as(); } - IfcTextStyleSelect(const IfcTextStyleWithBoxCharacteristics& c) : express::Select(c) {}; + IfcTextStyleSelect(const IfcTextStyleWithBoxCharacteristics& c) : express::select(c) {}; - IfcTextStyleSelect(const IfcTextStyleTextModel& c) : express::Select(c) {}; + IfcTextStyleSelect(const IfcTextStyleTextModel& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. @@ -2036,22 +2036,22 @@ public: /// NOTE Corresponding ISO 10303 type: trimming_select, please refer to ISO/IS 10303-42:1994, p. 20 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.0 -class IFC_SCHEMA_API IfcTrimmingSelect : public express::Select { +class IFC_SCHEMA_API IfcTrimmingSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCartesianPoint as() const { return express::Base::as(); } + // IfcCartesianPoint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } - IfcTrimmingSelect(const IfcCartesianPoint& c) : express::Select(c) {}; + IfcTrimmingSelect(const IfcCartesianPoint& c) : express::select(c) {}; - IfcTrimmingSelect(const IfcParameterValue& c) : express::Select(c) {}; + IfcTrimmingSelect(const IfcParameterValue& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. @@ -2067,28 +2067,28 @@ public: /// IfcMonetaryUnit: A unit for defining currencies. /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcUnit : public express::Select { +class IFC_SCHEMA_API IfcUnit : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedUnit as() const { return express::Base::as(); } + // IfcDerivedUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNamedUnit as() const { return express::Base::as(); } + // IfcNamedUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryUnit as() const { return express::Base::as(); } + // IfcMonetaryUnit as() const { return express::base::as(); } - IfcUnit(const IfcDerivedUnit& c) : express::Select(c) {}; + IfcUnit(const IfcDerivedUnit& c) : express::select(c) {}; - IfcUnit(const IfcNamedUnit& c) : express::Select(c) {}; + IfcUnit(const IfcNamedUnit& c) : express::select(c) {}; - IfcUnit(const IfcMonetaryUnit& c) : express::Select(c) {}; + IfcUnit(const IfcMonetaryUnit& c) : express::select(c) {}; }; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, @@ -2101,610 +2101,610 @@ public: /// IfcDerivedMeasureValue A select type for derived measure types. /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcValue : public express::Select { +class IFC_SCHEMA_API IfcValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureValue as() const { return express::Base::as(); } + // IfcMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSimpleValue as() const { return express::Base::as(); } + // IfcSimpleValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedMeasureValue as() const { return express::Base::as(); } + // IfcDerivedMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } - IfcValue(const IfcMeasureValue& c) : express::Select(c) {}; + IfcValue(const IfcMeasureValue& c) : express::select(c) {}; - IfcValue(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcVolumeMeasure& c) : express::select(c) {}; - IfcValue(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTimeMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcValue(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcValue(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRatioMeasure& c) : express::select(c) {}; - IfcValue(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcParameterValue& c) : express::Select(c) {}; + IfcValue(const IfcParameterValue& c) : express::select(c) {}; - IfcValue(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcValue(const IfcNumericMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassMeasure& c) : express::select(c) {}; - IfcValue(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcValue(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcValue(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcValue(const IfcCountMeasure& c) : express::Select(c) {}; + IfcValue(const IfcCountMeasure& c) : express::select(c) {}; - IfcValue(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcValue(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAreaMeasure& c) : express::select(c) {}; - IfcValue(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcValue(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcValue(const IfcComplexNumber& c) : express::Select(c) {}; + IfcValue(const IfcComplexNumber& c) : express::select(c) {}; - IfcValue(const IfcSimpleValue& c) : express::Select(c) {}; + IfcValue(const IfcSimpleValue& c) : express::select(c) {}; - IfcValue(const IfcInteger& c) : express::Select(c) {}; + IfcValue(const IfcInteger& c) : express::select(c) {}; - IfcValue(const IfcReal& c) : express::Select(c) {}; + IfcValue(const IfcReal& c) : express::select(c) {}; - IfcValue(const IfcBoolean& c) : express::Select(c) {}; + IfcValue(const IfcBoolean& c) : express::select(c) {}; - IfcValue(const IfcIdentifier& c) : express::Select(c) {}; + IfcValue(const IfcIdentifier& c) : express::select(c) {}; - IfcValue(const IfcText& c) : express::Select(c) {}; + IfcValue(const IfcText& c) : express::select(c) {}; - IfcValue(const IfcLabel& c) : express::Select(c) {}; + IfcValue(const IfcLabel& c) : express::select(c) {}; - IfcValue(const IfcLogical& c) : express::Select(c) {}; + IfcValue(const IfcLogical& c) : express::select(c) {}; - IfcValue(const IfcDerivedMeasureValue& c) : express::Select(c) {}; + IfcValue(const IfcDerivedMeasureValue& c) : express::select(c) {}; - IfcValue(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcValue(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcValue(const IfcTimeStamp& c) : express::Select(c) {}; + IfcValue(const IfcTimeStamp& c) : express::select(c) {}; - IfcValue(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPressureMeasure& c) : express::select(c) {}; - IfcValue(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPowerMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcValue(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcValue(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcValue(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcValue(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcValue(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcValue(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcValue(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcValue(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcValue(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcValue(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcValue(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcValue(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcValue(const IfcForceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcForceMeasure& c) : express::select(c) {}; - IfcValue(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcValue(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcValue(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcValue(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcValue(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcValue(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcValue(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcValue(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcValue(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcValue(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcValue(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcValue(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcValue(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcValue(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcValue(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcValue(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcValue(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcValue(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcValue(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcWarpingMomentMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcValue(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcValue(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcValue(const IfcPHMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPHMeasure& c) : express::select(c) {}; - IfcValue(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIonConcentrationMeasure& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This type is used to @@ -2715,22 +2715,22 @@ public: /// definition of the formal standard. /// HISTORY New Type in IFC Release /// 1.5 -class IFC_SCHEMA_API IfcVectorOrDirection : public express::Select { +class IFC_SCHEMA_API IfcVectorOrDirection : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDirection as() const { return express::Base::as(); } + // IfcDirection as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVector as() const { return express::Base::as(); } + // IfcVector as() const { return express::base::as(); } - IfcVectorOrDirection(const IfcDirection& c) : express::Select(c) {}; + IfcVectorOrDirection(const IfcDirection& c) : express::select(c) {}; - IfcVectorOrDirection(const IfcVector& c) : express::Select(c) {}; + IfcVectorOrDirection(const IfcVector& c) : express::select(c) {}; }; /// Definition from IAI:This enumeration type contains possible @@ -2738,9 +2738,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcActionSourceTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActionSourceTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -2758,9 +2758,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcActionTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActionTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcActionType_PERMANENT_G, IfcActionType_VARIABLE_Q, IfcActionType_EXTRAORDINARY_A, IfcActionType_USERDEFINED, IfcActionType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -2787,9 +2787,9 @@ public: /// /// See property set of actuator common attributes for specification of /// properties for hand operated actuators. -class IFC_SCHEMA_API IfcActuatorTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActuatorTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcActuatorType_ELECTRICACTUATOR, IfcActuatorType_HANDOPERATEDACTUATOR, IfcActuatorType_HYDRAULICACTUATOR, IfcActuatorType_PNEUMATICACTUATOR, IfcActuatorType_THERMOSTATICACTUATOR, IfcActuatorType_USERDEFINED, IfcActuatorType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -2811,9 +2811,9 @@ public: /// HOME A home address. /// DISTRIBUTIONPOINT A postal distribution point address. /// USERDEFINED A user defined address type to be provided. -class IFC_SCHEMA_API IfcAddressTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAddressTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAddressType_OFFICE, IfcAddressType_SITE, IfcAddressType_HOME, IfcAddressType_DISTRIBUTIONPOINT, IfcAddressType_USERDEFINED} Value; static const char* ToString(Value v); @@ -2825,9 +2825,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcAheadOrBehind : public express::DeclaredType { +class IFC_SCHEMA_API IfcAheadOrBehind : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAheadOrBehind_AHEAD, IfcAheadOrBehind_BEHIND} Value; static const char* ToString(Value v); @@ -2849,9 +2849,9 @@ public: /// NOTDEFINED: Undefined terminal box. /// /// HISTORY: New enumeration in IFC R2.0 -class IFC_SCHEMA_API IfcAirTerminalBoxTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAirTerminalBoxTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAirTerminalBoxType_CONSTANTFLOW, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREDEPENDANT, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREINDEPENDANT, IfcAirTerminalBoxType_USERDEFINED, IfcAirTerminalBoxType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -2875,9 +2875,9 @@ public: /// NOTE: Architectural louvres within doors or windows are defined by IfcPermeableCoveringProperties. /// /// HISTORY: New enumeration in IFC R2x2. Modified in IFC R2x4 to add LOUVRE and remove EYEBALL, IRIS, LINEARGRILLE, LINEARDIFFUSER -class IFC_SCHEMA_API IfcAirTerminalTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAirTerminalTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -2904,9 +2904,9 @@ public: /// NOTDEFINED: Undefined air to air heat recovery type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcAirToAirHeatRecoveryTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAirToAirHeatRecoveryTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -2931,9 +2931,9 @@ public: /// WHISTLE: An audible alarm. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcAlarmTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAlarmTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -2950,9 +2950,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcAnalysisModelTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAnalysisModelTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -2970,9 +2970,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcAnalysisTheoryTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAnalysisTheoryTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -2995,9 +2995,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcArithmeticOperatorEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcArithmeticOperatorEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcArithmeticOperator_ADD, IfcArithmeticOperator_DIVIDE, IfcArithmeticOperator_MULTIPLY, IfcArithmeticOperator_SUBTRACT} Value; static const char* ToString(Value v); @@ -3020,9 +3020,9 @@ public: /// SITE - this assembly is assembled at site /// /// FACTORY - this assembly is assembled in a factory -class IFC_SCHEMA_API IfcAssemblyPlaceEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAssemblyPlaceEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAssemblyPlace_SITE, IfcAssemblyPlace_FACTORY, IfcAssemblyPlace_NOTDEFINED} Value; static const char* ToString(Value v); @@ -3047,9 +3047,9 @@ public: /// NOTE Corresponding ISO 10303 type: b_spline_curve_form. Please refer to ISO/IS 10303-42:1994, p. 15 for the final definition of the formal standard. /// /// HISTORY New type in Release IFC2x2. -class IFC_SCHEMA_API IfcBSplineCurveForm : public express::DeclaredType { +class IFC_SCHEMA_API IfcBSplineCurveForm : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -3099,9 +3099,9 @@ public: /// IFC2x4 CHANGE The enumerators /// HOLLOWCORE and SPANDREL have been /// added. -class IFC_SCHEMA_API IfcBeamTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBeamTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBeamType_BEAM, IfcBeamType_JOIST, IfcBeamType_LINTEL, IfcBeamType_T_BEAM, IfcBeamType_USERDEFINED, IfcBeamType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -3152,9 +3152,9 @@ public: /// /// NOTINCLUDEDIN /// 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_SCHEMA_API IfcBenchmarkEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBenchmarkEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBenchmark_GREATERTHAN, IfcBenchmark_GREATERTHANOREQUALTO, IfcBenchmark_LESSTHAN, IfcBenchmark_LESSTHANOREQUALTO, IfcBenchmark_EQUALTO, IfcBenchmark_NOTEQUALTO} Value; static const char* ToString(Value v); @@ -3174,9 +3174,9 @@ public: /// NOTDEFINED: Undefined Boiler type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcBoilerTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBoilerTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBoilerType_WATER, IfcBoilerType_STEAM, IfcBoilerType_USERDEFINED, IfcBoilerType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -3196,9 +3196,9 @@ public: /// NOTE Corresponding STEP type: boolean_operator, please refer to ISO/IS 10303-42:1994, p.167 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcBooleanOperator : public express::DeclaredType { +class IFC_SCHEMA_API IfcBooleanOperator : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBooleanOperator_UNION, IfcBooleanOperator_INTERSECTION, IfcBooleanOperator_DIFFERENCE} Value; static const char* ToString(Value v); @@ -3220,9 +3220,9 @@ public: /// USERDEFINED /// /// NOTDEFINED -class IFC_SCHEMA_API IfcBuildingElementProxyTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBuildingElementProxyTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBuildingElementProxyType_USERDEFINED, IfcBuildingElementProxyType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -3243,9 +3243,9 @@ public: /// TEE: A fitting at which a branch is taken from the main route of the cable carrier. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableCarrierFittingTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableCarrierFittingTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcCableCarrierFittingType_BEND, IfcCableCarrierFittingType_CROSS, IfcCableCarrierFittingType_REDUCER, IfcCableCarrierFittingType_TEE, IfcCableCarrierFittingType_USERDEFINED, IfcCableCarrierFittingType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -3266,9 +3266,9 @@ public: /// CONDUITSEGMENT: An enclosed tubular carrier segment through which cables are pulled. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableCarrierSegmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableCarrierSegmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcCableCarrierSegmentType_CABLELADDERSEGMENT, IfcCableCarrierSegmentType_CABLETRAYSEGMENT, IfcCableCarrierSegmentType_CABLETRUNKINGSEGMENT, IfcCableCarrierSegmentType_CONDUITSEGMENT, IfcCableCarrierSegmentType_USERDEFINED, IfcCableCarrierSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -3291,9 +3291,9 @@ public: /// CORESEGMENT: A self contained element of a cable that comprises one or more conductors and sheathing.The core of one lead is normally single wired or multiwired which are intertwined. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableSegmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableSegmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcCableSegmentType_CABLESEGMENT, IfcCableSegmentType_CONDUCTORSEGMENT, IfcCableSegmentType_USERDEFINED, IfcCableSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -3315,9 +3315,9 @@ public: /// Consider Application A will create an IFC dataset that it wants to publish to others for modification and have the ability to subsequently merge these changes back into the original model. Before publication, it may want to set the IfcChangeActionEnum to NOCHANGE to establish a baseline so that other application changes can be easily identified. Application B then receives this IFC dataset and adds a new object and sets IfcChangeActionEnum to ADDED with Application B defined as the OwningApplication. Application B then modifies an existing object and (re)defines the LastModifiedDate to the time of the modification, LastModifyingUser to the IfcPersonAndOrganization making the change, and sets the LastModifyingApplication to Application B. When Application A receives this modified dataset, it can determine which objects have been added and modified by Application B and either merge or reject these changes as necessary. Consequently, the intent is that an application only modifies the value of IfcChangeActionEnum when it does something to the object, with the further intent that a model server is responsible for clearing the IfcChangeActionEnum back to NOCHANGE when it is ready to be republished. /// /// HISTORY: New enumeration in IFC R2.0. Modified in IFC2x4. -class IFC_SCHEMA_API IfcChangeActionEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcChangeActionEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcChangeAction_NOCHANGE, IfcChangeAction_MODIFIED, IfcChangeAction_ADDED, IfcChangeAction_DELETED, IfcChangeAction_MODIFIEDADDED, IfcChangeAction_MODIFIEDDELETED} Value; static const char* ToString(Value v); @@ -3338,9 +3338,9 @@ public: /// NOTDEFINED: Undefined chiller type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcChillerTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcChillerTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcChillerType_AIRCOOLED, IfcChillerType_WATERCOOLED, IfcChillerType_HEATRECOVERY, IfcChillerType_USERDEFINED, IfcChillerType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -3373,9 +3373,9 @@ public: /// NOTDEFINED: Undefined coil type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcCoilTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCoilTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -3400,9 +3400,9 @@ public: /// future releases of IFC. /// HISTORY New Enumeration /// in Release IFC2x Edition 2. -class IFC_SCHEMA_API IfcColumnTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcColumnTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcColumnType_COLUMN, IfcColumnType_USERDEFINED, IfcColumnType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -3435,9 +3435,9 @@ public: /// NOTDEFINED: Undefined compressor type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcCompressorTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCompressorTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -3461,9 +3461,9 @@ public: /// NOTDEFINED: Undefined condenser type. /// /// HISTORY: New enumeration in IFC 2x2. WATERCOOLED added in IFC 2x4. -class IFC_SCHEMA_API IfcCondenserTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCondenserTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -3494,9 +3494,9 @@ public: /// RelatedConnectionType: AtStart /// /// Figure 65 — Connection types /*[1:2]*/ v); @@ -8087,9 +8087,9 @@ public: ///      + FORMAT(ABS(c[4]), '##');  -- -50° 58' 33" 110400 /// /// 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_SCHEMA_API IfcCompoundPlaneAngleMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcCompoundPlaneAngleMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCompoundPlaneAngleMeasure initialize(std::vector< int64_t > /*[3:4]*/ v); @@ -8101,9 +8101,9 @@ public: /// NOTE Corresponding ISO 10303 name: context_dependent_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcContextDependentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcContextDependentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcContextDependentMeasure initialize(double v); @@ -8115,9 +8115,9 @@ public: /// NOTE Corresponding ISO 10303 name: count_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcCountMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcCountMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCountMeasure initialize(double v); @@ -8130,9 +8130,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcCurvatureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcCurvatureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCurvatureMeasure initialize(double v); @@ -8150,18 +8150,18 @@ public: /// Release 1.5.1. /// IFC2x4 CHANGE Where rule /// ValidRange added. -class IFC_SCHEMA_API IfcDayInMonthNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcDayInMonthNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDayInMonthNumber initialize(int64_t v); operator int64_t() const; }; -class IFC_SCHEMA_API IfcDaylightSavingHour : public express::DeclaredType { +class IFC_SCHEMA_API IfcDaylightSavingHour : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDaylightSavingHour initialize(int64_t v); @@ -8173,9 +8173,9 @@ public: /// NOTE Corresponding ISO 10303 name:descriptive_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDescriptiveMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcDescriptiveMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDescriptiveMeasure initialize(std::string v); @@ -8188,9 +8188,9 @@ public: /// NOTE Corresponding ISO 10303 type: dimension_count, please refer to ISO/IS 10303-42:1994, p. 14 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5 -class IFC_SCHEMA_API IfcDimensionCount : public express::DeclaredType { +class IFC_SCHEMA_API IfcDimensionCount : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDimensionCount initialize(int64_t v); @@ -8201,9 +8201,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcDoseEquivalentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcDoseEquivalentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDoseEquivalentMeasure initialize(double v); @@ -8215,9 +8215,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcDynamicViscosityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcDynamicViscosityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDynamicViscosityMeasure initialize(double v); @@ -8228,9 +8228,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricCapacitanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricCapacitanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricCapacitanceMeasure initialize(double v); @@ -8241,9 +8241,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricChargeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricChargeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricChargeMeasure initialize(double v); @@ -8254,9 +8254,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricConductanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricConductanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricConductanceMeasure initialize(double v); @@ -8269,9 +8269,9 @@ public: /// NOTE Corresponding ISO 10303 name: electric_current_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcElectricCurrentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricCurrentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricCurrentMeasure initialize(double v); @@ -8282,9 +8282,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricResistanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricResistanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricResistanceMeasure initialize(double v); @@ -8295,9 +8295,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcElectricVoltageMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricVoltageMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricVoltageMeasure initialize(double v); @@ -8308,9 +8308,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcEnergyMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcEnergyMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcEnergyMeasure initialize(double v); @@ -8330,9 +8330,9 @@ public: /// NOTE  Corresponding CSS1 definitions is font-style. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcFontStyle : public express::DeclaredType { +class IFC_SCHEMA_API IfcFontStyle : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFontStyle initialize(std::string v); @@ -8350,9 +8350,9 @@ public: /// NOTE  Corresponding CSS1 definitions is font-variant. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcFontVariant : public express::DeclaredType { +class IFC_SCHEMA_API IfcFontVariant : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFontVariant initialize(std::string v); @@ -8381,9 +8381,9 @@ public: /// NOTE  Corresponding CSS1 definitions is font-weight. /// /// HISTORY  New type in IFC2x2 Addendum 2. -class IFC_SCHEMA_API IfcFontWeight : public express::DeclaredType { +class IFC_SCHEMA_API IfcFontWeight : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFontWeight initialize(std::string v); @@ -8394,9 +8394,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcForceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcForceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcForceMeasure initialize(double v); @@ -8407,9 +8407,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcFrequencyMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcFrequencyMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFrequencyMeasure initialize(double v); @@ -8428,9 +8428,9 @@ public: /// Refer to the BuildingSMART website (www.buildingsmart-tech.org) for more information and sample encoding algorithms. /// /// HISTORY  New type in IFC R1.5.1. -class IFC_SCHEMA_API IfcGloballyUniqueId : public express::DeclaredType { +class IFC_SCHEMA_API IfcGloballyUniqueId : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcGloballyUniqueId initialize(std::string v); @@ -8441,9 +8441,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcHeatFluxDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcHeatFluxDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcHeatFluxDensityMeasure initialize(double v); @@ -8452,18 +8452,18 @@ public: /// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. /// /// HISTORY: This is new type in IFC2x2. -class IFC_SCHEMA_API IfcHeatingValueMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcHeatingValueMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcHeatingValueMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcHourInDay : public express::DeclaredType { +class IFC_SCHEMA_API IfcHourInDay : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcHourInDay initialize(int64_t v); @@ -8483,9 +8483,9 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// 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_SCHEMA_API IfcIdentifier : public express::DeclaredType { +class IFC_SCHEMA_API IfcIdentifier : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIdentifier initialize(std::string v); @@ -8496,9 +8496,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcIlluminanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIlluminanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIlluminanceMeasure initialize(double v); @@ -8509,9 +8509,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcInductanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcInductanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcInductanceMeasure initialize(double v); @@ -8524,9 +8524,9 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcInteger : public express::DeclaredType { +class IFC_SCHEMA_API IfcInteger : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcInteger initialize(int64_t v); @@ -8539,9 +8539,9 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcIntegerCountRateMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIntegerCountRateMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIntegerCountRateMeasure initialize(int64_t v); @@ -8550,9 +8550,9 @@ public: /// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcIonConcentrationMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIonConcentrationMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIonConcentrationMeasure initialize(double v); @@ -8563,9 +8563,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcIsothermalMoistureCapacityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIsothermalMoistureCapacityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIsothermalMoistureCapacityMeasure initialize(double v); @@ -8576,9 +8576,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcKinematicViscosityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcKinematicViscosityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcKinematicViscosityMeasure initialize(double v); @@ -8598,9 +8598,9 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// 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_SCHEMA_API IfcLabel : public express::DeclaredType { +class IFC_SCHEMA_API IfcLabel : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLabel initialize(std::string v); @@ -8613,9 +8613,9 @@ public: /// NOTE Corresponding ISO 10303 name: length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcLengthMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLengthMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLengthMeasure initialize(double v); @@ -8626,9 +8626,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLinearForceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearForceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearForceMeasure initialize(double v); @@ -8639,9 +8639,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLinearMomentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearMomentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearMomentMeasure initialize(double v); @@ -8652,9 +8652,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLinearStiffnessMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearStiffnessMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearStiffnessMeasure initialize(double v); @@ -8665,9 +8665,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcLinearVelocityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearVelocityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearVelocityMeasure initialize(double v); @@ -8678,9 +8678,9 @@ public: /// Type: LOGICAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLogical : public express::DeclaredType { +class IFC_SCHEMA_API IfcLogical : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLogical initialize(boost::logic::tribool v); @@ -8691,9 +8691,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLuminousFluxMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLuminousFluxMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLuminousFluxMeasure initialize(double v); @@ -8706,9 +8706,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcLuminousIntensityDistributionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLuminousIntensityDistributionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLuminousIntensityDistributionMeasure initialize(double v); @@ -8721,9 +8721,9 @@ public: /// NOTE Corresponding ISO 10303 name: luminous_intensity_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcLuminousIntensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLuminousIntensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLuminousIntensityMeasure initialize(double v); @@ -8734,9 +8734,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMagneticFluxDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMagneticFluxDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMagneticFluxDensityMeasure initialize(double v); @@ -8747,9 +8747,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMagneticFluxMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMagneticFluxMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMagneticFluxMeasure initialize(double v); @@ -8760,9 +8760,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcMassDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassDensityMeasure initialize(double v); @@ -8773,9 +8773,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcMassFlowRateMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassFlowRateMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassFlowRateMeasure initialize(double v); @@ -8788,9 +8788,9 @@ public: /// NOTE Corresponding ISO 10303 name: mass_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcMassMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassMeasure initialize(double v); @@ -8803,18 +8803,18 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcMassPerLengthMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassPerLengthMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassPerLengthMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcMinuteInHour : public express::DeclaredType { +class IFC_SCHEMA_API IfcMinuteInHour : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMinuteInHour initialize(int64_t v); @@ -8825,9 +8825,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcModulusOfElasticityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfElasticityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfElasticityMeasure initialize(double v); @@ -8838,9 +8838,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_SCHEMA_API IfcModulusOfLinearSubgradeReactionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfLinearSubgradeReactionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfLinearSubgradeReactionMeasure initialize(double v); @@ -8851,9 +8851,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfRotationalSubgradeReactionMeasure initialize(double v); @@ -8868,9 +8868,9 @@ public: /// Figure 290 illustrates elastic support of a planar member. /// /// Figure 290 — Modulus of subgrade reaction measure -class IFC_SCHEMA_API IfcModulusOfSubgradeReactionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfSubgradeReactionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfSubgradeReactionMeasure initialize(double v); @@ -8881,9 +8881,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMoistureDiffusivityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMoistureDiffusivityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMoistureDiffusivityMeasure initialize(double v); @@ -8894,9 +8894,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMolecularWeightMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMolecularWeightMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMolecularWeightMeasure initialize(double v); @@ -8907,9 +8907,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMomentOfInertiaMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMomentOfInertiaMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMomentOfInertiaMeasure initialize(double v); @@ -8919,9 +8919,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcMonetaryMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMonetaryMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMonetaryMeasure initialize(double v); @@ -8983,9 +8983,9 @@ public: /// standard. /// HISTORY New type in IFC /// Release 1.5.1. -class IFC_SCHEMA_API IfcMonthInYearNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcMonthInYearNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMonthInYearNumber initialize(int64_t v); @@ -8997,9 +8997,9 @@ public: /// NOTE Corresponding ISO 10303 name: numeric_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcNumericMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcNumericMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcNumericMeasure initialize(double v); @@ -9008,9 +9008,9 @@ public: /// 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. /// /// HISTORY: New type in IFC 2x2. -class IFC_SCHEMA_API IfcPHMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPHMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPHMeasure initialize(double v); @@ -9023,9 +9023,9 @@ public: /// NOTE Corresponding STEP name: parameter_value, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcParameterValue : public express::DeclaredType { +class IFC_SCHEMA_API IfcParameterValue : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcParameterValue initialize(double v); @@ -9036,9 +9036,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcPlanarForceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPlanarForceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPlanarForceMeasure initialize(double v); @@ -9055,9 +9055,9 @@ public: /// NOTE Corresponding ISO 10303 name: plane_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcPlaneAngleMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPlaneAngleMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPlaneAngleMeasure initialize(double v); @@ -9096,9 +9096,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcPowerMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPowerMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPowerMeasure initialize(double v); @@ -9113,9 +9113,9 @@ public: /// NOTE  Corresponding ISO 10303 name: presentable_text. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. /// /// HISTORY  New type in IFC2x2. -class IFC_SCHEMA_API IfcPresentableText : public express::DeclaredType { +class IFC_SCHEMA_API IfcPresentableText : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPresentableText initialize(std::string v); @@ -9126,9 +9126,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcPressureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPressureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPressureMeasure initialize(double v); @@ -9139,9 +9139,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcRadioActivityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRadioActivityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRadioActivityMeasure initialize(double v); @@ -9157,9 +9157,9 @@ public: /// NOTE Corresponding STEP name: ratio_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcRatioMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRatioMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRatioMeasure initialize(double v); @@ -9172,9 +9172,9 @@ public: /// Type: REAL /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcReal : public express::DeclaredType { +class IFC_SCHEMA_API IfcReal : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcReal initialize(double v); @@ -9185,9 +9185,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcRotationalFrequencyMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRotationalFrequencyMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRotationalFrequencyMeasure initialize(double v); @@ -9199,9 +9199,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcRotationalMassMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRotationalMassMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRotationalMassMeasure initialize(double v); @@ -9212,18 +9212,18 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcRotationalStiffnessMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRotationalStiffnessMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRotationalStiffnessMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcSecondInMinute : public express::DeclaredType { +class IFC_SCHEMA_API IfcSecondInMinute : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSecondInMinute initialize(double v); @@ -9234,9 +9234,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_SCHEMA_API IfcSectionModulusMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSectionModulusMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSectionModulusMeasure initialize(double v); @@ -9247,9 +9247,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcSectionalAreaIntegralMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSectionalAreaIntegralMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSectionalAreaIntegralMeasure initialize(double v); @@ -9260,9 +9260,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcShearModulusMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcShearModulusMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcShearModulusMeasure initialize(double v); @@ -9275,9 +9275,9 @@ public: /// NOTE Corresponding ISO 10303 name: solid_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcSolidAngleMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSolidAngleMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSolidAngleMeasure initialize(double v); @@ -9288,9 +9288,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcSoundPowerMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPowerMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPowerMeasure initialize(double v); @@ -9301,9 +9301,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcSoundPressureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPressureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPressureMeasure initialize(double v); @@ -9314,9 +9314,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcSpecificHeatCapacityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSpecificHeatCapacityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSpecificHeatCapacityMeasure initialize(double v); @@ -9329,9 +9329,9 @@ public: /// NOTE: The datatype relates to the definition of specular_exponent in ISO 10303-46 entity surface_style_reflectance_ambient_diffuse_specular. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcSpecularExponent : public express::DeclaredType { +class IFC_SCHEMA_API IfcSpecularExponent : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSpecularExponent initialize(double v); @@ -9346,9 +9346,9 @@ public: /// NOTE: The datatype relates to the definition of "shiness" in VRML97, which is the reciprocate value to the specular roughness. /// /// HISTORY: New type in Release IFC2x2. -class IFC_SCHEMA_API IfcSpecularRoughness : public express::DeclaredType { +class IFC_SCHEMA_API IfcSpecularRoughness : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSpecularRoughness initialize(double v); @@ -9359,9 +9359,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcTemperatureGradientMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTemperatureGradientMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTemperatureGradientMeasure initialize(double v); @@ -9378,9 +9378,9 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// 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_SCHEMA_API IfcText : public express::DeclaredType { +class IFC_SCHEMA_API IfcText : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcText initialize(std::string v); @@ -9396,9 +9396,9 @@ public: /// NOTE  Corresponding CSS1 definition is text-align. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcTextAlignment : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextAlignment : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextAlignment initialize(std::string v); @@ -9417,9 +9417,9 @@ public: /// NOTE  Corresponding CSS1 definition is text-decoration. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcTextDecoration : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextDecoration : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextDecoration initialize(std::string v); @@ -9444,9 +9444,9 @@ public: /// HISTORY  New type in IFC2x2 Addendum 2. /// /// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. -class IFC_SCHEMA_API IfcTextFontName : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextFontName : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextFontName initialize(std::string v); @@ -9462,9 +9462,9 @@ public: /// NOTE  Corresponding CSS1 definition is text-transform. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcTextTransformation : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextTransformation : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextTransformation initialize(std::string v); @@ -9475,9 +9475,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcThermalAdmittanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalAdmittanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalAdmittanceMeasure initialize(double v); @@ -9488,9 +9488,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcThermalConductivityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalConductivityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalConductivityMeasure initialize(double v); @@ -9500,9 +9500,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcThermalExpansionCoefficientMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalExpansionCoefficientMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalExpansionCoefficientMeasure initialize(double v); @@ -9512,9 +9512,9 @@ public: /// Usually measured in m2 Kelvin/Watt. /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcThermalResistanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalResistanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalResistanceMeasure initialize(double v); @@ -9525,9 +9525,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcThermalTransmittanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalTransmittanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalTransmittanceMeasure initialize(double v); @@ -9540,9 +9540,9 @@ public: /// NOTE Corresponding ISO 10303 name: thermodynamic_temperature_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcThermodynamicTemperatureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermodynamicTemperatureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermodynamicTemperatureMeasure initialize(double v); @@ -9555,9 +9555,9 @@ public: /// NOTE Corresponding ISO 10303 name: time_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcTimeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTimeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTimeMeasure initialize(double v); @@ -9567,9 +9567,9 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcTimeStamp : public express::DeclaredType { +class IFC_SCHEMA_API IfcTimeStamp : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTimeStamp initialize(int64_t v); @@ -9580,9 +9580,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcTorqueMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTorqueMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTorqueMeasure initialize(double v); @@ -9593,9 +9593,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcVaporPermeabilityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcVaporPermeabilityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcVaporPermeabilityMeasure initialize(double v); @@ -9608,9 +9608,9 @@ public: /// NOTE Corresponding ISO 10303 name: volume_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcVolumeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcVolumeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcVolumeMeasure initialize(double v); @@ -9621,9 +9621,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcVolumetricFlowRateMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcVolumetricFlowRateMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcVolumetricFlowRateMeasure initialize(double v); @@ -9634,9 +9634,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcWarpingConstantMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcWarpingConstantMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcWarpingConstantMeasure initialize(double v); @@ -9647,18 +9647,18 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcWarpingMomentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcWarpingMomentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcWarpingMomentMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcYearNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcYearNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcYearNumber initialize(int64_t v); @@ -9736,9 +9736,9 @@ public: /// Corresponds to the following entity in ISO-10303-41: organization_role and person_role. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_SCHEMA_API IfcActorRole : public express::Entity { +class IFC_SCHEMA_API IfcActorRole : public express::entity { public: - using express::Entity::Entity; + 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. @@ -9762,9 +9762,9 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: address. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcAddress : public express::Entity { +class IFC_SCHEMA_API IfcAddress : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Identifies the logical location of the address. std::optional< ::Ifc2x3::IfcAddressTypeEnum::Value > Purpose() const; @@ -9787,9 +9787,9 @@ public: /// 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_SCHEMA_API IfcApplication : public express::Entity { +class IFC_SCHEMA_API IfcApplication : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Name of the application developer, being requested to be member of the IAI. ::Ifc2x3::IfcOrganization ApplicationDeveloper() const; @@ -9821,9 +9821,9 @@ public: /// An instance of IfcAppliedValue may have a unit basis asserted. This is defined as an IfcMeasureWithUnit that determines the extent of the unit value for application purposes. It is assumed that when this attribute is asserted, then the value given to IfcAppliedValue is that for unit quantity. This is not enforced within the IFC schema and thus needs to be controlled within an application. /// /// 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_SCHEMA_API IfcAppliedValue : public express::Entity { +class IFC_SCHEMA_API IfcAppliedValue : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A name or additional clarification given to a cost value. std::optional< std::string > Name() const; @@ -9882,9 +9882,9 @@ public: /// Figure 240 illustrates two level aggregation of applied values. It is possible to develop more complex applied value specifications by creating hierarchies of applied value relationships. In the diagram, the development of a applied value is shown whereby, because B = E * F and D = G * H * J, then: A = ((E * F) + C + (G * H * J)). /// /// Figure 240 — Applied value relationship multiple level -class IFC_SCHEMA_API IfcAppliedValueRelationship : public express::Entity { +class IFC_SCHEMA_API IfcAppliedValueRelationship : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The applied value (total or subtotal) of which the value being considered is a component. ::Ifc2x3::IfcAppliedValue ComponentOfTotal() const; @@ -9908,9 +9908,9 @@ public: /// HISTORY New Entity in IFC Release 2.0 /// /// 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_SCHEMA_API IfcApproval : public express::Entity { +class IFC_SCHEMA_API IfcApproval : public express::entity { public: - using express::Entity::Entity; + 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; @@ -9937,9 +9937,9 @@ public: 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_SCHEMA_API IfcApprovalActorRelationship : public express::Entity { +class IFC_SCHEMA_API IfcApprovalActorRelationship : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; ::Ifc2x3::IfcActorSelect Actor() const; void setActor(const ::Ifc2x3::IfcActorSelect& v); @@ -9952,9 +9952,9 @@ public: IfcApprovalActorRelationship initialize(::Ifc2x3::IfcActorSelect v1_Actor, ::Ifc2x3::IfcApproval v2_Approval, ::Ifc2x3::IfcActorRole v3_Role); }; -class IFC_SCHEMA_API IfcApprovalPropertyRelationship : public express::Entity { +class IFC_SCHEMA_API IfcApprovalPropertyRelationship : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< ::Ifc2x3::IfcProperty > ApprovedProperties() const; void setApprovedProperties(const std::vector< ::Ifc2x3::IfcProperty >& v); @@ -9971,9 +9971,9 @@ public: /// HISTORY: New entity in Release IFC2x2. /// /// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, order of attributes changed. -class IFC_SCHEMA_API IfcApprovalRelationship : public express::Entity { +class IFC_SCHEMA_API IfcApprovalRelationship : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; ::Ifc2x3::IfcApproval RelatedApproval() const; void setRelatedApproval(const ::Ifc2x3::IfcApproval& v); @@ -10003,9 +10003,9 @@ public: /// HISTORY: New entity /// in Release IFC2x Edition /// 2. -class IFC_SCHEMA_API IfcBoundaryCondition : public express::Entity { +class IFC_SCHEMA_API IfcBoundaryCondition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optionally defines a name for this boundary condition. std::optional< std::string > Name() const; @@ -10125,9 +10125,9 @@ public: 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_SCHEMA_API IfcCalendarDate : public express::Entity { +class IFC_SCHEMA_API IfcCalendarDate : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; int64_t DayComponent() const; void setDayComponent(const int64_t& v); @@ -10154,9 +10154,9 @@ public: /// /// Including the classification system structure within the dataset: Here a hierarchical tree of IfcClassificationItem's is included that defines the classification system including the relationship between the classification items. An IfcClassificationNotation is used to classify an object. /// 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_SCHEMA_API IfcClassification : public express::Entity { +class IFC_SCHEMA_API IfcClassification : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Source (or publisher) for this classification. /// @@ -10188,9 +10188,9 @@ public: IfcClassification initialize(std::string v1_Source, std::string v2_Edition, ::Ifc2x3::IfcCalendarDate v3_EditionDate, std::string v4_Name); }; -class IFC_SCHEMA_API IfcClassificationItem : public express::Entity { +class IFC_SCHEMA_API IfcClassificationItem : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; ::Ifc2x3::IfcClassificationNotationFacet Notation() const; void setNotation(const ::Ifc2x3::IfcClassificationNotationFacet& v); @@ -10205,9 +10205,9 @@ public: IfcClassificationItem initialize(::Ifc2x3::IfcClassificationNotationFacet v1_Notation, ::Ifc2x3::IfcClassification v2_ItemOf, std::string v3_Title); }; -class IFC_SCHEMA_API IfcClassificationItemRelationship : public express::Entity { +class IFC_SCHEMA_API IfcClassificationItemRelationship : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; ::Ifc2x3::IfcClassificationItem RelatingItem() const; void setRelatingItem(const ::Ifc2x3::IfcClassificationItem& v); @@ -10218,9 +10218,9 @@ public: IfcClassificationItemRelationship initialize(::Ifc2x3::IfcClassificationItem v1_RelatingItem, std::vector< ::Ifc2x3::IfcClassificationItem > v2_RelatedItems); }; -class IFC_SCHEMA_API IfcClassificationNotation : public express::Entity { +class IFC_SCHEMA_API IfcClassificationNotation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< ::Ifc2x3::IfcClassificationNotationFacet > NotationFacets() const; void setNotationFacets(const std::vector< ::Ifc2x3::IfcClassificationNotationFacet >& v); @@ -10229,9 +10229,9 @@ public: IfcClassificationNotation initialize(std::vector< ::Ifc2x3::IfcClassificationNotationFacet > v1_NotationFacets); }; -class IFC_SCHEMA_API IfcClassificationNotationFacet : public express::Entity { +class IFC_SCHEMA_API IfcClassificationNotationFacet : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::string NotationValue() const; void setNotationValue(const std::string& v); @@ -10244,9 +10244,9 @@ public: /// NOTE  Corresponding ISO 10303 name: colour_specification. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_SCHEMA_API IfcColourSpecification : public express::Entity { +class IFC_SCHEMA_API IfcColourSpecification : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optional name given to a particular colour specification in addition to the colour components (like the RGB values). /// @@ -10272,9 +10272,9 @@ public: /// HISTORY  New entity in IFC Release 1.5. /// /// 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_SCHEMA_API IfcConnectionGeometry : public express::Entity { +class IFC_SCHEMA_API IfcConnectionGeometry : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; static const ifcopenshell::entity& Class(); @@ -10359,9 +10359,9 @@ public: /// A constraint must have a name applied through the IfcConstraint.Name attribute and optionally, a description through IfcConstraint.Description. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade or IfcConstraint.UserDefinedGrade whilst the source, creating actor and time at which the constraint is created may be optionally asserted through IfcConstraint.ConstraintSource, IfcConstraint.CreatingActor and IfcConstraint.CreationTime. /// /// 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_SCHEMA_API IfcConstraint : public express::Entity { +class IFC_SCHEMA_API IfcConstraint : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; @@ -10408,9 +10408,9 @@ public: /// Figure 237 illustrates constraint aggregation. /// /// Figure 237 — Constraint aggregation -class IFC_SCHEMA_API IfcConstraintAggregationRelationship : public express::Entity { +class IFC_SCHEMA_API IfcConstraintAggregationRelationship : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); @@ -10428,9 +10428,9 @@ public: 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_SCHEMA_API IfcConstraintClassificationRelationship : public express::Entity { +class IFC_SCHEMA_API IfcConstraintClassificationRelationship : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; ::Ifc2x3::IfcConstraint ClassifiedConstraint() const; void setClassifiedConstraint(const ::Ifc2x3::IfcConstraint& v); @@ -10449,9 +10449,9 @@ public: /// HISTORY  New entity in Release IFC2x2 (Addendum 1). /// /// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship. -class IFC_SCHEMA_API IfcConstraintRelationship : public express::Entity { +class IFC_SCHEMA_API IfcConstraintRelationship : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); @@ -10468,9 +10468,9 @@ public: 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_SCHEMA_API IfcCoordinatedUniversalTimeOffset : public express::Entity { +class IFC_SCHEMA_API IfcCoordinatedUniversalTimeOffset : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; int64_t HourOffset() const; void setHourOffset(const int64_t& v); @@ -10553,9 +10553,9 @@ public: /// Use definitions /// An IfcCurrencyRelationship is used where there may be a need to reference an IfcCostValue in one currency to an IfcCostValue in another currency. It takes account of fact that currency exchange rates may vary by requiring the recording the date and time of the currency exchange rate used and the source that publishes the rate. There may be many sources and there are different strategies for currency conversion (spot rate, forward buying of currency at a fixed rate). /// The source for the currency exchange is defined as an instance of IfcLibraryInformation that includes a name and a URL. -class IFC_SCHEMA_API IfcCurrencyRelationship : public express::Entity { +class IFC_SCHEMA_API IfcCurrencyRelationship : public express::entity { public: - using express::Entity::Entity; + 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; @@ -10583,9 +10583,9 @@ public: /// NOTE: Corresponding ISO 10303 name: curve_style_font. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_SCHEMA_API IfcCurveStyleFont : public express::Entity { +class IFC_SCHEMA_API IfcCurveStyleFont : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Name that may be assigned with the curve font. std::optional< std::string > Name() const; @@ -10608,9 +10608,9 @@ public: /// NOTE  Corresponding ISO 10303 name: curve_style_font_and_scaling. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_SCHEMA_API IfcCurveStyleFontAndScaling : public express::Entity { +class IFC_SCHEMA_API IfcCurveStyleFontAndScaling : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Name that may be assigned with the scaling of a curve font. std::optional< std::string > Name() const; @@ -10630,9 +10630,9 @@ public: /// NOTE Corresponding ISO 10303 name: curve_style_font_pattern. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_SCHEMA_API IfcCurveStyleFontPattern : public express::Entity { +class IFC_SCHEMA_API IfcCurveStyleFontPattern : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The length of the visible segment in the pattern definition. /// @@ -10649,9 +10649,9 @@ public: IfcCurveStyleFontPattern initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength); }; -class IFC_SCHEMA_API IfcDateAndTime : public express::Entity { +class IFC_SCHEMA_API IfcDateAndTime : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; ::Ifc2x3::IfcCalendarDate DateComponent() const; void setDateComponent(const ::Ifc2x3::IfcCalendarDate& v); @@ -10668,9 +10668,9 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDerivedUnit : public express::Entity { +class IFC_SCHEMA_API IfcDerivedUnit : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The group of units and their exponents that define the derived unit. std::vector< ::Ifc2x3::IfcDerivedUnitElement > Elements() const; @@ -10693,9 +10693,9 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit_element, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDerivedUnitElement : public express::Entity { +class IFC_SCHEMA_API IfcDerivedUnitElement : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The fixed quantity which is used as the mathematical factor. ::Ifc2x3::IfcNamedUnit Unit() const; @@ -10724,9 +10724,9 @@ public: /// for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDimensionalExponents : public express::Entity { +class IFC_SCHEMA_API IfcDimensionalExponents : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The power of the length base quantity. int64_t LengthExponent() const; @@ -10756,9 +10756,9 @@ public: /// 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_SCHEMA_API IfcDocumentElectronicFormat : public express::Entity { +class IFC_SCHEMA_API IfcDocumentElectronicFormat : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// File extension of electronic document used by computer operating system. std::optional< std::string > FileExtension() const; @@ -10776,9 +10776,9 @@ public: /// 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_SCHEMA_API IfcDocumentInformation : public express::Entity { +class IFC_SCHEMA_API IfcDocumentInformation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Identifier that uniquely identifies a document. std::string DocumentId() const; @@ -10856,9 +10856,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcDocumentInformationRelationship : public express::Entity { +class IFC_SCHEMA_API IfcDocumentInformationRelationship : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The document that acts as the parent, referencing or original document in a relationship. ::Ifc2x3::IfcDocumentInformation RelatingDocument() const; @@ -10874,9 +10874,9 @@ public: IfcDocumentInformationRelationship initialize(::Ifc2x3::IfcDocumentInformation v1_RelatingDocument, std::vector< ::Ifc2x3::IfcDocumentInformation > v2_RelatedDocuments, std::optional< std::string > v3_RelationshipType); }; -class IFC_SCHEMA_API IfcDraughtingCalloutRelationship : public express::Entity { +class IFC_SCHEMA_API IfcDraughtingCalloutRelationship : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); @@ -10914,9 +10914,9 @@ public: /// IfcExternalReference is an abstract supertype of all external reference entities. /// /// HISTORY New entity in IFC2x. -class IFC_SCHEMA_API IfcExternalReference : public express::Entity { +class IFC_SCHEMA_API IfcExternalReference : public express::entity { public: - using express::Entity::Entity; + 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. /// @@ -11018,9 +11018,9 @@ public: /// underlying AxisCurve supports this concept. /// /// Figure 242 — Grid axis -class IFC_SCHEMA_API IfcGridAxis : public express::Entity { +class IFC_SCHEMA_API IfcGridAxis : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The tag or name for this grid axis. std::optional< std::string > AxisTag() const; @@ -11042,9 +11042,9 @@ public: /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// /// HISTORY: New entity in IFC 2x2. -class IFC_SCHEMA_API IfcIrregularTimeSeriesValue : public express::Entity { +class IFC_SCHEMA_API IfcIrregularTimeSeriesValue : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The specification of the time point. ::Ifc2x3::IfcDateTimeSelect TimeStamp() const; @@ -11064,9 +11064,9 @@ public: /// Entity in IFC2x. /// /// IFC2x4 CHANGE  Location attribute added, HasLibraryReferences inverse attribute added (previous LibraryReference changed to inverse). -class IFC_SCHEMA_API IfcLibraryInformation : public express::Entity { +class IFC_SCHEMA_API IfcLibraryInformation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The name which is used to identify the library. std::string Name() const; @@ -11119,9 +11119,9 @@ public: /// For each pair of MainPlaneAngle and SecondaryPlaneAngle the LuminousIntensity is provided (the unit is given by the IfcUnitAssignment referring to the LuminousIntensityDistributionUnit, normally cd/klm). /// /// HISTORY: New entity in IFC2x2. -class IFC_SCHEMA_API IfcLightDistributionData : public express::Entity { +class IFC_SCHEMA_API IfcLightDistributionData : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; @@ -11141,9 +11141,9 @@ public: /// 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_SCHEMA_API IfcLightIntensityDistribution : public express::Entity { +class IFC_SCHEMA_API IfcLightIntensityDistribution : public express::entity { public: - using express::Entity::Entity; + 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; @@ -11156,9 +11156,9 @@ public: IfcLightIntensityDistribution initialize(::Ifc2x3::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc2x3::IfcLightDistributionData > v2_DistributionData); }; -class IFC_SCHEMA_API IfcLocalTime : public express::Entity { +class IFC_SCHEMA_API IfcLocalTime : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; int64_t HourComponent() const; void setHourComponent(const int64_t& v); @@ -11201,9 +11201,9 @@ public: /// HISTORYNew entity in IFC2x4 /// /// IFC2x4 CHANGE The attributes Description and Category have been added. -class IFC_SCHEMA_API IfcMaterial : public express::Entity { +class IFC_SCHEMA_API IfcMaterial : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Name of the material. /// @@ -11223,9 +11223,9 @@ public: /// HISTORY New entity in IFC2x. /// /// IFC2x4 CHANGE The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. -class IFC_SCHEMA_API IfcMaterialClassificationRelationship : public express::Entity { +class IFC_SCHEMA_API IfcMaterialClassificationRelationship : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The material classifications identifying the type of material. std::vector< ::Ifc2x3::IfcClassificationNotationSelect > MaterialClassifications() const; @@ -11260,9 +11260,9 @@ public: /// HISTORY  New entity in IFC 1.5 /// /// 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_SCHEMA_API IfcMaterialLayer : public express::Entity { +class IFC_SCHEMA_API IfcMaterialLayer : public express::entity { public: - using express::Entity::Entity; + 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; @@ -11319,9 +11319,9 @@ public: /// placed on top of the previous (no gaps or overlaps). /// /// Figure 285 — Material layer set -class IFC_SCHEMA_API IfcMaterialLayerSet : public express::Entity { +class IFC_SCHEMA_API IfcMaterialLayerSet : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Identification of the layers from which the material layer set is composed. std::vector< ::Ifc2x3::IfcMaterialLayer > MaterialLayers() const; @@ -11433,9 +11433,9 @@ public: /// geometry. /// /// Figure 288 — Material layer set usage for roof slab -class IFC_SCHEMA_API IfcMaterialLayerSetUsage : public express::Entity { +class IFC_SCHEMA_API IfcMaterialLayerSetUsage : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The IfcMaterialLayerSet set to which the usage is applied. ::Ifc2x3::IfcMaterialLayerSet ForLayerSet() const; @@ -11475,9 +11475,9 @@ public: /// /// IFC2x4 CHANGE The entity IfcMaterialList is deprecated and shall no longer /// be used. Use IfcMaterialConstituentSet instead. -class IFC_SCHEMA_API IfcMaterialList : public express::Entity { +class IFC_SCHEMA_API IfcMaterialList : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Materials used in a composition of substances. std::vector< ::Ifc2x3::IfcMaterial > Materials() const; @@ -11508,9 +11508,9 @@ public: /// HISTORY  New Entity in IFC 2x. /// /// 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_SCHEMA_API IfcMaterialProperties : public express::Entity { +class IFC_SCHEMA_API IfcMaterialProperties : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Reference to the material definition to which the set of properties is assigned. /// @@ -11531,9 +11531,9 @@ public: /// NOTE Corresponding ISO 10303 name: measure_with_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcMeasureWithUnit : public express::Entity { +class IFC_SCHEMA_API IfcMeasureWithUnit : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The value of the physical quantity when expressed in the specified units. ::Ifc2x3::IfcValue ValueComponent() const; @@ -11661,9 +11661,9 @@ public: /// HISTORY: New entity in IFC Release 2x. /// /// IFC2x4 CHANGE: Type of the attribute Currency changed. -class IFC_SCHEMA_API IfcMonetaryUnit : public express::Entity { +class IFC_SCHEMA_API IfcMonetaryUnit : public express::entity { public: - using express::Entity::Entity; + 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; @@ -11677,9 +11677,9 @@ public: /// NOTE Corresponding ISO 10303 name: named_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcNamedUnit : public express::Entity { +class IFC_SCHEMA_API IfcNamedUnit : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The dimensional exponents of the SI base units by which the named unit is defined. ::Ifc2x3::IfcDimensionalExponents Dimensions() const; @@ -11702,9 +11702,9 @@ public: /// In any case the object placement has to unambiguously define the object coordinate system as either two-dimensional axis placement (IfcAxis2Placement2D) or three-dimensional axis placement (IfcAxis2Placement3D). The axis placement may have to be calculated. /// /// HISTORY New entity in IFC Release 2x. -class IFC_SCHEMA_API IfcObjectPlacement : public express::Entity { +class IFC_SCHEMA_API IfcObjectPlacement : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcProduct > PlacesObject() const; // INVERSE IfcProduct::ObjectPlacement std::vector< IfcLocalPlacement > ReferencedByPlacements() const; // INVERSE IfcLocalPlacement::PlacementRelTo @@ -11776,9 +11776,9 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. -class IFC_SCHEMA_API IfcOrganization : public express::Entity { +class IFC_SCHEMA_API IfcOrganization : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::optional< std::string > Id() const; void setId(const std::optional< std::string >& v); @@ -11808,9 +11808,9 @@ public: /// /// HISTORY New entity in IFC Release 2x. /// IFC 2x4 change: attribute Name made optional. -class IFC_SCHEMA_API IfcOrganizationRelationship : public express::Entity { +class IFC_SCHEMA_API IfcOrganizationRelationship : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The word or group of words by which the relationship is referred to. std::string Name() const; @@ -11838,9 +11838,9 @@ public: /// /// If LastModifiedDate is defined but ChangeAction is not asserted, then the state of ChangeAction is assumed to be UNDEFINED. /// If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate. -class IFC_SCHEMA_API IfcOwnerHistory : public express::Entity { +class IFC_SCHEMA_API IfcOwnerHistory : public express::entity { public: - using express::Entity::Entity; + 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; @@ -11879,9 +11879,9 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. -class IFC_SCHEMA_API IfcPerson : public express::Entity { +class IFC_SCHEMA_API IfcPerson : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::optional< std::string > Id() const; void setId(const std::optional< std::string >& v); @@ -11922,9 +11922,9 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: person_and_organization. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_SCHEMA_API IfcPersonAndOrganization : public express::Entity { +class IFC_SCHEMA_API IfcPersonAndOrganization : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The person who is related to the organization. ::Ifc2x3::IfcPerson ThePerson() const; @@ -11944,9 +11944,9 @@ public: /// The Name attribute defines the actual usage or kind of measure. The interpretation of the name label has to be established within the actual exchange context. In addition an informative text may be associated to each quantity by the Description attribute. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_SCHEMA_API IfcPhysicalQuantity : public express::Entity { +class IFC_SCHEMA_API IfcPhysicalQuantity : public express::entity { public: - using express::Entity::Entity; + 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; @@ -12024,9 +12024,9 @@ public: /// NOTE  Corresponding ISO 10303 name: pre_defined_item. Please refer to ISO/IS 10303-41:1994, page 137 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_SCHEMA_API IfcPreDefinedItem : public express::Entity { +class IFC_SCHEMA_API IfcPreDefinedItem : public express::entity { public: - using express::Entity::Entity; + 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; @@ -12093,9 +12093,9 @@ public: /// Figure 305 illustrates assignment of items by shape representation or representation item. The set of AssignedItems can either include a whole shape representation, or individual geometric representation items. If both, the IfcShapeRepresentation has a layer assignment, and an individual geometric representation item in the set of IfcShapeRepresentation.Items, then the layer assignment of the IfcGeometricRepresentationItem overides the layer assignment of the IfcShapeRepresentation. /// /// Figure 305 — Presentation layer assignment -class IFC_SCHEMA_API IfcPresentationLayerAssignment : public express::Entity { +class IFC_SCHEMA_API IfcPresentationLayerAssignment : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Name of the layer. std::string Name() const; @@ -12155,9 +12155,9 @@ public: /// Each subtype of  IfcPresentationStyle can be assigned to IfcGeometricRepresentationItem's via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or one of its subtypes. /// /// HISTORY  New entity in IFC2x3. -class IFC_SCHEMA_API IfcPresentationStyle : public express::Entity { +class IFC_SCHEMA_API IfcPresentationStyle : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Name of the presentation style. std::optional< std::string > Name() const; @@ -12171,9 +12171,9 @@ public: /// NOTE Corresponding ISO 10303 name: presentation_style_assignment. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in Release IFC2x2. -class IFC_SCHEMA_API IfcPresentationStyleAssignment : public express::Entity { +class IFC_SCHEMA_API IfcPresentationStyleAssignment : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A set of presentation styles that are assigned to styled items. std::vector< ::Ifc2x3::IfcPresentationStyleSelect > Styles() const; @@ -12199,9 +12199,9 @@ public: /// IFC2x3 NOTE Users should not instantiate the entity from IFC2x Edition 3 onwards. /// /// IFC2x4 CHANGE  Entity made abstract. -class IFC_SCHEMA_API IfcProductRepresentation : public express::Entity { +class IFC_SCHEMA_API IfcProductRepresentation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The word or group of words by which the product representation is known. std::optional< std::string > Name() const; @@ -12403,9 +12403,9 @@ public: /// possible to directly instantiate IfcProfileDef and further specify /// the profile only by external reference or by profile properties. The latter /// are tracked by the inverse attribute HasProperties. -class IFC_SCHEMA_API IfcProfileDef : public express::Entity { +class IFC_SCHEMA_API IfcProfileDef : public express::entity { public: - using express::Entity::Entity; + 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; @@ -12428,9 +12428,9 @@ public: /// HISTORY  New entity in IFC2x2. /// /// 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_SCHEMA_API IfcProfileProperties : public express::Entity { +class IFC_SCHEMA_API IfcProfileProperties : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::optional< std::string > ProfileName() const; void setProfileName(const std::optional< std::string >& v); @@ -12444,9 +12444,9 @@ public: /// 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_SCHEMA_API IfcProperty : public express::Entity { +class IFC_SCHEMA_API IfcProperty : public express::entity { public: - using express::Entity::Entity; + 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; @@ -12462,9 +12462,9 @@ public: IfcProperty initialize(std::string v1_Name, std::optional< std::string > v2_Description); }; -class IFC_SCHEMA_API IfcPropertyConstraintRelationship : public express::Entity { +class IFC_SCHEMA_API IfcPropertyConstraintRelationship : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; ::Ifc2x3::IfcConstraint RelatingConstraint() const; void setRelatingConstraint(const ::Ifc2x3::IfcConstraint& v); @@ -12486,9 +12486,9 @@ public: /// /// Use Definition /// 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_SCHEMA_API IfcPropertyDependencyRelationship : public express::Entity { +class IFC_SCHEMA_API IfcPropertyDependencyRelationship : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The property on which the relationship depends. ::Ifc2x3::IfcProperty DependingProperty() const; @@ -12553,9 +12553,9 @@ 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_SCHEMA_API IfcPropertyEnumeration : public express::Entity { +class IFC_SCHEMA_API IfcPropertyEnumeration : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Name of this enumeration. std::string Name() const; @@ -12667,9 +12667,9 @@ public: IfcQuantityWeight initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit v3_Unit, double v4_WeightValue); }; -class IFC_SCHEMA_API IfcReferencesValueDocument : public express::Entity { +class IFC_SCHEMA_API IfcReferencesValueDocument : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; ::Ifc2x3::IfcDocumentSelect ReferencedDocument() const; void setReferencedDocument(const ::Ifc2x3::IfcDocumentSelect& v); @@ -12688,9 +12688,9 @@ public: /// HISTORY  New entity in IFC2x2. /// /// 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_SCHEMA_API IfcReinforcementBarProperties : public express::Entity { +class IFC_SCHEMA_API IfcReinforcementBarProperties : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The total effective cross-section area of the reinforcement of a specific steel grade. double TotalCrossSectionArea() const; @@ -12715,9 +12715,9 @@ public: 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_SCHEMA_API IfcRelaxation : public express::Entity { +class IFC_SCHEMA_API IfcRelaxation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; double RelaxationValue() const; void setRelaxationValue(const double& v); @@ -12773,9 +12773,9 @@ public: /// IFC2x4 CHANGE  Entity /// IfcRepresentation has been changed into an ABSTRACT /// supertype. -class IFC_SCHEMA_API IfcRepresentation : public express::Entity { +class IFC_SCHEMA_API IfcRepresentation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Definition of the representation context for which the different subtypes of representation are valid. ::Ifc2x3::IfcRepresentationContext ContextOfItems() const; @@ -12807,9 +12807,9 @@ public: /// /// IFC2x4 CHANGE Entity made abstract, had been deprecated from instantiation since /// IFC2x2. -class IFC_SCHEMA_API IfcRepresentationContext : public express::Entity { +class IFC_SCHEMA_API IfcRepresentationContext : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The optional identifier of the representation context as used within a project. std::optional< std::string > ContextIdentifier() const; @@ -12854,9 +12854,9 @@ public: /// HISTORY  New entity in IFC Release 2x. /// /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. -class IFC_SCHEMA_API IfcRepresentationItem : public express::Entity { +class IFC_SCHEMA_API IfcRepresentationItem : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcPresentationLayerAssignment > LayerAssignments() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems std::vector< IfcStyledItem > StyledByItem() const; // INVERSE IfcStyledItem::Item @@ -12875,9 +12875,9 @@ public: /// NOTE  The definition of a mapping which is used to specify a new representation item comprises a representation map and a mapped item entity. Without both entities, the mapping is not fully defined. Two entities are specified to allow the same source representation to be mapped into multiple new representations. /// /// HISTORY  New entity in IFC Release 2x. -class IFC_SCHEMA_API IfcRepresentationMap : public express::Entity { +class IFC_SCHEMA_API IfcRepresentationMap : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// An axis2 placement that defines the position about which the mapped /// representation is mapped. @@ -12919,9 +12919,9 @@ public: /// HISTORY New entity in IFC Release 1.0 /// /// IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL. -class IFC_SCHEMA_API IfcRoot : public express::Entity { +class IFC_SCHEMA_API IfcRoot : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; @@ -12971,9 +12971,9 @@ public: /// HISTORY  New entity in IFC2x2. /// /// 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_SCHEMA_API IfcSectionProperties : public express::Entity { +class IFC_SCHEMA_API IfcSectionProperties : public express::entity { public: - using express::Entity::Entity; + 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; @@ -12995,9 +12995,9 @@ public: /// Several sets of cross section reinforcement properties represented by instances of IfcReinforcementProperties may be attached to the section reinforcement properties /// (IfcReinforcementDefinitionProperties of IfcStructuralElementsDomain schema), /// one for each combination of steel grades and reinforcement bar types and sizes. -class IFC_SCHEMA_API IfcSectionReinforcementProperties : public express::Entity { +class IFC_SCHEMA_API IfcSectionReinforcementProperties : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The start position in longitudinal direction for the section reinforcement properties. double LongitudinalStartPosition() const; @@ -13058,9 +13058,9 @@ public: /// IfcRepresentationMap's that are used by an /// IfcTypeProduct through the /// RepresentationMaps attribute. -class IFC_SCHEMA_API IfcShapeAspect : public express::Entity { +class IFC_SCHEMA_API IfcShapeAspect : public express::entity { public: - using express::Entity::Entity; + 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 @@ -13269,9 +13269,9 @@ public: /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. -class IFC_SCHEMA_API IfcStructuralConnectionCondition : public express::Entity { +class IFC_SCHEMA_API IfcStructuralConnectionCondition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optionally defines a name for this connection condition. std::optional< std::string > Name() const; @@ -13283,9 +13283,9 @@ public: /// 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_SCHEMA_API IfcStructuralLoad : public express::Entity { +class IFC_SCHEMA_API IfcStructuralLoad : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optionally defines a name for this load. std::optional< std::string > Name() const; @@ -13436,9 +13436,9 @@ public: /// EXAMPLE  A green glass transmits only green light, so its transmission factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue. A green surface reflects only green light, so the reflectance factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue. /// /// HISTORY  New entity in IFC 2x2. -class IFC_SCHEMA_API IfcSurfaceStyleLighting : public express::Entity { +class IFC_SCHEMA_API IfcSurfaceStyleLighting : public express::entity { public: - using express::Entity::Entity; + 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. @@ -13465,9 +13465,9 @@ public: /// NOTE: If such refraction properties are used, the IfcSurfaceStyle should include within its set of Styles (depending on whether rendering or lighting is used) an instance of IfcSurfaceStyleLighting and IfcSurfaceStyleRefraction, or an instance of IfcSurfaceStyleRendering and IfcSurfaceStyleRefraction. /// /// HISTORY: New entity in IFC 2x2. -class IFC_SCHEMA_API IfcSurfaceStyleRefraction : public express::Entity { +class IFC_SCHEMA_API IfcSurfaceStyleRefraction : public express::entity { public: - using express::Entity::Entity; + 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; @@ -13486,9 +13486,9 @@ public: /// NOTE Corresponding ISO 10303 entity: surface_style_rendering. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. No rendering method is defined for each surface style (such as constant, colour, dot or normal shading), therefore the attribute rendering_method has been omitted. /// /// HISTORY: New entity in IFC 2x. -class IFC_SCHEMA_API IfcSurfaceStyleShading : public express::Entity { +class IFC_SCHEMA_API IfcSurfaceStyleShading : public express::entity { public: - using express::Entity::Entity; + 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; @@ -13515,9 +13515,9 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  inverse attribute HasTextureCoordinates deleted. -class IFC_SCHEMA_API IfcSurfaceStyleWithTextures : public express::Entity { +class IFC_SCHEMA_API IfcSurfaceStyleWithTextures : public express::entity { public: - using express::Entity::Entity; + 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; @@ -13618,9 +13618,9 @@ public: /// HISTORY  New entity in IFC 2x2. /// /// IFC2x4 CHANGE  Attribute TextureType replaces by Mode, attributes Parameter and MapsTo aded, new inverse attribute UsedInStyle. -class IFC_SCHEMA_API IfcSurfaceTexture : public express::Entity { +class IFC_SCHEMA_API IfcSurfaceTexture : public express::entity { public: - using express::Entity::Entity; + 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; @@ -13670,9 +13670,9 @@ public: /// HISTORY  New entity in IFC R1.5. /// /// IFC2x4 CHANGE  Columns attribute added. -class IFC_SCHEMA_API IfcTable : public express::Entity { +class IFC_SCHEMA_API IfcTable : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A unique name which is intended to describe the usage of the Table. std::string Name() const; @@ -13697,9 +13697,9 @@ public: /// Figure 338 — Table row use alternative /// /// HISTORY  New entity in IFC R1.5. -class IFC_SCHEMA_API IfcTableRow : public express::Entity { +class IFC_SCHEMA_API IfcTableRow : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The data value of the table cell.. std::vector< ::Ifc2x3::IfcValue > RowCells() const; @@ -13903,9 +13903,9 @@ public: /// HISTORY  New entity in IFC2x3. /// /// IFC2x3 CHANGE  The IfcTextStyleForDefinedFont has been added and replaces IfcColour at the IfcCharacterStyleSelect. -class IFC_SCHEMA_API IfcTextStyleForDefinedFont : public express::Entity { +class IFC_SCHEMA_API IfcTextStyleForDefinedFont : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// This property describes the text color of an element (often referred to as the foreground color). ::Ifc2x3::IfcColour Colour() const; @@ -13924,9 +13924,9 @@ public: /// NOTE  Corresponding CSS1 definitions are Text properties (word-spacing, letter-spacing, text-decoration, vertical-align, text-transform, text-align, text-indent, line-height). /// /// HISTORY  New entity in IFC2x3. -class IFC_SCHEMA_API IfcTextStyleTextModel : public express::Entity { +class IFC_SCHEMA_API IfcTextStyleTextModel : public express::entity { public: - using express::Entity::Entity; + 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. @@ -13977,9 +13977,9 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The attribute item CharacterSpacing has been added. -class IFC_SCHEMA_API IfcTextStyleWithBoxCharacteristics : public express::Entity { +class IFC_SCHEMA_API IfcTextStyleWithBoxCharacteristics : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// It is the height scaling factor in the definition of a character glyph. std::optional< double > BoxHeight() const; @@ -14011,9 +14011,9 @@ public: /// IFC2x3 CHANGE  The attribute Texture is deleted. /// /// IFC2x4 CHANGE  The inverse attribute AnnotatedSurface is deleted, and the inverse AppliesTextures is added. -class IFC_SCHEMA_API IfcTextureCoordinate : public express::Entity { +class IFC_SCHEMA_API IfcTextureCoordinate : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcAnnotationSurface > AnnotatedSurface() const; // INVERSE IfcAnnotationSurface::TextureCoordinates @@ -14152,9 +14152,9 @@ public: /// Texture coordinates may be transformed (scaled, rotated, translated) by supplying a TextureTransform as a component of the texture's definition. /// /// HISTORY: New entity in IFC 2x2. -class IFC_SCHEMA_API IfcTextureVertex : public express::Entity { +class IFC_SCHEMA_API IfcTextureVertex : public express::entity { public: - using express::Entity::Entity; + 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; @@ -14185,9 +14185,9 @@ public: /// The modeling of buildings and their performance involves data that are generated and recorded over a period of time. Such data cover a large spectrum, from weather data to schedules of all kinds to status measurements to reporting to everything else that has a time related aspect. Their correct placement in time is essential for their proper understanding and use, and the IfcTimeSeries subtypes provide the appropriate data structures to accommodate these types of data. /// /// HISTORY: New entity in IFC 2x2. -class IFC_SCHEMA_API IfcTimeSeries : public express::Entity { +class IFC_SCHEMA_API IfcTimeSeries : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// An unique name for the time series. std::string Name() const; @@ -14219,9 +14219,9 @@ public: 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_SCHEMA_API IfcTimeSeriesReferenceRelationship : public express::Entity { +class IFC_SCHEMA_API IfcTimeSeriesReferenceRelationship : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; ::Ifc2x3::IfcTimeSeries ReferencedTimeSeries() const; void setReferencedTimeSeries(const ::Ifc2x3::IfcTimeSeries& v); @@ -14240,9 +14240,9 @@ public: /// Figure 241 — Time series value /// /// HISTORY  New entity in IFC2x2. -class IFC_SCHEMA_API IfcTimeSeriesValue : public express::Entity { +class IFC_SCHEMA_API IfcTimeSeriesValue : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A list of time-series values. At least one value is required. std::vector< ::Ifc2x3::IfcValue > ListValues() const; @@ -14311,9 +14311,9 @@ public: /// NOTE  A project (IfcProject) has a unit assignment which establishes a set of units which will be used globally within the project, if not otherwise defined. Other objects may have local unit assignments if there is a requirement for them to make use of units which do not fall within the project unit assignment. /// /// HISTORY  New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcUnitAssignment : public express::Entity { +class IFC_SCHEMA_API IfcUnitAssignment : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Units to be included within a unit assignment. std::vector< ::Ifc2x3::IfcUnit > Units() const; @@ -14341,9 +14341,9 @@ public: IfcVertex initialize(); }; -class IFC_SCHEMA_API IfcVertexBasedTextureMap : public express::Entity { +class IFC_SCHEMA_API IfcVertexBasedTextureMap : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< ::Ifc2x3::IfcTextureVertex > TextureVertices() const; void setTextureVertices(const std::vector< ::Ifc2x3::IfcTextureVertex >& v); @@ -14432,9 +14432,9 @@ public: /// OffsetDistances[1] is a negative length measure /// /// Figure 248 — Virtual grid intersection negative offset -class IFC_SCHEMA_API IfcVirtualGridIntersection : public express::Entity { +class IFC_SCHEMA_API IfcVirtualGridIntersection : public express::entity { public: - using express::Entity::Entity; + 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; diff --git a/src/ifcparse/schemas/Ifc4-definitions.h b/src/ifcparse/schemas/Ifc4-definitions.h index 53c877533f..569becfbbd 100644 --- a/src/ifcparse/schemas/Ifc4-definitions.h +++ b/src/ifcparse/schemas/Ifc4-definitions.h @@ -19,7 +19,7 @@ /******************************************************************************** * * - * This file has been generated from IFC4.exp. Do not make modifications * + * This file has been generated from IFC4_ADD2_TC1.exp. Do not make modifications* * but instead modify the python script that has been used to generate this. * * * ********************************************************************************/ diff --git a/src/ifcparse/schemas/Ifc4-schema.cpp b/src/ifcparse/schemas/Ifc4-schema.cpp index fdac43a9d1..2630655ec4 100644 --- a/src/ifcparse/schemas/Ifc4-schema.cpp +++ b/src/ifcparse/schemas/Ifc4-schema.cpp @@ -19,7 +19,7 @@ /******************************************************************************** * * - * This file has been generated from IFC4.exp. Do not make modifications * + * This file has been generated from IFC4_ADD2_TC1.exp. Do not make modifications* * but instead modify the python script that has been used to generate this. * * * ********************************************************************************/ diff --git a/src/ifcparse/schemas/Ifc4.cpp b/src/ifcparse/schemas/Ifc4.cpp index 09b84b981d..43a571c5b6 100644 --- a/src/ifcparse/schemas/Ifc4.cpp +++ b/src/ifcparse/schemas/Ifc4.cpp @@ -19,7 +19,7 @@ /******************************************************************************** * * - * This file has been generated from IFC4.exp. Do not make modifications * + * This file has been generated from IFC4_ADD2_TC1.exp. Do not make modifications* * but instead modify the python script that has been used to generate this. * * * ********************************************************************************/ @@ -44,7 +44,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcActionRequestTypeEnum::Class() { /* Ifc4::IfcActionRequestTypeEnum::IfcActionRequestTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcActionRequestTypeEnum::IfcActionRequestTypeEnum(Value v) { @@ -73,7 +73,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcActionSourceTypeEnum::Class() { r /* Ifc4::IfcActionSourceTypeEnum::IfcActionSourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcActionSourceTypeEnum::IfcActionSourceTypeEnum(Value v) { @@ -102,7 +102,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcActionTypeEnum::Class() { return /* Ifc4::IfcActionTypeEnum::IfcActionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcActionTypeEnum::IfcActionTypeEnum(Value v) { @@ -131,7 +131,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcActuatorTypeEnum::Class() { retur /* Ifc4::IfcActuatorTypeEnum::IfcActuatorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcActuatorTypeEnum::IfcActuatorTypeEnum(Value v) { @@ -160,7 +160,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcAddressTypeEnum::Class() { return /* Ifc4::IfcAddressTypeEnum::IfcAddressTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcAddressTypeEnum::IfcAddressTypeEnum(Value v) { @@ -189,7 +189,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcAirTerminalBoxTypeEnum::Class() { /* Ifc4::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum(Value v) { @@ -218,7 +218,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcAirTerminalTypeEnum::Class() { re /* Ifc4::IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum(Value v) { @@ -247,7 +247,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Cla /* Ifc4::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum(Value v) { @@ -276,7 +276,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcAlarmTypeEnum::Class() { return * /* Ifc4::IfcAlarmTypeEnum::IfcAlarmTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcAlarmTypeEnum::IfcAlarmTypeEnum(Value v) { @@ -305,7 +305,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcAnalysisModelTypeEnum::Class() { /* Ifc4::IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum(Value v) { @@ -334,7 +334,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcAnalysisTheoryTypeEnum::Class() { /* Ifc4::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum(Value v) { @@ -363,7 +363,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcArithmeticOperatorEnum::Class() { /* Ifc4::IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum(Value v) { @@ -392,7 +392,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcAssemblyPlaceEnum::Class() { retu /* Ifc4::IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum(Value v) { @@ -421,7 +421,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcAudioVisualApplianceTypeEnum::Cla /* Ifc4::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum(Value v) { @@ -450,7 +450,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcBSplineCurveForm::Class() { retur /* Ifc4::IfcBSplineCurveForm::IfcBSplineCurveForm(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcBSplineCurveForm::IfcBSplineCurveForm(Value v) { @@ -479,7 +479,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcBSplineSurfaceForm::Class() { ret /* Ifc4::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm(Value v) { @@ -508,7 +508,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcBeamTypeEnum::Class() { return *( /* Ifc4::IfcBeamTypeEnum::IfcBeamTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcBeamTypeEnum::IfcBeamTypeEnum(Value v) { @@ -537,7 +537,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcBenchmarkEnum::Class() { return * /* Ifc4::IfcBenchmarkEnum::IfcBenchmarkEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcBenchmarkEnum::IfcBenchmarkEnum(Value v) { @@ -566,7 +566,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcBoilerTypeEnum::Class() { return /* Ifc4::IfcBoilerTypeEnum::IfcBoilerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcBoilerTypeEnum::IfcBoilerTypeEnum(Value v) { @@ -595,7 +595,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcBooleanOperator::Class() { return /* Ifc4::IfcBooleanOperator::IfcBooleanOperator(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcBooleanOperator::IfcBooleanOperator(Value v) { @@ -624,7 +624,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcBuildingElementPartTypeEnum::Clas /* Ifc4::IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum(Value v) { @@ -653,7 +653,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcBuildingElementProxyTypeEnum::Cla /* Ifc4::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum(Value v) { @@ -682,7 +682,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcBuildingSystemTypeEnum::Class() { /* Ifc4::IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum(Value v) { @@ -711,7 +711,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcBurnerTypeEnum::Class() { return /* Ifc4::IfcBurnerTypeEnum::IfcBurnerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcBurnerTypeEnum::IfcBurnerTypeEnum(Value v) { @@ -740,7 +740,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcCableCarrierFittingTypeEnum::Clas /* Ifc4::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum(Value v) { @@ -769,7 +769,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcCableCarrierSegmentTypeEnum::Clas /* Ifc4::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum(Value v) { @@ -798,7 +798,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcCableFittingTypeEnum::Class() { r /* Ifc4::IfcCableFittingTypeEnum::IfcCableFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcCableFittingTypeEnum::IfcCableFittingTypeEnum(Value v) { @@ -827,7 +827,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcCableSegmentTypeEnum::Class() { r /* Ifc4::IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum(Value v) { @@ -856,7 +856,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcChangeActionEnum::Class() { retur /* Ifc4::IfcChangeActionEnum::IfcChangeActionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcChangeActionEnum::IfcChangeActionEnum(Value v) { @@ -885,7 +885,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcChillerTypeEnum::Class() { return /* Ifc4::IfcChillerTypeEnum::IfcChillerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcChillerTypeEnum::IfcChillerTypeEnum(Value v) { @@ -914,7 +914,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcChimneyTypeEnum::Class() { return /* Ifc4::IfcChimneyTypeEnum::IfcChimneyTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcChimneyTypeEnum::IfcChimneyTypeEnum(Value v) { @@ -943,7 +943,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcCoilTypeEnum::Class() { return *( /* Ifc4::IfcCoilTypeEnum::IfcCoilTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcCoilTypeEnum::IfcCoilTypeEnum(Value v) { @@ -972,7 +972,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcColumnTypeEnum::Class() { return /* Ifc4::IfcColumnTypeEnum::IfcColumnTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcColumnTypeEnum::IfcColumnTypeEnum(Value v) { @@ -1001,7 +1001,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcCommunicationsApplianceTypeEnum:: /* Ifc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum(Value v) { @@ -1030,7 +1030,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcComplexPropertyTemplateTypeEnum:: /* Ifc4::IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum(Value v) { @@ -1059,7 +1059,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcCompressorTypeEnum::Class() { ret /* Ifc4::IfcCompressorTypeEnum::IfcCompressorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcCompressorTypeEnum::IfcCompressorTypeEnum(Value v) { @@ -1088,7 +1088,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcCondenserTypeEnum::Class() { retu /* Ifc4::IfcCondenserTypeEnum::IfcCondenserTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcCondenserTypeEnum::IfcCondenserTypeEnum(Value v) { @@ -1117,7 +1117,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcConnectionTypeEnum::Class() { ret /* Ifc4::IfcConnectionTypeEnum::IfcConnectionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcConnectionTypeEnum::IfcConnectionTypeEnum(Value v) { @@ -1146,7 +1146,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcConstraintEnum::Class() { return /* Ifc4::IfcConstraintEnum::IfcConstraintEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcConstraintEnum::IfcConstraintEnum(Value v) { @@ -1175,7 +1175,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcConstructionEquipmentResourceType /* Ifc4::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum(Value v) { @@ -1204,7 +1204,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcConstructionMaterialResourceTypeE /* Ifc4::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum(Value v) { @@ -1233,7 +1233,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcConstructionProductResourceTypeEn /* Ifc4::IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum(Value v) { @@ -1262,7 +1262,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcControllerTypeEnum::Class() { ret /* Ifc4::IfcControllerTypeEnum::IfcControllerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcControllerTypeEnum::IfcControllerTypeEnum(Value v) { @@ -1291,7 +1291,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcCooledBeamTypeEnum::Class() { ret /* Ifc4::IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum(Value v) { @@ -1320,7 +1320,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcCoolingTowerTypeEnum::Class() { r /* Ifc4::IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum(Value v) { @@ -1349,7 +1349,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcCostItemTypeEnum::Class() { retur /* Ifc4::IfcCostItemTypeEnum::IfcCostItemTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcCostItemTypeEnum::IfcCostItemTypeEnum(Value v) { @@ -1378,7 +1378,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcCostScheduleTypeEnum::Class() { r /* Ifc4::IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum(Value v) { @@ -1407,7 +1407,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcCoveringTypeEnum::Class() { retur /* Ifc4::IfcCoveringTypeEnum::IfcCoveringTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcCoveringTypeEnum::IfcCoveringTypeEnum(Value v) { @@ -1436,7 +1436,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcCrewResourceTypeEnum::Class() { r /* Ifc4::IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum(Value v) { @@ -1465,7 +1465,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcCurtainWallTypeEnum::Class() { re /* Ifc4::IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum(Value v) { @@ -1494,7 +1494,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcCurveInterpolationEnum::Class() { /* Ifc4::IfcCurveInterpolationEnum::IfcCurveInterpolationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcCurveInterpolationEnum::IfcCurveInterpolationEnum(Value v) { @@ -1523,7 +1523,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcDamperTypeEnum::Class() { return /* Ifc4::IfcDamperTypeEnum::IfcDamperTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcDamperTypeEnum::IfcDamperTypeEnum(Value v) { @@ -1552,7 +1552,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcDataOriginEnum::Class() { return /* Ifc4::IfcDataOriginEnum::IfcDataOriginEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcDataOriginEnum::IfcDataOriginEnum(Value v) { @@ -1581,7 +1581,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcDerivedUnitEnum::Class() { return /* Ifc4::IfcDerivedUnitEnum::IfcDerivedUnitEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcDerivedUnitEnum::IfcDerivedUnitEnum(Value v) { @@ -1610,7 +1610,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcDirectionSenseEnum::Class() { ret /* Ifc4::IfcDirectionSenseEnum::IfcDirectionSenseEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcDirectionSenseEnum::IfcDirectionSenseEnum(Value v) { @@ -1639,7 +1639,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcDiscreteAccessoryTypeEnum::Class( /* Ifc4::IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum(Value v) { @@ -1668,7 +1668,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcDistributionChamberElementTypeEnu /* Ifc4::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum(Value v) { @@ -1697,7 +1697,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcDistributionPortTypeEnum::Class() /* Ifc4::IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum(Value v) { @@ -1726,7 +1726,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcDistributionSystemEnum::Class() { /* Ifc4::IfcDistributionSystemEnum::IfcDistributionSystemEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcDistributionSystemEnum::IfcDistributionSystemEnum(Value v) { @@ -1755,7 +1755,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcDocumentConfidentialityEnum::Clas /* Ifc4::IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum(Value v) { @@ -1784,7 +1784,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcDocumentStatusEnum::Class() { ret /* Ifc4::IfcDocumentStatusEnum::IfcDocumentStatusEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcDocumentStatusEnum::IfcDocumentStatusEnum(Value v) { @@ -1813,7 +1813,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcDoorPanelOperationEnum::Class() { /* Ifc4::IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum(Value v) { @@ -1842,7 +1842,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcDoorPanelPositionEnum::Class() { /* Ifc4::IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum(Value v) { @@ -1871,7 +1871,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcDoorStyleConstructionEnum::Class( /* Ifc4::IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum(Value v) { @@ -1900,7 +1900,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcDoorStyleOperationEnum::Class() { /* Ifc4::IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum(Value v) { @@ -1929,7 +1929,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcDoorTypeEnum::Class() { return *( /* Ifc4::IfcDoorTypeEnum::IfcDoorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcDoorTypeEnum::IfcDoorTypeEnum(Value v) { @@ -1958,7 +1958,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcDoorTypeOperationEnum::Class() { /* Ifc4::IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum(Value v) { @@ -1987,7 +1987,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcDuctFittingTypeEnum::Class() { re /* Ifc4::IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum(Value v) { @@ -2016,7 +2016,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcDuctSegmentTypeEnum::Class() { re /* Ifc4::IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum(Value v) { @@ -2045,7 +2045,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcDuctSilencerTypeEnum::Class() { r /* Ifc4::IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum(Value v) { @@ -2074,7 +2074,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcElectricApplianceTypeEnum::Class( /* Ifc4::IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum(Value v) { @@ -2103,7 +2103,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcElectricDistributionBoardTypeEnum /* Ifc4::IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum(Value v) { @@ -2132,7 +2132,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcElectricFlowStorageDeviceTypeEnum /* Ifc4::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum(Value v) { @@ -2161,7 +2161,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcElectricGeneratorTypeEnum::Class( /* Ifc4::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum(Value v) { @@ -2190,7 +2190,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcElectricMotorTypeEnum::Class() { /* Ifc4::IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum(Value v) { @@ -2219,7 +2219,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcElectricTimeControlTypeEnum::Clas /* Ifc4::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum(Value v) { @@ -2248,7 +2248,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcElementAssemblyTypeEnum::Class() /* Ifc4::IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum(Value v) { @@ -2277,7 +2277,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcElementCompositionEnum::Class() { /* Ifc4::IfcElementCompositionEnum::IfcElementCompositionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcElementCompositionEnum::IfcElementCompositionEnum(Value v) { @@ -2306,7 +2306,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcEngineTypeEnum::Class() { return /* Ifc4::IfcEngineTypeEnum::IfcEngineTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcEngineTypeEnum::IfcEngineTypeEnum(Value v) { @@ -2335,7 +2335,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcEvaporativeCoolerTypeEnum::Class( /* Ifc4::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum(Value v) { @@ -2364,7 +2364,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcEvaporatorTypeEnum::Class() { ret /* Ifc4::IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum(Value v) { @@ -2393,7 +2393,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcEventTriggerTypeEnum::Class() { r /* Ifc4::IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum(Value v) { @@ -2422,7 +2422,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcEventTypeEnum::Class() { return * /* Ifc4::IfcEventTypeEnum::IfcEventTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcEventTypeEnum::IfcEventTypeEnum(Value v) { @@ -2451,7 +2451,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcExternalSpatialElementTypeEnum::C /* Ifc4::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum(Value v) { @@ -2480,7 +2480,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcFanTypeEnum::Class() { return *(( /* Ifc4::IfcFanTypeEnum::IfcFanTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcFanTypeEnum::IfcFanTypeEnum(Value v) { @@ -2509,7 +2509,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcFastenerTypeEnum::Class() { retur /* Ifc4::IfcFastenerTypeEnum::IfcFastenerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcFastenerTypeEnum::IfcFastenerTypeEnum(Value v) { @@ -2538,7 +2538,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcFilterTypeEnum::Class() { return /* Ifc4::IfcFilterTypeEnum::IfcFilterTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcFilterTypeEnum::IfcFilterTypeEnum(Value v) { @@ -2567,7 +2567,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcFireSuppressionTerminalTypeEnum:: /* Ifc4::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum(Value v) { @@ -2596,7 +2596,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcFlowDirectionEnum::Class() { retu /* Ifc4::IfcFlowDirectionEnum::IfcFlowDirectionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcFlowDirectionEnum::IfcFlowDirectionEnum(Value v) { @@ -2625,7 +2625,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcFlowInstrumentTypeEnum::Class() { /* Ifc4::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum(Value v) { @@ -2654,7 +2654,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcFlowMeterTypeEnum::Class() { retu /* Ifc4::IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum(Value v) { @@ -2683,7 +2683,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcFootingTypeEnum::Class() { return /* Ifc4::IfcFootingTypeEnum::IfcFootingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcFootingTypeEnum::IfcFootingTypeEnum(Value v) { @@ -2712,7 +2712,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcFurnitureTypeEnum::Class() { retu /* Ifc4::IfcFurnitureTypeEnum::IfcFurnitureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcFurnitureTypeEnum::IfcFurnitureTypeEnum(Value v) { @@ -2741,7 +2741,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcGeographicElementTypeEnum::Class( /* Ifc4::IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum(Value v) { @@ -2770,7 +2770,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcGeometricProjectionEnum::Class() /* Ifc4::IfcGeometricProjectionEnum::IfcGeometricProjectionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcGeometricProjectionEnum::IfcGeometricProjectionEnum(Value v) { @@ -2799,7 +2799,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcGlobalOrLocalEnum::Class() { retu /* Ifc4::IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum(Value v) { @@ -2828,7 +2828,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcGridTypeEnum::Class() { return *( /* Ifc4::IfcGridTypeEnum::IfcGridTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcGridTypeEnum::IfcGridTypeEnum(Value v) { @@ -2857,7 +2857,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcHeatExchangerTypeEnum::Class() { /* Ifc4::IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum(Value v) { @@ -2886,7 +2886,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcHumidifierTypeEnum::Class() { ret /* Ifc4::IfcHumidifierTypeEnum::IfcHumidifierTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcHumidifierTypeEnum::IfcHumidifierTypeEnum(Value v) { @@ -2915,7 +2915,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcInterceptorTypeEnum::Class() { re /* Ifc4::IfcInterceptorTypeEnum::IfcInterceptorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcInterceptorTypeEnum::IfcInterceptorTypeEnum(Value v) { @@ -2944,7 +2944,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcInternalOrExternalEnum::Class() { /* Ifc4::IfcInternalOrExternalEnum::IfcInternalOrExternalEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcInternalOrExternalEnum::IfcInternalOrExternalEnum(Value v) { @@ -2973,7 +2973,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcInventoryTypeEnum::Class() { retu /* Ifc4::IfcInventoryTypeEnum::IfcInventoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcInventoryTypeEnum::IfcInventoryTypeEnum(Value v) { @@ -3002,7 +3002,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcJunctionBoxTypeEnum::Class() { re /* Ifc4::IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum(Value v) { @@ -3031,7 +3031,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcKnotType::Class() { return *((ifc /* Ifc4::IfcKnotType::IfcKnotType(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcKnotType::IfcKnotType(Value v) { @@ -3060,7 +3060,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcLaborResourceTypeEnum::Class() { /* Ifc4::IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum(Value v) { @@ -3089,7 +3089,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcLampTypeEnum::Class() { return *( /* Ifc4::IfcLampTypeEnum::IfcLampTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcLampTypeEnum::IfcLampTypeEnum(Value v) { @@ -3118,7 +3118,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcLayerSetDirectionEnum::Class() { /* Ifc4::IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum(Value v) { @@ -3147,7 +3147,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcLightDistributionCurveEnum::Class /* Ifc4::IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum(Value v) { @@ -3176,7 +3176,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcLightEmissionSourceEnum::Class() /* Ifc4::IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum(Value v) { @@ -3205,7 +3205,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcLightFixtureTypeEnum::Class() { r /* Ifc4::IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum(Value v) { @@ -3234,7 +3234,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcLoadGroupTypeEnum::Class() { retu /* Ifc4::IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum(Value v) { @@ -3263,7 +3263,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcLogicalOperatorEnum::Class() { re /* Ifc4::IfcLogicalOperatorEnum::IfcLogicalOperatorEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcLogicalOperatorEnum::IfcLogicalOperatorEnum(Value v) { @@ -3292,7 +3292,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcMechanicalFastenerTypeEnum::Class /* Ifc4::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum(Value v) { @@ -3321,7 +3321,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcMedicalDeviceTypeEnum::Class() { /* Ifc4::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum(Value v) { @@ -3350,7 +3350,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcMemberTypeEnum::Class() { return /* Ifc4::IfcMemberTypeEnum::IfcMemberTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcMemberTypeEnum::IfcMemberTypeEnum(Value v) { @@ -3379,7 +3379,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcMotorConnectionTypeEnum::Class() /* Ifc4::IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum(Value v) { @@ -3408,7 +3408,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcNullStyle::Class() { return *((if /* Ifc4::IfcNullStyle::IfcNullStyle(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcNullStyle::IfcNullStyle(Value v) { @@ -3437,7 +3437,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcObjectTypeEnum::Class() { return /* Ifc4::IfcObjectTypeEnum::IfcObjectTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcObjectTypeEnum::IfcObjectTypeEnum(Value v) { @@ -3466,7 +3466,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcObjectiveEnum::Class() { return * /* Ifc4::IfcObjectiveEnum::IfcObjectiveEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcObjectiveEnum::IfcObjectiveEnum(Value v) { @@ -3495,7 +3495,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcOccupantTypeEnum::Class() { retur /* Ifc4::IfcOccupantTypeEnum::IfcOccupantTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcOccupantTypeEnum::IfcOccupantTypeEnum(Value v) { @@ -3524,7 +3524,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcOpeningElementTypeEnum::Class() { /* Ifc4::IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum(Value v) { @@ -3553,7 +3553,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcOutletTypeEnum::Class() { return /* Ifc4::IfcOutletTypeEnum::IfcOutletTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcOutletTypeEnum::IfcOutletTypeEnum(Value v) { @@ -3582,7 +3582,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcPerformanceHistoryTypeEnum::Class /* Ifc4::IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum(Value v) { @@ -3611,7 +3611,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcPermeableCoveringOperationEnum::C /* Ifc4::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum(Value v) { @@ -3640,7 +3640,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcPermitTypeEnum::Class() { return /* Ifc4::IfcPermitTypeEnum::IfcPermitTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcPermitTypeEnum::IfcPermitTypeEnum(Value v) { @@ -3669,7 +3669,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcPhysicalOrVirtualEnum::Class() { /* Ifc4::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum(Value v) { @@ -3698,7 +3698,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcPileConstructionEnum::Class() { r /* Ifc4::IfcPileConstructionEnum::IfcPileConstructionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcPileConstructionEnum::IfcPileConstructionEnum(Value v) { @@ -3727,7 +3727,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcPileTypeEnum::Class() { return *( /* Ifc4::IfcPileTypeEnum::IfcPileTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcPileTypeEnum::IfcPileTypeEnum(Value v) { @@ -3756,7 +3756,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcPipeFittingTypeEnum::Class() { re /* Ifc4::IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum(Value v) { @@ -3785,7 +3785,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcPipeSegmentTypeEnum::Class() { re /* Ifc4::IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum(Value v) { @@ -3814,7 +3814,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcPlateTypeEnum::Class() { return * /* Ifc4::IfcPlateTypeEnum::IfcPlateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcPlateTypeEnum::IfcPlateTypeEnum(Value v) { @@ -3843,7 +3843,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcPreferredSurfaceCurveRepresentati /* Ifc4::IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation(Value v) { @@ -3872,7 +3872,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcProcedureTypeEnum::Class() { retu /* Ifc4::IfcProcedureTypeEnum::IfcProcedureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcProcedureTypeEnum::IfcProcedureTypeEnum(Value v) { @@ -3901,7 +3901,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcProfileTypeEnum::Class() { return /* Ifc4::IfcProfileTypeEnum::IfcProfileTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcProfileTypeEnum::IfcProfileTypeEnum(Value v) { @@ -3930,7 +3930,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcProjectOrderTypeEnum::Class() { r /* Ifc4::IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum(Value v) { @@ -3959,7 +3959,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcProjectedOrTrueLengthEnum::Class( /* Ifc4::IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum(Value v) { @@ -3988,7 +3988,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcProjectionElementTypeEnum::Class( /* Ifc4::IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum(Value v) { @@ -4017,7 +4017,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcPropertySetTemplateTypeEnum::Clas /* Ifc4::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum(Value v) { @@ -4046,7 +4046,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcProtectiveDeviceTrippingUnitTypeE /* Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum(Value v) { @@ -4075,7 +4075,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcProtectiveDeviceTypeEnum::Class() /* Ifc4::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum(Value v) { @@ -4104,7 +4104,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcPumpTypeEnum::Class() { return *( /* Ifc4::IfcPumpTypeEnum::IfcPumpTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcPumpTypeEnum::IfcPumpTypeEnum(Value v) { @@ -4133,7 +4133,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcRailingTypeEnum::Class() { return /* Ifc4::IfcRailingTypeEnum::IfcRailingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcRailingTypeEnum::IfcRailingTypeEnum(Value v) { @@ -4162,7 +4162,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcRampFlightTypeEnum::Class() { ret /* Ifc4::IfcRampFlightTypeEnum::IfcRampFlightTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcRampFlightTypeEnum::IfcRampFlightTypeEnum(Value v) { @@ -4191,7 +4191,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcRampTypeEnum::Class() { return *( /* Ifc4::IfcRampTypeEnum::IfcRampTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcRampTypeEnum::IfcRampTypeEnum(Value v) { @@ -4220,7 +4220,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcRecurrenceTypeEnum::Class() { ret /* Ifc4::IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum(Value v) { @@ -4249,7 +4249,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcReflectanceMethodEnum::Class() { /* Ifc4::IfcReflectanceMethodEnum::IfcReflectanceMethodEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcReflectanceMethodEnum::IfcReflectanceMethodEnum(Value v) { @@ -4278,7 +4278,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcReinforcingBarRoleEnum::Class() { /* Ifc4::IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum(Value v) { @@ -4307,7 +4307,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcReinforcingBarSurfaceEnum::Class( /* Ifc4::IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum(Value v) { @@ -4336,7 +4336,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcReinforcingBarTypeEnum::Class() { /* Ifc4::IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum(Value v) { @@ -4365,7 +4365,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcReinforcingMeshTypeEnum::Class() /* Ifc4::IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum(Value v) { @@ -4394,7 +4394,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcRoleEnum::Class() { return *((ifc /* Ifc4::IfcRoleEnum::IfcRoleEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcRoleEnum::IfcRoleEnum(Value v) { @@ -4423,7 +4423,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcRoofTypeEnum::Class() { return *( /* Ifc4::IfcRoofTypeEnum::IfcRoofTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcRoofTypeEnum::IfcRoofTypeEnum(Value v) { @@ -4452,7 +4452,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcSIPrefix::Class() { return *((ifc /* Ifc4::IfcSIPrefix::IfcSIPrefix(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcSIPrefix::IfcSIPrefix(Value v) { @@ -4481,7 +4481,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcSIUnitName::Class() { return *((i /* Ifc4::IfcSIUnitName::IfcSIUnitName(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcSIUnitName::IfcSIUnitName(Value v) { @@ -4510,7 +4510,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcSanitaryTerminalTypeEnum::Class() /* Ifc4::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum(Value v) { @@ -4539,7 +4539,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcSectionTypeEnum::Class() { return /* Ifc4::IfcSectionTypeEnum::IfcSectionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcSectionTypeEnum::IfcSectionTypeEnum(Value v) { @@ -4568,7 +4568,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcSensorTypeEnum::Class() { return /* Ifc4::IfcSensorTypeEnum::IfcSensorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcSensorTypeEnum::IfcSensorTypeEnum(Value v) { @@ -4597,7 +4597,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcSequenceEnum::Class() { return *( /* Ifc4::IfcSequenceEnum::IfcSequenceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcSequenceEnum::IfcSequenceEnum(Value v) { @@ -4626,7 +4626,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcShadingDeviceTypeEnum::Class() { /* Ifc4::IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum(Value v) { @@ -4655,7 +4655,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcSimplePropertyTemplateTypeEnum::C /* Ifc4::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum(Value v) { @@ -4684,7 +4684,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcSlabTypeEnum::Class() { return *( /* Ifc4::IfcSlabTypeEnum::IfcSlabTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcSlabTypeEnum::IfcSlabTypeEnum(Value v) { @@ -4713,7 +4713,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcSolarDeviceTypeEnum::Class() { re /* Ifc4::IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum(Value v) { @@ -4742,7 +4742,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcSpaceHeaterTypeEnum::Class() { re /* Ifc4::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum(Value v) { @@ -4771,7 +4771,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcSpaceTypeEnum::Class() { return * /* Ifc4::IfcSpaceTypeEnum::IfcSpaceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcSpaceTypeEnum::IfcSpaceTypeEnum(Value v) { @@ -4800,7 +4800,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcSpatialZoneTypeEnum::Class() { re /* Ifc4::IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum(Value v) { @@ -4829,7 +4829,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcStackTerminalTypeEnum::Class() { /* Ifc4::IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum(Value v) { @@ -4858,7 +4858,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcStairFlightTypeEnum::Class() { re /* Ifc4::IfcStairFlightTypeEnum::IfcStairFlightTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcStairFlightTypeEnum::IfcStairFlightTypeEnum(Value v) { @@ -4887,7 +4887,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcStairTypeEnum::Class() { return * /* Ifc4::IfcStairTypeEnum::IfcStairTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcStairTypeEnum::IfcStairTypeEnum(Value v) { @@ -4916,7 +4916,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcStateEnum::Class() { return *((if /* Ifc4::IfcStateEnum::IfcStateEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcStateEnum::IfcStateEnum(Value v) { @@ -4945,7 +4945,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcStructuralCurveActivityTypeEnum:: /* Ifc4::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum(Value v) { @@ -4974,7 +4974,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcStructuralCurveMemberTypeEnum::Cl /* Ifc4::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum(Value v) { @@ -5003,7 +5003,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcStructuralSurfaceActivityTypeEnum /* Ifc4::IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum(Value v) { @@ -5032,7 +5032,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcStructuralSurfaceMemberTypeEnum:: /* Ifc4::IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum(Value v) { @@ -5061,7 +5061,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcSubContractResourceTypeEnum::Clas /* Ifc4::IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum(Value v) { @@ -5090,7 +5090,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcSurfaceFeatureTypeEnum::Class() { /* Ifc4::IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum(Value v) { @@ -5119,7 +5119,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcSurfaceSide::Class() { return *(( /* Ifc4::IfcSurfaceSide::IfcSurfaceSide(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcSurfaceSide::IfcSurfaceSide(Value v) { @@ -5148,7 +5148,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcSwitchingDeviceTypeEnum::Class() /* Ifc4::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum(Value v) { @@ -5177,7 +5177,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcSystemFurnitureElementTypeEnum::C /* Ifc4::IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum(Value v) { @@ -5206,7 +5206,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcTankTypeEnum::Class() { return *( /* Ifc4::IfcTankTypeEnum::IfcTankTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcTankTypeEnum::IfcTankTypeEnum(Value v) { @@ -5235,7 +5235,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcTaskDurationEnum::Class() { retur /* Ifc4::IfcTaskDurationEnum::IfcTaskDurationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcTaskDurationEnum::IfcTaskDurationEnum(Value v) { @@ -5264,7 +5264,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcTaskTypeEnum::Class() { return *( /* Ifc4::IfcTaskTypeEnum::IfcTaskTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcTaskTypeEnum::IfcTaskTypeEnum(Value v) { @@ -5293,7 +5293,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcTendonAnchorTypeEnum::Class() { r /* Ifc4::IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum(Value v) { @@ -5322,7 +5322,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcTendonTypeEnum::Class() { return /* Ifc4::IfcTendonTypeEnum::IfcTendonTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcTendonTypeEnum::IfcTendonTypeEnum(Value v) { @@ -5351,7 +5351,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcTextPath::Class() { return *((ifc /* Ifc4::IfcTextPath::IfcTextPath(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcTextPath::IfcTextPath(Value v) { @@ -5380,7 +5380,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcTimeSeriesDataTypeEnum::Class() { /* Ifc4::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum(Value v) { @@ -5409,7 +5409,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcTransformerTypeEnum::Class() { re /* Ifc4::IfcTransformerTypeEnum::IfcTransformerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcTransformerTypeEnum::IfcTransformerTypeEnum(Value v) { @@ -5438,7 +5438,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcTransitionCode::Class() { return /* Ifc4::IfcTransitionCode::IfcTransitionCode(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcTransitionCode::IfcTransitionCode(Value v) { @@ -5467,7 +5467,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcTransportElementTypeEnum::Class() /* Ifc4::IfcTransportElementTypeEnum::IfcTransportElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcTransportElementTypeEnum::IfcTransportElementTypeEnum(Value v) { @@ -5496,7 +5496,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcTrimmingPreference::Class() { ret /* Ifc4::IfcTrimmingPreference::IfcTrimmingPreference(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcTrimmingPreference::IfcTrimmingPreference(Value v) { @@ -5525,7 +5525,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcTubeBundleTypeEnum::Class() { ret /* Ifc4::IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum(Value v) { @@ -5554,7 +5554,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcUnitEnum::Class() { return *((ifc /* Ifc4::IfcUnitEnum::IfcUnitEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcUnitEnum::IfcUnitEnum(Value v) { @@ -5583,7 +5583,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcUnitaryControlElementTypeEnum::Cl /* Ifc4::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum(Value v) { @@ -5612,7 +5612,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcUnitaryEquipmentTypeEnum::Class() /* Ifc4::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum(Value v) { @@ -5641,7 +5641,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcValveTypeEnum::Class() { return * /* Ifc4::IfcValveTypeEnum::IfcValveTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcValveTypeEnum::IfcValveTypeEnum(Value v) { @@ -5670,7 +5670,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcVibrationIsolatorTypeEnum::Class( /* Ifc4::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum(Value v) { @@ -5699,7 +5699,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcVoidingFeatureTypeEnum::Class() { /* Ifc4::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum(Value v) { @@ -5728,7 +5728,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcWallTypeEnum::Class() { return *( /* Ifc4::IfcWallTypeEnum::IfcWallTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcWallTypeEnum::IfcWallTypeEnum(Value v) { @@ -5757,7 +5757,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcWasteTerminalTypeEnum::Class() { /* Ifc4::IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum(Value v) { @@ -5786,7 +5786,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcWindowPanelOperationEnum::Class() /* Ifc4::IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum(Value v) { @@ -5815,7 +5815,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcWindowPanelPositionEnum::Class() /* Ifc4::IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum(Value v) { @@ -5844,7 +5844,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcWindowStyleConstructionEnum::Clas /* Ifc4::IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum(Value v) { @@ -5873,7 +5873,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcWindowStyleOperationEnum::Class() /* Ifc4::IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum(Value v) { @@ -5902,7 +5902,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcWindowTypeEnum::Class() { return /* Ifc4::IfcWindowTypeEnum::IfcWindowTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcWindowTypeEnum::IfcWindowTypeEnum(Value v) { @@ -5931,7 +5931,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcWindowTypePartitioningEnum::Class /* Ifc4::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum(Value v) { @@ -5960,7 +5960,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcWorkCalendarTypeEnum::Class() { r /* Ifc4::IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum(Value v) { @@ -5989,7 +5989,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcWorkPlanTypeEnum::Class() { retur /* Ifc4::IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum(Value v) { @@ -6018,7 +6018,7 @@ const ifcopenshell::enumeration_type& Ifc4::IfcWorkScheduleTypeEnum::Class() { r /* Ifc4::IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4::IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum(Value v) { @@ -6610,8 +6610,8 @@ 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]); } -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); } +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]); } @@ -6827,7 +6827,7 @@ const ifcopenshell::entity& Ifc4::IfcActionRequest::Class() { return *((ifcopens 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>(); } +::Ifc4::IfcActorSelect Ifc4::IfcActor::TheActor() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcActorSelect>(); } void Ifc4::IfcActor::setTheActor(const ::Ifc4::IfcActorSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } std::vector<::Ifc4::IfcRelAssignsToActor> Ifc4::IfcActor::IsActingUpon() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[799], 6)); } @@ -6862,7 +6862,7 @@ void Ifc4::IfcActuatorType::setPredefinedType(const ::Ifc4::IfcActuatorTypeEnum: const ifcopenshell::entity& Ifc4::IfcActuatorType::Class() { return *((ifcopenshell::entity*)IFC4_types[10]); } -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; } +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)); } @@ -6885,18 +6885,18 @@ const ifcopenshell::entity& Ifc4::IfcAdvancedBrep::Class() { return *((ifcopensh 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); } -void Ifc4::IfcAdvancedBrepWithVoids::setVoids(const std::vector< ::Ifc4::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4::IfcClosedShell > Ifc4::IfcAdvancedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcClosedShell>(es); } +void Ifc4::IfcAdvancedBrepWithVoids::setVoids(const std::vector< ::Ifc4::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4::IfcAdvancedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4_types[15]); } -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; } +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]); } -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; } +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)); } @@ -6920,7 +6920,7 @@ void Ifc4::IfcAirTerminalBoxType::setPredefinedType(const ::Ifc4::IfcAirTerminal const ifcopenshell::entity& Ifc4::IfcAirTerminalBoxType::Class() { return *((ifcopenshell::entity*)IFC4_types[19]); } -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; } +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]); } -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; } +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)); } @@ -6944,7 +6944,7 @@ void Ifc4::IfcAirToAirHeatRecoveryType::setPredefinedType(const ::Ifc4::IfcAirTo const ifcopenshell::entity& Ifc4::IfcAirToAirHeatRecoveryType::Class() { return *((ifcopenshell::entity*)IFC4_types[24]); } -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; } +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)); } @@ -6960,7 +6960,7 @@ void Ifc4::IfcAlarmType::setPredefinedType(const ::Ifc4::IfcAlarmTypeEnum::Value const ifcopenshell::entity& Ifc4::IfcAlarmType::Class() { return *((ifcopenshell::entity*)IFC4_types[27]); } -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; } +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 @@ -6970,17 +6970,17 @@ const ifcopenshell::entity& Ifc4::IfcAnnotation::Class() { return *((ifcopenshel 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>(); } +::Ifc4::IfcCurve Ifc4::IfcAnnotationFillArea::OuterBoundary() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcCurve>(); } void Ifc4::IfcAnnotationFillArea::setOuterBoundary(const ::Ifc4::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::optional< std::vector< ::Ifc4::IfcCurve > > Ifc4::IfcAnnotationFillArea::InnerBoundaries() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcCurve>(es); } -void Ifc4::IfcAnnotationFillArea::setInnerBoundaries(const std::optional< std::vector< ::Ifc4::IfcCurve > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } +std::optional< std::vector< ::Ifc4::IfcCurve > > Ifc4::IfcAnnotationFillArea::InnerBoundaries() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcCurve>(es); } +void Ifc4::IfcAnnotationFillArea::setInnerBoundaries(const std::optional< std::vector< ::Ifc4::IfcCurve > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } const ifcopenshell::entity& Ifc4::IfcAnnotationFillArea::Class() { return *((ifcopenshell::entity*)IFC4_types[34]); } -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; } +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>(); } +::Ifc4::IfcOrganization Ifc4::IfcApplication::ApplicationDeveloper() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcOrganization>(); } void Ifc4::IfcApplication::setApplicationDeveloper(const ::Ifc4::IfcOrganization& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::string Ifc4::IfcApplication::Version() const { std::string v = get_attribute_value(1); return v; } void Ifc4::IfcApplication::setVersion(const std::string& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -6998,9 +6998,9 @@ std::optional< std::string > Ifc4::IfcAppliedValue::Name() const { if(get_attrib void Ifc4::IfcAppliedValue::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4::IfcAppliedValue::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcAppliedValue::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4::IfcAppliedValueSelect Ifc4::IfcAppliedValue::AppliedValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4::IfcAppliedValueSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcAppliedValueSelect>(); } +::Ifc4::IfcAppliedValueSelect Ifc4::IfcAppliedValue::AppliedValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4::IfcAppliedValueSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcAppliedValueSelect>(); } void Ifc4::IfcAppliedValue::setAppliedValue(const ::Ifc4::IfcAppliedValueSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcMeasureWithUnit Ifc4::IfcAppliedValue::UnitBasis() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcMeasureWithUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcMeasureWithUnit>(); } +::Ifc4::IfcMeasureWithUnit Ifc4::IfcAppliedValue::UnitBasis() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcMeasureWithUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcMeasureWithUnit>(); } void Ifc4::IfcAppliedValue::setUnitBasis(const ::Ifc4::IfcMeasureWithUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4::IfcAppliedValue::ApplicableDate() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcAppliedValue::setApplicableDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -7012,13 +7012,13 @@ std::optional< std::string > Ifc4::IfcAppliedValue::Condition() const { if(get_a void Ifc4::IfcAppliedValue::setCondition(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } std::optional< ::Ifc4::IfcArithmeticOperatorEnum::Value > Ifc4::IfcAppliedValue::ArithmeticOperator() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcArithmeticOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcAppliedValue::setArithmeticOperator(const std::optional< ::Ifc4::IfcArithmeticOperatorEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4::IfcArithmeticOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::optional< std::vector< ::Ifc4::IfcAppliedValue > > Ifc4::IfcAppliedValue::Components() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4::IfcAppliedValue>(es); } -void Ifc4::IfcAppliedValue::setComponents(const std::optional< std::vector< ::Ifc4::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +std::optional< std::vector< ::Ifc4::IfcAppliedValue > > Ifc4::IfcAppliedValue::Components() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4::IfcAppliedValue>(es); } +void Ifc4::IfcAppliedValue::setComponents(const std::optional< std::vector< ::Ifc4::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } 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]); } -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; } +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; } @@ -7035,9 +7035,9 @@ std::optional< std::string > Ifc4::IfcApproval::Level() const { if(get_attribute void Ifc4::IfcApproval::setLevel(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< std::string > Ifc4::IfcApproval::Qualifier() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4::IfcApproval::setQualifier(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4::IfcActorSelect Ifc4::IfcApproval::RequestingApproval() const { if(get_attribute_value(7).isNull()) { return ::Ifc4::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4::IfcActorSelect>(); } +::Ifc4::IfcActorSelect Ifc4::IfcApproval::RequestingApproval() const { if(get_attribute_value(7).isNull()) { return ::Ifc4::IfcActorSelect{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4::IfcActorSelect>(); } void Ifc4::IfcApproval::setRequestingApproval(const ::Ifc4::IfcActorSelect& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4::IfcActorSelect Ifc4::IfcApproval::GivingApproval() const { if(get_attribute_value(8).isNull()) { return ::Ifc4::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4::IfcActorSelect>(); } +::Ifc4::IfcActorSelect Ifc4::IfcApproval::GivingApproval() const { if(get_attribute_value(8).isNull()) { return ::Ifc4::IfcActorSelect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4::IfcActorSelect>(); } void Ifc4::IfcApproval::setGivingApproval(const ::Ifc4::IfcActorSelect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcApproval::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[380], 3)); } @@ -7050,17 +7050,17 @@ const ifcopenshell::entity& Ifc4::IfcApproval::Class() { return *((ifcopenshell: 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>(); } +::Ifc4::IfcApproval Ifc4::IfcApprovalRelationship::RelatingApproval() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcApproval>(); } void Ifc4::IfcApprovalRelationship::setRelatingApproval(const ::Ifc4::IfcApproval& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4::IfcApproval > Ifc4::IfcApprovalRelationship::RelatedApprovals() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4::IfcApproval>(es); } -void Ifc4::IfcApprovalRelationship::setRelatedApprovals(const std::vector< ::Ifc4::IfcApproval >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4::IfcApproval > Ifc4::IfcApprovalRelationship::RelatedApprovals() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4::IfcApproval>(es); } +void Ifc4::IfcApprovalRelationship::setRelatedApprovals(const std::vector< ::Ifc4::IfcApproval >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4::IfcApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4_types[39]); } -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; } +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>(); } +::Ifc4::IfcCurve Ifc4::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcCurve>(); } void Ifc4::IfcArbitraryClosedProfileDef::setOuterCurve(const ::Ifc4::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -7068,7 +7068,7 @@ const ifcopenshell::entity& Ifc4::IfcArbitraryClosedProfileDef::Class() { return 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>(); } +::Ifc4::IfcBoundedCurve Ifc4::IfcArbitraryOpenProfileDef::Curve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcBoundedCurve>(); } void Ifc4::IfcArbitraryOpenProfileDef::setCurve(const ::Ifc4::IfcBoundedCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -7076,31 +7076,31 @@ const ifcopenshell::entity& Ifc4::IfcArbitraryOpenProfileDef::Class() { return * 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); } -void Ifc4::IfcArbitraryProfileDefWithVoids::setInnerCurves(const std::vector< ::Ifc4::IfcCurve >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4::IfcCurve > Ifc4::IfcArbitraryProfileDefWithVoids::InnerCurves() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4::IfcCurve>(es); } +void Ifc4::IfcArbitraryProfileDefWithVoids::setInnerCurves(const std::vector< ::Ifc4::IfcCurve >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4::IfcArbitraryProfileDefWithVoids::Class() { return *((ifcopenshell::entity*)IFC4_types[42]); } -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; } +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; } void Ifc4::IfcAsset::setIdentification(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4::IfcCostValue Ifc4::IfcAsset::OriginalValue() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcCostValue{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4::IfcCostValue>(); } +::Ifc4::IfcCostValue Ifc4::IfcAsset::OriginalValue() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcCostValue{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4::IfcCostValue>(); } void Ifc4::IfcAsset::setOriginalValue(const ::Ifc4::IfcCostValue& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4::IfcCostValue Ifc4::IfcAsset::CurrentValue() const { if(get_attribute_value(7).isNull()) { return ::Ifc4::IfcCostValue{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4::IfcCostValue>(); } +::Ifc4::IfcCostValue Ifc4::IfcAsset::CurrentValue() const { if(get_attribute_value(7).isNull()) { return ::Ifc4::IfcCostValue{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4::IfcCostValue>(); } void Ifc4::IfcAsset::setCurrentValue(const ::Ifc4::IfcCostValue& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4::IfcCostValue Ifc4::IfcAsset::TotalReplacementCost() const { if(get_attribute_value(8).isNull()) { return ::Ifc4::IfcCostValue{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4::IfcCostValue>(); } +::Ifc4::IfcCostValue Ifc4::IfcAsset::TotalReplacementCost() const { if(get_attribute_value(8).isNull()) { return ::Ifc4::IfcCostValue{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4::IfcCostValue>(); } void Ifc4::IfcAsset::setTotalReplacementCost(const ::Ifc4::IfcCostValue& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc4::IfcActorSelect Ifc4::IfcAsset::Owner() const { if(get_attribute_value(9).isNull()) { return ::Ifc4::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4::IfcActorSelect>(); } +::Ifc4::IfcActorSelect Ifc4::IfcAsset::Owner() const { if(get_attribute_value(9).isNull()) { return ::Ifc4::IfcActorSelect{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4::IfcActorSelect>(); } void Ifc4::IfcAsset::setOwner(const ::Ifc4::IfcActorSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -::Ifc4::IfcActorSelect Ifc4::IfcAsset::User() const { if(get_attribute_value(10).isNull()) { return ::Ifc4::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4::IfcActorSelect>(); } +::Ifc4::IfcActorSelect Ifc4::IfcAsset::User() const { if(get_attribute_value(10).isNull()) { return ::Ifc4::IfcActorSelect{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4::IfcActorSelect>(); } void Ifc4::IfcAsset::setUser(const ::Ifc4::IfcActorSelect& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -::Ifc4::IfcPerson Ifc4::IfcAsset::ResponsiblePerson() const { if(get_attribute_value(11).isNull()) { return ::Ifc4::IfcPerson{}; } return ((express::Base)(get_attribute_value(11))).as<::Ifc4::IfcPerson>(); } +::Ifc4::IfcPerson Ifc4::IfcAsset::ResponsiblePerson() const { if(get_attribute_value(11).isNull()) { return ::Ifc4::IfcPerson{}; } return ((express::base)(get_attribute_value(11))).as<::Ifc4::IfcPerson>(); } void Ifc4::IfcAsset::setResponsiblePerson(const ::Ifc4::IfcPerson& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } std::optional< std::string > Ifc4::IfcAsset::IncorporationDate() const { if(get_attribute_value(12).isNull()) { return std::nullopt; } std::string v = get_attribute_value(12); return v; } void Ifc4::IfcAsset::setIncorporationDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4::IfcCostValue Ifc4::IfcAsset::DepreciatedValue() const { if(get_attribute_value(13).isNull()) { return ::Ifc4::IfcCostValue{}; } return ((express::Base)(get_attribute_value(13))).as<::Ifc4::IfcCostValue>(); } +::Ifc4::IfcCostValue Ifc4::IfcAsset::DepreciatedValue() const { if(get_attribute_value(13).isNull()) { return ::Ifc4::IfcCostValue{}; } return ((express::base)(get_attribute_value(13))).as<::Ifc4::IfcCostValue>(); } void Ifc4::IfcAsset::setDepreciatedValue(const ::Ifc4::IfcCostValue& v) { set_attribute_value(13, v);if constexpr (false)unset_attribute_value(13); } @@ -7151,10 +7151,10 @@ void Ifc4::IfcAudioVisualApplianceType::setPredefinedType(const ::Ifc4::IfcAudio const ifcopenshell::entity& Ifc4::IfcAudioVisualApplianceType::Class() { return *((ifcopenshell::entity*)IFC4_types[51]); } -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; } +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>(); } +::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>(); } void Ifc4::IfcAxis1Placement::setAxis(const ::Ifc4::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -7162,7 +7162,7 @@ const ifcopenshell::entity& Ifc4::IfcAxis1Placement::Class() { return *((ifcopen 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>(); } +::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>(); } void Ifc4::IfcAxis2Placement2D::setRefDirection(const ::Ifc4::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -7170,9 +7170,9 @@ const ifcopenshell::entity& Ifc4::IfcAxis2Placement2D::Class() { return *((ifcop 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>(); } +::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>(); } void Ifc4::IfcAxis2Placement3D::setAxis(const ::Ifc4::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcDirection Ifc4::IfcAxis2Placement3D::RefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4::IfcDirection{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcDirection>(); } +::Ifc4::IfcDirection Ifc4::IfcAxis2Placement3D::RefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4::IfcDirection{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcDirection>(); } void Ifc4::IfcAxis2Placement3D::setRefDirection(const ::Ifc4::IfcDirection& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -7182,8 +7182,8 @@ Ifc4::IfcAxis2Placement3D Ifc4::IfcAxis2Placement3D::initialize(::Ifc4::IfcCarte // Function implementations for IfcBSplineCurve int64_t Ifc4::IfcBSplineCurve::Degree() const { int64_t v = get_attribute_value(0); return v; } void Ifc4::IfcBSplineCurve::setDegree(const int64_t& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4::IfcCartesianPoint > Ifc4::IfcBSplineCurve::ControlPointsList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcCartesianPoint>(es); } -void Ifc4::IfcBSplineCurve::setControlPointsList(const std::vector< ::Ifc4::IfcCartesianPoint >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4::IfcCartesianPoint > Ifc4::IfcBSplineCurve::ControlPointsList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcCartesianPoint>(es); } +void Ifc4::IfcBSplineCurve::setControlPointsList(const std::vector< ::Ifc4::IfcCartesianPoint >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } ::Ifc4::IfcBSplineCurveForm::Value Ifc4::IfcBSplineCurve::CurveForm() const { return ::Ifc4::IfcBSplineCurveForm::FromString(get_attribute_value(2)); } void Ifc4::IfcBSplineCurve::setCurveForm(const ::Ifc4::IfcBSplineCurveForm::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4::IfcBSplineCurveForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } boost::logic::tribool Ifc4::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = get_attribute_value(3); 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]); } -Ifc4::IfcBSplineCurve Ifc4::IfcBSplineCurve::initialize(int64_t 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; } +Ifc4::IfcBSplineCurve Ifc4::IfcBSplineCurve::initialize(int64_t 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< int64_t > /*[2:?]*/ Ifc4::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int64_t > /*[2:?]*/ v = get_attribute_value(5); return v; } @@ -7205,15 +7205,15 @@ void Ifc4::IfcBSplineCurveWithKnots::setKnotSpec(const ::Ifc4::IfcKnotType::Valu const ifcopenshell::entity& Ifc4::IfcBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4_types[87]); } -Ifc4::IfcBSplineCurveWithKnots Ifc4::IfcBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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; } +Ifc4::IfcBSplineCurveWithKnots Ifc4::IfcBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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 int64_t Ifc4::IfcBSplineSurface::UDegree() const { int64_t v = get_attribute_value(0); return v; } void Ifc4::IfcBSplineSurface::setUDegree(const int64_t& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } int64_t Ifc4::IfcBSplineSurface::VDegree() const { int64_t v = get_attribute_value(1); return v; } void Ifc4::IfcBSplineSurface::setVDegree(const int64_t& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector< std::vector< ::Ifc4::IfcCartesianPoint > > Ifc4::IfcBSplineSurface::ControlPointsList() const { std::vector> es = get_attribute_value(2); return cast_vector<::Ifc4::IfcCartesianPoint>(es); } -void Ifc4::IfcBSplineSurface::setControlPointsList(const std::vector< std::vector< ::Ifc4::IfcCartesianPoint > >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< std::vector< ::Ifc4::IfcCartesianPoint > > Ifc4::IfcBSplineSurface::ControlPointsList() const { std::vector> es = get_attribute_value(2); return cast_vector<::Ifc4::IfcCartesianPoint>(es); } +void Ifc4::IfcBSplineSurface::setControlPointsList(const std::vector< std::vector< ::Ifc4::IfcCartesianPoint > >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } ::Ifc4::IfcBSplineSurfaceForm::Value Ifc4::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4::IfcBSplineSurfaceForm::FromString(get_attribute_value(3)); } void Ifc4::IfcBSplineSurface::setSurfaceForm(const ::Ifc4::IfcBSplineSurfaceForm::Value& v) { set_attribute_value(3, enumeration_reference(&::Ifc4::IfcBSplineSurfaceForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } boost::logic::tribool Ifc4::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = get_attribute_value(4); 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]); } -Ifc4::IfcBSplineSurface Ifc4::IfcBSplineSurface::initialize(int64_t v1_UDegree, int64_t 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; } +Ifc4::IfcBSplineSurface Ifc4::IfcBSplineSurface::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ Ifc4::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int64_t > /*[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]); } -Ifc4::IfcBSplineSurfaceWithKnots Ifc4::IfcBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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; } +Ifc4::IfcBSplineSurfaceWithKnots Ifc4::IfcBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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)); } @@ -7263,7 +7263,7 @@ void Ifc4::IfcBeamType::setPredefinedType(const ::Ifc4::IfcBeamTypeEnum::Value& const ifcopenshell::entity& Ifc4::IfcBeamType::Class() { return *((ifcopenshell::entity*)IFC4_types[59]); } -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; } +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; } @@ -7301,7 +7301,7 @@ void Ifc4::IfcBoilerType::setPredefinedType(const ::Ifc4::IfcBoilerTypeEnum::Val const ifcopenshell::entity& Ifc4::IfcBoilerType::Class() { return *((ifcopenshell::entity*)IFC4_types[67]); } -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; } +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 @@ -7312,9 +7312,9 @@ Ifc4::IfcBooleanClippingResult Ifc4::IfcBooleanClippingResult::initialize(::Ifc4 // Function implementations for IfcBooleanResult ::Ifc4::IfcBooleanOperator::Value Ifc4::IfcBooleanResult::Operator() const { return ::Ifc4::IfcBooleanOperator::FromString(get_attribute_value(0)); } void Ifc4::IfcBooleanResult::setOperator(const ::Ifc4::IfcBooleanOperator::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc4::IfcBooleanOperator::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcBooleanOperand Ifc4::IfcBooleanResult::FirstOperand() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcBooleanOperand>(); } +::Ifc4::IfcBooleanOperand Ifc4::IfcBooleanResult::FirstOperand() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcBooleanOperand>(); } void Ifc4::IfcBooleanResult::setFirstOperand(const ::Ifc4::IfcBooleanOperand& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcBooleanOperand Ifc4::IfcBooleanResult::SecondOperand() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcBooleanOperand>(); } +::Ifc4::IfcBooleanOperand Ifc4::IfcBooleanResult::SecondOperand() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcBooleanOperand>(); } void Ifc4::IfcBooleanResult::setSecondOperand(const ::Ifc4::IfcBooleanOperand& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -7333,20 +7333,20 @@ Ifc4::IfcBoundaryCondition Ifc4::IfcBoundaryCondition::initialize(std::optional< const ifcopenshell::entity& Ifc4::IfcBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4_types[75]); } -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; } +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>(); } +::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>(); } void Ifc4::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(const ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect>(); } void Ifc4::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(const ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect>(); } void Ifc4::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(const ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect Ifc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect Ifc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect>(); } void Ifc4::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(const ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect Ifc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect Ifc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect>(); } void Ifc4::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(const ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect Ifc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect Ifc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect>(); } void Ifc4::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(const ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -7354,11 +7354,11 @@ const ifcopenshell::entity& Ifc4::IfcBoundaryEdgeCondition::Class() { return *(( 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>(); } +::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>(); } void Ifc4::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(const ::Ifc4::IfcModulusOfSubgradeReactionSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcModulusOfSubgradeReactionSelect Ifc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4::IfcModulusOfSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4::IfcModulusOfSubgradeReactionSelect Ifc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4::IfcModulusOfSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcModulusOfSubgradeReactionSelect>(); } void Ifc4::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(const ::Ifc4::IfcModulusOfSubgradeReactionSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcModulusOfSubgradeReactionSelect Ifc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcModulusOfSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4::IfcModulusOfSubgradeReactionSelect Ifc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcModulusOfSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcModulusOfSubgradeReactionSelect>(); } void Ifc4::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(const ::Ifc4::IfcModulusOfSubgradeReactionSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -7366,17 +7366,17 @@ const ifcopenshell::entity& Ifc4::IfcBoundaryFaceCondition::Class() { return *(( 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>(); } +::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>(); } void Ifc4::IfcBoundaryNodeCondition::setTranslationalStiffnessX(const ::Ifc4::IfcTranslationalStiffnessSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcTranslationalStiffnessSelect Ifc4::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4::IfcTranslationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcTranslationalStiffnessSelect>(); } +::Ifc4::IfcTranslationalStiffnessSelect Ifc4::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4::IfcTranslationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcTranslationalStiffnessSelect>(); } void Ifc4::IfcBoundaryNodeCondition::setTranslationalStiffnessY(const ::Ifc4::IfcTranslationalStiffnessSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcTranslationalStiffnessSelect Ifc4::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcTranslationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcTranslationalStiffnessSelect>(); } +::Ifc4::IfcTranslationalStiffnessSelect Ifc4::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcTranslationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcTranslationalStiffnessSelect>(); } void Ifc4::IfcBoundaryNodeCondition::setTranslationalStiffnessZ(const ::Ifc4::IfcTranslationalStiffnessSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4::IfcRotationalStiffnessSelect Ifc4::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4::IfcRotationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcRotationalStiffnessSelect>(); } +::Ifc4::IfcRotationalStiffnessSelect Ifc4::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4::IfcRotationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcRotationalStiffnessSelect>(); } void Ifc4::IfcBoundaryNodeCondition::setRotationalStiffnessX(const ::Ifc4::IfcRotationalStiffnessSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcRotationalStiffnessSelect Ifc4::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4::IfcRotationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcRotationalStiffnessSelect>(); } +::Ifc4::IfcRotationalStiffnessSelect Ifc4::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4::IfcRotationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcRotationalStiffnessSelect>(); } void Ifc4::IfcBoundaryNodeCondition::setRotationalStiffnessY(const ::Ifc4::IfcRotationalStiffnessSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4::IfcRotationalStiffnessSelect Ifc4::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcRotationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4::IfcRotationalStiffnessSelect>(); } +::Ifc4::IfcRotationalStiffnessSelect Ifc4::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcRotationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4::IfcRotationalStiffnessSelect>(); } void Ifc4::IfcBoundaryNodeCondition::setRotationalStiffnessZ(const ::Ifc4::IfcRotationalStiffnessSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -7384,7 +7384,7 @@ const ifcopenshell::entity& Ifc4::IfcBoundaryNodeCondition::Class() { return *(( 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>(); } +::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>(); } void Ifc4::IfcBoundaryNodeConditionWarping::setWarpingStiffness(const ::Ifc4::IfcWarpingStiffnessSelect& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -7404,7 +7404,7 @@ const ifcopenshell::entity& Ifc4::IfcBoundedSurface::Class() { return *((ifcopen 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>(); } +::Ifc4::IfcCartesianPoint Ifc4::IfcBoundingBox::Corner() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcCartesianPoint>(); } void Ifc4::IfcBoundingBox::setCorner(const ::Ifc4::IfcCartesianPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4::IfcBoundingBox::XDim() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcBoundingBox::setXDim(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -7418,7 +7418,7 @@ const ifcopenshell::entity& Ifc4::IfcBoundingBox::Class() { return *((ifcopenshe 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>(); } +::Ifc4::IfcBoundingBox Ifc4::IfcBoxedHalfSpace::Enclosure() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcBoundingBox>(); } void Ifc4::IfcBoxedHalfSpace::setEnclosure(const ::Ifc4::IfcBoundingBox& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -7430,7 +7430,7 @@ std::optional< double > Ifc4::IfcBuilding::ElevationOfRefHeight() const { if(get void Ifc4::IfcBuilding::setElevationOfRefHeight(const std::optional< double >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } std::optional< double > Ifc4::IfcBuilding::ElevationOfTerrain() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc4::IfcBuilding::setElevationOfTerrain(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4::IfcPostalAddress Ifc4::IfcBuilding::BuildingAddress() const { if(get_attribute_value(11).isNull()) { return ::Ifc4::IfcPostalAddress{}; } return ((express::Base)(get_attribute_value(11))).as<::Ifc4::IfcPostalAddress>(); } +::Ifc4::IfcPostalAddress Ifc4::IfcBuilding::BuildingAddress() const { if(get_attribute_value(11).isNull()) { return ::Ifc4::IfcPostalAddress{}; } return ((express::base)(get_attribute_value(11))).as<::Ifc4::IfcPostalAddress>(); } void Ifc4::IfcBuilding::setBuildingAddress(const ::Ifc4::IfcPostalAddress& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } @@ -7457,7 +7457,7 @@ void Ifc4::IfcBuildingElementPartType::setPredefinedType(const ::Ifc4::IfcBuildi const ifcopenshell::entity& Ifc4::IfcBuildingElementPartType::Class() { return *((ifcopenshell::entity*)IFC4_types[94]); } -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; } +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)); } @@ -7473,13 +7473,13 @@ void Ifc4::IfcBuildingElementProxyType::setPredefinedType(const ::Ifc4::IfcBuild const ifcopenshell::entity& Ifc4::IfcBuildingElementProxyType::Class() { return *((ifcopenshell::entity*)IFC4_types[97]); } -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; } +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]); } -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; } +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; } @@ -7513,7 +7513,7 @@ void Ifc4::IfcBurnerType::setPredefinedType(const ::Ifc4::IfcBurnerTypeEnum::Val const ifcopenshell::entity& Ifc4::IfcBurnerType::Class() { return *((ifcopenshell::entity*)IFC4_types[104]); } -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; } +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; } @@ -7545,7 +7545,7 @@ void Ifc4::IfcCableCarrierFittingType::setPredefinedType(const ::Ifc4::IfcCableC const ifcopenshell::entity& Ifc4::IfcCableCarrierFittingType::Class() { return *((ifcopenshell::entity*)IFC4_types[107]); } -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; } +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)); } @@ -7561,7 +7561,7 @@ void Ifc4::IfcCableCarrierSegmentType::setPredefinedType(const ::Ifc4::IfcCableC const ifcopenshell::entity& Ifc4::IfcCableCarrierSegmentType::Class() { return *((ifcopenshell::entity*)IFC4_types[110]); } -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; } +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)); } @@ -7577,7 +7577,7 @@ void Ifc4::IfcCableFittingType::setPredefinedType(const ::Ifc4::IfcCableFittingT const ifcopenshell::entity& Ifc4::IfcCableFittingType::Class() { return *((ifcopenshell::entity*)IFC4_types[113]); } -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; } +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)); } @@ -7593,7 +7593,7 @@ void Ifc4::IfcCableSegmentType::setPredefinedType(const ::Ifc4::IfcCableSegmentT const ifcopenshell::entity& Ifc4::IfcCableSegmentType::Class() { return *((ifcopenshell::entity*)IFC4_types[116]); } -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; } +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; } @@ -7626,11 +7626,11 @@ const ifcopenshell::entity& Ifc4::IfcCartesianPointList3D::Class() { return *((i 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>(); } +::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>(); } void Ifc4::IfcCartesianTransformationOperator::setAxis1(const ::Ifc4::IfcDirection& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcDirection Ifc4::IfcCartesianTransformationOperator::Axis2() const { if(get_attribute_value(1).isNull()) { return ::Ifc4::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcDirection>(); } +::Ifc4::IfcDirection Ifc4::IfcCartesianTransformationOperator::Axis2() const { if(get_attribute_value(1).isNull()) { return ::Ifc4::IfcDirection{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcDirection>(); } void Ifc4::IfcCartesianTransformationOperator::setAxis2(const ::Ifc4::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcCartesianPoint Ifc4::IfcCartesianTransformationOperator::LocalOrigin() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcCartesianPoint>(); } +::Ifc4::IfcCartesianPoint Ifc4::IfcCartesianTransformationOperator::LocalOrigin() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcCartesianPoint>(); } void Ifc4::IfcCartesianTransformationOperator::setLocalOrigin(const ::Ifc4::IfcCartesianPoint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc4::IfcCartesianTransformationOperator::Scale() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4::IfcCartesianTransformationOperator::setScale(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } @@ -7654,7 +7654,7 @@ const ifcopenshell::entity& Ifc4::IfcCartesianTransformationOperator2DnonUniform 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>(); } +::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>(); } void Ifc4::IfcCartesianTransformationOperator3D::setAxis3(const ::Ifc4::IfcDirection& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -7693,7 +7693,7 @@ void Ifc4::IfcChillerType::setPredefinedType(const ::Ifc4::IfcChillerTypeEnum::V const ifcopenshell::entity& Ifc4::IfcChillerType::Class() { return *((ifcopenshell::entity*)IFC4_types[131]); } -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; } +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)); } @@ -7709,7 +7709,7 @@ void Ifc4::IfcChimneyType::setPredefinedType(const ::Ifc4::IfcChimneyTypeEnum::V const ifcopenshell::entity& Ifc4::IfcChimneyType::Class() { return *((ifcopenshell::entity*)IFC4_types[134]); } -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; } +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; } @@ -7745,7 +7745,7 @@ Ifc4::IfcCivilElement Ifc4::IfcCivilElement::initialize(std::string v1_GlobalId, const ifcopenshell::entity& Ifc4::IfcCivilElementType::Class() { return *((ifcopenshell::entity*)IFC4_types[140]); } -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; } +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; } @@ -7770,7 +7770,7 @@ const ifcopenshell::entity& Ifc4::IfcClassification::Class() { return *((ifcopen 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>(); } +::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>(); } void Ifc4::IfcClassificationReference::setReferencedSource(const ::Ifc4::IfcClassificationReferenceSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4::IfcClassificationReference::Description() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcClassificationReference::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -7787,7 +7787,7 @@ Ifc4::IfcClassificationReference Ifc4::IfcClassificationReference::initialize(st const ifcopenshell::entity& Ifc4::IfcClosedShell::Class() { return *((ifcopenshell::entity*)IFC4_types[145]); } -Ifc4::IfcClosedShell Ifc4::IfcClosedShell::initialize(std::vector< ::Ifc4::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } +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)); } @@ -7803,7 +7803,7 @@ void Ifc4::IfcCoilType::setPredefinedType(const ::Ifc4::IfcCoilTypeEnum::Value& const ifcopenshell::entity& Ifc4::IfcCoilType::Class() { return *((ifcopenshell::entity*)IFC4_types[147]); } -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; } +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; } @@ -7853,7 +7853,7 @@ void Ifc4::IfcColumnType::setPredefinedType(const ::Ifc4::IfcColumnTypeEnum::Val const ifcopenshell::entity& Ifc4::IfcColumnType::Class() { return *((ifcopenshell::entity*)IFC4_types[156]); } -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; } +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)); } @@ -7869,52 +7869,52 @@ void Ifc4::IfcCommunicationsApplianceType::setPredefinedType(const ::Ifc4::IfcCo const ifcopenshell::entity& Ifc4::IfcCommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4_types[159]); } -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; } +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; } void Ifc4::IfcComplexProperty::setUsageName(const std::string& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4::IfcProperty > Ifc4::IfcComplexProperty::HasProperties() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4::IfcProperty>(es); } -void Ifc4::IfcComplexProperty::setHasProperties(const std::vector< ::Ifc4::IfcProperty >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4::IfcProperty > Ifc4::IfcComplexProperty::HasProperties() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4::IfcProperty>(es); } +void Ifc4::IfcComplexProperty::setHasProperties(const std::vector< ::Ifc4::IfcProperty >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4::IfcComplexProperty::Class() { return *((ifcopenshell::entity*)IFC4_types[162]); } -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; } +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; } void Ifc4::IfcComplexPropertyTemplate::setUsageName(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } std::optional< ::Ifc4::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4::IfcComplexPropertyTemplate::TemplateType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4::IfcComplexPropertyTemplateTypeEnum::FromString(get_attribute_value(5)); } void Ifc4::IfcComplexPropertyTemplate::setTemplateType(const std::optional< ::Ifc4::IfcComplexPropertyTemplateTypeEnum::Value >& v) { if (v) {set_attribute_value(5, enumeration_reference(&::Ifc4::IfcComplexPropertyTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -std::optional< std::vector< ::Ifc4::IfcPropertyTemplate > > Ifc4::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4::IfcPropertyTemplate>(es); } -void Ifc4::IfcComplexPropertyTemplate::setHasPropertyTemplates(const std::optional< std::vector< ::Ifc4::IfcPropertyTemplate > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +std::optional< std::vector< ::Ifc4::IfcPropertyTemplate > > Ifc4::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4::IfcPropertyTemplate>(es); } +void Ifc4::IfcComplexPropertyTemplate::setHasPropertyTemplates(const std::optional< std::vector< ::Ifc4::IfcPropertyTemplate > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } const ifcopenshell::entity& Ifc4::IfcComplexPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4_types[163]); } -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; } +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); } -void Ifc4::IfcCompositeCurve::setSegments(const std::vector< ::Ifc4::IfcCompositeCurveSegment >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4::IfcCompositeCurveSegment > Ifc4::IfcCompositeCurve::Segments() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcCompositeCurveSegment>(es); } +void Ifc4::IfcCompositeCurve::setSegments(const std::vector< ::Ifc4::IfcCompositeCurveSegment >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } boost::logic::tribool Ifc4::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(1); return v; } void Ifc4::IfcCompositeCurve::setSelfIntersect(const boost::logic::tribool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4::IfcCompositeCurve::Class() { return *((ifcopenshell::entity*)IFC4_types[165]); } -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; } +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]); } -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; } +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)); } void Ifc4::IfcCompositeCurveSegment::setTransition(const ::Ifc4::IfcTransitionCode::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc4::IfcTransitionCode::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } bool Ifc4::IfcCompositeCurveSegment::SameSense() const { bool v = get_attribute_value(1); return v; } void Ifc4::IfcCompositeCurveSegment::setSameSense(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcCurve Ifc4::IfcCompositeCurveSegment::ParentCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcCurve>(); } +::Ifc4::IfcCurve Ifc4::IfcCompositeCurveSegment::ParentCurve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcCurve>(); } void Ifc4::IfcCompositeCurveSegment::setParentCurve(const ::Ifc4::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::vector<::Ifc4::IfcCompositeCurve> Ifc4::IfcCompositeCurveSegment::UsingCurves() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[165], 0)); } @@ -7923,14 +7923,14 @@ const ifcopenshell::entity& Ifc4::IfcCompositeCurveSegment::Class() { return *(( 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); } -void Ifc4::IfcCompositeProfileDef::setProfiles(const std::vector< ::Ifc4::IfcProfileDef >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4::IfcProfileDef > Ifc4::IfcCompositeProfileDef::Profiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcProfileDef>(es); } +void Ifc4::IfcCompositeProfileDef::setProfiles(const std::vector< ::Ifc4::IfcProfileDef >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4::IfcCompositeProfileDef::Label() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4::IfcCompositeProfileDef::setLabel(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const ifcopenshell::entity& Ifc4::IfcCompositeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4_types[168]); } -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; } +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)); } @@ -7946,7 +7946,7 @@ void Ifc4::IfcCompressorType::setPredefinedType(const ::Ifc4::IfcCompressorTypeE const ifcopenshell::entity& Ifc4::IfcCompressorType::Class() { return *((ifcopenshell::entity*)IFC4_types[171]); } -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; } +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)); } @@ -7962,10 +7962,10 @@ void Ifc4::IfcCondenserType::setPredefinedType(const ::Ifc4::IfcCondenserTypeEnu const ifcopenshell::entity& Ifc4::IfcCondenserType::Class() { return *((ifcopenshell::entity*)IFC4_types[174]); } -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; } +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>(); } +::Ifc4::IfcAxis2Placement Ifc4::IfcConic::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcAxis2Placement>(); } void Ifc4::IfcConic::setPosition(const ::Ifc4::IfcAxis2Placement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -7973,17 +7973,17 @@ const ifcopenshell::entity& Ifc4::IfcConic::Class() { return *((ifcopenshell::en 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); } -void Ifc4::IfcConnectedFaceSet::setCfsFaces(const std::vector< ::Ifc4::IfcFace >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4::IfcFace > Ifc4::IfcConnectedFaceSet::CfsFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcFace>(es); } +void Ifc4::IfcConnectedFaceSet::setCfsFaces(const std::vector< ::Ifc4::IfcFace >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4::IfcConnectedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4_types[177]); } -Ifc4::IfcConnectedFaceSet Ifc4::IfcConnectedFaceSet::initialize(std::vector< ::Ifc4::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } +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>(); } +::Ifc4::IfcCurveOrEdgeCurve Ifc4::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcCurveOrEdgeCurve>(); } void Ifc4::IfcConnectionCurveGeometry::setCurveOnRelatingElement(const ::Ifc4::IfcCurveOrEdgeCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcCurveOrEdgeCurve Ifc4::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4::IfcCurveOrEdgeCurve{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcCurveOrEdgeCurve>(); } +::Ifc4::IfcCurveOrEdgeCurve Ifc4::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4::IfcCurveOrEdgeCurve{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcCurveOrEdgeCurve>(); } void Ifc4::IfcConnectionCurveGeometry::setCurveOnRelatedElement(const ::Ifc4::IfcCurveOrEdgeCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8009,9 +8009,9 @@ const ifcopenshell::entity& Ifc4::IfcConnectionPointEccentricity::Class() { retu 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>(); } +::Ifc4::IfcPointOrVertexPoint Ifc4::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcPointOrVertexPoint>(); } void Ifc4::IfcConnectionPointGeometry::setPointOnRelatingElement(const ::Ifc4::IfcPointOrVertexPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcPointOrVertexPoint Ifc4::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4::IfcPointOrVertexPoint{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcPointOrVertexPoint>(); } +::Ifc4::IfcPointOrVertexPoint Ifc4::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4::IfcPointOrVertexPoint{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcPointOrVertexPoint>(); } void Ifc4::IfcConnectionPointGeometry::setPointOnRelatedElement(const ::Ifc4::IfcPointOrVertexPoint& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8019,9 +8019,9 @@ const ifcopenshell::entity& Ifc4::IfcConnectionPointGeometry::Class() { return * 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>(); } +::Ifc4::IfcSurfaceOrFaceSurface Ifc4::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcSurfaceOrFaceSurface>(); } void Ifc4::IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(const ::Ifc4::IfcSurfaceOrFaceSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcSurfaceOrFaceSurface Ifc4::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4::IfcSurfaceOrFaceSurface{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcSurfaceOrFaceSurface>(); } +::Ifc4::IfcSurfaceOrFaceSurface Ifc4::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4::IfcSurfaceOrFaceSurface{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcSurfaceOrFaceSurface>(); } void Ifc4::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(const ::Ifc4::IfcSurfaceOrFaceSurface& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8029,9 +8029,9 @@ const ifcopenshell::entity& Ifc4::IfcConnectionSurfaceGeometry::Class() { return 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>(); } +::Ifc4::IfcSolidOrShell Ifc4::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcSolidOrShell>(); } void Ifc4::IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(const ::Ifc4::IfcSolidOrShell& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcSolidOrShell Ifc4::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4::IfcSolidOrShell{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcSolidOrShell>(); } +::Ifc4::IfcSolidOrShell Ifc4::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4::IfcSolidOrShell{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcSolidOrShell>(); } void Ifc4::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(const ::Ifc4::IfcSolidOrShell& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8047,7 +8047,7 @@ void Ifc4::IfcConstraint::setDescription(const std::optional< std::string >& v) void Ifc4::IfcConstraint::setConstraintGrade(const ::Ifc4::IfcConstraintEnum::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4::IfcConstraintEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4::IfcConstraint::ConstraintSource() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4::IfcConstraint::setConstraintSource(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4::IfcActorSelect Ifc4::IfcConstraint::CreatingActor() const { if(get_attribute_value(4).isNull()) { return ::Ifc4::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcActorSelect>(); } +::Ifc4::IfcActorSelect Ifc4::IfcConstraint::CreatingActor() const { if(get_attribute_value(4).isNull()) { return ::Ifc4::IfcActorSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcActorSelect>(); } void Ifc4::IfcConstraint::setCreatingActor(const ::Ifc4::IfcActorSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::optional< std::string > Ifc4::IfcConstraint::CreationTime() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcConstraint::setCreationTime(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } @@ -8066,7 +8066,7 @@ void Ifc4::IfcConstructionEquipmentResource::setPredefinedType(const std::option const ifcopenshell::entity& Ifc4::IfcConstructionEquipmentResource::Class() { return *((ifcopenshell::entity*)IFC4_types[187]); } -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; } +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]); } -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; } +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]); } -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; } +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]); } -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; } +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]); } -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; } +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,29 +8106,29 @@ void Ifc4::IfcConstructionProductResourceType::setPredefinedType(const ::Ifc4::I const ifcopenshell::entity& Ifc4::IfcConstructionProductResourceType::Class() { return *((ifcopenshell::entity*)IFC4_types[194]); } -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; } +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>(); } +::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>(); } void Ifc4::IfcConstructionResource::setUsage(const ::Ifc4::IfcResourceTime& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::optional< std::vector< ::Ifc4::IfcAppliedValue > > Ifc4::IfcConstructionResource::BaseCosts() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4::IfcAppliedValue>(es); } -void Ifc4::IfcConstructionResource::setBaseCosts(const std::optional< std::vector< ::Ifc4::IfcAppliedValue > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } -::Ifc4::IfcPhysicalQuantity Ifc4::IfcConstructionResource::BaseQuantity() const { if(get_attribute_value(9).isNull()) { return ::Ifc4::IfcPhysicalQuantity{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4::IfcPhysicalQuantity>(); } +std::optional< std::vector< ::Ifc4::IfcAppliedValue > > Ifc4::IfcConstructionResource::BaseCosts() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4::IfcAppliedValue>(es); } +void Ifc4::IfcConstructionResource::setBaseCosts(const std::optional< std::vector< ::Ifc4::IfcAppliedValue > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } +::Ifc4::IfcPhysicalQuantity Ifc4::IfcConstructionResource::BaseQuantity() const { if(get_attribute_value(9).isNull()) { return ::Ifc4::IfcPhysicalQuantity{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4::IfcPhysicalQuantity>(); } void Ifc4::IfcConstructionResource::setBaseQuantity(const ::Ifc4::IfcPhysicalQuantity& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } const ifcopenshell::entity& Ifc4::IfcConstructionResource::Class() { return *((ifcopenshell::entity*)IFC4_types[196]); } -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; } +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); } -void Ifc4::IfcConstructionResourceType::setBaseCosts(const std::optional< std::vector< ::Ifc4::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } -::Ifc4::IfcPhysicalQuantity Ifc4::IfcConstructionResourceType::BaseQuantity() const { if(get_attribute_value(10).isNull()) { return ::Ifc4::IfcPhysicalQuantity{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4::IfcPhysicalQuantity>(); } +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); } +void Ifc4::IfcConstructionResourceType::setBaseCosts(const std::optional< std::vector< ::Ifc4::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +::Ifc4::IfcPhysicalQuantity Ifc4::IfcConstructionResourceType::BaseQuantity() const { if(get_attribute_value(10).isNull()) { return ::Ifc4::IfcPhysicalQuantity{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4::IfcPhysicalQuantity>(); } void Ifc4::IfcConstructionResourceType::setBaseQuantity(const ::Ifc4::IfcPhysicalQuantity& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } const ifcopenshell::entity& Ifc4::IfcConstructionResourceType::Class() { return *((ifcopenshell::entity*)IFC4_types[197]); } -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; } +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; } @@ -8137,16 +8137,16 @@ std::optional< std::string > Ifc4::IfcContext::LongName() const { if(get_attribu void Ifc4::IfcContext::setLongName(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< std::string > Ifc4::IfcContext::Phase() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4::IfcContext::setPhase(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4::IfcRepresentationContext > > Ifc4::IfcContext::RepresentationContexts() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4::IfcRepresentationContext>(es); } -void Ifc4::IfcContext::setRepresentationContexts(const std::optional< std::vector< ::Ifc4::IfcRepresentationContext > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } -::Ifc4::IfcUnitAssignment Ifc4::IfcContext::UnitsInContext() const { if(get_attribute_value(8).isNull()) { return ::Ifc4::IfcUnitAssignment{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4::IfcUnitAssignment>(); } +std::optional< std::vector< ::Ifc4::IfcRepresentationContext > > Ifc4::IfcContext::RepresentationContexts() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4::IfcRepresentationContext>(es); } +void Ifc4::IfcContext::setRepresentationContexts(const std::optional< std::vector< ::Ifc4::IfcRepresentationContext > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +::Ifc4::IfcUnitAssignment Ifc4::IfcContext::UnitsInContext() const { if(get_attribute_value(8).isNull()) { return ::Ifc4::IfcUnitAssignment{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4::IfcUnitAssignment>(); } void Ifc4::IfcContext::setUnitsInContext(const ::Ifc4::IfcUnitAssignment& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } std::vector<::Ifc4::IfcRelDefinesByProperties> Ifc4::IfcContext::IsDefinedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[830], 4)); } 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]); } -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; } +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; } @@ -8180,12 +8180,12 @@ void Ifc4::IfcControllerType::setPredefinedType(const ::Ifc4::IfcControllerTypeE const ifcopenshell::entity& Ifc4::IfcControllerType::Class() { return *((ifcopenshell::entity*)IFC4_types[203]); } -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; } +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; } void Ifc4::IfcConversionBasedUnit::setName(const std::string& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcMeasureWithUnit Ifc4::IfcConversionBasedUnit::ConversionFactor() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcMeasureWithUnit>(); } +::Ifc4::IfcMeasureWithUnit Ifc4::IfcConversionBasedUnit::ConversionFactor() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcMeasureWithUnit>(); } void Ifc4::IfcConversionBasedUnit::setConversionFactor(const ::Ifc4::IfcMeasureWithUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[380], 3)); } @@ -8215,7 +8215,7 @@ void Ifc4::IfcCooledBeamType::setPredefinedType(const ::Ifc4::IfcCooledBeamTypeE const ifcopenshell::entity& Ifc4::IfcCooledBeamType::Class() { return *((ifcopenshell::entity*)IFC4_types[208]); } -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; } +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)); } @@ -8231,12 +8231,12 @@ void Ifc4::IfcCoolingTowerType::setPredefinedType(const ::Ifc4::IfcCoolingTowerT const ifcopenshell::entity& Ifc4::IfcCoolingTowerType::Class() { return *((ifcopenshell::entity*)IFC4_types[211]); } -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; } +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>(); } +::Ifc4::IfcCoordinateReferenceSystemSelect Ifc4::IfcCoordinateOperation::SourceCRS() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcCoordinateReferenceSystemSelect>(); } void Ifc4::IfcCoordinateOperation::setSourceCRS(const ::Ifc4::IfcCoordinateReferenceSystemSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcCoordinateReferenceSystem Ifc4::IfcCoordinateOperation::TargetCRS() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcCoordinateReferenceSystem>(); } +::Ifc4::IfcCoordinateReferenceSystem Ifc4::IfcCoordinateOperation::TargetCRS() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcCoordinateReferenceSystem>(); } void Ifc4::IfcCoordinateOperation::setTargetCRS(const ::Ifc4::IfcCoordinateReferenceSystem& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8261,14 +8261,14 @@ Ifc4::IfcCoordinateReferenceSystem Ifc4::IfcCoordinateReferenceSystem::initializ // 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)); } void Ifc4::IfcCostItem::setPredefinedType(const std::optional< ::Ifc4::IfcCostItemTypeEnum::Value >& v) { if (v) {set_attribute_value(6, enumeration_reference(&::Ifc4::IfcCostItemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4::IfcCostValue > > Ifc4::IfcCostItem::CostValues() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4::IfcCostValue>(es); } -void Ifc4::IfcCostItem::setCostValues(const std::optional< std::vector< ::Ifc4::IfcCostValue > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } -std::optional< std::vector< ::Ifc4::IfcPhysicalQuantity > > Ifc4::IfcCostItem::CostQuantities() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4::IfcPhysicalQuantity>(es); } -void Ifc4::IfcCostItem::setCostQuantities(const std::optional< std::vector< ::Ifc4::IfcPhysicalQuantity > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } +std::optional< std::vector< ::Ifc4::IfcCostValue > > Ifc4::IfcCostItem::CostValues() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4::IfcCostValue>(es); } +void Ifc4::IfcCostItem::setCostValues(const std::optional< std::vector< ::Ifc4::IfcCostValue > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4::IfcPhysicalQuantity > > Ifc4::IfcCostItem::CostQuantities() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4::IfcPhysicalQuantity>(es); } +void Ifc4::IfcCostItem::setCostQuantities(const std::optional< std::vector< ::Ifc4::IfcPhysicalQuantity > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } const ifcopenshell::entity& Ifc4::IfcCostItem::Class() { return *((ifcopenshell::entity*)IFC4_types[216]); } -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; } +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)); } @@ -8288,7 +8288,7 @@ Ifc4::IfcCostSchedule Ifc4::IfcCostSchedule::initialize(std::string v1_GlobalId, const ifcopenshell::entity& Ifc4::IfcCostValue::Class() { return *((ifcopenshell::entity*)IFC4_types[220]); } -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; } +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)); } @@ -8306,7 +8306,7 @@ void Ifc4::IfcCoveringType::setPredefinedType(const ::Ifc4::IfcCoveringTypeEnum: const ifcopenshell::entity& Ifc4::IfcCoveringType::Class() { return *((ifcopenshell::entity*)IFC4_types[223]); } -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; } +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]); } -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; } +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,10 +8322,10 @@ void Ifc4::IfcCrewResourceType::setPredefinedType(const ::Ifc4::IfcCrewResourceT const ifcopenshell::entity& Ifc4::IfcCrewResourceType::Class() { return *((ifcopenshell::entity*)IFC4_types[226]); } -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; } +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>(); } +::Ifc4::IfcAxis2Placement3D Ifc4::IfcCsgPrimitive3D::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcAxis2Placement3D>(); } void Ifc4::IfcCsgPrimitive3D::setPosition(const ::Ifc4::IfcAxis2Placement3D& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -8333,7 +8333,7 @@ const ifcopenshell::entity& Ifc4::IfcCsgPrimitive3D::Class() { return *((ifcopen 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>(); } +::Ifc4::IfcCsgSelect Ifc4::IfcCsgSolid::TreeRootExpression() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcCsgSelect>(); } void Ifc4::IfcCsgSolid::setTreeRootExpression(const ::Ifc4::IfcCsgSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -8341,15 +8341,15 @@ const ifcopenshell::entity& Ifc4::IfcCsgSolid::Class() { return *((ifcopenshell: 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>(); } +::Ifc4::IfcMonetaryUnit Ifc4::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcMonetaryUnit>(); } void Ifc4::IfcCurrencyRelationship::setRelatingMonetaryUnit(const ::Ifc4::IfcMonetaryUnit& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcMonetaryUnit Ifc4::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcMonetaryUnit>(); } +::Ifc4::IfcMonetaryUnit Ifc4::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcMonetaryUnit>(); } void Ifc4::IfcCurrencyRelationship::setRelatedMonetaryUnit(const ::Ifc4::IfcMonetaryUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } double Ifc4::IfcCurrencyRelationship::ExchangeRate() const { double v = get_attribute_value(4); return v; } void Ifc4::IfcCurrencyRelationship::setExchangeRate(const double& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::optional< std::string > Ifc4::IfcCurrencyRelationship::RateDateTime() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcCurrencyRelationship::setRateDateTime(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4::IfcLibraryInformation Ifc4::IfcCurrencyRelationship::RateSource() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcLibraryInformation{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4::IfcLibraryInformation>(); } +::Ifc4::IfcLibraryInformation Ifc4::IfcCurrencyRelationship::RateSource() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcLibraryInformation{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4::IfcLibraryInformation>(); } void Ifc4::IfcCurrencyRelationship::setRateSource(const ::Ifc4::IfcLibraryInformation& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -8370,7 +8370,7 @@ void Ifc4::IfcCurtainWallType::setPredefinedType(const ::Ifc4::IfcCurtainWallTyp const ifcopenshell::entity& Ifc4::IfcCurtainWallType::Class() { return *((ifcopenshell::entity*)IFC4_types[234]); } -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; } +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 @@ -8379,35 +8379,35 @@ const ifcopenshell::entity& Ifc4::IfcCurve::Class() { return *((ifcopenshell::en 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>(); } +::Ifc4::IfcPlane Ifc4::IfcCurveBoundedPlane::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcPlane>(); } void Ifc4::IfcCurveBoundedPlane::setBasisSurface(const ::Ifc4::IfcPlane& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcCurve Ifc4::IfcCurveBoundedPlane::OuterBoundary() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcCurve>(); } +::Ifc4::IfcCurve Ifc4::IfcCurveBoundedPlane::OuterBoundary() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcCurve>(); } void Ifc4::IfcCurveBoundedPlane::setOuterBoundary(const ::Ifc4::IfcCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4::IfcCurve > Ifc4::IfcCurveBoundedPlane::InnerBoundaries() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcCurve>(es); } -void Ifc4::IfcCurveBoundedPlane::setInnerBoundaries(const std::vector< ::Ifc4::IfcCurve >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4::IfcCurve > Ifc4::IfcCurveBoundedPlane::InnerBoundaries() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcCurve>(es); } +void Ifc4::IfcCurveBoundedPlane::setInnerBoundaries(const std::vector< ::Ifc4::IfcCurve >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4::IfcCurveBoundedPlane::Class() { return *((ifcopenshell::entity*)IFC4_types[238]); } -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; } +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>(); } +::Ifc4::IfcSurface Ifc4::IfcCurveBoundedSurface::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcSurface>(); } void Ifc4::IfcCurveBoundedSurface::setBasisSurface(const ::Ifc4::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4::IfcBoundaryCurve > Ifc4::IfcCurveBoundedSurface::Boundaries() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcBoundaryCurve>(es); } -void Ifc4::IfcCurveBoundedSurface::setBoundaries(const std::vector< ::Ifc4::IfcBoundaryCurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4::IfcBoundaryCurve > Ifc4::IfcCurveBoundedSurface::Boundaries() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcBoundaryCurve>(es); } +void Ifc4::IfcCurveBoundedSurface::setBoundaries(const std::vector< ::Ifc4::IfcBoundaryCurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } bool Ifc4::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = get_attribute_value(2); return v; } void Ifc4::IfcCurveBoundedSurface::setImplicitOuter(const bool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4::IfcCurveBoundedSurface::Class() { return *((ifcopenshell::entity*)IFC4_types[239]); } -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; } +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>(); } +::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>(); } void Ifc4::IfcCurveStyle::setCurveFont(const ::Ifc4::IfcCurveFontOrScaledCurveFontSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcSizeSelect Ifc4::IfcCurveStyle::CurveWidth() const { if(get_attribute_value(2).isNull()) { return ::Ifc4::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcSizeSelect>(); } +::Ifc4::IfcSizeSelect Ifc4::IfcCurveStyle::CurveWidth() const { if(get_attribute_value(2).isNull()) { return ::Ifc4::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcSizeSelect>(); } void Ifc4::IfcCurveStyle::setCurveWidth(const ::Ifc4::IfcSizeSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcColour Ifc4::IfcCurveStyle::CurveColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcColour{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcColour>(); } +::Ifc4::IfcColour Ifc4::IfcCurveStyle::CurveColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcColour{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcColour>(); } void Ifc4::IfcCurveStyle::setCurveColour(const ::Ifc4::IfcColour& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< bool > Ifc4::IfcCurveStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } bool v = get_attribute_value(4); return v; } void Ifc4::IfcCurveStyle::setModelOrDraughting(const std::optional< bool >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -8419,17 +8419,17 @@ Ifc4::IfcCurveStyle Ifc4::IfcCurveStyle::initialize(std::optional< std::string > // 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; } void Ifc4::IfcCurveStyleFont::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::vector< ::Ifc4::IfcCurveStyleFontPattern > Ifc4::IfcCurveStyleFont::PatternList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcCurveStyleFontPattern>(es); } -void Ifc4::IfcCurveStyleFont::setPatternList(const std::vector< ::Ifc4::IfcCurveStyleFontPattern >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4::IfcCurveStyleFontPattern > Ifc4::IfcCurveStyleFont::PatternList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcCurveStyleFontPattern>(es); } +void Ifc4::IfcCurveStyleFont::setPatternList(const std::vector< ::Ifc4::IfcCurveStyleFontPattern >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4::IfcCurveStyleFont::Class() { return *((ifcopenshell::entity*)IFC4_types[245]); } -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; } +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; } void Ifc4::IfcCurveStyleFontAndScaling::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4::IfcCurveStyleFontSelect Ifc4::IfcCurveStyleFontAndScaling::CurveFont() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcCurveStyleFontSelect>(); } +::Ifc4::IfcCurveStyleFontSelect Ifc4::IfcCurveStyleFontAndScaling::CurveFont() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcCurveStyleFontSelect>(); } void Ifc4::IfcCurveStyleFontAndScaling::setCurveFont(const ::Ifc4::IfcCurveStyleFontSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } double Ifc4::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = get_attribute_value(2); return v; } void Ifc4::IfcCurveStyleFontAndScaling::setCurveFontScaling(const double& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8470,12 +8470,12 @@ void Ifc4::IfcDamperType::setPredefinedType(const ::Ifc4::IfcDamperTypeEnum::Val const ifcopenshell::entity& Ifc4::IfcDamperType::Class() { return *((ifcopenshell::entity*)IFC4_types[251]); } -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; } +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>(); } +::Ifc4::IfcProfileDef Ifc4::IfcDerivedProfileDef::ParentProfile() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcProfileDef>(); } void Ifc4::IfcDerivedProfileDef::setParentProfile(const ::Ifc4::IfcProfileDef& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcCartesianTransformationOperator2D Ifc4::IfcDerivedProfileDef::Operator() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcCartesianTransformationOperator2D>(); } +::Ifc4::IfcCartesianTransformationOperator2D Ifc4::IfcDerivedProfileDef::Operator() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcCartesianTransformationOperator2D>(); } void Ifc4::IfcDerivedProfileDef::setOperator(const ::Ifc4::IfcCartesianTransformationOperator2D& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4::IfcDerivedProfileDef::Label() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcDerivedProfileDef::setLabel(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -8485,8 +8485,8 @@ const ifcopenshell::entity& Ifc4::IfcDerivedProfileDef::Class() { return *((ifco 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); } -void Ifc4::IfcDerivedUnit::setElements(const std::vector< ::Ifc4::IfcDerivedUnitElement >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4::IfcDerivedUnitElement > Ifc4::IfcDerivedUnit::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcDerivedUnitElement>(es); } +void Ifc4::IfcDerivedUnit::setElements(const std::vector< ::Ifc4::IfcDerivedUnitElement >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } ::Ifc4::IfcDerivedUnitEnum::Value Ifc4::IfcDerivedUnit::UnitType() const { return ::Ifc4::IfcDerivedUnitEnum::FromString(get_attribute_value(1)); } void Ifc4::IfcDerivedUnit::setUnitType(const ::Ifc4::IfcDerivedUnitEnum::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4::IfcDerivedUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4::IfcDerivedUnit::UserDefinedType() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } @@ -8494,10 +8494,10 @@ void Ifc4::IfcDerivedUnit::setUserDefinedType(const std::optional< std::string > const ifcopenshell::entity& Ifc4::IfcDerivedUnit::Class() { return *((ifcopenshell::entity*)IFC4_types[261]); } -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; } +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>(); } +::Ifc4::IfcNamedUnit Ifc4::IfcDerivedUnitElement::Unit() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcNamedUnit>(); } void Ifc4::IfcDerivedUnitElement::setUnit(const ::Ifc4::IfcNamedUnit& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } int64_t Ifc4::IfcDerivedUnitElement::Exponent() const { int64_t v = get_attribute_value(1); return v; } void Ifc4::IfcDerivedUnitElement::setExponent(const int64_t& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8548,7 +8548,7 @@ void Ifc4::IfcDiscreteAccessoryType::setPredefinedType(const ::Ifc4::IfcDiscrete const ifcopenshell::entity& Ifc4::IfcDiscreteAccessoryType::Class() { return *((ifcopenshell::entity*)IFC4_types[270]); } -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; } +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)); } @@ -8564,7 +8564,7 @@ void Ifc4::IfcDistributionChamberElementType::setPredefinedType(const ::Ifc4::If const ifcopenshell::entity& Ifc4::IfcDistributionChamberElementType::Class() { return *((ifcopenshell::entity*)IFC4_types[273]); } -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; } +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 @@ -8583,7 +8583,7 @@ Ifc4::IfcDistributionControlElement Ifc4::IfcDistributionControlElement::initial const ifcopenshell::entity& Ifc4::IfcDistributionControlElementType::Class() { return *((ifcopenshell::entity*)IFC4_types[277]); } -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; } +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 @@ -8596,7 +8596,7 @@ Ifc4::IfcDistributionElement Ifc4::IfcDistributionElement::initialize(std::strin const ifcopenshell::entity& Ifc4::IfcDistributionElementType::Class() { return *((ifcopenshell::entity*)IFC4_types[279]); } -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; } +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 @@ -8609,7 +8609,7 @@ Ifc4::IfcDistributionFlowElement Ifc4::IfcDistributionFlowElement::initialize(st const ifcopenshell::entity& Ifc4::IfcDistributionFlowElementType::Class() { return *((ifcopenshell::entity*)IFC4_types[281]); } -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; } +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)); } @@ -8650,10 +8650,10 @@ std::optional< std::string > Ifc4::IfcDocumentInformation::Scope() const { if(ge void Ifc4::IfcDocumentInformation::setScope(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } std::optional< std::string > Ifc4::IfcDocumentInformation::Revision() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4::IfcDocumentInformation::setRevision(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4::IfcActorSelect Ifc4::IfcDocumentInformation::DocumentOwner() const { if(get_attribute_value(8).isNull()) { return ::Ifc4::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4::IfcActorSelect>(); } +::Ifc4::IfcActorSelect Ifc4::IfcDocumentInformation::DocumentOwner() const { if(get_attribute_value(8).isNull()) { return ::Ifc4::IfcActorSelect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4::IfcActorSelect>(); } void Ifc4::IfcDocumentInformation::setDocumentOwner(const ::Ifc4::IfcActorSelect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::optional< std::vector< ::Ifc4::IfcActorSelect > > Ifc4::IfcDocumentInformation::Editors() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4::IfcActorSelect>(es); } -void Ifc4::IfcDocumentInformation::setEditors(const std::optional< std::vector< ::Ifc4::IfcActorSelect > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +std::optional< std::vector< ::Ifc4::IfcActorSelect > > Ifc4::IfcDocumentInformation::Editors() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4::IfcActorSelect>(es); } +void Ifc4::IfcDocumentInformation::setEditors(const std::optional< std::vector< ::Ifc4::IfcActorSelect > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } std::optional< std::string > Ifc4::IfcDocumentInformation::CreationTime() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } std::string v = get_attribute_value(10); return v; } void Ifc4::IfcDocumentInformation::setCreationTime(const std::optional< std::string >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } std::optional< std::string > Ifc4::IfcDocumentInformation::LastRevisionTime() const { if(get_attribute_value(11).isNull()) { return std::nullopt; } std::string v = get_attribute_value(11); return v; } @@ -8675,24 +8675,24 @@ 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]); } -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; } +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>(); } +::Ifc4::IfcDocumentInformation Ifc4::IfcDocumentInformationRelationship::RelatingDocument() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcDocumentInformation>(); } void Ifc4::IfcDocumentInformationRelationship::setRelatingDocument(const ::Ifc4::IfcDocumentInformation& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4::IfcDocumentInformation > Ifc4::IfcDocumentInformationRelationship::RelatedDocuments() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4::IfcDocumentInformation>(es); } -void Ifc4::IfcDocumentInformationRelationship::setRelatedDocuments(const std::vector< ::Ifc4::IfcDocumentInformation >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4::IfcDocumentInformation > Ifc4::IfcDocumentInformationRelationship::RelatedDocuments() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4::IfcDocumentInformation>(es); } +void Ifc4::IfcDocumentInformationRelationship::setRelatedDocuments(const std::vector< ::Ifc4::IfcDocumentInformation >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4::IfcDocumentInformationRelationship::RelationshipType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcDocumentInformationRelationship::setRelationshipType(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const ifcopenshell::entity& Ifc4::IfcDocumentInformationRelationship::Class() { return *((ifcopenshell::entity*)IFC4_types[288]); } -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; } +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; } void Ifc4::IfcDocumentReference::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4::IfcDocumentInformation Ifc4::IfcDocumentReference::ReferencedDocument() const { if(get_attribute_value(4).isNull()) { return ::Ifc4::IfcDocumentInformation{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcDocumentInformation>(); } +::Ifc4::IfcDocumentInformation Ifc4::IfcDocumentReference::ReferencedDocument() const { if(get_attribute_value(4).isNull()) { return ::Ifc4::IfcDocumentInformation{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcDocumentInformation>(); } void Ifc4::IfcDocumentReference::setReferencedDocument(const ::Ifc4::IfcDocumentInformation& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::vector<::Ifc4::IfcRelAssociatesDocument> Ifc4::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[810], 5)); } @@ -8737,7 +8737,7 @@ std::optional< double > Ifc4::IfcDoorLiningProperties::CasingThickness() const { void Ifc4::IfcDoorLiningProperties::setCasingThickness(const std::optional< double >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } std::optional< double > Ifc4::IfcDoorLiningProperties::CasingDepth() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } double v = get_attribute_value(13); return v; } void Ifc4::IfcDoorLiningProperties::setCasingDepth(const std::optional< double >& v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -::Ifc4::IfcShapeAspect Ifc4::IfcDoorLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(14).isNull()) { return ::Ifc4::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(14))).as<::Ifc4::IfcShapeAspect>(); } +::Ifc4::IfcShapeAspect Ifc4::IfcDoorLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(14).isNull()) { return ::Ifc4::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(14))).as<::Ifc4::IfcShapeAspect>(); } void Ifc4::IfcDoorLiningProperties::setShapeAspectStyle(const ::Ifc4::IfcShapeAspect& v) { set_attribute_value(14, v);if constexpr (false)unset_attribute_value(14); } std::optional< double > Ifc4::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(get_attribute_value(15).isNull()) { return std::nullopt; } double v = get_attribute_value(15); return v; } void Ifc4::IfcDoorLiningProperties::setLiningToPanelOffsetX(const std::optional< double >& v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } @@ -8757,7 +8757,7 @@ std::optional< double > Ifc4::IfcDoorPanelProperties::PanelWidth() const { if(ge void Ifc4::IfcDoorPanelProperties::setPanelWidth(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4::IfcDoorPanelPositionEnum::Value Ifc4::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4::IfcDoorPanelPositionEnum::FromString(get_attribute_value(7)); } void Ifc4::IfcDoorPanelProperties::setPanelPosition(const ::Ifc4::IfcDoorPanelPositionEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4::IfcDoorPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4::IfcShapeAspect Ifc4::IfcDoorPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4::IfcShapeAspect>(); } +::Ifc4::IfcShapeAspect Ifc4::IfcDoorPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4::IfcShapeAspect>(); } void Ifc4::IfcDoorPanelProperties::setShapeAspectStyle(const ::Ifc4::IfcShapeAspect& v) { set_attribute_value(8, v);if constexpr (false)unset_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]); } -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; } +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,7 +8796,7 @@ void Ifc4::IfcDoorType::setUserDefinedOperationType(const std::optional< std::st const ifcopenshell::entity& Ifc4::IfcDoorType::Class() { return *((ifcopenshell::entity*)IFC4_types[301]); } -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; } +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 @@ -8824,7 +8824,7 @@ void Ifc4::IfcDuctFittingType::setPredefinedType(const ::Ifc4::IfcDuctFittingTyp const ifcopenshell::entity& Ifc4::IfcDuctFittingType::Class() { return *((ifcopenshell::entity*)IFC4_types[308]); } -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; } +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)); } @@ -8840,7 +8840,7 @@ void Ifc4::IfcDuctSegmentType::setPredefinedType(const ::Ifc4::IfcDuctSegmentTyp const ifcopenshell::entity& Ifc4::IfcDuctSegmentType::Class() { return *((ifcopenshell::entity*)IFC4_types[311]); } -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; } +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)); } @@ -8856,12 +8856,12 @@ void Ifc4::IfcDuctSilencerType::setPredefinedType(const ::Ifc4::IfcDuctSilencerT const ifcopenshell::entity& Ifc4::IfcDuctSilencerType::Class() { return *((ifcopenshell::entity*)IFC4_types[314]); } -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; } +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>(); } +::Ifc4::IfcVertex Ifc4::IfcEdge::EdgeStart() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcVertex>(); } void Ifc4::IfcEdge::setEdgeStart(const ::Ifc4::IfcVertex& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcVertex Ifc4::IfcEdge::EdgeEnd() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcVertex>(); } +::Ifc4::IfcVertex Ifc4::IfcEdge::EdgeEnd() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcVertex>(); } void Ifc4::IfcEdge::setEdgeEnd(const ::Ifc4::IfcVertex& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8869,7 +8869,7 @@ const ifcopenshell::entity& Ifc4::IfcEdge::Class() { return *((ifcopenshell::ent 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>(); } +::Ifc4::IfcCurve Ifc4::IfcEdgeCurve::EdgeGeometry() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcCurve>(); } void Ifc4::IfcEdgeCurve::setEdgeGeometry(const ::Ifc4::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } bool Ifc4::IfcEdgeCurve::SameSense() const { bool v = get_attribute_value(3); return v; } void Ifc4::IfcEdgeCurve::setSameSense(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -8879,12 +8879,12 @@ const ifcopenshell::entity& Ifc4::IfcEdgeCurve::Class() { return *((ifcopenshell 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); } -void Ifc4::IfcEdgeLoop::setEdgeList(const std::vector< ::Ifc4::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4::IfcOrientedEdge > Ifc4::IfcEdgeLoop::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcOrientedEdge>(es); } +void Ifc4::IfcEdgeLoop::setEdgeList(const std::vector< ::Ifc4::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4::IfcEdgeLoop::Class() { return *((ifcopenshell::entity*)IFC4_types[320]); } -Ifc4::IfcEdgeLoop Ifc4::IfcEdgeLoop::initialize(std::vector< ::Ifc4::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } +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)); } @@ -8900,7 +8900,7 @@ void Ifc4::IfcElectricApplianceType::setPredefinedType(const ::Ifc4::IfcElectric const ifcopenshell::entity& Ifc4::IfcElectricApplianceType::Class() { return *((ifcopenshell::entity*)IFC4_types[322]); } -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; } +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)); } @@ -8916,7 +8916,7 @@ void Ifc4::IfcElectricDistributionBoardType::setPredefinedType(const ::Ifc4::Ifc const ifcopenshell::entity& Ifc4::IfcElectricDistributionBoardType::Class() { return *((ifcopenshell::entity*)IFC4_types[329]); } -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; } +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)); } @@ -8932,7 +8932,7 @@ void Ifc4::IfcElectricFlowStorageDeviceType::setPredefinedType(const ::Ifc4::Ifc const ifcopenshell::entity& Ifc4::IfcElectricFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4_types[332]); } -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; } +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)); } @@ -8948,7 +8948,7 @@ void Ifc4::IfcElectricGeneratorType::setPredefinedType(const ::Ifc4::IfcElectric const ifcopenshell::entity& Ifc4::IfcElectricGeneratorType::Class() { return *((ifcopenshell::entity*)IFC4_types[335]); } -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; } +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)); } @@ -8964,7 +8964,7 @@ void Ifc4::IfcElectricMotorType::setPredefinedType(const ::Ifc4::IfcElectricMoto const ifcopenshell::entity& Ifc4::IfcElectricMotorType::Class() { return *((ifcopenshell::entity*)IFC4_types[338]); } -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; } +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)); } @@ -8980,7 +8980,7 @@ void Ifc4::IfcElectricTimeControlType::setPredefinedType(const ::Ifc4::IfcElectr const ifcopenshell::entity& Ifc4::IfcElectricTimeControlType::Class() { return *((ifcopenshell::entity*)IFC4_types[342]); } -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; } +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; } @@ -9018,7 +9018,7 @@ void Ifc4::IfcElementAssemblyType::setPredefinedType(const ::Ifc4::IfcElementAss const ifcopenshell::entity& Ifc4::IfcElementAssemblyType::Class() { return *((ifcopenshell::entity*)IFC4_types[348]); } -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; } +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 @@ -9030,17 +9030,17 @@ Ifc4::IfcElementComponent Ifc4::IfcElementComponent::initialize(std::string v1_G const ifcopenshell::entity& Ifc4::IfcElementComponentType::Class() { return *((ifcopenshell::entity*)IFC4_types[351]); } -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; } +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; } void Ifc4::IfcElementQuantity::setMethodOfMeasurement(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector< ::Ifc4::IfcPhysicalQuantity > Ifc4::IfcElementQuantity::Quantities() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4::IfcPhysicalQuantity>(es); } -void Ifc4::IfcElementQuantity::setQuantities(const std::vector< ::Ifc4::IfcPhysicalQuantity >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4::IfcPhysicalQuantity > Ifc4::IfcElementQuantity::Quantities() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4::IfcPhysicalQuantity>(es); } +void Ifc4::IfcElementQuantity::setQuantities(const std::vector< ::Ifc4::IfcPhysicalQuantity >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4::IfcElementQuantity::Class() { return *((ifcopenshell::entity*)IFC4_types[353]); } -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; } +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,10 +9048,10 @@ void Ifc4::IfcElementType::setElementType(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4::IfcElementType::Class() { return *((ifcopenshell::entity*)IFC4_types[354]); } -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; } +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>(); } +::Ifc4::IfcAxis2Placement3D Ifc4::IfcElementarySurface::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcAxis2Placement3D>(); } void Ifc4::IfcElementarySurface::setPosition(const ::Ifc4::IfcAxis2Placement3D& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -9088,7 +9088,7 @@ Ifc4::IfcEnergyConversionDevice Ifc4::IfcEnergyConversionDevice::initialize(std: const ifcopenshell::entity& Ifc4::IfcEnergyConversionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4_types[358]); } -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; } +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)); } @@ -9104,7 +9104,7 @@ void Ifc4::IfcEngineType::setPredefinedType(const ::Ifc4::IfcEngineTypeEnum::Val const ifcopenshell::entity& Ifc4::IfcEngineType::Class() { return *((ifcopenshell::entity*)IFC4_types[361]); } -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; } +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)); } @@ -9120,7 +9120,7 @@ void Ifc4::IfcEvaporativeCoolerType::setPredefinedType(const ::Ifc4::IfcEvaporat const ifcopenshell::entity& Ifc4::IfcEvaporativeCoolerType::Class() { return *((ifcopenshell::entity*)IFC4_types[364]); } -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; } +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)); } @@ -9136,7 +9136,7 @@ void Ifc4::IfcEvaporatorType::setPredefinedType(const ::Ifc4::IfcEvaporatorTypeE const ifcopenshell::entity& Ifc4::IfcEvaporatorType::Class() { return *((ifcopenshell::entity*)IFC4_types[367]); } -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; } +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)); } @@ -9145,7 +9145,7 @@ std::optional< ::Ifc4::IfcEventTriggerTypeEnum::Value > Ifc4::IfcEvent::EventTri void Ifc4::IfcEvent::setEventTriggerType(const std::optional< ::Ifc4::IfcEventTriggerTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4::IfcEventTriggerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } std::optional< std::string > Ifc4::IfcEvent::UserDefinedEventTriggerType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::string v = get_attribute_value(9); return v; } void Ifc4::IfcEvent::setUserDefinedEventTriggerType(const std::optional< std::string >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -::Ifc4::IfcEventTime Ifc4::IfcEvent::EventOccurenceTime() const { if(get_attribute_value(10).isNull()) { return ::Ifc4::IfcEventTime{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4::IfcEventTime>(); } +::Ifc4::IfcEventTime Ifc4::IfcEvent::EventOccurenceTime() const { if(get_attribute_value(10).isNull()) { return ::Ifc4::IfcEventTime{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4::IfcEventTime>(); } void Ifc4::IfcEvent::setEventOccurenceTime(const ::Ifc4::IfcEventTime& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } @@ -9176,19 +9176,19 @@ void Ifc4::IfcEventType::setUserDefinedEventTriggerType(const std::optional< std const ifcopenshell::entity& Ifc4::IfcEventType::Class() { return *((ifcopenshell::entity*)IFC4_types[372]); } -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; } +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; } void Ifc4::IfcExtendedProperties::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4::IfcExtendedProperties::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcExtendedProperties::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4::IfcProperty > Ifc4::IfcExtendedProperties::Properties() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcProperty>(es); } -void Ifc4::IfcExtendedProperties::setProperties(const std::vector< ::Ifc4::IfcProperty >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4::IfcProperty > Ifc4::IfcExtendedProperties::Properties() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcProperty>(es); } +void Ifc4::IfcExtendedProperties::setProperties(const std::vector< ::Ifc4::IfcProperty >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4::IfcExtendedProperties::Class() { return *((ifcopenshell::entity*)IFC4_types[374]); } -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; } +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 @@ -9210,14 +9210,14 @@ const ifcopenshell::entity& Ifc4::IfcExternalReference::Class() { return *((ifco 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>(); } +::Ifc4::IfcExternalReference Ifc4::IfcExternalReferenceRelationship::RelatingReference() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcExternalReference>(); } void Ifc4::IfcExternalReferenceRelationship::setRelatingReference(const ::Ifc4::IfcExternalReference& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4::IfcResourceObjectSelect > Ifc4::IfcExternalReferenceRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4::IfcResourceObjectSelect>(es); } -void Ifc4::IfcExternalReferenceRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4::IfcResourceObjectSelect > Ifc4::IfcExternalReferenceRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4::IfcResourceObjectSelect>(es); } +void Ifc4::IfcExternalReferenceRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4::IfcExternalReferenceRelationship::Class() { return *((ifcopenshell::entity*)IFC4_types[380]); } -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; } +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)); } @@ -9253,7 +9253,7 @@ const ifcopenshell::entity& Ifc4::IfcExternallyDefinedTextFont::Class() { return 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>(); } +::Ifc4::IfcDirection Ifc4::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcDirection>(); } void Ifc4::IfcExtrudedAreaSolid::setExtrudedDirection(const ::Ifc4::IfcDirection& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc4::IfcExtrudedAreaSolid::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcExtrudedAreaSolid::setDepth(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -9263,7 +9263,7 @@ const ifcopenshell::entity& Ifc4::IfcExtrudedAreaSolid::Class() { return *((ifco 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>(); } +::Ifc4::IfcProfileDef Ifc4::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcProfileDef>(); } void Ifc4::IfcExtrudedAreaSolidTapered::setEndSweptArea(const ::Ifc4::IfcProfileDef& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -9271,24 +9271,24 @@ const ifcopenshell::entity& Ifc4::IfcExtrudedAreaSolidTapered::Class() { return 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); } -void Ifc4::IfcFace::setBounds(const std::vector< ::Ifc4::IfcFaceBound >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4::IfcFaceBound > Ifc4::IfcFace::Bounds() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcFaceBound>(es); } +void Ifc4::IfcFace::setBounds(const std::vector< ::Ifc4::IfcFaceBound >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } 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]); } -Ifc4::IfcFace Ifc4::IfcFace::initialize(std::vector< ::Ifc4::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds));; return *this; } +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); } -void Ifc4::IfcFaceBasedSurfaceModel::setFbsmFaces(const std::vector< ::Ifc4::IfcConnectedFaceSet >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4::IfcConnectedFaceSet > Ifc4::IfcFaceBasedSurfaceModel::FbsmFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcConnectedFaceSet>(es); } +void Ifc4::IfcFaceBasedSurfaceModel::setFbsmFaces(const std::vector< ::Ifc4::IfcConnectedFaceSet >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4::IfcFaceBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4_types[387]); } -Ifc4::IfcFaceBasedSurfaceModel Ifc4::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc4::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces));; return *this; } +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>(); } +::Ifc4::IfcLoop Ifc4::IfcFaceBound::Bound() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcLoop>(); } void Ifc4::IfcFaceBound::setBound(const ::Ifc4::IfcLoop& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } bool Ifc4::IfcFaceBound::Orientation() const { bool v = get_attribute_value(1); return v; } void Ifc4::IfcFaceBound::setOrientation(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9304,14 +9304,14 @@ const ifcopenshell::entity& Ifc4::IfcFaceOuterBound::Class() { return *((ifcopen 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>(); } +::Ifc4::IfcSurface Ifc4::IfcFaceSurface::FaceSurface() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcSurface>(); } void Ifc4::IfcFaceSurface::setFaceSurface(const ::Ifc4::IfcSurface& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } bool Ifc4::IfcFaceSurface::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4::IfcFaceSurface::setSameSense(const bool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4::IfcFaceSurface::Class() { return *((ifcopenshell::entity*)IFC4_types[390]); } -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; } +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 @@ -9320,12 +9320,12 @@ const ifcopenshell::entity& Ifc4::IfcFacetedBrep::Class() { return *((ifcopenshe 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); } -void Ifc4::IfcFacetedBrepWithVoids::setVoids(const std::vector< ::Ifc4::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4::IfcClosedShell > Ifc4::IfcFacetedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcClosedShell>(es); } +void Ifc4::IfcFacetedBrepWithVoids::setVoids(const std::vector< ::Ifc4::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4::IfcFacetedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4_types[392]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -9375,7 +9375,7 @@ void Ifc4::IfcFastenerType::setPredefinedType(const ::Ifc4::IfcFastenerTypeEnum: const ifcopenshell::entity& Ifc4::IfcFastenerType::Class() { return *((ifcopenshell::entity*)IFC4_types[398]); } -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; } +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 @@ -9398,23 +9398,23 @@ const ifcopenshell::entity& Ifc4::IfcFeatureElementSubtraction::Class() { return 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); } -void Ifc4::IfcFillAreaStyle::setFillStyles(const std::vector< ::Ifc4::IfcFillStyleSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4::IfcFillStyleSelect > Ifc4::IfcFillAreaStyle::FillStyles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcFillStyleSelect>(es); } +void Ifc4::IfcFillAreaStyle::setFillStyles(const std::vector< ::Ifc4::IfcFillStyleSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< bool > Ifc4::IfcFillAreaStyle::ModelorDraughting() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } bool v = get_attribute_value(2); return v; } void Ifc4::IfcFillAreaStyle::setModelorDraughting(const std::optional< bool >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4::IfcFillAreaStyle::Class() { return *((ifcopenshell::entity*)IFC4_types[403]); } -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; } +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>(); } +::Ifc4::IfcCurveStyle Ifc4::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcCurveStyle>(); } void Ifc4::IfcFillAreaStyleHatching::setHatchLineAppearance(const ::Ifc4::IfcCurveStyle& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcHatchLineDistanceSelect Ifc4::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcHatchLineDistanceSelect>(); } +::Ifc4::IfcHatchLineDistanceSelect Ifc4::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcHatchLineDistanceSelect>(); } void Ifc4::IfcFillAreaStyleHatching::setStartOfNextHatchLine(const ::Ifc4::IfcHatchLineDistanceSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcCartesianPoint Ifc4::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(get_attribute_value(2).isNull()) { return ::Ifc4::IfcCartesianPoint{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcCartesianPoint>(); } +::Ifc4::IfcCartesianPoint Ifc4::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(get_attribute_value(2).isNull()) { return ::Ifc4::IfcCartesianPoint{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcCartesianPoint>(); } void Ifc4::IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(const ::Ifc4::IfcCartesianPoint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcCartesianPoint Ifc4::IfcFillAreaStyleHatching::PatternStart() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcCartesianPoint{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcCartesianPoint>(); } +::Ifc4::IfcCartesianPoint Ifc4::IfcFillAreaStyleHatching::PatternStart() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcCartesianPoint{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcCartesianPoint>(); } void Ifc4::IfcFillAreaStyleHatching::setPatternStart(const ::Ifc4::IfcCartesianPoint& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } double Ifc4::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = get_attribute_value(4); return v; } void Ifc4::IfcFillAreaStyleHatching::setHatchLineAngle(const double& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -9424,16 +9424,16 @@ const ifcopenshell::entity& Ifc4::IfcFillAreaStyleHatching::Class() { return *(( 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); } -void Ifc4::IfcFillAreaStyleTiles::setTilingPattern(const std::vector< ::Ifc4::IfcVector >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4::IfcStyledItem > Ifc4::IfcFillAreaStyleTiles::Tiles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcStyledItem>(es); } -void Ifc4::IfcFillAreaStyleTiles::setTiles(const std::vector< ::Ifc4::IfcStyledItem >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4::IfcVector > Ifc4::IfcFillAreaStyleTiles::TilingPattern() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcVector>(es); } +void Ifc4::IfcFillAreaStyleTiles::setTilingPattern(const std::vector< ::Ifc4::IfcVector >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4::IfcStyledItem > Ifc4::IfcFillAreaStyleTiles::Tiles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcStyledItem>(es); } +void Ifc4::IfcFillAreaStyleTiles::setTiles(const std::vector< ::Ifc4::IfcStyledItem >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } double Ifc4::IfcFillAreaStyleTiles::TilingScale() const { double v = get_attribute_value(2); return v; } void Ifc4::IfcFillAreaStyleTiles::setTilingScale(const double& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4::IfcFillAreaStyleTiles::Class() { return *((ifcopenshell::entity*)IFC4_types[405]); } -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; } +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)); } @@ -9449,7 +9449,7 @@ void Ifc4::IfcFilterType::setPredefinedType(const ::Ifc4::IfcFilterTypeEnum::Val const ifcopenshell::entity& Ifc4::IfcFilterType::Class() { return *((ifcopenshell::entity*)IFC4_types[408]); } -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; } +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)); } @@ -9465,16 +9465,16 @@ void Ifc4::IfcFireSuppressionTerminalType::setPredefinedType(const ::Ifc4::IfcFi const ifcopenshell::entity& Ifc4::IfcFireSuppressionTerminalType::Class() { return *((ifcopenshell::entity*)IFC4_types[411]); } -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; } +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>(); } +::Ifc4::IfcCurve Ifc4::IfcFixedReferenceSweptAreaSolid::Directrix() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcCurve>(); } void Ifc4::IfcFixedReferenceSweptAreaSolid::setDirectrix(const ::Ifc4::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc4::IfcFixedReferenceSweptAreaSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4::IfcFixedReferenceSweptAreaSolid::setStartParam(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } std::optional< double > Ifc4::IfcFixedReferenceSweptAreaSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } void Ifc4::IfcFixedReferenceSweptAreaSolid::setEndParam(const std::optional< double >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4::IfcDirection Ifc4::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcDirection>(); } +::Ifc4::IfcDirection Ifc4::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcDirection>(); } void Ifc4::IfcFixedReferenceSweptAreaSolid::setFixedReference(const ::Ifc4::IfcDirection& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -9491,7 +9491,7 @@ Ifc4::IfcFlowController Ifc4::IfcFlowController::initialize(std::string v1_Globa const ifcopenshell::entity& Ifc4::IfcFlowControllerType::Class() { return *((ifcopenshell::entity*)IFC4_types[415]); } -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; } +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 @@ -9503,7 +9503,7 @@ Ifc4::IfcFlowFitting Ifc4::IfcFlowFitting::initialize(std::string v1_GlobalId, : const ifcopenshell::entity& Ifc4::IfcFlowFittingType::Class() { return *((ifcopenshell::entity*)IFC4_types[418]); } -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; } +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)); } @@ -9519,7 +9519,7 @@ void Ifc4::IfcFlowInstrumentType::setPredefinedType(const ::Ifc4::IfcFlowInstrum const ifcopenshell::entity& Ifc4::IfcFlowInstrumentType::Class() { return *((ifcopenshell::entity*)IFC4_types[420]); } -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; } +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)); } @@ -9535,7 +9535,7 @@ void Ifc4::IfcFlowMeterType::setPredefinedType(const ::Ifc4::IfcFlowMeterTypeEnu const ifcopenshell::entity& Ifc4::IfcFlowMeterType::Class() { return *((ifcopenshell::entity*)IFC4_types[423]); } -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; } +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 @@ -9547,7 +9547,7 @@ Ifc4::IfcFlowMovingDevice Ifc4::IfcFlowMovingDevice::initialize(std::string v1_G const ifcopenshell::entity& Ifc4::IfcFlowMovingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4_types[426]); } -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; } +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 @@ -9559,7 +9559,7 @@ Ifc4::IfcFlowSegment Ifc4::IfcFlowSegment::initialize(std::string v1_GlobalId, : const ifcopenshell::entity& Ifc4::IfcFlowSegmentType::Class() { return *((ifcopenshell::entity*)IFC4_types[428]); } -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; } +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 @@ -9571,7 +9571,7 @@ Ifc4::IfcFlowStorageDevice Ifc4::IfcFlowStorageDevice::initialize(std::string v1 const ifcopenshell::entity& Ifc4::IfcFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4_types[430]); } -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; } +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 @@ -9583,7 +9583,7 @@ Ifc4::IfcFlowTerminal Ifc4::IfcFlowTerminal::initialize(std::string v1_GlobalId, const ifcopenshell::entity& Ifc4::IfcFlowTerminalType::Class() { return *((ifcopenshell::entity*)IFC4_types[432]); } -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; } +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 @@ -9595,7 +9595,7 @@ Ifc4::IfcFlowTreatmentDevice Ifc4::IfcFlowTreatmentDevice::initialize(std::strin const ifcopenshell::entity& Ifc4::IfcFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC4_types[434]); } -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; } +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)); } @@ -9611,7 +9611,7 @@ void Ifc4::IfcFootingType::setPredefinedType(const ::Ifc4::IfcFootingTypeEnum::V const ifcopenshell::entity& Ifc4::IfcFootingType::Class() { return *((ifcopenshell::entity*)IFC4_types[439]); } -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; } +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 @@ -9623,7 +9623,7 @@ Ifc4::IfcFurnishingElement Ifc4::IfcFurnishingElement::initialize(std::string v1 const ifcopenshell::entity& Ifc4::IfcFurnishingElementType::Class() { return *((ifcopenshell::entity*)IFC4_types[444]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -9657,22 +9657,22 @@ void Ifc4::IfcGeographicElementType::setPredefinedType(const ::Ifc4::IfcGeograph const ifcopenshell::entity& Ifc4::IfcGeographicElementType::Class() { return *((ifcopenshell::entity*)IFC4_types[449]); } -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; } +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]); } -Ifc4::IfcGeometricCurveSet Ifc4::IfcGeometricCurveSet::initialize(std::vector< ::Ifc4::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } +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 int64_t Ifc4::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int64_t v = get_attribute_value(2); return v; } void Ifc4::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(const int64_t& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc4::IfcGeometricRepresentationContext::Precision() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4::IfcGeometricRepresentationContext::setPrecision(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4::IfcAxis2Placement Ifc4::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcAxis2Placement>(); } +::Ifc4::IfcAxis2Placement Ifc4::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcAxis2Placement>(); } void Ifc4::IfcGeometricRepresentationContext::setWorldCoordinateSystem(const ::Ifc4::IfcAxis2Placement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcDirection Ifc4::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return ::Ifc4::IfcDirection{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcDirection>(); } +::Ifc4::IfcDirection Ifc4::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return ::Ifc4::IfcDirection{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcDirection>(); } void Ifc4::IfcGeometricRepresentationContext::setTrueNorth(const ::Ifc4::IfcDirection& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } std::vector<::Ifc4::IfcGeometricRepresentationSubContext> Ifc4::IfcGeometricRepresentationContext::HasSubContexts() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[455], 6)); } @@ -9688,7 +9688,7 @@ const ifcopenshell::entity& Ifc4::IfcGeometricRepresentationItem::Class() { retu 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>(); } +::Ifc4::IfcGeometricRepresentationContext Ifc4::IfcGeometricRepresentationSubContext::ParentContext() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4::IfcGeometricRepresentationContext>(); } void Ifc4::IfcGeometricRepresentationSubContext::setParentContext(const ::Ifc4::IfcGeometricRepresentationContext& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< double > Ifc4::IfcGeometricRepresentationSubContext::TargetScale() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } void Ifc4::IfcGeometricRepresentationSubContext::setTargetScale(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } @@ -9702,32 +9702,32 @@ const ifcopenshell::entity& Ifc4::IfcGeometricRepresentationSubContext::Class() 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); } -void Ifc4::IfcGeometricSet::setElements(const std::vector< ::Ifc4::IfcGeometricSetSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4::IfcGeometricSetSelect > Ifc4::IfcGeometricSet::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcGeometricSetSelect>(es); } +void Ifc4::IfcGeometricSet::setElements(const std::vector< ::Ifc4::IfcGeometricSetSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4::IfcGeometricSet::Class() { return *((ifcopenshell::entity*)IFC4_types[456]); } -Ifc4::IfcGeometricSet Ifc4::IfcGeometricSet::initialize(std::vector< ::Ifc4::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } +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); } -void Ifc4::IfcGrid::setUAxes(const std::vector< ::Ifc4::IfcGridAxis >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } -std::vector< ::Ifc4::IfcGridAxis > Ifc4::IfcGrid::VAxes() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4::IfcGridAxis>(es); } -void Ifc4::IfcGrid::setVAxes(const std::vector< ::Ifc4::IfcGridAxis >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } -std::optional< std::vector< ::Ifc4::IfcGridAxis > > Ifc4::IfcGrid::WAxes() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4::IfcGridAxis>(es); } -void Ifc4::IfcGrid::setWAxes(const std::optional< std::vector< ::Ifc4::IfcGridAxis > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +std::vector< ::Ifc4::IfcGridAxis > Ifc4::IfcGrid::UAxes() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4::IfcGridAxis>(es); } +void Ifc4::IfcGrid::setUAxes(const std::vector< ::Ifc4::IfcGridAxis >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } +std::vector< ::Ifc4::IfcGridAxis > Ifc4::IfcGrid::VAxes() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4::IfcGridAxis>(es); } +void Ifc4::IfcGrid::setVAxes(const std::vector< ::Ifc4::IfcGridAxis >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } +std::optional< std::vector< ::Ifc4::IfcGridAxis > > Ifc4::IfcGrid::WAxes() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4::IfcGridAxis>(es); } +void Ifc4::IfcGrid::setWAxes(const std::optional< std::vector< ::Ifc4::IfcGridAxis > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } std::optional< ::Ifc4::IfcGridTypeEnum::Value > Ifc4::IfcGrid::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4::IfcGridTypeEnum::FromString(get_attribute_value(10)); } void Ifc4::IfcGrid::setPredefinedType(const std::optional< ::Ifc4::IfcGridTypeEnum::Value >& v) { if (v) {set_attribute_value(10, enumeration_reference(&::Ifc4::IfcGridTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } 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]); } -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; } +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; } void Ifc4::IfcGridAxis::setAxisTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4::IfcCurve Ifc4::IfcGridAxis::AxisCurve() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcCurve>(); } +::Ifc4::IfcCurve Ifc4::IfcGridAxis::AxisCurve() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcCurve>(); } void Ifc4::IfcGridAxis::setAxisCurve(const ::Ifc4::IfcCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } bool Ifc4::IfcGridAxis::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4::IfcGridAxis::setSameSense(const bool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -9741,9 +9741,9 @@ const ifcopenshell::entity& Ifc4::IfcGridAxis::Class() { return *((ifcopenshell: 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>(); } +::Ifc4::IfcVirtualGridIntersection Ifc4::IfcGridPlacement::PlacementLocation() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcVirtualGridIntersection>(); } void Ifc4::IfcGridPlacement::setPlacementLocation(const ::Ifc4::IfcVirtualGridIntersection& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcGridPlacementDirectionSelect Ifc4::IfcGridPlacement::PlacementRefDirection() const { if(get_attribute_value(1).isNull()) { return ::Ifc4::IfcGridPlacementDirectionSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcGridPlacementDirectionSelect>(); } +::Ifc4::IfcGridPlacementDirectionSelect Ifc4::IfcGridPlacement::PlacementRefDirection() const { if(get_attribute_value(1).isNull()) { return ::Ifc4::IfcGridPlacementDirectionSelect{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcGridPlacementDirectionSelect>(); } void Ifc4::IfcGridPlacement::setPlacementRefDirection(const ::Ifc4::IfcGridPlacementDirectionSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9758,7 +9758,7 @@ const ifcopenshell::entity& Ifc4::IfcGroup::Class() { return *((ifcopenshell::en 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>(); } +::Ifc4::IfcSurface Ifc4::IfcHalfSpaceSolid::BaseSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcSurface>(); } void Ifc4::IfcHalfSpaceSolid::setBaseSurface(const ::Ifc4::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } bool Ifc4::IfcHalfSpaceSolid::AgreementFlag() const { bool v = get_attribute_value(1); return v; } void Ifc4::IfcHalfSpaceSolid::setAgreementFlag(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9781,7 +9781,7 @@ void Ifc4::IfcHeatExchangerType::setPredefinedType(const ::Ifc4::IfcHeatExchange const ifcopenshell::entity& Ifc4::IfcHeatExchangerType::Class() { return *((ifcopenshell::entity*)IFC4_types[469]); } -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; } +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)); } @@ -9797,7 +9797,7 @@ void Ifc4::IfcHumidifierType::setPredefinedType(const ::Ifc4::IfcHumidifierTypeE const ifcopenshell::entity& Ifc4::IfcHumidifierType::Class() { return *((ifcopenshell::entity*)IFC4_types[474]); } -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; } +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; } @@ -9828,11 +9828,11 @@ const ifcopenshell::entity& Ifc4::IfcImageTexture::Class() { return *((ifcopensh 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>(); } +::Ifc4::IfcTessellatedFaceSet Ifc4::IfcIndexedColourMap::MappedTo() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcTessellatedFaceSet>(); } void Ifc4::IfcIndexedColourMap::setMappedTo(const ::Ifc4::IfcTessellatedFaceSet& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< double > Ifc4::IfcIndexedColourMap::Opacity() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } void Ifc4::IfcIndexedColourMap::setOpacity(const std::optional< double >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4::IfcColourRgbList Ifc4::IfcIndexedColourMap::Colours() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcColourRgbList>(); } +::Ifc4::IfcColourRgbList Ifc4::IfcIndexedColourMap::Colours() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcColourRgbList>(); } void Ifc4::IfcIndexedColourMap::setColours(const ::Ifc4::IfcColourRgbList& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::vector< int64_t > /*[1:?]*/ Ifc4::IfcIndexedColourMap::ColourIndex() const { std::vector< int64_t > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4::IfcIndexedColourMap::setColourIndex(const std::vector< int64_t > /*[1:?]*/& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -9842,16 +9842,16 @@ const ifcopenshell::entity& Ifc4::IfcIndexedColourMap::Class() { return *((ifcop Ifc4::IfcIndexedColourMap Ifc4::IfcIndexedColourMap::initialize(::Ifc4::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4::IfcColourRgbList v3_Colours, std::vector< int64_t > /*[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>(); } +::Ifc4::IfcCartesianPointList Ifc4::IfcIndexedPolyCurve::Points() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcCartesianPointList>(); } void Ifc4::IfcIndexedPolyCurve::setPoints(const ::Ifc4::IfcCartesianPointList& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::optional< std::vector< ::Ifc4::IfcSegmentIndexSelect > > Ifc4::IfcIndexedPolyCurve::Segments() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcSegmentIndexSelect>(es); } -void Ifc4::IfcIndexedPolyCurve::setSegments(const std::optional< std::vector< ::Ifc4::IfcSegmentIndexSelect > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } +std::optional< std::vector< ::Ifc4::IfcSegmentIndexSelect > > Ifc4::IfcIndexedPolyCurve::Segments() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcSegmentIndexSelect>(es); } +void Ifc4::IfcIndexedPolyCurve::setSegments(const std::optional< std::vector< ::Ifc4::IfcSegmentIndexSelect > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } std::optional< bool > Ifc4::IfcIndexedPolyCurve::SelfIntersect() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } bool v = get_attribute_value(2); return v; } void Ifc4::IfcIndexedPolyCurve::setSelfIntersect(const std::optional< bool >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4::IfcIndexedPolyCurve::Class() { return *((ifcopenshell::entity*)IFC4_types[480]); } -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; } +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< int64_t > /*[3:?]*/ Ifc4::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int64_t > /*[3:?]*/ v = get_attribute_value(0); return v; } @@ -9871,14 +9871,14 @@ const ifcopenshell::entity& Ifc4::IfcIndexedPolygonalFaceWithVoids::Class() { re Ifc4::IfcIndexedPolygonalFaceWithVoids Ifc4::IfcIndexedPolygonalFaceWithVoids::initialize(std::vector< int64_t > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int64_t > > 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>(); } +::Ifc4::IfcTessellatedFaceSet Ifc4::IfcIndexedTextureMap::MappedTo() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcTessellatedFaceSet>(); } void Ifc4::IfcIndexedTextureMap::setMappedTo(const ::Ifc4::IfcTessellatedFaceSet& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcTextureVertexList Ifc4::IfcIndexedTextureMap::TexCoords() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcTextureVertexList>(); } +::Ifc4::IfcTextureVertexList Ifc4::IfcIndexedTextureMap::TexCoords() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcTextureVertexList>(); } void Ifc4::IfcIndexedTextureMap::setTexCoords(const ::Ifc4::IfcTextureVertexList& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4::IfcIndexedTextureMap::Class() { return *((ifcopenshell::entity*)IFC4_types[483]); } -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; } +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< int64_t > > > Ifc4::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< std::vector< int64_t > > 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]); } -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< int64_t > > > 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; } +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< int64_t > > > 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)); } @@ -9902,49 +9902,49 @@ void Ifc4::IfcInterceptorType::setPredefinedType(const ::Ifc4::IfcInterceptorTyp const ifcopenshell::entity& Ifc4::IfcInterceptorType::Class() { return *((ifcopenshell::entity*)IFC4_types[489]); } -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; } +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]); } -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; } +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)); } void Ifc4::IfcInventory::setPredefinedType(const std::optional< ::Ifc4::IfcInventoryTypeEnum::Value >& v) { if (v) {set_attribute_value(5, enumeration_reference(&::Ifc4::IfcInventoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -::Ifc4::IfcActorSelect Ifc4::IfcInventory::Jurisdiction() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4::IfcActorSelect>(); } +::Ifc4::IfcActorSelect Ifc4::IfcInventory::Jurisdiction() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcActorSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4::IfcActorSelect>(); } void Ifc4::IfcInventory::setJurisdiction(const ::Ifc4::IfcActorSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::optional< std::vector< ::Ifc4::IfcPerson > > Ifc4::IfcInventory::ResponsiblePersons() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4::IfcPerson>(es); } -void Ifc4::IfcInventory::setResponsiblePersons(const std::optional< std::vector< ::Ifc4::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4::IfcPerson > > Ifc4::IfcInventory::ResponsiblePersons() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4::IfcPerson>(es); } +void Ifc4::IfcInventory::setResponsiblePersons(const std::optional< std::vector< ::Ifc4::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< std::string > Ifc4::IfcInventory::LastUpdateDate() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4::IfcInventory::setLastUpdateDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4::IfcCostValue Ifc4::IfcInventory::CurrentValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4::IfcCostValue{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4::IfcCostValue>(); } +::Ifc4::IfcCostValue Ifc4::IfcInventory::CurrentValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4::IfcCostValue{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4::IfcCostValue>(); } void Ifc4::IfcInventory::setCurrentValue(const ::Ifc4::IfcCostValue& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -::Ifc4::IfcCostValue Ifc4::IfcInventory::OriginalValue() const { if(get_attribute_value(10).isNull()) { return ::Ifc4::IfcCostValue{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4::IfcCostValue>(); } +::Ifc4::IfcCostValue Ifc4::IfcInventory::OriginalValue() const { if(get_attribute_value(10).isNull()) { return ::Ifc4::IfcCostValue{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4::IfcCostValue>(); } void Ifc4::IfcInventory::setOriginalValue(const ::Ifc4::IfcCostValue& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } const ifcopenshell::entity& Ifc4::IfcInventory::Class() { return *((ifcopenshell::entity*)IFC4_types[493]); } -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; } +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); } -void Ifc4::IfcIrregularTimeSeries::setValues(const std::vector< ::Ifc4::IfcIrregularTimeSeriesValue >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } +std::vector< ::Ifc4::IfcIrregularTimeSeriesValue > Ifc4::IfcIrregularTimeSeries::Values() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4::IfcIrregularTimeSeriesValue>(es); } +void Ifc4::IfcIrregularTimeSeries::setValues(const std::vector< ::Ifc4::IfcIrregularTimeSeriesValue >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } const ifcopenshell::entity& Ifc4::IfcIrregularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4_types[496]); } -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; } +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; } void Ifc4::IfcIrregularTimeSeriesValue::setTimeStamp(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4::IfcValue > Ifc4::IfcIrregularTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcValue>(es); } -void Ifc4::IfcIrregularTimeSeriesValue::setListValues(const std::vector< ::Ifc4::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4::IfcValue > Ifc4::IfcIrregularTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcValue>(es); } +void Ifc4::IfcIrregularTimeSeriesValue::setListValues(const std::vector< ::Ifc4::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4::IfcIrregularTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4_types[497]); } -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; } +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)); } @@ -9960,7 +9960,7 @@ void Ifc4::IfcJunctionBoxType::setPredefinedType(const ::Ifc4::IfcJunctionBoxTyp const ifcopenshell::entity& Ifc4::IfcJunctionBoxType::Class() { return *((ifcopenshell::entity*)IFC4_types[501]); } -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; } +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; } @@ -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]); } -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; } +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,10 +9994,10 @@ void Ifc4::IfcLaborResourceType::setPredefinedType(const ::Ifc4::IfcLaborResourc const ifcopenshell::entity& Ifc4::IfcLaborResourceType::Class() { return *((ifcopenshell::entity*)IFC4_types[507]); } -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; } +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>(); } +::Ifc4::IfcTimeOrRatioSelect Ifc4::IfcLagTime::LagValue() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcTimeOrRatioSelect>(); } void Ifc4::IfcLagTime::setLagValue(const ::Ifc4::IfcTimeOrRatioSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } ::Ifc4::IfcTaskDurationEnum::Value Ifc4::IfcLagTime::DurationType() const { return ::Ifc4::IfcTaskDurationEnum::FromString(get_attribute_value(4)); } void Ifc4::IfcLagTime::setDurationType(const ::Ifc4::IfcTaskDurationEnum::Value& v) { set_attribute_value(4, enumeration_reference(&::Ifc4::IfcTaskDurationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } @@ -10020,14 +10020,14 @@ void Ifc4::IfcLampType::setPredefinedType(const ::Ifc4::IfcLampTypeEnum::Value& const ifcopenshell::entity& Ifc4::IfcLampType::Class() { return *((ifcopenshell::entity*)IFC4_types[511]); } -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; } +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; } void Ifc4::IfcLibraryInformation::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4::IfcLibraryInformation::Version() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcLibraryInformation::setVersion(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4::IfcActorSelect Ifc4::IfcLibraryInformation::Publisher() const { if(get_attribute_value(2).isNull()) { return ::Ifc4::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcActorSelect>(); } +::Ifc4::IfcActorSelect Ifc4::IfcLibraryInformation::Publisher() const { if(get_attribute_value(2).isNull()) { return ::Ifc4::IfcActorSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcActorSelect>(); } void Ifc4::IfcLibraryInformation::setPublisher(const ::Ifc4::IfcActorSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4::IfcLibraryInformation::VersionDate() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4::IfcLibraryInformation::setVersionDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } @@ -10047,7 +10047,7 @@ std::optional< std::string > Ifc4::IfcLibraryReference::Description() const { if void Ifc4::IfcLibraryReference::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } std::optional< std::string > Ifc4::IfcLibraryReference::Language() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcLibraryReference::setLanguage(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4::IfcLibraryInformation Ifc4::IfcLibraryReference::ReferencedLibrary() const { if(get_attribute_value(5).isNull()) { return ::Ifc4::IfcLibraryInformation{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcLibraryInformation>(); } +::Ifc4::IfcLibraryInformation Ifc4::IfcLibraryReference::ReferencedLibrary() const { if(get_attribute_value(5).isNull()) { return ::Ifc4::IfcLibraryInformation{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcLibraryInformation>(); } void Ifc4::IfcLibraryReference::setReferencedLibrary(const ::Ifc4::IfcLibraryInformation& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } std::vector<::Ifc4::IfcRelAssociatesLibrary> Ifc4::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[811], 5)); } @@ -10081,22 +10081,22 @@ void Ifc4::IfcLightFixtureType::setPredefinedType(const ::Ifc4::IfcLightFixtureT const ifcopenshell::entity& Ifc4::IfcLightFixtureType::Class() { return *((ifcopenshell::entity*)IFC4_types[525]); } -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; } +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)); } void Ifc4::IfcLightIntensityDistribution::setLightDistributionCurve(const ::Ifc4::IfcLightDistributionCurveEnum::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc4::IfcLightDistributionCurveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4::IfcLightDistributionData > Ifc4::IfcLightIntensityDistribution::DistributionData() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcLightDistributionData>(es); } -void Ifc4::IfcLightIntensityDistribution::setDistributionData(const std::vector< ::Ifc4::IfcLightDistributionData >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4::IfcLightDistributionData > Ifc4::IfcLightIntensityDistribution::DistributionData() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcLightDistributionData>(es); } +void Ifc4::IfcLightIntensityDistribution::setDistributionData(const std::vector< ::Ifc4::IfcLightDistributionData >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4::IfcLightIntensityDistribution::Class() { return *((ifcopenshell::entity*)IFC4_types[527]); } -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; } +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; } void Ifc4::IfcLightSource::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4::IfcColourRgb Ifc4::IfcLightSource::LightColour() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcColourRgb>(); } +::Ifc4::IfcColourRgb Ifc4::IfcLightSource::LightColour() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcColourRgb>(); } void Ifc4::IfcLightSource::setLightColour(const ::Ifc4::IfcColourRgb& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< double > Ifc4::IfcLightSource::AmbientIntensity() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } double v = get_attribute_value(2); return v; } void Ifc4::IfcLightSource::setAmbientIntensity(const std::optional< double >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } @@ -10114,7 +10114,7 @@ const ifcopenshell::entity& Ifc4::IfcLightSourceAmbient::Class() { return *((ifc 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>(); } +::Ifc4::IfcDirection Ifc4::IfcLightSourceDirectional::Orientation() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcDirection>(); } void Ifc4::IfcLightSourceDirectional::setOrientation(const ::Ifc4::IfcDirection& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -10122,9 +10122,9 @@ const ifcopenshell::entity& Ifc4::IfcLightSourceDirectional::Class() { return *( 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>(); } +::Ifc4::IfcAxis2Placement3D Ifc4::IfcLightSourceGoniometric::Position() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcAxis2Placement3D>(); } void Ifc4::IfcLightSourceGoniometric::setPosition(const ::Ifc4::IfcAxis2Placement3D& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcColourRgb Ifc4::IfcLightSourceGoniometric::ColourAppearance() const { if(get_attribute_value(5).isNull()) { return ::Ifc4::IfcColourRgb{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcColourRgb>(); } +::Ifc4::IfcColourRgb Ifc4::IfcLightSourceGoniometric::ColourAppearance() const { if(get_attribute_value(5).isNull()) { return ::Ifc4::IfcColourRgb{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcColourRgb>(); } void Ifc4::IfcLightSourceGoniometric::setColourAppearance(const ::Ifc4::IfcColourRgb& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } double Ifc4::IfcLightSourceGoniometric::ColourTemperature() const { double v = get_attribute_value(6); return v; } void Ifc4::IfcLightSourceGoniometric::setColourTemperature(const double& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -10132,7 +10132,7 @@ double Ifc4::IfcLightSourceGoniometric::LuminousFlux() const { double v = get_a void Ifc4::IfcLightSourceGoniometric::setLuminousFlux(const double& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4::IfcLightEmissionSourceEnum::Value Ifc4::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4::IfcLightEmissionSourceEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcLightSourceGoniometric::setLightEmissionSource(const ::Ifc4::IfcLightEmissionSourceEnum::Value& v) { set_attribute_value(8, enumeration_reference(&::Ifc4::IfcLightEmissionSourceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4::IfcLightDistributionDataSourceSelect Ifc4::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc4::IfcLightDistributionDataSourceSelect>(); } +::Ifc4::IfcLightDistributionDataSourceSelect Ifc4::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((express::base)(get_attribute_value(9))).as<::Ifc4::IfcLightDistributionDataSourceSelect>(); } void Ifc4::IfcLightSourceGoniometric::setLightDistributionDataSource(const ::Ifc4::IfcLightDistributionDataSourceSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } @@ -10140,7 +10140,7 @@ const ifcopenshell::entity& Ifc4::IfcLightSourceGoniometric::Class() { return *( 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>(); } +::Ifc4::IfcCartesianPoint Ifc4::IfcLightSourcePositional::Position() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcCartesianPoint>(); } void Ifc4::IfcLightSourcePositional::setPosition(const ::Ifc4::IfcCartesianPoint& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } double Ifc4::IfcLightSourcePositional::Radius() const { double v = get_attribute_value(5); return v; } void Ifc4::IfcLightSourcePositional::setRadius(const double& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -10156,7 +10156,7 @@ const ifcopenshell::entity& Ifc4::IfcLightSourcePositional::Class() { return *(( 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>(); } +::Ifc4::IfcDirection Ifc4::IfcLightSourceSpot::Orientation() const { return ((express::base)(get_attribute_value(9))).as<::Ifc4::IfcDirection>(); } void Ifc4::IfcLightSourceSpot::setOrientation(const ::Ifc4::IfcDirection& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::optional< double > Ifc4::IfcLightSourceSpot::ConcentrationExponent() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc4::IfcLightSourceSpot::setConcentrationExponent(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } @@ -10170,9 +10170,9 @@ const ifcopenshell::entity& Ifc4::IfcLightSourceSpot::Class() { return *((ifcope 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>(); } +::Ifc4::IfcCartesianPoint Ifc4::IfcLine::Pnt() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcCartesianPoint>(); } void Ifc4::IfcLine::setPnt(const ::Ifc4::IfcCartesianPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcVector Ifc4::IfcLine::Dir() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcVector>(); } +::Ifc4::IfcVector Ifc4::IfcLine::Dir() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcVector>(); } void Ifc4::IfcLine::setDir(const ::Ifc4::IfcVector& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -10180,9 +10180,9 @@ const ifcopenshell::entity& Ifc4::IfcLine::Class() { return *((ifcopenshell::ent 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>(); } +::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>(); } void Ifc4::IfcLocalPlacement::setPlacementRelTo(const ::Ifc4::IfcObjectPlacement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcAxis2Placement Ifc4::IfcLocalPlacement::RelativePlacement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcAxis2Placement>(); } +::Ifc4::IfcAxis2Placement Ifc4::IfcLocalPlacement::RelativePlacement() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcAxis2Placement>(); } void Ifc4::IfcLocalPlacement::setRelativePlacement(const ::Ifc4::IfcAxis2Placement& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -10196,7 +10196,7 @@ const ifcopenshell::entity& Ifc4::IfcLoop::Class() { return *((ifcopenshell::ent 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>(); } +::Ifc4::IfcClosedShell Ifc4::IfcManifoldSolidBrep::Outer() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcClosedShell>(); } void Ifc4::IfcManifoldSolidBrep::setOuter(const ::Ifc4::IfcClosedShell& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -10222,9 +10222,9 @@ const ifcopenshell::entity& Ifc4::IfcMapConversion::Class() { return *((ifcopens 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>(); } +::Ifc4::IfcRepresentationMap Ifc4::IfcMappedItem::MappingSource() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcRepresentationMap>(); } void Ifc4::IfcMappedItem::setMappingSource(const ::Ifc4::IfcRepresentationMap& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcCartesianTransformationOperator Ifc4::IfcMappedItem::MappingTarget() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcCartesianTransformationOperator>(); } +::Ifc4::IfcCartesianTransformationOperator Ifc4::IfcMappedItem::MappingTarget() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcCartesianTransformationOperator>(); } void Ifc4::IfcMappedItem::setMappingTarget(const ::Ifc4::IfcCartesianTransformationOperator& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -10247,21 +10247,21 @@ const ifcopenshell::entity& Ifc4::IfcMaterial::Class() { return *((ifcopenshell: 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); } -void Ifc4::IfcMaterialClassificationRelationship::setMaterialClassifications(const std::vector< ::Ifc4::IfcClassificationSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcMaterial Ifc4::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcMaterial>(); } +std::vector< ::Ifc4::IfcClassificationSelect > Ifc4::IfcMaterialClassificationRelationship::MaterialClassifications() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcClassificationSelect>(es); } +void Ifc4::IfcMaterialClassificationRelationship::setMaterialClassifications(const std::vector< ::Ifc4::IfcClassificationSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +::Ifc4::IfcMaterial Ifc4::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcMaterial>(); } void Ifc4::IfcMaterialClassificationRelationship::setClassifiedMaterial(const ::Ifc4::IfcMaterial& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4::IfcMaterialClassificationRelationship::Class() { return *((ifcopenshell::entity*)IFC4_types[559]); } -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; } +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; } void Ifc4::IfcMaterialConstituent::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4::IfcMaterialConstituent::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcMaterialConstituent::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4::IfcMaterial Ifc4::IfcMaterialConstituent::Material() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcMaterial>(); } +::Ifc4::IfcMaterial Ifc4::IfcMaterialConstituent::Material() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcMaterial>(); } void Ifc4::IfcMaterialConstituent::setMaterial(const ::Ifc4::IfcMaterial& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc4::IfcMaterialConstituent::Fraction() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4::IfcMaterialConstituent::setFraction(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } @@ -10278,12 +10278,12 @@ std::optional< std::string > Ifc4::IfcMaterialConstituentSet::Name() const { if( void Ifc4::IfcMaterialConstituentSet::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4::IfcMaterialConstituentSet::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcMaterialConstituentSet::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::optional< std::vector< ::Ifc4::IfcMaterialConstituent > > Ifc4::IfcMaterialConstituentSet::MaterialConstituents() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcMaterialConstituent>(es); } -void Ifc4::IfcMaterialConstituentSet::setMaterialConstituents(const std::optional< std::vector< ::Ifc4::IfcMaterialConstituent > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4::IfcMaterialConstituent > > Ifc4::IfcMaterialConstituentSet::MaterialConstituents() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcMaterialConstituent>(es); } +void Ifc4::IfcMaterialConstituentSet::setMaterialConstituents(const std::optional< std::vector< ::Ifc4::IfcMaterialConstituent > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4::IfcMaterialConstituentSet::Class() { return *((ifcopenshell::entity*)IFC4_types[561]); } -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; } +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 @@ -10295,15 +10295,15 @@ const ifcopenshell::entity& Ifc4::IfcMaterialDefinition::Class() { return *((ifc 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>(); } +::Ifc4::IfcMaterial Ifc4::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcMaterial>(); } void Ifc4::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(const ::Ifc4::IfcMaterial& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4::IfcMaterialDefinitionRepresentation::Class() { return *((ifcopenshell::entity*)IFC4_types[563]); } -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; } +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>(); } +::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>(); } void Ifc4::IfcMaterialLayer::setMaterial(const ::Ifc4::IfcMaterial& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4::IfcMaterialLayer::LayerThickness() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcMaterialLayer::setLayerThickness(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -10324,8 +10324,8 @@ const ifcopenshell::entity& Ifc4::IfcMaterialLayer::Class() { return *((ifcopens 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< int64_t > 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); } -void Ifc4::IfcMaterialLayerSet::setMaterialLayers(const std::vector< ::Ifc4::IfcMaterialLayer >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4::IfcMaterialLayer > Ifc4::IfcMaterialLayerSet::MaterialLayers() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcMaterialLayer>(es); } +void Ifc4::IfcMaterialLayerSet::setMaterialLayers(const std::vector< ::Ifc4::IfcMaterialLayer >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4::IfcMaterialLayerSet::LayerSetName() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcMaterialLayerSet::setLayerSetName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4::IfcMaterialLayerSet::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } @@ -10333,10 +10333,10 @@ void Ifc4::IfcMaterialLayerSet::setDescription(const std::optional< std::string const ifcopenshell::entity& Ifc4::IfcMaterialLayerSet::Class() { return *((ifcopenshell::entity*)IFC4_types[565]); } -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; } +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>(); } +::Ifc4::IfcMaterialLayerSet Ifc4::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcMaterialLayerSet>(); } void Ifc4::IfcMaterialLayerSetUsage::setForLayerSet(const ::Ifc4::IfcMaterialLayerSet& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } ::Ifc4::IfcLayerSetDirectionEnum::Value Ifc4::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4::IfcLayerSetDirectionEnum::FromString(get_attribute_value(1)); } void Ifc4::IfcMaterialLayerSetUsage::setLayerSetDirection(const ::Ifc4::IfcLayerSetDirectionEnum::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } @@ -10362,21 +10362,21 @@ const ifcopenshell::entity& Ifc4::IfcMaterialLayerWithOffsets::Class() { return 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< int64_t > 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); } -void Ifc4::IfcMaterialList::setMaterials(const std::vector< ::Ifc4::IfcMaterial >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4::IfcMaterial > Ifc4::IfcMaterialList::Materials() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcMaterial>(es); } +void Ifc4::IfcMaterialList::setMaterials(const std::vector< ::Ifc4::IfcMaterial >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4::IfcMaterialList::Class() { return *((ifcopenshell::entity*)IFC4_types[568]); } -Ifc4::IfcMaterialList Ifc4::IfcMaterialList::initialize(std::vector< ::Ifc4::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials));; return *this; } +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; } void Ifc4::IfcMaterialProfile::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4::IfcMaterialProfile::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcMaterialProfile::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4::IfcMaterial Ifc4::IfcMaterialProfile::Material() const { if(get_attribute_value(2).isNull()) { return ::Ifc4::IfcMaterial{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcMaterial>(); } +::Ifc4::IfcMaterial Ifc4::IfcMaterialProfile::Material() const { if(get_attribute_value(2).isNull()) { return ::Ifc4::IfcMaterial{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcMaterial>(); } void Ifc4::IfcMaterialProfile::setMaterial(const ::Ifc4::IfcMaterial& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcProfileDef Ifc4::IfcMaterialProfile::Profile() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcProfileDef>(); } +::Ifc4::IfcProfileDef Ifc4::IfcMaterialProfile::Profile() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcProfileDef>(); } void Ifc4::IfcMaterialProfile::setProfile(const ::Ifc4::IfcProfileDef& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< int64_t > Ifc4::IfcMaterialProfile::Priority() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(4); return v; } void Ifc4::IfcMaterialProfile::setPriority(const std::optional< int64_t >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -10393,17 +10393,17 @@ std::optional< std::string > Ifc4::IfcMaterialProfileSet::Name() const { if(get_ void Ifc4::IfcMaterialProfileSet::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4::IfcMaterialProfileSet::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcMaterialProfileSet::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4::IfcMaterialProfile > Ifc4::IfcMaterialProfileSet::MaterialProfiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcMaterialProfile>(es); } -void Ifc4::IfcMaterialProfileSet::setMaterialProfiles(const std::vector< ::Ifc4::IfcMaterialProfile >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcCompositeProfileDef Ifc4::IfcMaterialProfileSet::CompositeProfile() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcCompositeProfileDef{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcCompositeProfileDef>(); } +std::vector< ::Ifc4::IfcMaterialProfile > Ifc4::IfcMaterialProfileSet::MaterialProfiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcMaterialProfile>(es); } +void Ifc4::IfcMaterialProfileSet::setMaterialProfiles(const std::vector< ::Ifc4::IfcMaterialProfile >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +::Ifc4::IfcCompositeProfileDef Ifc4::IfcMaterialProfileSet::CompositeProfile() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcCompositeProfileDef{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcCompositeProfileDef>(); } void Ifc4::IfcMaterialProfileSet::setCompositeProfile(const ::Ifc4::IfcCompositeProfileDef& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4::IfcMaterialProfileSet::Class() { return *((ifcopenshell::entity*)IFC4_types[570]); } -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; } +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>(); } +::Ifc4::IfcMaterialProfileSet Ifc4::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcMaterialProfileSet>(); } void Ifc4::IfcMaterialProfileSetUsage::setForProfileSet(const ::Ifc4::IfcMaterialProfileSet& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< int64_t > Ifc4::IfcMaterialProfileSetUsage::CardinalPoint() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(1); return v; } void Ifc4::IfcMaterialProfileSetUsage::setCardinalPoint(const std::optional< int64_t >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } @@ -10415,7 +10415,7 @@ const ifcopenshell::entity& Ifc4::IfcMaterialProfileSetUsage::Class() { return * Ifc4::IfcMaterialProfileSetUsage Ifc4::IfcMaterialProfileSetUsage::initialize(::Ifc4::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int64_t > 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>(); } +::Ifc4::IfcMaterialProfileSet Ifc4::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcMaterialProfileSet>(); } void Ifc4::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(const ::Ifc4::IfcMaterialProfileSet& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< int64_t > Ifc4::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(4); return v; } void Ifc4::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(const std::optional< int64_t >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -10433,24 +10433,24 @@ const ifcopenshell::entity& Ifc4::IfcMaterialProfileWithOffsets::Class() { retur 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< int64_t > 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>(); } +::Ifc4::IfcMaterialDefinition Ifc4::IfcMaterialProperties::Material() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcMaterialDefinition>(); } void Ifc4::IfcMaterialProperties::setMaterial(const ::Ifc4::IfcMaterialDefinition& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4::IfcMaterialProperties::Class() { return *((ifcopenshell::entity*)IFC4_types[574]); } -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; } +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>(); } +::Ifc4::IfcMaterial Ifc4::IfcMaterialRelationship::RelatingMaterial() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcMaterial>(); } void Ifc4::IfcMaterialRelationship::setRelatingMaterial(const ::Ifc4::IfcMaterial& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4::IfcMaterial > Ifc4::IfcMaterialRelationship::RelatedMaterials() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4::IfcMaterial>(es); } -void Ifc4::IfcMaterialRelationship::setRelatedMaterials(const std::vector< ::Ifc4::IfcMaterial >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4::IfcMaterial > Ifc4::IfcMaterialRelationship::RelatedMaterials() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4::IfcMaterial>(es); } +void Ifc4::IfcMaterialRelationship::setRelatedMaterials(const std::vector< ::Ifc4::IfcMaterial >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4::IfcMaterialRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcMaterialRelationship::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const ifcopenshell::entity& Ifc4::IfcMaterialRelationship::Class() { return *((ifcopenshell::entity*)IFC4_types[575]); } -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; } +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 @@ -10460,9 +10460,9 @@ const ifcopenshell::entity& Ifc4::IfcMaterialUsageDefinition::Class() { return * 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>(); } +::Ifc4::IfcValue Ifc4::IfcMeasureWithUnit::ValueComponent() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcValue>(); } void Ifc4::IfcMeasureWithUnit::setValueComponent(const ::Ifc4::IfcValue& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcUnit Ifc4::IfcMeasureWithUnit::UnitComponent() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcUnit>(); } +::Ifc4::IfcUnit Ifc4::IfcMeasureWithUnit::UnitComponent() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcUnit>(); } void Ifc4::IfcMeasureWithUnit::setUnitComponent(const ::Ifc4::IfcUnit& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -10491,7 +10491,7 @@ void Ifc4::IfcMechanicalFastenerType::setNominalLength(const std::optional< doub const ifcopenshell::entity& Ifc4::IfcMechanicalFastenerType::Class() { return *((ifcopenshell::entity*)IFC4_types[581]); } -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; } +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)); } @@ -10507,7 +10507,7 @@ void Ifc4::IfcMedicalDeviceType::setPredefinedType(const ::Ifc4::IfcMedicalDevic const ifcopenshell::entity& Ifc4::IfcMedicalDeviceType::Class() { return *((ifcopenshell::entity*)IFC4_types[584]); } -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; } +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)); } @@ -10529,16 +10529,16 @@ void Ifc4::IfcMemberType::setPredefinedType(const ::Ifc4::IfcMemberTypeEnum::Val const ifcopenshell::entity& Ifc4::IfcMemberType::Class() { return *((ifcopenshell::entity*)IFC4_types[588]); } -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; } +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)); } void Ifc4::IfcMetric::setBenchmark(const ::Ifc4::IfcBenchmarkEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4::IfcBenchmarkEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } std::optional< std::string > Ifc4::IfcMetric::ValueSource() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4::IfcMetric::setValueSource(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4::IfcMetricValueSelect Ifc4::IfcMetric::DataValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4::IfcMetricValueSelect{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4::IfcMetricValueSelect>(); } +::Ifc4::IfcMetricValueSelect Ifc4::IfcMetric::DataValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4::IfcMetricValueSelect{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4::IfcMetricValueSelect>(); } void Ifc4::IfcMetric::setDataValue(const ::Ifc4::IfcMetricValueSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -::Ifc4::IfcReference Ifc4::IfcMetric::ReferencePath() const { if(get_attribute_value(10).isNull()) { return ::Ifc4::IfcReference{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4::IfcReference>(); } +::Ifc4::IfcReference Ifc4::IfcMetric::ReferencePath() const { if(get_attribute_value(10).isNull()) { return ::Ifc4::IfcReference{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4::IfcReference>(); } void Ifc4::IfcMetric::setReferencePath(const ::Ifc4::IfcReference& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } @@ -10573,10 +10573,10 @@ void Ifc4::IfcMotorConnectionType::setPredefinedType(const ::Ifc4::IfcMotorConne const ifcopenshell::entity& Ifc4::IfcMotorConnectionType::Class() { return *((ifcopenshell::entity*)IFC4_types[607]); } -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; } +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>(); } +::Ifc4::IfcDimensionalExponents Ifc4::IfcNamedUnit::Dimensions() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcDimensionalExponents>(); } void Ifc4::IfcNamedUnit::setDimensions(const ::Ifc4::IfcDimensionalExponents& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } ::Ifc4::IfcUnitEnum::Value Ifc4::IfcNamedUnit::UnitType() const { return ::Ifc4::IfcUnitEnum::FromString(get_attribute_value(1)); } void Ifc4::IfcNamedUnit::setUnitType(const ::Ifc4::IfcUnitEnum::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4::IfcUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } @@ -10619,8 +10619,8 @@ const ifcopenshell::entity& Ifc4::IfcObjectPlacement::Class() { return *((ifcope 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); } -void Ifc4::IfcObjective::setBenchmarkValues(const std::optional< std::vector< ::Ifc4::IfcConstraint > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +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); } +void Ifc4::IfcObjective::setBenchmarkValues(const std::optional< std::vector< ::Ifc4::IfcConstraint > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< ::Ifc4::IfcLogicalOperatorEnum::Value > Ifc4::IfcObjective::LogicalAggregator() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcLogicalOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcObjective::setLogicalAggregator(const std::optional< ::Ifc4::IfcLogicalOperatorEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4::IfcLogicalOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4::IfcObjectiveEnum::Value Ifc4::IfcObjective::ObjectiveQualifier() const { return ::Ifc4::IfcObjectiveEnum::FromString(get_attribute_value(9)); } @@ -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]); } -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; } +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)); } @@ -10641,7 +10641,7 @@ const ifcopenshell::entity& Ifc4::IfcOccupant::Class() { return *((ifcopenshell: 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>(); } +::Ifc4::IfcCurve Ifc4::IfcOffsetCurve2D::BasisCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcCurve>(); } void Ifc4::IfcOffsetCurve2D::setBasisCurve(const ::Ifc4::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4::IfcOffsetCurve2D::Distance() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcOffsetCurve2D::setDistance(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -10653,13 +10653,13 @@ const ifcopenshell::entity& Ifc4::IfcOffsetCurve2D::Class() { return *((ifcopens 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>(); } +::Ifc4::IfcCurve Ifc4::IfcOffsetCurve3D::BasisCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcCurve>(); } void Ifc4::IfcOffsetCurve3D::setBasisCurve(const ::Ifc4::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4::IfcOffsetCurve3D::Distance() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcOffsetCurve3D::setDistance(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } boost::logic::tribool Ifc4::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4::IfcOffsetCurve3D::setSelfIntersect(const boost::logic::tribool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcDirection Ifc4::IfcOffsetCurve3D::RefDirection() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcDirection>(); } +::Ifc4::IfcDirection Ifc4::IfcOffsetCurve3D::RefDirection() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcDirection>(); } void Ifc4::IfcOffsetCurve3D::setRefDirection(const ::Ifc4::IfcDirection& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -10670,7 +10670,7 @@ Ifc4::IfcOffsetCurve3D Ifc4::IfcOffsetCurve3D::initialize(::Ifc4::IfcCurve v1_Ba const ifcopenshell::entity& Ifc4::IfcOpenShell::Class() { return *((ifcopenshell::entity*)IFC4_types[628]); } -Ifc4::IfcOpenShell Ifc4::IfcOpenShell::initialize(std::vector< ::Ifc4::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } +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)); } @@ -10694,30 +10694,30 @@ std::string Ifc4::IfcOrganization::Name() const { std::string v = get_attribute void Ifc4::IfcOrganization::setName(const std::string& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4::IfcOrganization::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcOrganization::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::optional< std::vector< ::Ifc4::IfcActorRole > > Ifc4::IfcOrganization::Roles() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4::IfcActorRole>(es); } -void Ifc4::IfcOrganization::setRoles(const std::optional< std::vector< ::Ifc4::IfcActorRole > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } -std::optional< std::vector< ::Ifc4::IfcAddress > > Ifc4::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(4); return cast_vector<::Ifc4::IfcAddress>(es); } -void Ifc4::IfcOrganization::setAddresses(const std::optional< std::vector< ::Ifc4::IfcAddress > >& v) { if (v) {set_attribute_value(4, cast_vector(*v));} else {unset_attribute_value(4);} } +std::optional< std::vector< ::Ifc4::IfcActorRole > > Ifc4::IfcOrganization::Roles() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4::IfcActorRole>(es); } +void Ifc4::IfcOrganization::setRoles(const std::optional< std::vector< ::Ifc4::IfcActorRole > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } +std::optional< std::vector< ::Ifc4::IfcAddress > > Ifc4::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(4); return cast_vector<::Ifc4::IfcAddress>(es); } +void Ifc4::IfcOrganization::setAddresses(const std::optional< std::vector< ::Ifc4::IfcAddress > >& v) { if (v) {set_attribute_value(4, cast_vector(*v));} else {unset_attribute_value(4);} } std::vector<::Ifc4::IfcOrganizationRelationship> Ifc4::IfcOrganization::IsRelatedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[630], 3)); } std::vector<::Ifc4::IfcOrganizationRelationship> Ifc4::IfcOrganization::Relates() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[630], 2)); } 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]); } -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; } +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>(); } +::Ifc4::IfcOrganization Ifc4::IfcOrganizationRelationship::RelatingOrganization() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcOrganization>(); } void Ifc4::IfcOrganizationRelationship::setRelatingOrganization(const ::Ifc4::IfcOrganization& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4::IfcOrganization > Ifc4::IfcOrganizationRelationship::RelatedOrganizations() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4::IfcOrganization>(es); } -void Ifc4::IfcOrganizationRelationship::setRelatedOrganizations(const std::vector< ::Ifc4::IfcOrganization >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4::IfcOrganization > Ifc4::IfcOrganizationRelationship::RelatedOrganizations() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4::IfcOrganization>(es); } +void Ifc4::IfcOrganizationRelationship::setRelatedOrganizations(const std::vector< ::Ifc4::IfcOrganization >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4::IfcOrganizationRelationship::Class() { return *((ifcopenshell::entity*)IFC4_types[630]); } -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; } +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>(); } +::Ifc4::IfcEdge Ifc4::IfcOrientedEdge::EdgeElement() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcEdge>(); } void Ifc4::IfcOrientedEdge::setEdgeElement(const ::Ifc4::IfcEdge& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } bool Ifc4::IfcOrientedEdge::Orientation() const { bool v = get_attribute_value(3); return v; } void Ifc4::IfcOrientedEdge::setOrientation(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -10730,7 +10730,7 @@ Ifc4::IfcOrientedEdge Ifc4::IfcOrientedEdge::initialize(::Ifc4::IfcEdge v3_EdgeE const ifcopenshell::entity& Ifc4::IfcOuterBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4_types[632]); } -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; } +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)); } @@ -10746,12 +10746,12 @@ void Ifc4::IfcOutletType::setPredefinedType(const ::Ifc4::IfcOutletTypeEnum::Val const ifcopenshell::entity& Ifc4::IfcOutletType::Class() { return *((ifcopenshell::entity*)IFC4_types[634]); } -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; } +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>(); } +::Ifc4::IfcPersonAndOrganization Ifc4::IfcOwnerHistory::OwningUser() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcPersonAndOrganization>(); } void Ifc4::IfcOwnerHistory::setOwningUser(const ::Ifc4::IfcPersonAndOrganization& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcApplication Ifc4::IfcOwnerHistory::OwningApplication() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcApplication>(); } +::Ifc4::IfcApplication Ifc4::IfcOwnerHistory::OwningApplication() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcApplication>(); } void Ifc4::IfcOwnerHistory::setOwningApplication(const ::Ifc4::IfcApplication& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< ::Ifc4::IfcStateEnum::Value > Ifc4::IfcOwnerHistory::State() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } return ::Ifc4::IfcStateEnum::FromString(get_attribute_value(2)); } void Ifc4::IfcOwnerHistory::setState(const std::optional< ::Ifc4::IfcStateEnum::Value >& v) { if (v) {set_attribute_value(2, enumeration_reference(&::Ifc4::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } @@ -10759,9 +10759,9 @@ std::optional< ::Ifc4::IfcChangeActionEnum::Value > Ifc4::IfcOwnerHistory::Chang void Ifc4::IfcOwnerHistory::setChangeAction(const std::optional< ::Ifc4::IfcChangeActionEnum::Value >& v) { if (v) {set_attribute_value(3, enumeration_reference(&::Ifc4::IfcChangeActionEnum::Class(), (size_t) *v));} else {unset_attribute_value(3);} } std::optional< int64_t > Ifc4::IfcOwnerHistory::LastModifiedDate() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(4); return v; } void Ifc4::IfcOwnerHistory::setLastModifiedDate(const std::optional< int64_t >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4::IfcPersonAndOrganization Ifc4::IfcOwnerHistory::LastModifyingUser() const { if(get_attribute_value(5).isNull()) { return ::Ifc4::IfcPersonAndOrganization{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcPersonAndOrganization>(); } +::Ifc4::IfcPersonAndOrganization Ifc4::IfcOwnerHistory::LastModifyingUser() const { if(get_attribute_value(5).isNull()) { return ::Ifc4::IfcPersonAndOrganization{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcPersonAndOrganization>(); } void Ifc4::IfcOwnerHistory::setLastModifyingUser(const ::Ifc4::IfcPersonAndOrganization& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4::IfcApplication Ifc4::IfcOwnerHistory::LastModifyingApplication() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcApplication{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4::IfcApplication>(); } +::Ifc4::IfcApplication Ifc4::IfcOwnerHistory::LastModifyingApplication() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcApplication{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4::IfcApplication>(); } void Ifc4::IfcOwnerHistory::setLastModifyingApplication(const ::Ifc4::IfcApplication& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } int64_t Ifc4::IfcOwnerHistory::CreationDate() const { int64_t v = get_attribute_value(7); return v; } void Ifc4::IfcOwnerHistory::setCreationDate(const int64_t& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -10771,7 +10771,7 @@ const ifcopenshell::entity& Ifc4::IfcOwnerHistory::Class() { return *((ifcopensh 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< int64_t > v5_LastModifiedDate, ::Ifc4::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4::IfcApplication v7_LastModifyingApplication, int64_t 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>(); } +::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>(); } void Ifc4::IfcParameterizedProfileDef::setPosition(const ::Ifc4::IfcAxis2Placement2D& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -10779,17 +10779,17 @@ const ifcopenshell::entity& Ifc4::IfcParameterizedProfileDef::Class() { return * 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); } -void Ifc4::IfcPath::setEdgeList(const std::vector< ::Ifc4::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4::IfcOrientedEdge > Ifc4::IfcPath::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcOrientedEdge>(es); } +void Ifc4::IfcPath::setEdgeList(const std::vector< ::Ifc4::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4::IfcPath::Class() { return *((ifcopenshell::entity*)IFC4_types[639]); } -Ifc4::IfcPath Ifc4::IfcPath::initialize(std::vector< ::Ifc4::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } +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>(); } +::Ifc4::IfcSurface Ifc4::IfcPcurve::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcSurface>(); } void Ifc4::IfcPcurve::setBasisSurface(const ::Ifc4::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcCurve Ifc4::IfcPcurve::ReferenceCurve() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcCurve>(); } +::Ifc4::IfcCurve Ifc4::IfcPcurve::ReferenceCurve() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcCurve>(); } void Ifc4::IfcPcurve::setReferenceCurve(const ::Ifc4::IfcCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -10815,7 +10815,7 @@ std::optional< double > Ifc4::IfcPermeableCoveringProperties::FrameDepth() const void Ifc4::IfcPermeableCoveringProperties::setFrameDepth(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } std::optional< double > Ifc4::IfcPermeableCoveringProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } void Ifc4::IfcPermeableCoveringProperties::setFrameThickness(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4::IfcShapeAspect Ifc4::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4::IfcShapeAspect>(); } +::Ifc4::IfcShapeAspect Ifc4::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4::IfcShapeAspect>(); } void Ifc4::IfcPermeableCoveringProperties::setShapeAspectStyle(const ::Ifc4::IfcShapeAspect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -10847,31 +10847,31 @@ std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcPerson::PrefixTit void Ifc4::IfcPerson::setPrefixTitles(const std::optional< std::vector< std::string > /*[1:?]*/ >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcPerson::SuffixTitles() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(5); return v; } void Ifc4::IfcPerson::setSuffixTitles(const std::optional< std::vector< std::string > /*[1:?]*/ >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::optional< std::vector< ::Ifc4::IfcActorRole > > Ifc4::IfcPerson::Roles() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4::IfcActorRole>(es); } -void Ifc4::IfcPerson::setRoles(const std::optional< std::vector< ::Ifc4::IfcActorRole > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4::IfcAddress > > Ifc4::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4::IfcAddress>(es); } -void Ifc4::IfcPerson::setAddresses(const std::optional< std::vector< ::Ifc4::IfcAddress > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4::IfcActorRole > > Ifc4::IfcPerson::Roles() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4::IfcActorRole>(es); } +void Ifc4::IfcPerson::setRoles(const std::optional< std::vector< ::Ifc4::IfcActorRole > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +std::optional< std::vector< ::Ifc4::IfcAddress > > Ifc4::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4::IfcAddress>(es); } +void Ifc4::IfcPerson::setAddresses(const std::optional< std::vector< ::Ifc4::IfcAddress > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } 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]); } -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; } +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>(); } +::Ifc4::IfcPerson Ifc4::IfcPersonAndOrganization::ThePerson() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcPerson>(); } void Ifc4::IfcPersonAndOrganization::setThePerson(const ::Ifc4::IfcPerson& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcOrganization Ifc4::IfcPersonAndOrganization::TheOrganization() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcOrganization>(); } +::Ifc4::IfcOrganization Ifc4::IfcPersonAndOrganization::TheOrganization() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcOrganization>(); } void Ifc4::IfcPersonAndOrganization::setTheOrganization(const ::Ifc4::IfcOrganization& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::optional< std::vector< ::Ifc4::IfcActorRole > > Ifc4::IfcPersonAndOrganization::Roles() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcActorRole>(es); } -void Ifc4::IfcPersonAndOrganization::setRoles(const std::optional< std::vector< ::Ifc4::IfcActorRole > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4::IfcActorRole > > Ifc4::IfcPersonAndOrganization::Roles() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcActorRole>(es); } +void Ifc4::IfcPersonAndOrganization::setRoles(const std::optional< std::vector< ::Ifc4::IfcActorRole > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4::IfcPersonAndOrganization::Class() { return *((ifcopenshell::entity*)IFC4_types[648]); } -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; } +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); } -void Ifc4::IfcPhysicalComplexQuantity::setHasQuantities(const std::vector< ::Ifc4::IfcPhysicalQuantity >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4::IfcPhysicalQuantity > Ifc4::IfcPhysicalComplexQuantity::HasQuantities() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcPhysicalQuantity>(es); } +void Ifc4::IfcPhysicalComplexQuantity::setHasQuantities(const std::vector< ::Ifc4::IfcPhysicalQuantity >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::string Ifc4::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = get_attribute_value(3); return v; } void Ifc4::IfcPhysicalComplexQuantity::setDiscrimination(const std::string& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4::IfcPhysicalComplexQuantity::Quality() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -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]); } -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; } +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; } @@ -10896,7 +10896,7 @@ const ifcopenshell::entity& Ifc4::IfcPhysicalQuantity::Class() { return *((ifcop 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>(); } +::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>(); } void Ifc4::IfcPhysicalSimpleQuantity::setUnit(const ::Ifc4::IfcNamedUnit& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -10919,7 +10919,7 @@ void Ifc4::IfcPileType::setPredefinedType(const ::Ifc4::IfcPileTypeEnum::Value& const ifcopenshell::entity& Ifc4::IfcPileType::Class() { return *((ifcopenshell::entity*)IFC4_types[656]); } -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; } +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)); } @@ -10935,7 +10935,7 @@ void Ifc4::IfcPipeFittingType::setPredefinedType(const ::Ifc4::IfcPipeFittingTyp const ifcopenshell::entity& Ifc4::IfcPipeFittingType::Class() { return *((ifcopenshell::entity*)IFC4_types[659]); } -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; } +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)); } @@ -10951,7 +10951,7 @@ void Ifc4::IfcPipeSegmentType::setPredefinedType(const ::Ifc4::IfcPipeSegmentTyp const ifcopenshell::entity& Ifc4::IfcPipeSegmentType::Class() { return *((ifcopenshell::entity*)IFC4_types[662]); } -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; } +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 int64_t Ifc4::IfcPixelTexture::Width() const { int64_t v = get_attribute_value(5); return v; } @@ -10968,7 +10968,7 @@ const ifcopenshell::entity& Ifc4::IfcPixelTexture::Class() { return *((ifcopensh 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, int64_t v6_Width, int64_t v7_Height, int64_t 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>(); } +::Ifc4::IfcCartesianPoint Ifc4::IfcPlacement::Location() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcCartesianPoint>(); } void Ifc4::IfcPlacement::setLocation(const ::Ifc4::IfcCartesianPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -10976,7 +10976,7 @@ const ifcopenshell::entity& Ifc4::IfcPlacement::Class() { return *((ifcopenshell 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>(); } +::Ifc4::IfcAxis2Placement Ifc4::IfcPlanarBox::Placement() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcAxis2Placement>(); } void Ifc4::IfcPlanarBox::setPlacement(const ::Ifc4::IfcAxis2Placement& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -11019,7 +11019,7 @@ void Ifc4::IfcPlateType::setPredefinedType(const ::Ifc4::IfcPlateTypeEnum::Value const ifcopenshell::entity& Ifc4::IfcPlateType::Class() { return *((ifcopenshell::entity*)IFC4_types[673]); } -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; } +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 @@ -11028,7 +11028,7 @@ const ifcopenshell::entity& Ifc4::IfcPoint::Class() { return *((ifcopenshell::en 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>(); } +::Ifc4::IfcCurve Ifc4::IfcPointOnCurve::BasisCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcCurve>(); } void Ifc4::IfcPointOnCurve::setBasisCurve(const ::Ifc4::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4::IfcPointOnCurve::PointParameter() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcPointOnCurve::setPointParameter(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11038,7 +11038,7 @@ const ifcopenshell::entity& Ifc4::IfcPointOnCurve::Class() { return *((ifcopensh 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>(); } +::Ifc4::IfcSurface Ifc4::IfcPointOnSurface::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcSurface>(); } void Ifc4::IfcPointOnSurface::setBasisSurface(const ::Ifc4::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4::IfcPointOnSurface::PointParameterU() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcPointOnSurface::setPointParameterU(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11050,17 +11050,17 @@ const ifcopenshell::entity& Ifc4::IfcPointOnSurface::Class() { return *((ifcopen 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); } -void Ifc4::IfcPolyLoop::setPolygon(const std::vector< ::Ifc4::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4::IfcCartesianPoint > Ifc4::IfcPolyLoop::Polygon() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcCartesianPoint>(es); } +void Ifc4::IfcPolyLoop::setPolygon(const std::vector< ::Ifc4::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4::IfcPolyLoop::Class() { return *((ifcopenshell::entity*)IFC4_types[682]); } -Ifc4::IfcPolyLoop Ifc4::IfcPolyLoop::initialize(std::vector< ::Ifc4::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon));; return *this; } +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>(); } +::Ifc4::IfcAxis2Placement3D Ifc4::IfcPolygonalBoundedHalfSpace::Position() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcAxis2Placement3D>(); } void Ifc4::IfcPolygonalBoundedHalfSpace::setPosition(const ::Ifc4::IfcAxis2Placement3D& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcBoundedCurve Ifc4::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcBoundedCurve>(); } +::Ifc4::IfcBoundedCurve Ifc4::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcBoundedCurve>(); } void Ifc4::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(const ::Ifc4::IfcBoundedCurve& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -11070,22 +11070,22 @@ Ifc4::IfcPolygonalBoundedHalfSpace Ifc4::IfcPolygonalBoundedHalfSpace::initializ // 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; } void Ifc4::IfcPolygonalFaceSet::setClosed(const std::optional< bool >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4::IfcIndexedPolygonalFace > Ifc4::IfcPolygonalFaceSet::Faces() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcIndexedPolygonalFace>(es); } -void Ifc4::IfcPolygonalFaceSet::setFaces(const std::vector< ::Ifc4::IfcIndexedPolygonalFace >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4::IfcIndexedPolygonalFace > Ifc4::IfcPolygonalFaceSet::Faces() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcIndexedPolygonalFace>(es); } +void Ifc4::IfcPolygonalFaceSet::setFaces(const std::vector< ::Ifc4::IfcIndexedPolygonalFace >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::optional< std::vector< int64_t > /*[1:?]*/ > Ifc4::IfcPolygonalFaceSet::PnIndex() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< int64_t > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4::IfcPolygonalFaceSet::setPnIndex(const std::optional< std::vector< int64_t > /*[1:?]*/ >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const ifcopenshell::entity& Ifc4::IfcPolygonalFaceSet::Class() { return *((ifcopenshell::entity*)IFC4_types[680]); } -Ifc4::IfcPolygonalFaceSet Ifc4::IfcPolygonalFaceSet::initialize(::Ifc4::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int64_t > /*[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; } +Ifc4::IfcPolygonalFaceSet Ifc4::IfcPolygonalFaceSet::initialize(::Ifc4::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int64_t > /*[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); } -void Ifc4::IfcPolyline::setPoints(const std::vector< ::Ifc4::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4::IfcCartesianPoint > Ifc4::IfcPolyline::Points() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcCartesianPoint>(es); } +void Ifc4::IfcPolyline::setPoints(const std::vector< ::Ifc4::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4::IfcPolyline::Class() { return *((ifcopenshell::entity*)IFC4_types[681]); } -Ifc4::IfcPolyline Ifc4::IfcPolyline::initialize(std::vector< ::Ifc4::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points));; return *this; } +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 @@ -11165,14 +11165,14 @@ std::string Ifc4::IfcPresentationLayerAssignment::Name() const { std::string v void Ifc4::IfcPresentationLayerAssignment::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4::IfcPresentationLayerAssignment::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcPresentationLayerAssignment::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4::IfcLayeredItem > Ifc4::IfcPresentationLayerAssignment::AssignedItems() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcLayeredItem>(es); } -void Ifc4::IfcPresentationLayerAssignment::setAssignedItems(const std::vector< ::Ifc4::IfcLayeredItem >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4::IfcLayeredItem > Ifc4::IfcPresentationLayerAssignment::AssignedItems() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcLayeredItem>(es); } +void Ifc4::IfcPresentationLayerAssignment::setAssignedItems(const std::vector< ::Ifc4::IfcLayeredItem >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4::IfcPresentationLayerAssignment::Identifier() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4::IfcPresentationLayerAssignment::setIdentifier(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const ifcopenshell::entity& Ifc4::IfcPresentationLayerAssignment::Class() { return *((ifcopenshell::entity*)IFC4_types[699]); } -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; } +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; } @@ -11181,12 +11181,12 @@ boost::logic::tribool Ifc4::IfcPresentationLayerWithStyle::LayerFrozen() const { void Ifc4::IfcPresentationLayerWithStyle::setLayerFrozen(const boost::logic::tribool& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } boost::logic::tribool Ifc4::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc4::IfcPresentationLayerWithStyle::setLayerBlocked(const boost::logic::tribool& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::vector< ::Ifc4::IfcPresentationStyle > Ifc4::IfcPresentationLayerWithStyle::LayerStyles() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4::IfcPresentationStyle>(es); } -void Ifc4::IfcPresentationLayerWithStyle::setLayerStyles(const std::vector< ::Ifc4::IfcPresentationStyle >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } +std::vector< ::Ifc4::IfcPresentationStyle > Ifc4::IfcPresentationLayerWithStyle::LayerStyles() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4::IfcPresentationStyle>(es); } +void Ifc4::IfcPresentationLayerWithStyle::setLayerStyles(const std::vector< ::Ifc4::IfcPresentationStyle >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } const ifcopenshell::entity& Ifc4::IfcPresentationLayerWithStyle::Class() { return *((ifcopenshell::entity*)IFC4_types[700]); } -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; } +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; } @@ -11197,12 +11197,12 @@ const ifcopenshell::entity& Ifc4::IfcPresentationStyle::Class() { return *((ifco 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); } -void Ifc4::IfcPresentationStyleAssignment::setStyles(const std::vector< ::Ifc4::IfcPresentationStyleSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4::IfcPresentationStyleSelect > Ifc4::IfcPresentationStyleAssignment::Styles() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcPresentationStyleSelect>(es); } +void Ifc4::IfcPresentationStyleAssignment::setStyles(const std::vector< ::Ifc4::IfcPresentationStyleSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4::IfcPresentationStyleAssignment::Class() { return *((ifcopenshell::entity*)IFC4_types[702]); } -Ifc4::IfcPresentationStyleAssignment Ifc4::IfcPresentationStyleAssignment::initialize(std::vector< ::Ifc4::IfcPresentationStyleSelect > v1_Styles) { set_attribute_value(0, cast_vector(v1_Styles));; return *this; } +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)); } @@ -11218,7 +11218,7 @@ void Ifc4::IfcProcedureType::setPredefinedType(const ::Ifc4::IfcProcedureTypeEnu const ifcopenshell::entity& Ifc4::IfcProcedureType::Class() { return *((ifcopenshell::entity*)IFC4_types[706]); } -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; } +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; } @@ -11234,9 +11234,9 @@ const ifcopenshell::entity& Ifc4::IfcProcess::Class() { return *((ifcopenshell:: 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>(); } +::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>(); } void Ifc4::IfcProduct::setObjectPlacement(const ::Ifc4::IfcObjectPlacement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4::IfcProductRepresentation Ifc4::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcProductRepresentation{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4::IfcProductRepresentation>(); } +::Ifc4::IfcProductRepresentation Ifc4::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcProductRepresentation{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4::IfcProductRepresentation>(); } void Ifc4::IfcProduct::setRepresentation(const ::Ifc4::IfcProductRepresentation& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::vector<::Ifc4::IfcRelAssignsToProduct> Ifc4::IfcProduct::ReferencedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[804], 6)); } @@ -11250,19 +11250,19 @@ 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]); } -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; } +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; } void Ifc4::IfcProductRepresentation::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4::IfcProductRepresentation::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcProductRepresentation::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4::IfcRepresentation > Ifc4::IfcProductRepresentation::Representations() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcRepresentation>(es); } -void Ifc4::IfcProductRepresentation::setRepresentations(const std::vector< ::Ifc4::IfcRepresentation >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4::IfcRepresentation > Ifc4::IfcProductRepresentation::Representations() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcRepresentation>(es); } +void Ifc4::IfcProductRepresentation::setRepresentations(const std::vector< ::Ifc4::IfcRepresentation >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4::IfcProductRepresentation::Class() { return *((ifcopenshell::entity*)IFC4_types[712]); } -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; } +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)); } @@ -11277,24 +11277,24 @@ const ifcopenshell::entity& Ifc4::IfcProfileDef::Class() { return *((ifcopenshel 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>(); } +::Ifc4::IfcProfileDef Ifc4::IfcProfileProperties::ProfileDefinition() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcProfileDef>(); } void Ifc4::IfcProfileProperties::setProfileDefinition(const ::Ifc4::IfcProfileDef& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4::IfcProfileProperties::Class() { return *((ifcopenshell::entity*)IFC4_types[716]); } -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; } +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]); } -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; } +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]); } -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; } +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)); } @@ -11313,7 +11313,7 @@ std::optional< std::string > Ifc4::IfcProjectedCRS::MapProjection() const { if(g void Ifc4::IfcProjectedCRS::setMapProjection(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } std::optional< std::string > Ifc4::IfcProjectedCRS::MapZone() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcProjectedCRS::setMapZone(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4::IfcNamedUnit Ifc4::IfcProjectedCRS::MapUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcNamedUnit{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4::IfcNamedUnit>(); } +::Ifc4::IfcNamedUnit Ifc4::IfcProjectedCRS::MapUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcNamedUnit{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4::IfcNamedUnit>(); } void Ifc4::IfcProjectedCRS::setMapUnit(const ::Ifc4::IfcNamedUnit& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -11352,13 +11352,13 @@ const ifcopenshell::entity& Ifc4::IfcPropertyAbstraction::Class() { return *((if 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>(); } +::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>(); } void Ifc4::IfcPropertyBoundedValue::setUpperBoundValue(const ::Ifc4::IfcValue& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcValue Ifc4::IfcPropertyBoundedValue::LowerBoundValue() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcValue{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcValue>(); } +::Ifc4::IfcValue Ifc4::IfcPropertyBoundedValue::LowerBoundValue() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcValue{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcValue>(); } void Ifc4::IfcPropertyBoundedValue::setLowerBoundValue(const ::Ifc4::IfcValue& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4::IfcUnit Ifc4::IfcPropertyBoundedValue::Unit() const { if(get_attribute_value(4).isNull()) { return ::Ifc4::IfcUnit{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcUnit>(); } +::Ifc4::IfcUnit Ifc4::IfcPropertyBoundedValue::Unit() const { if(get_attribute_value(4).isNull()) { return ::Ifc4::IfcUnit{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcUnit>(); } void Ifc4::IfcPropertyBoundedValue::setUnit(const ::Ifc4::IfcUnit& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcValue Ifc4::IfcPropertyBoundedValue::SetPointValue() const { if(get_attribute_value(5).isNull()) { return ::Ifc4::IfcValue{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcValue>(); } +::Ifc4::IfcValue Ifc4::IfcPropertyBoundedValue::SetPointValue() const { if(get_attribute_value(5).isNull()) { return ::Ifc4::IfcValue{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcValue>(); } void Ifc4::IfcPropertyBoundedValue::setSetPointValue(const ::Ifc4::IfcValue& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -11374,9 +11374,9 @@ const ifcopenshell::entity& Ifc4::IfcPropertyDefinition::Class() { return *((ifc 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>(); } +::Ifc4::IfcProperty Ifc4::IfcPropertyDependencyRelationship::DependingProperty() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcProperty>(); } void Ifc4::IfcPropertyDependencyRelationship::setDependingProperty(const ::Ifc4::IfcProperty& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcProperty Ifc4::IfcPropertyDependencyRelationship::DependantProperty() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcProperty>(); } +::Ifc4::IfcProperty Ifc4::IfcPropertyDependencyRelationship::DependantProperty() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcProperty>(); } void Ifc4::IfcPropertyDependencyRelationship::setDependantProperty(const ::Ifc4::IfcProperty& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4::IfcPropertyDependencyRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcPropertyDependencyRelationship::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -11386,41 +11386,41 @@ const ifcopenshell::entity& Ifc4::IfcPropertyDependencyRelationship::Class() { r 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); } -void Ifc4::IfcPropertyEnumeratedValue::setEnumerationValues(const std::optional< std::vector< ::Ifc4::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } -::Ifc4::IfcPropertyEnumeration Ifc4::IfcPropertyEnumeratedValue::EnumerationReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcPropertyEnumeration{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcPropertyEnumeration>(); } +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); } +void Ifc4::IfcPropertyEnumeratedValue::setEnumerationValues(const std::optional< std::vector< ::Ifc4::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +::Ifc4::IfcPropertyEnumeration Ifc4::IfcPropertyEnumeratedValue::EnumerationReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcPropertyEnumeration{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcPropertyEnumeration>(); } void Ifc4::IfcPropertyEnumeratedValue::setEnumerationReference(const ::Ifc4::IfcPropertyEnumeration& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4::IfcPropertyEnumeratedValue::Class() { return *((ifcopenshell::entity*)IFC4_types[731]); } -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; } +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; } void Ifc4::IfcPropertyEnumeration::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4::IfcValue > Ifc4::IfcPropertyEnumeration::EnumerationValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcValue>(es); } -void Ifc4::IfcPropertyEnumeration::setEnumerationValues(const std::vector< ::Ifc4::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcUnit Ifc4::IfcPropertyEnumeration::Unit() const { if(get_attribute_value(2).isNull()) { return ::Ifc4::IfcUnit{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcUnit>(); } +std::vector< ::Ifc4::IfcValue > Ifc4::IfcPropertyEnumeration::EnumerationValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcValue>(es); } +void Ifc4::IfcPropertyEnumeration::setEnumerationValues(const std::vector< ::Ifc4::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +::Ifc4::IfcUnit Ifc4::IfcPropertyEnumeration::Unit() const { if(get_attribute_value(2).isNull()) { return ::Ifc4::IfcUnit{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcUnit>(); } void Ifc4::IfcPropertyEnumeration::setUnit(const ::Ifc4::IfcUnit& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4::IfcPropertyEnumeration::Class() { return *((ifcopenshell::entity*)IFC4_types[732]); } -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; } +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); } -void Ifc4::IfcPropertyListValue::setListValues(const std::optional< std::vector< ::Ifc4::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } -::Ifc4::IfcUnit Ifc4::IfcPropertyListValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcUnit>(); } +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); } +void Ifc4::IfcPropertyListValue::setListValues(const std::optional< std::vector< ::Ifc4::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +::Ifc4::IfcUnit Ifc4::IfcPropertyListValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcUnit>(); } void Ifc4::IfcPropertyListValue::setUnit(const ::Ifc4::IfcUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4::IfcPropertyListValue::Class() { return *((ifcopenshell::entity*)IFC4_types[733]); } -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; } +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; } void Ifc4::IfcPropertyReferenceValue::setUsageName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4::IfcObjectReferenceSelect Ifc4::IfcPropertyReferenceValue::PropertyReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcObjectReferenceSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcObjectReferenceSelect>(); } +::Ifc4::IfcObjectReferenceSelect Ifc4::IfcPropertyReferenceValue::PropertyReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcObjectReferenceSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcObjectReferenceSelect>(); } void Ifc4::IfcPropertyReferenceValue::setPropertyReference(const ::Ifc4::IfcObjectReferenceSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -11428,12 +11428,12 @@ const ifcopenshell::entity& Ifc4::IfcPropertyReferenceValue::Class() { return *( 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); } -void Ifc4::IfcPropertySet::setHasProperties(const std::vector< ::Ifc4::IfcProperty >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +std::vector< ::Ifc4::IfcProperty > Ifc4::IfcPropertySet::HasProperties() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4::IfcProperty>(es); } +void Ifc4::IfcPropertySet::setHasProperties(const std::vector< ::Ifc4::IfcProperty >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } const ifcopenshell::entity& Ifc4::IfcPropertySet::Class() { return *((ifcopenshell::entity*)IFC4_types[735]); } -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; } +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 @@ -11449,18 +11449,18 @@ std::optional< ::Ifc4::IfcPropertySetTemplateTypeEnum::Value > Ifc4::IfcProperty void Ifc4::IfcPropertySetTemplate::setTemplateType(const std::optional< ::Ifc4::IfcPropertySetTemplateTypeEnum::Value >& v) { if (v) {set_attribute_value(4, enumeration_reference(&::Ifc4::IfcPropertySetTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } std::optional< std::string > Ifc4::IfcPropertySetTemplate::ApplicableEntity() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcPropertySetTemplate::setApplicableEntity(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector< ::Ifc4::IfcPropertyTemplate > Ifc4::IfcPropertySetTemplate::HasPropertyTemplates() const { std::vector es = get_attribute_value(6); return cast_vector<::Ifc4::IfcPropertyTemplate>(es); } -void Ifc4::IfcPropertySetTemplate::setHasPropertyTemplates(const std::vector< ::Ifc4::IfcPropertyTemplate >& v) { set_attribute_value(6, cast_vector(v));if constexpr (false)unset_attribute_value(6); } +std::vector< ::Ifc4::IfcPropertyTemplate > Ifc4::IfcPropertySetTemplate::HasPropertyTemplates() const { std::vector es = get_attribute_value(6); return cast_vector<::Ifc4::IfcPropertyTemplate>(es); } +void Ifc4::IfcPropertySetTemplate::setHasPropertyTemplates(const std::vector< ::Ifc4::IfcPropertyTemplate >& v) { set_attribute_value(6, cast_vector(v));if constexpr (false)unset_attribute_value(6); } 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]); } -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; } +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>(); } +::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>(); } void Ifc4::IfcPropertySingleValue::setNominalValue(const ::Ifc4::IfcValue& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcUnit Ifc4::IfcPropertySingleValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcUnit>(); } +::Ifc4::IfcUnit Ifc4::IfcPropertySingleValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcUnit>(); } void Ifc4::IfcPropertySingleValue::setUnit(const ::Ifc4::IfcUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -11468,22 +11468,22 @@ const ifcopenshell::entity& Ifc4::IfcPropertySingleValue::Class() { return *((if 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); } -void Ifc4::IfcPropertyTableValue::setDefiningValues(const std::optional< std::vector< ::Ifc4::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } -std::optional< std::vector< ::Ifc4::IfcValue > > Ifc4::IfcPropertyTableValue::DefinedValues() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4::IfcValue>(es); } -void Ifc4::IfcPropertyTableValue::setDefinedValues(const std::optional< std::vector< ::Ifc4::IfcValue > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } +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); } +void Ifc4::IfcPropertyTableValue::setDefiningValues(const std::optional< std::vector< ::Ifc4::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4::IfcValue > > Ifc4::IfcPropertyTableValue::DefinedValues() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4::IfcValue>(es); } +void Ifc4::IfcPropertyTableValue::setDefinedValues(const std::optional< std::vector< ::Ifc4::IfcValue > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } std::optional< std::string > Ifc4::IfcPropertyTableValue::Expression() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcPropertyTableValue::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4::IfcUnit Ifc4::IfcPropertyTableValue::DefiningUnit() const { if(get_attribute_value(5).isNull()) { return ::Ifc4::IfcUnit{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcUnit>(); } +::Ifc4::IfcUnit Ifc4::IfcPropertyTableValue::DefiningUnit() const { if(get_attribute_value(5).isNull()) { return ::Ifc4::IfcUnit{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcUnit>(); } void Ifc4::IfcPropertyTableValue::setDefiningUnit(const ::Ifc4::IfcUnit& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4::IfcUnit Ifc4::IfcPropertyTableValue::DefinedUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcUnit{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4::IfcUnit>(); } +::Ifc4::IfcUnit Ifc4::IfcPropertyTableValue::DefinedUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcUnit{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4::IfcUnit>(); } void Ifc4::IfcPropertyTableValue::setDefinedUnit(const ::Ifc4::IfcUnit& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< ::Ifc4::IfcCurveInterpolationEnum::Value > Ifc4::IfcPropertyTableValue::CurveInterpolation() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4::IfcCurveInterpolationEnum::FromString(get_attribute_value(7)); } void Ifc4::IfcPropertyTableValue::setCurveInterpolation(const std::optional< ::Ifc4::IfcCurveInterpolationEnum::Value >& v) { if (v) {set_attribute_value(7, enumeration_reference(&::Ifc4::IfcCurveInterpolationEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const ifcopenshell::entity& Ifc4::IfcPropertyTableValue::Class() { return *((ifcopenshell::entity*)IFC4_types[742]); } -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; } +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 @@ -11521,7 +11521,7 @@ void Ifc4::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(const ::Ifc4:: const ifcopenshell::entity& Ifc4::IfcProtectiveDeviceTrippingUnitType::Class() { return *((ifcopenshell::entity*)IFC4_types[747]); } -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; } +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]); } -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; } +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)); } @@ -11555,7 +11555,7 @@ void Ifc4::IfcPumpType::setPredefinedType(const ::Ifc4::IfcPumpTypeEnum::Value& const ifcopenshell::entity& Ifc4::IfcPumpType::Class() { return *((ifcopenshell::entity*)IFC4_types[753]); } -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; } +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; } @@ -11637,7 +11637,7 @@ void Ifc4::IfcRailingType::setPredefinedType(const ::Ifc4::IfcRailingTypeEnum::V const ifcopenshell::entity& Ifc4::IfcRailingType::Class() { return *((ifcopenshell::entity*)IFC4_types[764]); } -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; } +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)); } @@ -11661,7 +11661,7 @@ void Ifc4::IfcRampFlightType::setPredefinedType(const ::Ifc4::IfcRampFlightTypeE const ifcopenshell::entity& Ifc4::IfcRampFlightType::Class() { return *((ifcopenshell::entity*)IFC4_types[768]); } -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; } +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]); } -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; } +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]); } -Ifc4::IfcRationalBSplineCurveWithKnots Ifc4::IfcRationalBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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; } +Ifc4::IfcRationalBSplineCurveWithKnots Ifc4::IfcRationalBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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]); } -Ifc4::IfcRationalBSplineSurfaceWithKnots Ifc4::IfcRationalBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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; } +Ifc4::IfcRationalBSplineSurfaceWithKnots Ifc4::IfcRationalBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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; } @@ -11722,7 +11722,7 @@ const ifcopenshell::entity& Ifc4::IfcRectangularPyramid::Class() { return *((ifc 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>(); } +::Ifc4::IfcSurface Ifc4::IfcRectangularTrimmedSurface::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcSurface>(); } void Ifc4::IfcRectangularTrimmedSurface::setBasisSurface(const ::Ifc4::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4::IfcRectangularTrimmedSurface::U1() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcRectangularTrimmedSurface::setU1(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11756,12 +11756,12 @@ std::optional< int64_t > Ifc4::IfcRecurrencePattern::Interval() const { if(get_a void Ifc4::IfcRecurrencePattern::setInterval(const std::optional< int64_t >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< int64_t > Ifc4::IfcRecurrencePattern::Occurrences() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(6); return v; } void Ifc4::IfcRecurrencePattern::setOccurrences(const std::optional< int64_t >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4::IfcTimePeriod > > Ifc4::IfcRecurrencePattern::TimePeriods() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4::IfcTimePeriod>(es); } -void Ifc4::IfcRecurrencePattern::setTimePeriods(const std::optional< std::vector< ::Ifc4::IfcTimePeriod > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4::IfcTimePeriod > > Ifc4::IfcRecurrencePattern::TimePeriods() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4::IfcTimePeriod>(es); } +void Ifc4::IfcRecurrencePattern::setTimePeriods(const std::optional< std::vector< ::Ifc4::IfcTimePeriod > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } const ifcopenshell::entity& Ifc4::IfcRecurrencePattern::Class() { return *((ifcopenshell::entity*)IFC4_types[780]); } -Ifc4::IfcRecurrencePattern Ifc4::IfcRecurrencePattern::initialize(::Ifc4::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int64_t > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v4_MonthComponent, std::optional< int64_t > v5_Position, std::optional< int64_t > v6_Interval, std::optional< int64_t > 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; } +Ifc4::IfcRecurrencePattern Ifc4::IfcRecurrencePattern::initialize(::Ifc4::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int64_t > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v4_MonthComponent, std::optional< int64_t > v5_Position, std::optional< int64_t > v6_Interval, std::optional< int64_t > 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; } @@ -11772,7 +11772,7 @@ std::optional< std::string > Ifc4::IfcReference::InstanceName() const { if(get_a void Ifc4::IfcReference::setInstanceName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } std::optional< std::vector< int64_t > /*[1:?]*/ > Ifc4::IfcReference::ListPositions() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< int64_t > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4::IfcReference::setListPositions(const std::optional< std::vector< int64_t > /*[1:?]*/ >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4::IfcReference Ifc4::IfcReference::InnerReference() const { if(get_attribute_value(4).isNull()) { return ::Ifc4::IfcReference{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcReference>(); } +::Ifc4::IfcReference Ifc4::IfcReference::InnerReference() const { if(get_attribute_value(4).isNull()) { return ::Ifc4::IfcReference{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcReference>(); } void Ifc4::IfcReference::setInnerReference(const ::Ifc4::IfcReference& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -11782,12 +11782,12 @@ Ifc4::IfcReference Ifc4::IfcReference::initialize(std::optional< std::string > v // Function implementations for IfcRegularTimeSeries double Ifc4::IfcRegularTimeSeries::TimeStep() const { double v = get_attribute_value(8); return v; } void Ifc4::IfcRegularTimeSeries::setTimeStep(const double& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::vector< ::Ifc4::IfcTimeSeriesValue > Ifc4::IfcRegularTimeSeries::Values() const { std::vector es = get_attribute_value(9); return cast_vector<::Ifc4::IfcTimeSeriesValue>(es); } -void Ifc4::IfcRegularTimeSeries::setValues(const std::vector< ::Ifc4::IfcTimeSeriesValue >& v) { set_attribute_value(9, cast_vector(v));if constexpr (false)unset_attribute_value(9); } +std::vector< ::Ifc4::IfcTimeSeriesValue > Ifc4::IfcRegularTimeSeries::Values() const { std::vector es = get_attribute_value(9); return cast_vector<::Ifc4::IfcTimeSeriesValue>(es); } +void Ifc4::IfcRegularTimeSeries::setValues(const std::vector< ::Ifc4::IfcTimeSeriesValue >& v) { set_attribute_value(9, cast_vector(v));if constexpr (false)unset_attribute_value(9); } const ifcopenshell::entity& Ifc4::IfcRegularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4_types[784]); } -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; } +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; } @@ -11810,12 +11810,12 @@ Ifc4::IfcReinforcementBarProperties Ifc4::IfcReinforcementBarProperties::initial // 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; } void Ifc4::IfcReinforcementDefinitionProperties::setDefinitionType(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector< ::Ifc4::IfcSectionReinforcementProperties > Ifc4::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4::IfcSectionReinforcementProperties>(es); } -void Ifc4::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(const std::vector< ::Ifc4::IfcSectionReinforcementProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4::IfcSectionReinforcementProperties > Ifc4::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4::IfcSectionReinforcementProperties>(es); } +void Ifc4::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(const std::vector< ::Ifc4::IfcSectionReinforcementProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4::IfcReinforcementDefinitionProperties::Class() { return *((ifcopenshell::entity*)IFC4_types[786]); } -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; } +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; } @@ -11846,12 +11846,12 @@ std::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > Ifc4::IfcReinforcin void Ifc4::IfcReinforcingBarType::setBarSurface(const std::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value >& v) { if (v) {set_attribute_value(13, enumeration_reference(&::Ifc4::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } std::optional< std::string > Ifc4::IfcReinforcingBarType::BendingShapeCode() const { if(get_attribute_value(14).isNull()) { return std::nullopt; } std::string v = get_attribute_value(14); return v; } void Ifc4::IfcReinforcingBarType::setBendingShapeCode(const std::optional< std::string >& v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -std::optional< std::vector< ::Ifc4::IfcBendingParameterSelect > > Ifc4::IfcReinforcingBarType::BendingParameters() const { if(get_attribute_value(15).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(15); return cast_vector<::Ifc4::IfcBendingParameterSelect>(es); } -void Ifc4::IfcReinforcingBarType::setBendingParameters(const std::optional< std::vector< ::Ifc4::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(15, cast_vector(*v));} else {unset_attribute_value(15);} } +std::optional< std::vector< ::Ifc4::IfcBendingParameterSelect > > Ifc4::IfcReinforcingBarType::BendingParameters() const { if(get_attribute_value(15).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(15); return cast_vector<::Ifc4::IfcBendingParameterSelect>(es); } +void Ifc4::IfcReinforcingBarType::setBendingParameters(const std::optional< std::vector< ::Ifc4::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(15, cast_vector(*v));} else {unset_attribute_value(15);} } const ifcopenshell::entity& Ifc4::IfcReinforcingBarType::Class() { return *((ifcopenshell::entity*)IFC4_types[790]); } -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; } +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; } @@ -11865,7 +11865,7 @@ Ifc4::IfcReinforcingElement Ifc4::IfcReinforcingElement::initialize(std::string const ifcopenshell::entity& Ifc4::IfcReinforcingElementType::Class() { return *((ifcopenshell::entity*)IFC4_types[793]); } -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; } +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; } @@ -11912,58 +11912,58 @@ std::optional< double > Ifc4::IfcReinforcingMeshType::TransverseBarSpacing() con void Ifc4::IfcReinforcingMeshType::setTransverseBarSpacing(const std::optional< double >& v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } std::optional< std::string > Ifc4::IfcReinforcingMeshType::BendingShapeCode() const { if(get_attribute_value(18).isNull()) { return std::nullopt; } std::string v = get_attribute_value(18); return v; } void Ifc4::IfcReinforcingMeshType::setBendingShapeCode(const std::optional< std::string >& v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -std::optional< std::vector< ::Ifc4::IfcBendingParameterSelect > > Ifc4::IfcReinforcingMeshType::BendingParameters() const { if(get_attribute_value(19).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(19); return cast_vector<::Ifc4::IfcBendingParameterSelect>(es); } -void Ifc4::IfcReinforcingMeshType::setBendingParameters(const std::optional< std::vector< ::Ifc4::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(19, cast_vector(*v));} else {unset_attribute_value(19);} } +std::optional< std::vector< ::Ifc4::IfcBendingParameterSelect > > Ifc4::IfcReinforcingMeshType::BendingParameters() const { if(get_attribute_value(19).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(19); return cast_vector<::Ifc4::IfcBendingParameterSelect>(es); } +void Ifc4::IfcReinforcingMeshType::setBendingParameters(const std::optional< std::vector< ::Ifc4::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(19, cast_vector(*v));} else {unset_attribute_value(19);} } const ifcopenshell::entity& Ifc4::IfcReinforcingMeshType::Class() { return *((ifcopenshell::entity*)IFC4_types[795]); } -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; } +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>(); } +::Ifc4::IfcObjectDefinition Ifc4::IfcRelAggregates::RelatingObject() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcObjectDefinition>(); } void Ifc4::IfcRelAggregates::setRelatingObject(const ::Ifc4::IfcObjectDefinition& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4::IfcObjectDefinition > Ifc4::IfcRelAggregates::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4::IfcObjectDefinition>(es); } -void Ifc4::IfcRelAggregates::setRelatedObjects(const std::vector< ::Ifc4::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4::IfcObjectDefinition > Ifc4::IfcRelAggregates::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4::IfcObjectDefinition>(es); } +void Ifc4::IfcRelAggregates::setRelatedObjects(const std::vector< ::Ifc4::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4::IfcRelAggregates::Class() { return *((ifcopenshell::entity*)IFC4_types[797]); } -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; } +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); } -void Ifc4::IfcRelAssigns::setRelatedObjects(const std::vector< ::Ifc4::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +std::vector< ::Ifc4::IfcObjectDefinition > Ifc4::IfcRelAssigns::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4::IfcObjectDefinition>(es); } +void Ifc4::IfcRelAssigns::setRelatedObjects(const std::vector< ::Ifc4::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } std::optional< ::Ifc4::IfcObjectTypeEnum::Value > Ifc4::IfcRelAssigns::RelatedObjectsType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4::IfcObjectTypeEnum::FromString(get_attribute_value(5)); } void Ifc4::IfcRelAssigns::setRelatedObjectsType(const std::optional< ::Ifc4::IfcObjectTypeEnum::Value >& v) { if (v) {set_attribute_value(5, enumeration_reference(&::Ifc4::IfcObjectTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } const ifcopenshell::entity& Ifc4::IfcRelAssigns::Class() { return *((ifcopenshell::entity*)IFC4_types[798]); } -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; } +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>(); } +::Ifc4::IfcActor Ifc4::IfcRelAssignsToActor::RelatingActor() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4::IfcActor>(); } void Ifc4::IfcRelAssignsToActor::setRelatingActor(const ::Ifc4::IfcActor& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4::IfcActorRole Ifc4::IfcRelAssignsToActor::ActingRole() const { if(get_attribute_value(7).isNull()) { return ::Ifc4::IfcActorRole{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4::IfcActorRole>(); } +::Ifc4::IfcActorRole Ifc4::IfcRelAssignsToActor::ActingRole() const { if(get_attribute_value(7).isNull()) { return ::Ifc4::IfcActorRole{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4::IfcActorRole>(); } void Ifc4::IfcRelAssignsToActor::setActingRole(const ::Ifc4::IfcActorRole& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const ifcopenshell::entity& Ifc4::IfcRelAssignsToActor::Class() { return *((ifcopenshell::entity*)IFC4_types[799]); } -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; } +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>(); } +::Ifc4::IfcControl Ifc4::IfcRelAssignsToControl::RelatingControl() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4::IfcControl>(); } void Ifc4::IfcRelAssignsToControl::setRelatingControl(const ::Ifc4::IfcControl& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4::IfcRelAssignsToControl::Class() { return *((ifcopenshell::entity*)IFC4_types[800]); } -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; } +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>(); } +::Ifc4::IfcGroup Ifc4::IfcRelAssignsToGroup::RelatingGroup() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4::IfcGroup>(); } void Ifc4::IfcRelAssignsToGroup::setRelatingGroup(const ::Ifc4::IfcGroup& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4::IfcRelAssignsToGroup::Class() { return *((ifcopenshell::entity*)IFC4_types[801]); } -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; } +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,91 +11971,91 @@ void Ifc4::IfcRelAssignsToGroupByFactor::setFactor(const double& v) { set_attrib const ifcopenshell::entity& Ifc4::IfcRelAssignsToGroupByFactor::Class() { return *((ifcopenshell::entity*)IFC4_types[802]); } -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; } +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>(); } +::Ifc4::IfcProcessSelect Ifc4::IfcRelAssignsToProcess::RelatingProcess() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4::IfcProcessSelect>(); } void Ifc4::IfcRelAssignsToProcess::setRelatingProcess(const ::Ifc4::IfcProcessSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4::IfcMeasureWithUnit Ifc4::IfcRelAssignsToProcess::QuantityInProcess() const { if(get_attribute_value(7).isNull()) { return ::Ifc4::IfcMeasureWithUnit{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4::IfcMeasureWithUnit>(); } +::Ifc4::IfcMeasureWithUnit Ifc4::IfcRelAssignsToProcess::QuantityInProcess() const { if(get_attribute_value(7).isNull()) { return ::Ifc4::IfcMeasureWithUnit{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4::IfcMeasureWithUnit>(); } void Ifc4::IfcRelAssignsToProcess::setQuantityInProcess(const ::Ifc4::IfcMeasureWithUnit& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const ifcopenshell::entity& Ifc4::IfcRelAssignsToProcess::Class() { return *((ifcopenshell::entity*)IFC4_types[803]); } -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; } +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>(); } +::Ifc4::IfcProductSelect Ifc4::IfcRelAssignsToProduct::RelatingProduct() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4::IfcProductSelect>(); } void Ifc4::IfcRelAssignsToProduct::setRelatingProduct(const ::Ifc4::IfcProductSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4::IfcRelAssignsToProduct::Class() { return *((ifcopenshell::entity*)IFC4_types[804]); } -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; } +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>(); } +::Ifc4::IfcResourceSelect Ifc4::IfcRelAssignsToResource::RelatingResource() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4::IfcResourceSelect>(); } void Ifc4::IfcRelAssignsToResource::setRelatingResource(const ::Ifc4::IfcResourceSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4::IfcRelAssignsToResource::Class() { return *((ifcopenshell::entity*)IFC4_types[805]); } -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; } +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); } -void Ifc4::IfcRelAssociates::setRelatedObjects(const std::vector< ::Ifc4::IfcDefinitionSelect >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +std::vector< ::Ifc4::IfcDefinitionSelect > Ifc4::IfcRelAssociates::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4::IfcDefinitionSelect>(es); } +void Ifc4::IfcRelAssociates::setRelatedObjects(const std::vector< ::Ifc4::IfcDefinitionSelect >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } const ifcopenshell::entity& Ifc4::IfcRelAssociates::Class() { return *((ifcopenshell::entity*)IFC4_types[806]); } -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; } +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>(); } +::Ifc4::IfcApproval Ifc4::IfcRelAssociatesApproval::RelatingApproval() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcApproval>(); } void Ifc4::IfcRelAssociatesApproval::setRelatingApproval(const ::Ifc4::IfcApproval& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4::IfcRelAssociatesApproval::Class() { return *((ifcopenshell::entity*)IFC4_types[807]); } -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; } +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>(); } +::Ifc4::IfcClassificationSelect Ifc4::IfcRelAssociatesClassification::RelatingClassification() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcClassificationSelect>(); } void Ifc4::IfcRelAssociatesClassification::setRelatingClassification(const ::Ifc4::IfcClassificationSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4::IfcRelAssociatesClassification::Class() { return *((ifcopenshell::entity*)IFC4_types[808]); } -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; } +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; } void Ifc4::IfcRelAssociatesConstraint::setIntent(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4::IfcConstraint Ifc4::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4::IfcConstraint>(); } +::Ifc4::IfcConstraint Ifc4::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4::IfcConstraint>(); } void Ifc4::IfcRelAssociatesConstraint::setRelatingConstraint(const ::Ifc4::IfcConstraint& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4::IfcRelAssociatesConstraint::Class() { return *((ifcopenshell::entity*)IFC4_types[809]); } -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; } +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>(); } +::Ifc4::IfcDocumentSelect Ifc4::IfcRelAssociatesDocument::RelatingDocument() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcDocumentSelect>(); } void Ifc4::IfcRelAssociatesDocument::setRelatingDocument(const ::Ifc4::IfcDocumentSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4::IfcRelAssociatesDocument::Class() { return *((ifcopenshell::entity*)IFC4_types[810]); } -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; } +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>(); } +::Ifc4::IfcLibrarySelect Ifc4::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcLibrarySelect>(); } void Ifc4::IfcRelAssociatesLibrary::setRelatingLibrary(const ::Ifc4::IfcLibrarySelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4::IfcRelAssociatesLibrary::Class() { return *((ifcopenshell::entity*)IFC4_types[811]); } -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; } +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>(); } +::Ifc4::IfcMaterialSelect Ifc4::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcMaterialSelect>(); } void Ifc4::IfcRelAssociatesMaterial::setRelatingMaterial(const ::Ifc4::IfcMaterialSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4::IfcRelAssociatesMaterial::Class() { return *((ifcopenshell::entity*)IFC4_types[812]); } -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; } +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 @@ -12064,11 +12064,11 @@ const ifcopenshell::entity& Ifc4::IfcRelConnects::Class() { return *((ifcopenshe 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>(); } +::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>(); } void Ifc4::IfcRelConnectsElements::setConnectionGeometry(const ::Ifc4::IfcConnectionGeometry& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcElement Ifc4::IfcRelConnectsElements::RelatingElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcElement>(); } +::Ifc4::IfcElement Ifc4::IfcRelConnectsElements::RelatingElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcElement>(); } void Ifc4::IfcRelConnectsElements::setRelatingElement(const ::Ifc4::IfcElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4::IfcElement Ifc4::IfcRelConnectsElements::RelatedElement() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4::IfcElement>(); } +::Ifc4::IfcElement Ifc4::IfcRelConnectsElements::RelatedElement() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4::IfcElement>(); } void Ifc4::IfcRelConnectsElements::setRelatedElement(const ::Ifc4::IfcElement& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -12090,9 +12090,9 @@ const ifcopenshell::entity& Ifc4::IfcRelConnectsPathElements::Class() { return * 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< int64_t > /*[0:?]*/ v8_RelatingPriorities, std::vector< int64_t > /*[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>(); } +::Ifc4::IfcPort Ifc4::IfcRelConnectsPortToElement::RelatingPort() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcPort>(); } void Ifc4::IfcRelConnectsPortToElement::setRelatingPort(const ::Ifc4::IfcPort& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcDistributionElement Ifc4::IfcRelConnectsPortToElement::RelatedElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcDistributionElement>(); } +::Ifc4::IfcDistributionElement Ifc4::IfcRelConnectsPortToElement::RelatedElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcDistributionElement>(); } void Ifc4::IfcRelConnectsPortToElement::setRelatedElement(const ::Ifc4::IfcDistributionElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -12100,11 +12100,11 @@ const ifcopenshell::entity& Ifc4::IfcRelConnectsPortToElement::Class() { return 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>(); } +::Ifc4::IfcPort Ifc4::IfcRelConnectsPorts::RelatingPort() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcPort>(); } void Ifc4::IfcRelConnectsPorts::setRelatingPort(const ::Ifc4::IfcPort& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcPort Ifc4::IfcRelConnectsPorts::RelatedPort() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcPort>(); } +::Ifc4::IfcPort Ifc4::IfcRelConnectsPorts::RelatedPort() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcPort>(); } void Ifc4::IfcRelConnectsPorts::setRelatedPort(const ::Ifc4::IfcPort& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4::IfcElement Ifc4::IfcRelConnectsPorts::RealizingElement() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcElement{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4::IfcElement>(); } +::Ifc4::IfcElement Ifc4::IfcRelConnectsPorts::RealizingElement() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcElement{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4::IfcElement>(); } void Ifc4::IfcRelConnectsPorts::setRealizingElement(const ::Ifc4::IfcElement& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -12112,9 +12112,9 @@ const ifcopenshell::entity& Ifc4::IfcRelConnectsPorts::Class() { return *((ifcop 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>(); } +::Ifc4::IfcStructuralActivityAssignmentSelect Ifc4::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcStructuralActivityAssignmentSelect>(); } void Ifc4::IfcRelConnectsStructuralActivity::setRelatingElement(const ::Ifc4::IfcStructuralActivityAssignmentSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcStructuralActivity Ifc4::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcStructuralActivity>(); } +::Ifc4::IfcStructuralActivity Ifc4::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcStructuralActivity>(); } void Ifc4::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(const ::Ifc4::IfcStructuralActivity& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -12122,17 +12122,17 @@ const ifcopenshell::entity& Ifc4::IfcRelConnectsStructuralActivity::Class() { re 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>(); } +::Ifc4::IfcStructuralMember Ifc4::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcStructuralMember>(); } void Ifc4::IfcRelConnectsStructuralMember::setRelatingStructuralMember(const ::Ifc4::IfcStructuralMember& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcStructuralConnection Ifc4::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcStructuralConnection>(); } +::Ifc4::IfcStructuralConnection Ifc4::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcStructuralConnection>(); } void Ifc4::IfcRelConnectsStructuralMember::setRelatedStructuralConnection(const ::Ifc4::IfcStructuralConnection& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4::IfcBoundaryCondition Ifc4::IfcRelConnectsStructuralMember::AppliedCondition() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcBoundaryCondition{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4::IfcBoundaryCondition>(); } +::Ifc4::IfcBoundaryCondition Ifc4::IfcRelConnectsStructuralMember::AppliedCondition() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcBoundaryCondition{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4::IfcBoundaryCondition>(); } void Ifc4::IfcRelConnectsStructuralMember::setAppliedCondition(const ::Ifc4::IfcBoundaryCondition& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4::IfcStructuralConnectionCondition Ifc4::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(get_attribute_value(7).isNull()) { return ::Ifc4::IfcStructuralConnectionCondition{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4::IfcStructuralConnectionCondition>(); } +::Ifc4::IfcStructuralConnectionCondition Ifc4::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(get_attribute_value(7).isNull()) { return ::Ifc4::IfcStructuralConnectionCondition{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4::IfcStructuralConnectionCondition>(); } void Ifc4::IfcRelConnectsStructuralMember::setAdditionalConditions(const ::Ifc4::IfcStructuralConnectionCondition& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } std::optional< double > Ifc4::IfcRelConnectsStructuralMember::SupportedLength() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } void Ifc4::IfcRelConnectsStructuralMember::setSupportedLength(const std::optional< double >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4::IfcAxis2Placement3D Ifc4::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(get_attribute_value(9).isNull()) { return ::Ifc4::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4::IfcAxis2Placement3D>(); } +::Ifc4::IfcAxis2Placement3D Ifc4::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(get_attribute_value(9).isNull()) { return ::Ifc4::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4::IfcAxis2Placement3D>(); } void Ifc4::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(const ::Ifc4::IfcAxis2Placement3D& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } @@ -12140,7 +12140,7 @@ const ifcopenshell::entity& Ifc4::IfcRelConnectsStructuralMember::Class() { retu 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>(); } +::Ifc4::IfcConnectionGeometry Ifc4::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((express::base)(get_attribute_value(10))).as<::Ifc4::IfcConnectionGeometry>(); } void Ifc4::IfcRelConnectsWithEccentricity::setConnectionConstraint(const ::Ifc4::IfcConnectionGeometry& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } @@ -12148,54 +12148,54 @@ const ifcopenshell::entity& Ifc4::IfcRelConnectsWithEccentricity::Class() { retu 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); } -void Ifc4::IfcRelConnectsWithRealizingElements::setRealizingElements(const std::vector< ::Ifc4::IfcElement >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } +std::vector< ::Ifc4::IfcElement > Ifc4::IfcRelConnectsWithRealizingElements::RealizingElements() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4::IfcElement>(es); } +void Ifc4::IfcRelConnectsWithRealizingElements::setRealizingElements(const std::vector< ::Ifc4::IfcElement >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } std::optional< std::string > Ifc4::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4::IfcRelConnectsWithRealizingElements::setConnectionType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const ifcopenshell::entity& Ifc4::IfcRelConnectsWithRealizingElements::Class() { return *((ifcopenshell::entity*)IFC4_types[822]); } -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; } +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); } -void Ifc4::IfcRelContainedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4::IfcProduct >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcSpatialElement Ifc4::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcSpatialElement>(); } +std::vector< ::Ifc4::IfcProduct > Ifc4::IfcRelContainedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4::IfcProduct>(es); } +void Ifc4::IfcRelContainedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4::IfcProduct >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4::IfcSpatialElement Ifc4::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcSpatialElement>(); } void Ifc4::IfcRelContainedInSpatialStructure::setRelatingStructure(const ::Ifc4::IfcSpatialElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4::IfcRelContainedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4_types[823]); } -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; } +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>(); } +::Ifc4::IfcElement Ifc4::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcElement>(); } void Ifc4::IfcRelCoversBldgElements::setRelatingBuildingElement(const ::Ifc4::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4::IfcCovering > Ifc4::IfcRelCoversBldgElements::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4::IfcCovering>(es); } -void Ifc4::IfcRelCoversBldgElements::setRelatedCoverings(const std::vector< ::Ifc4::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4::IfcCovering > Ifc4::IfcRelCoversBldgElements::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4::IfcCovering>(es); } +void Ifc4::IfcRelCoversBldgElements::setRelatedCoverings(const std::vector< ::Ifc4::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4::IfcRelCoversBldgElements::Class() { return *((ifcopenshell::entity*)IFC4_types[824]); } -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; } +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>(); } +::Ifc4::IfcSpace Ifc4::IfcRelCoversSpaces::RelatingSpace() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcSpace>(); } void Ifc4::IfcRelCoversSpaces::setRelatingSpace(const ::Ifc4::IfcSpace& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4::IfcCovering > Ifc4::IfcRelCoversSpaces::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4::IfcCovering>(es); } -void Ifc4::IfcRelCoversSpaces::setRelatedCoverings(const std::vector< ::Ifc4::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4::IfcCovering > Ifc4::IfcRelCoversSpaces::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4::IfcCovering>(es); } +void Ifc4::IfcRelCoversSpaces::setRelatedCoverings(const std::vector< ::Ifc4::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4::IfcRelCoversSpaces::Class() { return *((ifcopenshell::entity*)IFC4_types[825]); } -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; } +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>(); } +::Ifc4::IfcContext Ifc4::IfcRelDeclares::RelatingContext() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcContext>(); } void Ifc4::IfcRelDeclares::setRelatingContext(const ::Ifc4::IfcContext& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4::IfcDefinitionSelect > Ifc4::IfcRelDeclares::RelatedDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4::IfcDefinitionSelect>(es); } -void Ifc4::IfcRelDeclares::setRelatedDefinitions(const std::vector< ::Ifc4::IfcDefinitionSelect >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4::IfcDefinitionSelect > Ifc4::IfcRelDeclares::RelatedDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4::IfcDefinitionSelect>(es); } +void Ifc4::IfcRelDeclares::setRelatedDefinitions(const std::vector< ::Ifc4::IfcDefinitionSelect >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4::IfcRelDeclares::Class() { return *((ifcopenshell::entity*)IFC4_types[826]); } -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; } +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 @@ -12210,49 +12210,49 @@ const ifcopenshell::entity& Ifc4::IfcRelDefines::Class() { return *((ifcopenshel 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); } -void Ifc4::IfcRelDefinesByObject::setRelatedObjects(const std::vector< ::Ifc4::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcObject Ifc4::IfcRelDefinesByObject::RelatingObject() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcObject>(); } +std::vector< ::Ifc4::IfcObject > Ifc4::IfcRelDefinesByObject::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4::IfcObject>(es); } +void Ifc4::IfcRelDefinesByObject::setRelatedObjects(const std::vector< ::Ifc4::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4::IfcObject Ifc4::IfcRelDefinesByObject::RelatingObject() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcObject>(); } void Ifc4::IfcRelDefinesByObject::setRelatingObject(const ::Ifc4::IfcObject& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4::IfcRelDefinesByObject::Class() { return *((ifcopenshell::entity*)IFC4_types[829]); } -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; } +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); } -void Ifc4::IfcRelDefinesByProperties::setRelatedObjects(const std::vector< ::Ifc4::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcPropertySetDefinitionSelect Ifc4::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcPropertySetDefinitionSelect>(); } +std::vector< ::Ifc4::IfcObjectDefinition > Ifc4::IfcRelDefinesByProperties::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4::IfcObjectDefinition>(es); } +void Ifc4::IfcRelDefinesByProperties::setRelatedObjects(const std::vector< ::Ifc4::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4::IfcPropertySetDefinitionSelect Ifc4::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcPropertySetDefinitionSelect>(); } void Ifc4::IfcRelDefinesByProperties::setRelatingPropertyDefinition(const ::Ifc4::IfcPropertySetDefinitionSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4::IfcRelDefinesByProperties::Class() { return *((ifcopenshell::entity*)IFC4_types[830]); } -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; } +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); } -void Ifc4::IfcRelDefinesByTemplate::setRelatedPropertySets(const std::vector< ::Ifc4::IfcPropertySetDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcPropertySetTemplate Ifc4::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcPropertySetTemplate>(); } +std::vector< ::Ifc4::IfcPropertySetDefinition > Ifc4::IfcRelDefinesByTemplate::RelatedPropertySets() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4::IfcPropertySetDefinition>(es); } +void Ifc4::IfcRelDefinesByTemplate::setRelatedPropertySets(const std::vector< ::Ifc4::IfcPropertySetDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4::IfcPropertySetTemplate Ifc4::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcPropertySetTemplate>(); } void Ifc4::IfcRelDefinesByTemplate::setRelatingTemplate(const ::Ifc4::IfcPropertySetTemplate& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4::IfcRelDefinesByTemplate::Class() { return *((ifcopenshell::entity*)IFC4_types[831]); } -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; } +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); } -void Ifc4::IfcRelDefinesByType::setRelatedObjects(const std::vector< ::Ifc4::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcTypeObject Ifc4::IfcRelDefinesByType::RelatingType() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcTypeObject>(); } +std::vector< ::Ifc4::IfcObject > Ifc4::IfcRelDefinesByType::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4::IfcObject>(es); } +void Ifc4::IfcRelDefinesByType::setRelatedObjects(const std::vector< ::Ifc4::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4::IfcTypeObject Ifc4::IfcRelDefinesByType::RelatingType() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcTypeObject>(); } void Ifc4::IfcRelDefinesByType::setRelatingType(const ::Ifc4::IfcTypeObject& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4::IfcRelDefinesByType::Class() { return *((ifcopenshell::entity*)IFC4_types[832]); } -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; } +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>(); } +::Ifc4::IfcOpeningElement Ifc4::IfcRelFillsElement::RelatingOpeningElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcOpeningElement>(); } void Ifc4::IfcRelFillsElement::setRelatingOpeningElement(const ::Ifc4::IfcOpeningElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcElement Ifc4::IfcRelFillsElement::RelatedBuildingElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcElement>(); } +::Ifc4::IfcElement Ifc4::IfcRelFillsElement::RelatedBuildingElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcElement>(); } void Ifc4::IfcRelFillsElement::setRelatedBuildingElement(const ::Ifc4::IfcElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -12260,21 +12260,21 @@ const ifcopenshell::entity& Ifc4::IfcRelFillsElement::Class() { return *((ifcope 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); } -void Ifc4::IfcRelFlowControlElements::setRelatedControlElements(const std::vector< ::Ifc4::IfcDistributionControlElement >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcDistributionFlowElement Ifc4::IfcRelFlowControlElements::RelatingFlowElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcDistributionFlowElement>(); } +std::vector< ::Ifc4::IfcDistributionControlElement > Ifc4::IfcRelFlowControlElements::RelatedControlElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4::IfcDistributionControlElement>(es); } +void Ifc4::IfcRelFlowControlElements::setRelatedControlElements(const std::vector< ::Ifc4::IfcDistributionControlElement >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4::IfcDistributionFlowElement Ifc4::IfcRelFlowControlElements::RelatingFlowElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcDistributionFlowElement>(); } void Ifc4::IfcRelFlowControlElements::setRelatingFlowElement(const ::Ifc4::IfcDistributionFlowElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4::IfcRelFlowControlElements::Class() { return *((ifcopenshell::entity*)IFC4_types[834]); } -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; } +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>(); } +::Ifc4::IfcElement Ifc4::IfcRelInterferesElements::RelatingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcElement>(); } void Ifc4::IfcRelInterferesElements::setRelatingElement(const ::Ifc4::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcElement Ifc4::IfcRelInterferesElements::RelatedElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcElement>(); } +::Ifc4::IfcElement Ifc4::IfcRelInterferesElements::RelatedElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcElement>(); } void Ifc4::IfcRelInterferesElements::setRelatedElement(const ::Ifc4::IfcElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4::IfcConnectionGeometry Ifc4::IfcRelInterferesElements::InterferenceGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcConnectionGeometry{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4::IfcConnectionGeometry>(); } +::Ifc4::IfcConnectionGeometry Ifc4::IfcRelInterferesElements::InterferenceGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcConnectionGeometry{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4::IfcConnectionGeometry>(); } void Ifc4::IfcRelInterferesElements::setInterferenceGeometry(const ::Ifc4::IfcConnectionGeometry& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< std::string > Ifc4::IfcRelInterferesElements::InterferenceType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4::IfcRelInterferesElements::setInterferenceType(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } @@ -12286,19 +12286,19 @@ const ifcopenshell::entity& Ifc4::IfcRelInterferesElements::Class() { return *(( 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>(); } +::Ifc4::IfcObjectDefinition Ifc4::IfcRelNests::RelatingObject() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcObjectDefinition>(); } void Ifc4::IfcRelNests::setRelatingObject(const ::Ifc4::IfcObjectDefinition& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4::IfcObjectDefinition > Ifc4::IfcRelNests::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4::IfcObjectDefinition>(es); } -void Ifc4::IfcRelNests::setRelatedObjects(const std::vector< ::Ifc4::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4::IfcObjectDefinition > Ifc4::IfcRelNests::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4::IfcObjectDefinition>(es); } +void Ifc4::IfcRelNests::setRelatedObjects(const std::vector< ::Ifc4::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4::IfcRelNests::Class() { return *((ifcopenshell::entity*)IFC4_types[836]); } -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; } +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>(); } +::Ifc4::IfcElement Ifc4::IfcRelProjectsElement::RelatingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcElement>(); } void Ifc4::IfcRelProjectsElement::setRelatingElement(const ::Ifc4::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcFeatureElementAddition Ifc4::IfcRelProjectsElement::RelatedFeatureElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcFeatureElementAddition>(); } +::Ifc4::IfcFeatureElementAddition Ifc4::IfcRelProjectsElement::RelatedFeatureElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcFeatureElementAddition>(); } void Ifc4::IfcRelProjectsElement::setRelatedFeatureElement(const ::Ifc4::IfcFeatureElementAddition& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -12306,21 +12306,21 @@ const ifcopenshell::entity& Ifc4::IfcRelProjectsElement::Class() { return *((ifc 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); } -void Ifc4::IfcRelReferencedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4::IfcProduct >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcSpatialElement Ifc4::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcSpatialElement>(); } +std::vector< ::Ifc4::IfcProduct > Ifc4::IfcRelReferencedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4::IfcProduct>(es); } +void Ifc4::IfcRelReferencedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4::IfcProduct >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4::IfcSpatialElement Ifc4::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcSpatialElement>(); } void Ifc4::IfcRelReferencedInSpatialStructure::setRelatingStructure(const ::Ifc4::IfcSpatialElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4::IfcRelReferencedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4_types[838]); } -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; } +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>(); } +::Ifc4::IfcProcess Ifc4::IfcRelSequence::RelatingProcess() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcProcess>(); } void Ifc4::IfcRelSequence::setRelatingProcess(const ::Ifc4::IfcProcess& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcProcess Ifc4::IfcRelSequence::RelatedProcess() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcProcess>(); } +::Ifc4::IfcProcess Ifc4::IfcRelSequence::RelatedProcess() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcProcess>(); } void Ifc4::IfcRelSequence::setRelatedProcess(const ::Ifc4::IfcProcess& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4::IfcLagTime Ifc4::IfcRelSequence::TimeLag() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcLagTime{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4::IfcLagTime>(); } +::Ifc4::IfcLagTime Ifc4::IfcRelSequence::TimeLag() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcLagTime{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4::IfcLagTime>(); } void Ifc4::IfcRelSequence::setTimeLag(const ::Ifc4::IfcLagTime& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< ::Ifc4::IfcSequenceEnum::Value > Ifc4::IfcRelSequence::SequenceType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4::IfcSequenceEnum::FromString(get_attribute_value(7)); } void Ifc4::IfcRelSequence::setSequenceType(const std::optional< ::Ifc4::IfcSequenceEnum::Value >& v) { if (v) {set_attribute_value(7, enumeration_reference(&::Ifc4::IfcSequenceEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } @@ -12332,21 +12332,21 @@ const ifcopenshell::entity& Ifc4::IfcRelSequence::Class() { return *((ifcopenshe 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>(); } +::Ifc4::IfcSystem Ifc4::IfcRelServicesBuildings::RelatingSystem() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcSystem>(); } void Ifc4::IfcRelServicesBuildings::setRelatingSystem(const ::Ifc4::IfcSystem& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4::IfcSpatialElement > Ifc4::IfcRelServicesBuildings::RelatedBuildings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4::IfcSpatialElement>(es); } -void Ifc4::IfcRelServicesBuildings::setRelatedBuildings(const std::vector< ::Ifc4::IfcSpatialElement >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4::IfcSpatialElement > Ifc4::IfcRelServicesBuildings::RelatedBuildings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4::IfcSpatialElement>(es); } +void Ifc4::IfcRelServicesBuildings::setRelatedBuildings(const std::vector< ::Ifc4::IfcSpatialElement >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4::IfcRelServicesBuildings::Class() { return *((ifcopenshell::entity*)IFC4_types[840]); } -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; } +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>(); } +::Ifc4::IfcSpaceBoundarySelect Ifc4::IfcRelSpaceBoundary::RelatingSpace() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcSpaceBoundarySelect>(); } void Ifc4::IfcRelSpaceBoundary::setRelatingSpace(const ::Ifc4::IfcSpaceBoundarySelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcElement Ifc4::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcElement>(); } +::Ifc4::IfcElement Ifc4::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcElement>(); } void Ifc4::IfcRelSpaceBoundary::setRelatedBuildingElement(const ::Ifc4::IfcElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4::IfcConnectionGeometry Ifc4::IfcRelSpaceBoundary::ConnectionGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcConnectionGeometry{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4::IfcConnectionGeometry>(); } +::Ifc4::IfcConnectionGeometry Ifc4::IfcRelSpaceBoundary::ConnectionGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcConnectionGeometry{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4::IfcConnectionGeometry>(); } void Ifc4::IfcRelSpaceBoundary::setConnectionGeometry(const ::Ifc4::IfcConnectionGeometry& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } ::Ifc4::IfcPhysicalOrVirtualEnum::Value Ifc4::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4::IfcPhysicalOrVirtualEnum::FromString(get_attribute_value(7)); } void Ifc4::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(const ::Ifc4::IfcPhysicalOrVirtualEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4::IfcPhysicalOrVirtualEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } @@ -12358,7 +12358,7 @@ const ifcopenshell::entity& Ifc4::IfcRelSpaceBoundary::Class() { return *((ifcop 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>(); } +::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>(); } void Ifc4::IfcRelSpaceBoundary1stLevel::setParentBoundary(const ::Ifc4::IfcRelSpaceBoundary1stLevel& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::vector<::Ifc4::IfcRelSpaceBoundary1stLevel> Ifc4::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[842], 9)); } @@ -12367,7 +12367,7 @@ const ifcopenshell::entity& Ifc4::IfcRelSpaceBoundary1stLevel::Class() { return 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>(); } +::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>(); } void Ifc4::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(const ::Ifc4::IfcRelSpaceBoundary2ndLevel& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } std::vector<::Ifc4::IfcRelSpaceBoundary2ndLevel> Ifc4::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[843], 10)); } @@ -12376,9 +12376,9 @@ const ifcopenshell::entity& Ifc4::IfcRelSpaceBoundary2ndLevel::Class() { return 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>(); } +::Ifc4::IfcElement Ifc4::IfcRelVoidsElement::RelatingBuildingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcElement>(); } void Ifc4::IfcRelVoidsElement::setRelatingBuildingElement(const ::Ifc4::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcFeatureElementSubtraction Ifc4::IfcRelVoidsElement::RelatedOpeningElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcFeatureElementSubtraction>(); } +::Ifc4::IfcFeatureElementSubtraction Ifc4::IfcRelVoidsElement::RelatedOpeningElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcFeatureElementSubtraction>(); } void Ifc4::IfcRelVoidsElement::setRelatedOpeningElement(const ::Ifc4::IfcFeatureElementSubtraction& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -12400,21 +12400,21 @@ const ifcopenshell::entity& Ifc4::IfcReparametrisedCompositeCurveSegment::Class( 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>(); } +::Ifc4::IfcRepresentationContext Ifc4::IfcRepresentation::ContextOfItems() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcRepresentationContext>(); } void Ifc4::IfcRepresentation::setContextOfItems(const ::Ifc4::IfcRepresentationContext& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4::IfcRepresentation::RepresentationIdentifier() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcRepresentation::setRepresentationIdentifier(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4::IfcRepresentation::RepresentationType() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcRepresentation::setRepresentationType(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector< ::Ifc4::IfcRepresentationItem > Ifc4::IfcRepresentation::Items() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4::IfcRepresentationItem>(es); } -void Ifc4::IfcRepresentation::setItems(const std::vector< ::Ifc4::IfcRepresentationItem >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4::IfcRepresentationItem > Ifc4::IfcRepresentation::Items() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4::IfcRepresentationItem>(es); } +void Ifc4::IfcRepresentation::setItems(const std::vector< ::Ifc4::IfcRepresentationItem >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } std::vector<::Ifc4::IfcRepresentationMap> Ifc4::IfcRepresentation::RepresentationMap() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[849], 1)); } std::vector<::Ifc4::IfcPresentationLayerAssignment> Ifc4::IfcRepresentation::LayerAssignments() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[699], 2)); } 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]); } -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; } +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; } @@ -12436,9 +12436,9 @@ const ifcopenshell::entity& Ifc4::IfcRepresentationItem::Class() { return *((ifc 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>(); } +::Ifc4::IfcAxis2Placement Ifc4::IfcRepresentationMap::MappingOrigin() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcAxis2Placement>(); } void Ifc4::IfcRepresentationMap::setMappingOrigin(const ::Ifc4::IfcAxis2Placement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcRepresentation Ifc4::IfcRepresentationMap::MappedRepresentation() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcRepresentation>(); } +::Ifc4::IfcRepresentation Ifc4::IfcRepresentationMap::MappedRepresentation() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcRepresentation>(); } void Ifc4::IfcRepresentationMap::setMappedRepresentation(const ::Ifc4::IfcRepresentation& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::vector<::Ifc4::IfcShapeAspect> Ifc4::IfcRepresentationMap::HasShapeAspects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[890], 4)); } @@ -12459,24 +12459,24 @@ const ifcopenshell::entity& Ifc4::IfcResource::Class() { return *((ifcopenshell: 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); } -void Ifc4::IfcResourceApprovalRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4::IfcResourceObjectSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcApproval Ifc4::IfcResourceApprovalRelationship::RelatingApproval() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcApproval>(); } +std::vector< ::Ifc4::IfcResourceObjectSelect > Ifc4::IfcResourceApprovalRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcResourceObjectSelect>(es); } +void Ifc4::IfcResourceApprovalRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4::IfcResourceObjectSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +::Ifc4::IfcApproval Ifc4::IfcResourceApprovalRelationship::RelatingApproval() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcApproval>(); } void Ifc4::IfcResourceApprovalRelationship::setRelatingApproval(const ::Ifc4::IfcApproval& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4::IfcResourceApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4_types[851]); } -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; } +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>(); } +::Ifc4::IfcConstraint Ifc4::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcConstraint>(); } void Ifc4::IfcResourceConstraintRelationship::setRelatingConstraint(const ::Ifc4::IfcConstraint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4::IfcResourceObjectSelect > Ifc4::IfcResourceConstraintRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4::IfcResourceObjectSelect>(es); } -void Ifc4::IfcResourceConstraintRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4::IfcResourceObjectSelect > Ifc4::IfcResourceConstraintRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4::IfcResourceObjectSelect>(es); } +void Ifc4::IfcResourceConstraintRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4::IfcResourceConstraintRelationship::Class() { return *((ifcopenshell::entity*)IFC4_types[852]); } -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; } +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; } @@ -12525,7 +12525,7 @@ const ifcopenshell::entity& Ifc4::IfcResourceTime::Class() { return *((ifcopensh 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>(); } +::Ifc4::IfcAxis1Placement Ifc4::IfcRevolvedAreaSolid::Axis() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcAxis1Placement>(); } void Ifc4::IfcRevolvedAreaSolid::setAxis(const ::Ifc4::IfcAxis1Placement& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc4::IfcRevolvedAreaSolid::Angle() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcRevolvedAreaSolid::setAngle(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -12535,7 +12535,7 @@ const ifcopenshell::entity& Ifc4::IfcRevolvedAreaSolid::Class() { return *((ifco 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>(); } +::Ifc4::IfcProfileDef Ifc4::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcProfileDef>(); } void Ifc4::IfcRevolvedAreaSolidTapered::setEndSweptArea(const ::Ifc4::IfcProfileDef& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -12576,12 +12576,12 @@ void Ifc4::IfcRoofType::setPredefinedType(const ::Ifc4::IfcRoofTypeEnum::Value& const ifcopenshell::entity& Ifc4::IfcRoofType::Class() { return *((ifcopenshell::entity*)IFC4_types[863]); } -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; } +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; } void Ifc4::IfcRoot::setGlobalId(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcOwnerHistory Ifc4::IfcRoot::OwnerHistory() const { if(get_attribute_value(1).isNull()) { return ::Ifc4::IfcOwnerHistory{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcOwnerHistory>(); } +::Ifc4::IfcOwnerHistory Ifc4::IfcRoot::OwnerHistory() const { if(get_attribute_value(1).isNull()) { return ::Ifc4::IfcOwnerHistory{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcOwnerHistory>(); } void Ifc4::IfcRoot::setOwnerHistory(const ::Ifc4::IfcOwnerHistory& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4::IfcRoot::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcRoot::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } @@ -12624,7 +12624,7 @@ void Ifc4::IfcSanitaryTerminalType::setPredefinedType(const ::Ifc4::IfcSanitaryT const ifcopenshell::entity& Ifc4::IfcSanitaryTerminalType::Class() { return *((ifcopenshell::entity*)IFC4_types[872]); } -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; } +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; } @@ -12642,14 +12642,14 @@ Ifc4::IfcSchedulingTime Ifc4::IfcSchedulingTime::initialize(std::optional< std:: const ifcopenshell::entity& Ifc4::IfcSeamCurve::Class() { return *((ifcopenshell::entity*)IFC4_types[875]); } -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; } +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)); } void Ifc4::IfcSectionProperties::setSectionType(const ::Ifc4::IfcSectionTypeEnum::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc4::IfcSectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcProfileDef Ifc4::IfcSectionProperties::StartProfile() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcProfileDef>(); } +::Ifc4::IfcProfileDef Ifc4::IfcSectionProperties::StartProfile() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcProfileDef>(); } void Ifc4::IfcSectionProperties::setStartProfile(const ::Ifc4::IfcProfileDef& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcProfileDef Ifc4::IfcSectionProperties::EndProfile() const { if(get_attribute_value(2).isNull()) { return ::Ifc4::IfcProfileDef{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcProfileDef>(); } +::Ifc4::IfcProfileDef Ifc4::IfcSectionProperties::EndProfile() const { if(get_attribute_value(2).isNull()) { return ::Ifc4::IfcProfileDef{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcProfileDef>(); } void Ifc4::IfcSectionProperties::setEndProfile(const ::Ifc4::IfcProfileDef& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -12665,26 +12665,26 @@ std::optional< double > Ifc4::IfcSectionReinforcementProperties::TransversePosit void Ifc4::IfcSectionReinforcementProperties::setTransversePosition(const std::optional< double >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4::IfcReinforcingBarRoleEnum::Value Ifc4::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4::IfcReinforcingBarRoleEnum::FromString(get_attribute_value(3)); } void Ifc4::IfcSectionReinforcementProperties::setReinforcementRole(const ::Ifc4::IfcReinforcingBarRoleEnum::Value& v) { set_attribute_value(3, enumeration_reference(&::Ifc4::IfcReinforcingBarRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -::Ifc4::IfcSectionProperties Ifc4::IfcSectionReinforcementProperties::SectionDefinition() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcSectionProperties>(); } +::Ifc4::IfcSectionProperties Ifc4::IfcSectionReinforcementProperties::SectionDefinition() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcSectionProperties>(); } void Ifc4::IfcSectionReinforcementProperties::setSectionDefinition(const ::Ifc4::IfcSectionProperties& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4::IfcReinforcementBarProperties > Ifc4::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4::IfcReinforcementBarProperties>(es); } -void Ifc4::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(const std::vector< ::Ifc4::IfcReinforcementBarProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4::IfcReinforcementBarProperties > Ifc4::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4::IfcReinforcementBarProperties>(es); } +void Ifc4::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(const std::vector< ::Ifc4::IfcReinforcementBarProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4::IfcSectionReinforcementProperties::Class() { return *((ifcopenshell::entity*)IFC4_types[880]); } -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; } +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>(); } +::Ifc4::IfcCompositeCurve Ifc4::IfcSectionedSpine::SpineCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcCompositeCurve>(); } void Ifc4::IfcSectionedSpine::setSpineCurve(const ::Ifc4::IfcCompositeCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4::IfcProfileDef > Ifc4::IfcSectionedSpine::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcProfileDef>(es); } -void Ifc4::IfcSectionedSpine::setCrossSections(const std::vector< ::Ifc4::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4::IfcAxis2Placement3D > Ifc4::IfcSectionedSpine::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcAxis2Placement3D>(es); } -void Ifc4::IfcSectionedSpine::setCrossSectionPositions(const std::vector< ::Ifc4::IfcAxis2Placement3D >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4::IfcProfileDef > Ifc4::IfcSectionedSpine::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcProfileDef>(es); } +void Ifc4::IfcSectionedSpine::setCrossSections(const std::vector< ::Ifc4::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4::IfcAxis2Placement3D > Ifc4::IfcSectionedSpine::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcAxis2Placement3D>(es); } +void Ifc4::IfcSectionedSpine::setCrossSectionPositions(const std::vector< ::Ifc4::IfcAxis2Placement3D >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4::IfcSectionedSpine::Class() { return *((ifcopenshell::entity*)IFC4_types[877]); } -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; } +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)); } @@ -12700,7 +12700,7 @@ void Ifc4::IfcSensorType::setPredefinedType(const ::Ifc4::IfcSensorTypeEnum::Val const ifcopenshell::entity& Ifc4::IfcSensorType::Class() { return *((ifcopenshell::entity*)IFC4_types[884]); } -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; } +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)); } @@ -12716,44 +12716,44 @@ void Ifc4::IfcShadingDeviceType::setPredefinedType(const ::Ifc4::IfcShadingDevic const ifcopenshell::entity& Ifc4::IfcShadingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4_types[888]); } -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; } +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); } -void Ifc4::IfcShapeAspect::setShapeRepresentations(const std::vector< ::Ifc4::IfcShapeModel >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4::IfcShapeModel > Ifc4::IfcShapeAspect::ShapeRepresentations() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcShapeModel>(es); } +void Ifc4::IfcShapeAspect::setShapeRepresentations(const std::vector< ::Ifc4::IfcShapeModel >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4::IfcShapeAspect::Name() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcShapeAspect::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4::IfcShapeAspect::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcShapeAspect::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } boost::logic::tribool Ifc4::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc4::IfcShapeAspect::setProductDefinitional(const boost::logic::tribool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4::IfcProductRepresentationSelect Ifc4::IfcShapeAspect::PartOfProductDefinitionShape() const { if(get_attribute_value(4).isNull()) { return ::Ifc4::IfcProductRepresentationSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcProductRepresentationSelect>(); } +::Ifc4::IfcProductRepresentationSelect Ifc4::IfcShapeAspect::PartOfProductDefinitionShape() const { if(get_attribute_value(4).isNull()) { return ::Ifc4::IfcProductRepresentationSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcProductRepresentationSelect>(); } void Ifc4::IfcShapeAspect::setPartOfProductDefinitionShape(const ::Ifc4::IfcProductRepresentationSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const ifcopenshell::entity& Ifc4::IfcShapeAspect::Class() { return *((ifcopenshell::entity*)IFC4_types[890]); } -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; } +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]); } -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; } +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]); } -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; } +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); } -void Ifc4::IfcShellBasedSurfaceModel::setSbsmBoundary(const std::vector< ::Ifc4::IfcShell >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4::IfcShell > Ifc4::IfcShellBasedSurfaceModel::SbsmBoundary() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcShell>(es); } +void Ifc4::IfcShellBasedSurfaceModel::setSbsmBoundary(const std::vector< ::Ifc4::IfcShell >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4::IfcShellBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4_types[895]); } -Ifc4::IfcShellBasedSurfaceModel Ifc4::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc4::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary));; return *this; } +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 @@ -12768,11 +12768,11 @@ std::optional< std::string > Ifc4::IfcSimplePropertyTemplate::PrimaryMeasureType void Ifc4::IfcSimplePropertyTemplate::setPrimaryMeasureType(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< std::string > Ifc4::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4::IfcSimplePropertyTemplate::setSecondaryMeasureType(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4::IfcPropertyEnumeration Ifc4::IfcSimplePropertyTemplate::Enumerators() const { if(get_attribute_value(7).isNull()) { return ::Ifc4::IfcPropertyEnumeration{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4::IfcPropertyEnumeration>(); } +::Ifc4::IfcPropertyEnumeration Ifc4::IfcSimplePropertyTemplate::Enumerators() const { if(get_attribute_value(7).isNull()) { return ::Ifc4::IfcPropertyEnumeration{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4::IfcPropertyEnumeration>(); } void Ifc4::IfcSimplePropertyTemplate::setEnumerators(const ::Ifc4::IfcPropertyEnumeration& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4::IfcUnit Ifc4::IfcSimplePropertyTemplate::PrimaryUnit() const { if(get_attribute_value(8).isNull()) { return ::Ifc4::IfcUnit{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4::IfcUnit>(); } +::Ifc4::IfcUnit Ifc4::IfcSimplePropertyTemplate::PrimaryUnit() const { if(get_attribute_value(8).isNull()) { return ::Ifc4::IfcUnit{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4::IfcUnit>(); } void Ifc4::IfcSimplePropertyTemplate::setPrimaryUnit(const ::Ifc4::IfcUnit& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc4::IfcUnit Ifc4::IfcSimplePropertyTemplate::SecondaryUnit() const { if(get_attribute_value(9).isNull()) { return ::Ifc4::IfcUnit{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4::IfcUnit>(); } +::Ifc4::IfcUnit Ifc4::IfcSimplePropertyTemplate::SecondaryUnit() const { if(get_attribute_value(9).isNull()) { return ::Ifc4::IfcUnit{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4::IfcUnit>(); } void Ifc4::IfcSimplePropertyTemplate::setSecondaryUnit(const ::Ifc4::IfcUnit& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::optional< std::string > Ifc4::IfcSimplePropertyTemplate::Expression() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } std::string v = get_attribute_value(10); return v; } void Ifc4::IfcSimplePropertyTemplate::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } @@ -12792,7 +12792,7 @@ std::optional< double > Ifc4::IfcSite::RefElevation() const { if(get_attribute_v void Ifc4::IfcSite::setRefElevation(const std::optional< double >& v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } std::optional< std::string > Ifc4::IfcSite::LandTitleNumber() const { if(get_attribute_value(12).isNull()) { return std::nullopt; } std::string v = get_attribute_value(12); return v; } void Ifc4::IfcSite::setLandTitleNumber(const std::optional< std::string >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4::IfcPostalAddress Ifc4::IfcSite::SiteAddress() const { if(get_attribute_value(13).isNull()) { return ::Ifc4::IfcPostalAddress{}; } return ((express::Base)(get_attribute_value(13))).as<::Ifc4::IfcPostalAddress>(); } +::Ifc4::IfcPostalAddress Ifc4::IfcSite::SiteAddress() const { if(get_attribute_value(13).isNull()) { return ::Ifc4::IfcPostalAddress{}; } return ((express::base)(get_attribute_value(13))).as<::Ifc4::IfcPostalAddress>(); } void Ifc4::IfcSite::setSiteAddress(const ::Ifc4::IfcPostalAddress& v) { set_attribute_value(13, v);if constexpr (false)unset_attribute_value(13); } @@ -12825,7 +12825,7 @@ void Ifc4::IfcSlabType::setPredefinedType(const ::Ifc4::IfcSlabTypeEnum::Value& const ifcopenshell::entity& Ifc4::IfcSlabType::Class() { return *((ifcopenshell::entity*)IFC4_types[908]); } -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; } +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; } @@ -12853,7 +12853,7 @@ void Ifc4::IfcSolarDeviceType::setPredefinedType(const ::Ifc4::IfcSolarDeviceTyp const ifcopenshell::entity& Ifc4::IfcSolarDeviceType::Class() { return *((ifcopenshell::entity*)IFC4_types[912]); } -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; } +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 @@ -12887,7 +12887,7 @@ void Ifc4::IfcSpaceHeaterType::setPredefinedType(const ::Ifc4::IfcSpaceHeaterTyp const ifcopenshell::entity& Ifc4::IfcSpaceHeaterType::Class() { return *((ifcopenshell::entity*)IFC4_types[924]); } -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; } +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]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -12930,7 +12930,7 @@ Ifc4::IfcSpatialStructureElement Ifc4::IfcSpatialStructureElement::initialize(st const ifcopenshell::entity& Ifc4::IfcSpatialStructureElementType::Class() { return *((ifcopenshell::entity*)IFC4_types[931]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -12980,7 +12980,7 @@ void Ifc4::IfcStackTerminalType::setPredefinedType(const ::Ifc4::IfcStackTermina const ifcopenshell::entity& Ifc4::IfcStackTerminalType::Class() { return *((ifcopenshell::entity*)IFC4_types[942]); } -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; } +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)); } @@ -13012,7 +13012,7 @@ void Ifc4::IfcStairFlightType::setPredefinedType(const ::Ifc4::IfcStairFlightTyp const ifcopenshell::entity& Ifc4::IfcStairFlightType::Class() { return *((ifcopenshell::entity*)IFC4_types[946]); } -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; } +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]); } -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; } +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; } @@ -13031,7 +13031,7 @@ const ifcopenshell::entity& Ifc4::IfcStructuralAction::Class() { return *((ifcop 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>(); } +::Ifc4::IfcStructuralLoad Ifc4::IfcStructuralActivity::AppliedLoad() const { return ((express::base)(get_attribute_value(7))).as<::Ifc4::IfcStructuralLoad>(); } void Ifc4::IfcStructuralActivity::setAppliedLoad(const ::Ifc4::IfcStructuralLoad& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4::IfcGlobalOrLocalEnum::Value Ifc4::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4::IfcGlobalOrLocalEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcStructuralActivity::setGlobalOrLocal(const ::Ifc4::IfcGlobalOrLocalEnum::Value& v) { set_attribute_value(8, enumeration_reference(&::Ifc4::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } @@ -13044,21 +13044,21 @@ Ifc4::IfcStructuralActivity Ifc4::IfcStructuralActivity::initialize(std::string // Function implementations for IfcStructuralAnalysisModel ::Ifc4::IfcAnalysisModelTypeEnum::Value Ifc4::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } void Ifc4::IfcStructuralAnalysisModel::setPredefinedType(const ::Ifc4::IfcAnalysisModelTypeEnum::Value& v) { set_attribute_value(5, enumeration_reference(&::Ifc4::IfcAnalysisModelTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4::IfcAxis2Placement3D Ifc4::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4::IfcAxis2Placement3D>(); } +::Ifc4::IfcAxis2Placement3D Ifc4::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4::IfcAxis2Placement3D>(); } void Ifc4::IfcStructuralAnalysisModel::setOrientationOf2DPlane(const ::Ifc4::IfcAxis2Placement3D& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::optional< std::vector< ::Ifc4::IfcStructuralLoadGroup > > Ifc4::IfcStructuralAnalysisModel::LoadedBy() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4::IfcStructuralLoadGroup>(es); } -void Ifc4::IfcStructuralAnalysisModel::setLoadedBy(const std::optional< std::vector< ::Ifc4::IfcStructuralLoadGroup > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } -std::optional< std::vector< ::Ifc4::IfcStructuralResultGroup > > Ifc4::IfcStructuralAnalysisModel::HasResults() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4::IfcStructuralResultGroup>(es); } -void Ifc4::IfcStructuralAnalysisModel::setHasResults(const std::optional< std::vector< ::Ifc4::IfcStructuralResultGroup > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } -::Ifc4::IfcObjectPlacement Ifc4::IfcStructuralAnalysisModel::SharedPlacement() const { if(get_attribute_value(9).isNull()) { return ::Ifc4::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4::IfcObjectPlacement>(); } +std::optional< std::vector< ::Ifc4::IfcStructuralLoadGroup > > Ifc4::IfcStructuralAnalysisModel::LoadedBy() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4::IfcStructuralLoadGroup>(es); } +void Ifc4::IfcStructuralAnalysisModel::setLoadedBy(const std::optional< std::vector< ::Ifc4::IfcStructuralLoadGroup > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4::IfcStructuralResultGroup > > Ifc4::IfcStructuralAnalysisModel::HasResults() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4::IfcStructuralResultGroup>(es); } +void Ifc4::IfcStructuralAnalysisModel::setHasResults(const std::optional< std::vector< ::Ifc4::IfcStructuralResultGroup > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } +::Ifc4::IfcObjectPlacement Ifc4::IfcStructuralAnalysisModel::SharedPlacement() const { if(get_attribute_value(9).isNull()) { return ::Ifc4::IfcObjectPlacement{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4::IfcObjectPlacement>(); } void Ifc4::IfcStructuralAnalysisModel::setSharedPlacement(const ::Ifc4::IfcObjectPlacement& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } const ifcopenshell::entity& Ifc4::IfcStructuralAnalysisModel::Class() { return *((ifcopenshell::entity*)IFC4_types[954]); } -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; } +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>(); } +::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>(); } void Ifc4::IfcStructuralConnection::setAppliedCondition(const ::Ifc4::IfcBoundaryCondition& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } std::vector<::Ifc4::IfcRelConnectsStructuralMember> Ifc4::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[820], 5)); } @@ -13085,7 +13085,7 @@ const ifcopenshell::entity& Ifc4::IfcStructuralCurveAction::Class() { return *(( 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>(); } +::Ifc4::IfcDirection Ifc4::IfcStructuralCurveConnection::Axis() const { return ((express::base)(get_attribute_value(8))).as<::Ifc4::IfcDirection>(); } void Ifc4::IfcStructuralCurveConnection::setAxis(const ::Ifc4::IfcDirection& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -13095,7 +13095,7 @@ Ifc4::IfcStructuralCurveConnection Ifc4::IfcStructuralCurveConnection::initializ // Function implementations for IfcStructuralCurveMember ::Ifc4::IfcStructuralCurveMemberTypeEnum::Value Ifc4::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4::IfcStructuralCurveMemberTypeEnum::FromString(get_attribute_value(7)); } void Ifc4::IfcStructuralCurveMember::setPredefinedType(const ::Ifc4::IfcStructuralCurveMemberTypeEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4::IfcStructuralCurveMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4::IfcDirection Ifc4::IfcStructuralCurveMember::Axis() const { return ((express::Base)(get_attribute_value(8))).as<::Ifc4::IfcDirection>(); } +::Ifc4::IfcDirection Ifc4::IfcStructuralCurveMember::Axis() const { return ((express::base)(get_attribute_value(8))).as<::Ifc4::IfcDirection>(); } void Ifc4::IfcStructuralCurveMember::setAxis(const ::Ifc4::IfcDirection& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -13146,14 +13146,14 @@ const ifcopenshell::entity& Ifc4::IfcStructuralLoadCase::Class() { return *((ifc 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); } -void Ifc4::IfcStructuralLoadConfiguration::setValues(const std::vector< ::Ifc4::IfcStructuralLoadOrResult >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4::IfcStructuralLoadOrResult > Ifc4::IfcStructuralLoadConfiguration::Values() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcStructuralLoadOrResult>(es); } +void Ifc4::IfcStructuralLoadConfiguration::setValues(const std::vector< ::Ifc4::IfcStructuralLoadOrResult >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< std::vector< std::vector< double > > > Ifc4::IfcStructuralLoadConfiguration::Locations() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector< std::vector< double > > v = get_attribute_value(2); return v; } void Ifc4::IfcStructuralLoadConfiguration::setLocations(const std::optional< std::vector< std::vector< double > > >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4::IfcStructuralLoadConfiguration::Class() { return *((ifcopenshell::entity*)IFC4_types[968]); } -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; } +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)); } @@ -13299,7 +13299,7 @@ const ifcopenshell::entity& Ifc4::IfcStructuralPointAction::Class() { return *(( 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>(); } +::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>(); } void Ifc4::IfcStructuralPointConnection::setConditionCoordinateSystem(const ::Ifc4::IfcAxis2Placement3D& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -13321,7 +13321,7 @@ Ifc4::IfcStructuralReaction Ifc4::IfcStructuralReaction::initialize(std::string // Function implementations for IfcStructuralResultGroup ::Ifc4::IfcAnalysisTheoryTypeEnum::Value Ifc4::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc4::IfcStructuralResultGroup::setTheoryType(const ::Ifc4::IfcAnalysisTheoryTypeEnum::Value& v) { set_attribute_value(5, enumeration_reference(&::Ifc4::IfcAnalysisTheoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4::IfcStructuralLoadGroup Ifc4::IfcStructuralResultGroup::ResultForLoadGroup() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcStructuralLoadGroup{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4::IfcStructuralLoadGroup>(); } +::Ifc4::IfcStructuralLoadGroup Ifc4::IfcStructuralResultGroup::ResultForLoadGroup() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcStructuralLoadGroup{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4::IfcStructuralLoadGroup>(); } void Ifc4::IfcStructuralResultGroup::setResultForLoadGroup(const ::Ifc4::IfcStructuralLoadGroup& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } bool Ifc4::IfcStructuralResultGroup::IsLinear() const { bool v = get_attribute_value(7); return v; } void Ifc4::IfcStructuralResultGroup::setIsLinear(const bool& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -13375,25 +13375,25 @@ Ifc4::IfcStructuralSurfaceReaction Ifc4::IfcStructuralSurfaceReaction::initializ const ifcopenshell::entity& Ifc4::IfcStyleModel::Class() { return *((ifcopenshell::entity*)IFC4_types[996]); } -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; } +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>(); } +::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>(); } void Ifc4::IfcStyledItem::setItem(const ::Ifc4::IfcRepresentationItem& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4::IfcStyleAssignmentSelect > Ifc4::IfcStyledItem::Styles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcStyleAssignmentSelect>(es); } -void Ifc4::IfcStyledItem::setStyles(const std::vector< ::Ifc4::IfcStyleAssignmentSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4::IfcStyleAssignmentSelect > Ifc4::IfcStyledItem::Styles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcStyleAssignmentSelect>(es); } +void Ifc4::IfcStyledItem::setStyles(const std::vector< ::Ifc4::IfcStyleAssignmentSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4::IfcStyledItem::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcStyledItem::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4::IfcStyledItem::Class() { return *((ifcopenshell::entity*)IFC4_types[994]); } -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; } +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]); } -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; } +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]); } -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; } +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,10 +13409,10 @@ void Ifc4::IfcSubContractResourceType::setPredefinedType(const ::Ifc4::IfcSubCon const ifcopenshell::entity& Ifc4::IfcSubContractResourceType::Class() { return *((ifcopenshell::entity*)IFC4_types[998]); } -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; } +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>(); } +::Ifc4::IfcEdge Ifc4::IfcSubedge::ParentEdge() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcEdge>(); } void Ifc4::IfcSubedge::setParentEdge(const ::Ifc4::IfcEdge& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -13426,25 +13426,25 @@ const ifcopenshell::entity& Ifc4::IfcSurface::Class() { return *((ifcopenshell:: 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>(); } +::Ifc4::IfcCurve Ifc4::IfcSurfaceCurve::Curve3D() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcCurve>(); } void Ifc4::IfcSurfaceCurve::setCurve3D(const ::Ifc4::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4::IfcPcurve > Ifc4::IfcSurfaceCurve::AssociatedGeometry() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcPcurve>(es); } -void Ifc4::IfcSurfaceCurve::setAssociatedGeometry(const std::vector< ::Ifc4::IfcPcurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4::IfcPcurve > Ifc4::IfcSurfaceCurve::AssociatedGeometry() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcPcurve>(es); } +void Ifc4::IfcSurfaceCurve::setAssociatedGeometry(const std::vector< ::Ifc4::IfcPcurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } ::Ifc4::IfcPreferredSurfaceCurveRepresentation::Value Ifc4::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4::IfcPreferredSurfaceCurveRepresentation::FromString(get_attribute_value(2)); } void Ifc4::IfcSurfaceCurve::setMasterRepresentation(const ::Ifc4::IfcPreferredSurfaceCurveRepresentation::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4::IfcPreferredSurfaceCurveRepresentation::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4::IfcSurfaceCurve::Class() { return *((ifcopenshell::entity*)IFC4_types[1002]); } -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; } +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>(); } +::Ifc4::IfcCurve Ifc4::IfcSurfaceCurveSweptAreaSolid::Directrix() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcCurve>(); } void Ifc4::IfcSurfaceCurveSweptAreaSolid::setDirectrix(const ::Ifc4::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc4::IfcSurfaceCurveSweptAreaSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4::IfcSurfaceCurveSweptAreaSolid::setStartParam(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } std::optional< double > Ifc4::IfcSurfaceCurveSweptAreaSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } void Ifc4::IfcSurfaceCurveSweptAreaSolid::setEndParam(const std::optional< double >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4::IfcSurface Ifc4::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcSurface>(); } +::Ifc4::IfcSurface Ifc4::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcSurface>(); } void Ifc4::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(const ::Ifc4::IfcSurface& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -13460,7 +13460,7 @@ const ifcopenshell::entity& Ifc4::IfcSurfaceFeature::Class() { return *((ifcopen 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>(); } +::Ifc4::IfcDirection Ifc4::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcDirection>(); } void Ifc4::IfcSurfaceOfLinearExtrusion::setExtrudedDirection(const ::Ifc4::IfcDirection& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc4::IfcSurfaceOfLinearExtrusion::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcSurfaceOfLinearExtrusion::setDepth(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -13470,7 +13470,7 @@ const ifcopenshell::entity& Ifc4::IfcSurfaceOfLinearExtrusion::Class() { return 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>(); } +::Ifc4::IfcAxis1Placement Ifc4::IfcSurfaceOfRevolution::AxisPosition() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcAxis1Placement>(); } void Ifc4::IfcSurfaceOfRevolution::setAxisPosition(const ::Ifc4::IfcAxis1Placement& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -13492,21 +13492,21 @@ Ifc4::IfcSurfaceReinforcementArea Ifc4::IfcSurfaceReinforcementArea::initialize( // Function implementations for IfcSurfaceStyle ::Ifc4::IfcSurfaceSide::Value Ifc4::IfcSurfaceStyle::Side() const { return ::Ifc4::IfcSurfaceSide::FromString(get_attribute_value(1)); } void Ifc4::IfcSurfaceStyle::setSide(const ::Ifc4::IfcSurfaceSide::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4::IfcSurfaceSide::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4::IfcSurfaceStyleElementSelect > Ifc4::IfcSurfaceStyle::Styles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcSurfaceStyleElementSelect>(es); } -void Ifc4::IfcSurfaceStyle::setStyles(const std::vector< ::Ifc4::IfcSurfaceStyleElementSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4::IfcSurfaceStyleElementSelect > Ifc4::IfcSurfaceStyle::Styles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcSurfaceStyleElementSelect>(es); } +void Ifc4::IfcSurfaceStyle::setStyles(const std::vector< ::Ifc4::IfcSurfaceStyleElementSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4::IfcSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4_types[1011]); } -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; } +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>(); } +::Ifc4::IfcColourRgb Ifc4::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcColourRgb>(); } void Ifc4::IfcSurfaceStyleLighting::setDiffuseTransmissionColour(const ::Ifc4::IfcColourRgb& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcColourRgb Ifc4::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcColourRgb>(); } +::Ifc4::IfcColourRgb Ifc4::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcColourRgb>(); } void Ifc4::IfcSurfaceStyleLighting::setDiffuseReflectionColour(const ::Ifc4::IfcColourRgb& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcColourRgb Ifc4::IfcSurfaceStyleLighting::TransmissionColour() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcColourRgb>(); } +::Ifc4::IfcColourRgb Ifc4::IfcSurfaceStyleLighting::TransmissionColour() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcColourRgb>(); } void Ifc4::IfcSurfaceStyleLighting::setTransmissionColour(const ::Ifc4::IfcColourRgb& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcColourRgb Ifc4::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcColourRgb>(); } +::Ifc4::IfcColourRgb Ifc4::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcColourRgb>(); } void Ifc4::IfcSurfaceStyleLighting::setReflectanceColour(const ::Ifc4::IfcColourRgb& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -13524,17 +13524,17 @@ const ifcopenshell::entity& Ifc4::IfcSurfaceStyleRefraction::Class() { return *( 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>(); } +::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>(); } void Ifc4::IfcSurfaceStyleRendering::setDiffuseColour(const ::Ifc4::IfcColourOrFactor& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcColourOrFactor Ifc4::IfcSurfaceStyleRendering::TransmissionColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcColourOrFactor>(); } +::Ifc4::IfcColourOrFactor Ifc4::IfcSurfaceStyleRendering::TransmissionColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcColourOrFactor>(); } void Ifc4::IfcSurfaceStyleRendering::setTransmissionColour(const ::Ifc4::IfcColourOrFactor& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4::IfcColourOrFactor Ifc4::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(get_attribute_value(4).isNull()) { return ::Ifc4::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcColourOrFactor>(); } +::Ifc4::IfcColourOrFactor Ifc4::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(get_attribute_value(4).isNull()) { return ::Ifc4::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcColourOrFactor>(); } void Ifc4::IfcSurfaceStyleRendering::setDiffuseTransmissionColour(const ::Ifc4::IfcColourOrFactor& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcColourOrFactor Ifc4::IfcSurfaceStyleRendering::ReflectionColour() const { if(get_attribute_value(5).isNull()) { return ::Ifc4::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcColourOrFactor>(); } +::Ifc4::IfcColourOrFactor Ifc4::IfcSurfaceStyleRendering::ReflectionColour() const { if(get_attribute_value(5).isNull()) { return ::Ifc4::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcColourOrFactor>(); } void Ifc4::IfcSurfaceStyleRendering::setReflectionColour(const ::Ifc4::IfcColourOrFactor& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4::IfcColourOrFactor Ifc4::IfcSurfaceStyleRendering::SpecularColour() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4::IfcColourOrFactor>(); } +::Ifc4::IfcColourOrFactor Ifc4::IfcSurfaceStyleRendering::SpecularColour() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4::IfcColourOrFactor>(); } void Ifc4::IfcSurfaceStyleRendering::setSpecularColour(const ::Ifc4::IfcColourOrFactor& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4::IfcSpecularHighlightSelect Ifc4::IfcSurfaceStyleRendering::SpecularHighlight() const { if(get_attribute_value(7).isNull()) { return ::Ifc4::IfcSpecularHighlightSelect{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4::IfcSpecularHighlightSelect>(); } +::Ifc4::IfcSpecularHighlightSelect Ifc4::IfcSurfaceStyleRendering::SpecularHighlight() const { if(get_attribute_value(7).isNull()) { return ::Ifc4::IfcSpecularHighlightSelect{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4::IfcSpecularHighlightSelect>(); } void Ifc4::IfcSurfaceStyleRendering::setSpecularHighlight(const ::Ifc4::IfcSpecularHighlightSelect& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4::IfcReflectanceMethodEnum::Value Ifc4::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4::IfcReflectanceMethodEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcSurfaceStyleRendering::setReflectanceMethod(const ::Ifc4::IfcReflectanceMethodEnum::Value& v) { set_attribute_value(8, enumeration_reference(&::Ifc4::IfcReflectanceMethodEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } @@ -13544,7 +13544,7 @@ const ifcopenshell::entity& Ifc4::IfcSurfaceStyleRendering::Class() { return *(( 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>(); } +::Ifc4::IfcColourRgb Ifc4::IfcSurfaceStyleShading::SurfaceColour() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcColourRgb>(); } void Ifc4::IfcSurfaceStyleShading::setSurfaceColour(const ::Ifc4::IfcColourRgb& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< double > Ifc4::IfcSurfaceStyleShading::Transparency() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } void Ifc4::IfcSurfaceStyleShading::setTransparency(const std::optional< double >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } @@ -13554,12 +13554,12 @@ const ifcopenshell::entity& Ifc4::IfcSurfaceStyleShading::Class() { return *((if 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); } -void Ifc4::IfcSurfaceStyleWithTextures::setTextures(const std::vector< ::Ifc4::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4::IfcSurfaceTexture > Ifc4::IfcSurfaceStyleWithTextures::Textures() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcSurfaceTexture>(es); } +void Ifc4::IfcSurfaceStyleWithTextures::setTextures(const std::vector< ::Ifc4::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4::IfcSurfaceStyleWithTextures::Class() { return *((ifcopenshell::entity*)IFC4_types[1017]); } -Ifc4::IfcSurfaceStyleWithTextures Ifc4::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc4::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures));; return *this; } +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; } @@ -13568,7 +13568,7 @@ bool Ifc4::IfcSurfaceTexture::RepeatT() const { bool v = get_attribute_value(1) void Ifc4::IfcSurfaceTexture::setRepeatT(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4::IfcSurfaceTexture::Mode() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcSurfaceTexture::setMode(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4::IfcCartesianTransformationOperator2D Ifc4::IfcSurfaceTexture::TextureTransform() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcCartesianTransformationOperator2D{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcCartesianTransformationOperator2D>(); } +::Ifc4::IfcCartesianTransformationOperator2D Ifc4::IfcSurfaceTexture::TextureTransform() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcCartesianTransformationOperator2D{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcCartesianTransformationOperator2D>(); } void Ifc4::IfcSurfaceTexture::setTextureTransform(const ::Ifc4::IfcCartesianTransformationOperator2D& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcSurfaceTexture::Parameter() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4::IfcSurfaceTexture::setParameter(const std::optional< std::vector< std::string > /*[1:?]*/ >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -13580,9 +13580,9 @@ const ifcopenshell::entity& Ifc4::IfcSurfaceTexture::Class() { return *((ifcopen 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>(); } +::Ifc4::IfcProfileDef Ifc4::IfcSweptAreaSolid::SweptArea() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcProfileDef>(); } void Ifc4::IfcSweptAreaSolid::setSweptArea(const ::Ifc4::IfcProfileDef& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcAxis2Placement3D Ifc4::IfcSweptAreaSolid::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcAxis2Placement3D>(); } +::Ifc4::IfcAxis2Placement3D Ifc4::IfcSweptAreaSolid::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcAxis2Placement3D>(); } void Ifc4::IfcSweptAreaSolid::setPosition(const ::Ifc4::IfcAxis2Placement3D& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -13590,7 +13590,7 @@ const ifcopenshell::entity& Ifc4::IfcSweptAreaSolid::Class() { return *((ifcopen 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>(); } +::Ifc4::IfcCurve Ifc4::IfcSweptDiskSolid::Directrix() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcCurve>(); } void Ifc4::IfcSweptDiskSolid::setDirectrix(const ::Ifc4::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4::IfcSweptDiskSolid::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcSweptDiskSolid::setRadius(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -13614,9 +13614,9 @@ const ifcopenshell::entity& Ifc4::IfcSweptDiskSolidPolygonal::Class() { return * 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>(); } +::Ifc4::IfcProfileDef Ifc4::IfcSweptSurface::SweptCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcProfileDef>(); } void Ifc4::IfcSweptSurface::setSweptCurve(const ::Ifc4::IfcProfileDef& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcAxis2Placement3D Ifc4::IfcSweptSurface::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcAxis2Placement3D>(); } +::Ifc4::IfcAxis2Placement3D Ifc4::IfcSweptSurface::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcAxis2Placement3D>(); } void Ifc4::IfcSweptSurface::setPosition(const ::Ifc4::IfcAxis2Placement3D& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -13637,7 +13637,7 @@ void Ifc4::IfcSwitchingDeviceType::setPredefinedType(const ::Ifc4::IfcSwitchingD const ifcopenshell::entity& Ifc4::IfcSwitchingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4_types[1024]); } -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; } +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 @@ -13660,7 +13660,7 @@ void Ifc4::IfcSystemFurnitureElementType::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4::IfcSystemFurnitureElementType::Class() { return *((ifcopenshell::entity*)IFC4_types[1028]); } -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; } +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; } @@ -13689,14 +13689,14 @@ Ifc4::IfcTShapeProfileDef Ifc4::IfcTShapeProfileDef::initialize(::Ifc4::IfcProfi // 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; } void Ifc4::IfcTable::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::optional< std::vector< ::Ifc4::IfcTableRow > > Ifc4::IfcTable::Rows() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcTableRow>(es); } -void Ifc4::IfcTable::setRows(const std::optional< std::vector< ::Ifc4::IfcTableRow > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } -std::optional< std::vector< ::Ifc4::IfcTableColumn > > Ifc4::IfcTable::Columns() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcTableColumn>(es); } -void Ifc4::IfcTable::setColumns(const std::optional< std::vector< ::Ifc4::IfcTableColumn > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4::IfcTableRow > > Ifc4::IfcTable::Rows() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcTableRow>(es); } +void Ifc4::IfcTable::setRows(const std::optional< std::vector< ::Ifc4::IfcTableRow > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } +std::optional< std::vector< ::Ifc4::IfcTableColumn > > Ifc4::IfcTable::Columns() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcTableColumn>(es); } +void Ifc4::IfcTable::setColumns(const std::optional< std::vector< ::Ifc4::IfcTableColumn > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4::IfcTable::Class() { return *((ifcopenshell::entity*)IFC4_types[1030]); } -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; } +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; } @@ -13705,9 +13705,9 @@ std::optional< std::string > Ifc4::IfcTableColumn::Name() const { if(get_attribu void Ifc4::IfcTableColumn::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4::IfcTableColumn::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcTableColumn::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4::IfcUnit Ifc4::IfcTableColumn::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcUnit>(); } +::Ifc4::IfcUnit Ifc4::IfcTableColumn::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcUnit>(); } void Ifc4::IfcTableColumn::setUnit(const ::Ifc4::IfcUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4::IfcReference Ifc4::IfcTableColumn::ReferencePath() const { if(get_attribute_value(4).isNull()) { return ::Ifc4::IfcReference{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcReference>(); } +::Ifc4::IfcReference Ifc4::IfcTableColumn::ReferencePath() const { if(get_attribute_value(4).isNull()) { return ::Ifc4::IfcReference{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcReference>(); } void Ifc4::IfcTableColumn::setReferencePath(const ::Ifc4::IfcReference& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -13715,14 +13715,14 @@ const ifcopenshell::entity& Ifc4::IfcTableColumn::Class() { return *((ifcopenshe 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); } -void Ifc4::IfcTableRow::setRowCells(const std::optional< std::vector< ::Ifc4::IfcValue > >& v) { if (v) {set_attribute_value(0, cast_vector(*v));} else {unset_attribute_value(0);} } +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); } +void Ifc4::IfcTableRow::setRowCells(const std::optional< std::vector< ::Ifc4::IfcValue > >& v) { if (v) {set_attribute_value(0, cast_vector(*v));} else {unset_attribute_value(0);} } std::optional< bool > Ifc4::IfcTableRow::IsHeading() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } bool v = get_attribute_value(1); return v; } void Ifc4::IfcTableRow::setIsHeading(const std::optional< bool >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const ifcopenshell::entity& Ifc4::IfcTableRow::Class() { return *((ifcopenshell::entity*)IFC4_types[1032]); } -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; } +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)); } @@ -13738,7 +13738,7 @@ void Ifc4::IfcTankType::setPredefinedType(const ::Ifc4::IfcTankTypeEnum::Value& const ifcopenshell::entity& Ifc4::IfcTankType::Class() { return *((ifcopenshell::entity*)IFC4_types[1034]); } -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; } +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; } @@ -13749,7 +13749,7 @@ bool Ifc4::IfcTask::IsMilestone() const { bool v = get_attribute_value(9); retu void Ifc4::IfcTask::setIsMilestone(const bool& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::optional< int64_t > Ifc4::IfcTask::Priority() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(10); return v; } void Ifc4::IfcTask::setPriority(const std::optional< int64_t >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4::IfcTaskTime Ifc4::IfcTask::TaskTime() const { if(get_attribute_value(11).isNull()) { return ::Ifc4::IfcTaskTime{}; } return ((express::Base)(get_attribute_value(11))).as<::Ifc4::IfcTaskTime>(); } +::Ifc4::IfcTaskTime Ifc4::IfcTask::TaskTime() const { if(get_attribute_value(11).isNull()) { return ::Ifc4::IfcTaskTime{}; } return ((express::base)(get_attribute_value(11))).as<::Ifc4::IfcTaskTime>(); } void Ifc4::IfcTask::setTaskTime(const ::Ifc4::IfcTaskTime& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } std::optional< ::Ifc4::IfcTaskTypeEnum::Value > Ifc4::IfcTask::PredefinedType() const { if(get_attribute_value(12).isNull()) { return std::nullopt; } return ::Ifc4::IfcTaskTypeEnum::FromString(get_attribute_value(12)); } void Ifc4::IfcTask::setPredefinedType(const std::optional< ::Ifc4::IfcTaskTypeEnum::Value >& v) { if (v) {set_attribute_value(12, enumeration_reference(&::Ifc4::IfcTaskTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } @@ -13799,7 +13799,7 @@ const ifcopenshell::entity& Ifc4::IfcTaskTime::Class() { return *((ifcopenshell: 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>(); } +::Ifc4::IfcRecurrencePattern Ifc4::IfcTaskTimeRecurring::Recurrence() const { return ((express::base)(get_attribute_value(20))).as<::Ifc4::IfcRecurrencePattern>(); } void Ifc4::IfcTaskTimeRecurring::setRecurrence(const ::Ifc4::IfcRecurrencePattern& v) { set_attribute_value(20, v);if constexpr (false)unset_attribute_value(20); } @@ -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]); } -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; } +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; } @@ -13870,7 +13870,7 @@ void Ifc4::IfcTendonAnchorType::setPredefinedType(const ::Ifc4::IfcTendonAnchorT const ifcopenshell::entity& Ifc4::IfcTendonAnchorType::Class() { return *((ifcopenshell::entity*)IFC4_types[1047]); } -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; } +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,10 +13884,10 @@ void Ifc4::IfcTendonType::setSheathDiameter(const std::optional< double >& v) { const ifcopenshell::entity& Ifc4::IfcTendonType::Class() { return *((ifcopenshell::entity*)IFC4_types[1049]); } -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; } +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>(); } +::Ifc4::IfcCartesianPointList3D Ifc4::IfcTessellatedFaceSet::Coordinates() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcCartesianPointList3D>(); } void Ifc4::IfcTessellatedFaceSet::setCoordinates(const ::Ifc4::IfcCartesianPointList3D& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::vector<::Ifc4::IfcIndexedColourMap> Ifc4::IfcTessellatedFaceSet::HasColours() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[479], 0)); } @@ -13905,7 +13905,7 @@ 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; } void Ifc4::IfcTextLiteral::setLiteral(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcAxis2Placement Ifc4::IfcTextLiteral::Placement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcAxis2Placement>(); } +::Ifc4::IfcAxis2Placement Ifc4::IfcTextLiteral::Placement() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcAxis2Placement>(); } void Ifc4::IfcTextLiteral::setPlacement(const ::Ifc4::IfcAxis2Placement& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } ::Ifc4::IfcTextPath::Value Ifc4::IfcTextLiteral::Path() const { return ::Ifc4::IfcTextPath::FromString(get_attribute_value(2)); } void Ifc4::IfcTextLiteral::setPath(const ::Ifc4::IfcTextPath::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4::IfcTextPath::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } @@ -13915,7 +13915,7 @@ const ifcopenshell::entity& Ifc4::IfcTextLiteral::Class() { return *((ifcopenshe 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>(); } +::Ifc4::IfcPlanarExtent Ifc4::IfcTextLiteralWithExtent::Extent() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcPlanarExtent>(); } void Ifc4::IfcTextLiteralWithExtent::setExtent(const ::Ifc4::IfcPlanarExtent& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::string Ifc4::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = get_attribute_value(4); return v; } void Ifc4::IfcTextLiteralWithExtent::setBoxAlignment(const std::string& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -13925,11 +13925,11 @@ const ifcopenshell::entity& Ifc4::IfcTextLiteralWithExtent::Class() { return *(( 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>(); } +::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>(); } void Ifc4::IfcTextStyle::setTextCharacterAppearance(const ::Ifc4::IfcTextStyleForDefinedFont& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcTextStyleTextModel Ifc4::IfcTextStyle::TextStyle() const { if(get_attribute_value(2).isNull()) { return ::Ifc4::IfcTextStyleTextModel{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcTextStyleTextModel>(); } +::Ifc4::IfcTextStyleTextModel Ifc4::IfcTextStyle::TextStyle() const { if(get_attribute_value(2).isNull()) { return ::Ifc4::IfcTextStyleTextModel{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcTextStyleTextModel>(); } void Ifc4::IfcTextStyle::setTextStyle(const ::Ifc4::IfcTextStyleTextModel& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcTextFontSelect Ifc4::IfcTextStyle::TextFontStyle() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcTextFontSelect>(); } +::Ifc4::IfcTextFontSelect Ifc4::IfcTextStyle::TextFontStyle() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcTextFontSelect>(); } void Ifc4::IfcTextStyle::setTextFontStyle(const ::Ifc4::IfcTextFontSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< bool > Ifc4::IfcTextStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } bool v = get_attribute_value(4); return v; } void Ifc4::IfcTextStyle::setModelOrDraughting(const std::optional< bool >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -13947,7 +13947,7 @@ std::optional< std::string > Ifc4::IfcTextStyleFontModel::FontVariant() const { void Ifc4::IfcTextStyleFontModel::setFontVariant(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } std::optional< std::string > Ifc4::IfcTextStyleFontModel::FontWeight() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcTextStyleFontModel::setFontWeight(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4::IfcSizeSelect Ifc4::IfcTextStyleFontModel::FontSize() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcSizeSelect>(); } +::Ifc4::IfcSizeSelect Ifc4::IfcTextStyleFontModel::FontSize() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4::IfcSizeSelect>(); } void Ifc4::IfcTextStyleFontModel::setFontSize(const ::Ifc4::IfcSizeSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -13955,9 +13955,9 @@ const ifcopenshell::entity& Ifc4::IfcTextStyleFontModel::Class() { return *((ifc 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>(); } +::Ifc4::IfcColour Ifc4::IfcTextStyleForDefinedFont::Colour() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcColour>(); } void Ifc4::IfcTextStyleForDefinedFont::setColour(const ::Ifc4::IfcColour& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcColour Ifc4::IfcTextStyleForDefinedFont::BackgroundColour() const { if(get_attribute_value(1).isNull()) { return ::Ifc4::IfcColour{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcColour>(); } +::Ifc4::IfcColour Ifc4::IfcTextStyleForDefinedFont::BackgroundColour() const { if(get_attribute_value(1).isNull()) { return ::Ifc4::IfcColour{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4::IfcColour>(); } void Ifc4::IfcTextStyleForDefinedFont::setBackgroundColour(const ::Ifc4::IfcColour& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -13965,19 +13965,19 @@ const ifcopenshell::entity& Ifc4::IfcTextStyleForDefinedFont::Class() { return * 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>(); } +::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>(); } void Ifc4::IfcTextStyleTextModel::setTextIndent(const ::Ifc4::IfcSizeSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4::IfcTextStyleTextModel::TextAlign() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcTextStyleTextModel::setTextAlign(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4::IfcTextStyleTextModel::TextDecoration() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcTextStyleTextModel::setTextDecoration(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4::IfcSizeSelect Ifc4::IfcTextStyleTextModel::LetterSpacing() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcSizeSelect>(); } +::Ifc4::IfcSizeSelect Ifc4::IfcTextStyleTextModel::LetterSpacing() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4::IfcSizeSelect>(); } void Ifc4::IfcTextStyleTextModel::setLetterSpacing(const ::Ifc4::IfcSizeSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4::IfcSizeSelect Ifc4::IfcTextStyleTextModel::WordSpacing() const { if(get_attribute_value(4).isNull()) { return ::Ifc4::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcSizeSelect>(); } +::Ifc4::IfcSizeSelect Ifc4::IfcTextStyleTextModel::WordSpacing() const { if(get_attribute_value(4).isNull()) { return ::Ifc4::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4::IfcSizeSelect>(); } void Ifc4::IfcTextStyleTextModel::setWordSpacing(const ::Ifc4::IfcSizeSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::optional< std::string > Ifc4::IfcTextStyleTextModel::TextTransform() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcTextStyleTextModel::setTextTransform(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4::IfcSizeSelect Ifc4::IfcTextStyleTextModel::LineHeight() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4::IfcSizeSelect>(); } +::Ifc4::IfcSizeSelect Ifc4::IfcTextStyleTextModel::LineHeight() const { if(get_attribute_value(6).isNull()) { return ::Ifc4::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4::IfcSizeSelect>(); } void Ifc4::IfcTextStyleTextModel::setLineHeight(const ::Ifc4::IfcSizeSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -13985,12 +13985,12 @@ const ifcopenshell::entity& Ifc4::IfcTextStyleTextModel::Class() { return *((ifc 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); } -void Ifc4::IfcTextureCoordinate::setMaps(const std::vector< ::Ifc4::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4::IfcSurfaceTexture > Ifc4::IfcTextureCoordinate::Maps() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcSurfaceTexture>(es); } +void Ifc4::IfcTextureCoordinate::setMaps(const std::vector< ::Ifc4::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4::IfcTextureCoordinate::Class() { return *((ifcopenshell::entity*)IFC4_types[1066]); } -Ifc4::IfcTextureCoordinate Ifc4::IfcTextureCoordinate::initialize(std::vector< ::Ifc4::IfcSurfaceTexture > v1_Maps) { set_attribute_value(0, cast_vector(v1_Maps));; return *this; } +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,17 +14000,17 @@ void Ifc4::IfcTextureCoordinateGenerator::setParameter(const std::optional< std: const ifcopenshell::entity& Ifc4::IfcTextureCoordinateGenerator::Class() { return *((ifcopenshell::entity*)IFC4_types[1067]); } -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; } +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); } -void Ifc4::IfcTextureMap::setVertices(const std::vector< ::Ifc4::IfcTextureVertex >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcFace Ifc4::IfcTextureMap::MappedTo() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcFace>(); } +std::vector< ::Ifc4::IfcTextureVertex > Ifc4::IfcTextureMap::Vertices() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcTextureVertex>(es); } +void Ifc4::IfcTextureMap::setVertices(const std::vector< ::Ifc4::IfcTextureVertex >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +::Ifc4::IfcFace Ifc4::IfcTextureMap::MappedTo() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4::IfcFace>(); } void Ifc4::IfcTextureMap::setMappedTo(const ::Ifc4::IfcFace& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4::IfcTextureMap::Class() { return *((ifcopenshell::entity*)IFC4_types[1068]); } -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; } +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; } @@ -14053,7 +14053,7 @@ void Ifc4::IfcTimeSeries::setTimeSeriesDataType(const ::Ifc4::IfcTimeSeriesDataT void Ifc4::IfcTimeSeries::setDataOrigin(const ::Ifc4::IfcDataOriginEnum::Value& v) { set_attribute_value(5, enumeration_reference(&::Ifc4::IfcDataOriginEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } std::optional< std::string > Ifc4::IfcTimeSeries::UserDefinedDataOrigin() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4::IfcTimeSeries::setUserDefinedDataOrigin(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4::IfcUnit Ifc4::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return ::Ifc4::IfcUnit{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4::IfcUnit>(); } +::Ifc4::IfcUnit Ifc4::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return ::Ifc4::IfcUnit{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4::IfcUnit>(); } void Ifc4::IfcTimeSeries::setUnit(const ::Ifc4::IfcUnit& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcTimeSeries::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[380], 3)); } @@ -14062,12 +14062,12 @@ const ifcopenshell::entity& Ifc4::IfcTimeSeries::Class() { return *((ifcopenshel 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); } -void Ifc4::IfcTimeSeriesValue::setListValues(const std::vector< ::Ifc4::IfcValue >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4::IfcValue > Ifc4::IfcTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcValue>(es); } +void Ifc4::IfcTimeSeriesValue::setListValues(const std::vector< ::Ifc4::IfcValue >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4::IfcTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4_types[1083]); } -Ifc4::IfcTimeSeriesValue Ifc4::IfcTimeSeriesValue::initialize(std::vector< ::Ifc4::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues));; return *this; } +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 @@ -14079,7 +14079,7 @@ Ifc4::IfcTopologicalRepresentationItem Ifc4::IfcTopologicalRepresentationItem::i const ifcopenshell::entity& Ifc4::IfcTopologyRepresentation::Class() { return *((ifcopenshell::entity*)IFC4_types[1086]); } -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; } +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; } @@ -14105,7 +14105,7 @@ void Ifc4::IfcTransformerType::setPredefinedType(const ::Ifc4::IfcTransformerTyp const ifcopenshell::entity& Ifc4::IfcTransformerType::Class() { return *((ifcopenshell::entity*)IFC4_types[1090]); } -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; } +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)); } @@ -14121,7 +14121,7 @@ void Ifc4::IfcTransportElementType::setPredefinedType(const ::Ifc4::IfcTransport const ifcopenshell::entity& Ifc4::IfcTransportElementType::Class() { return *((ifcopenshell::entity*)IFC4_types[1095]); } -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; } +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; } @@ -14152,12 +14152,12 @@ const ifcopenshell::entity& Ifc4::IfcTriangulatedFaceSet::Class() { return *((if 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< int64_t > > v4_CoordIndex, std::optional< std::vector< int64_t > /*[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>(); } +::Ifc4::IfcCurve Ifc4::IfcTrimmedCurve::BasisCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcCurve>(); } void Ifc4::IfcTrimmedCurve::setBasisCurve(const ::Ifc4::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4::IfcTrimmingSelect > Ifc4::IfcTrimmedCurve::Trim1() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcTrimmingSelect>(es); } -void Ifc4::IfcTrimmedCurve::setTrim1(const std::vector< ::Ifc4::IfcTrimmingSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4::IfcTrimmingSelect > Ifc4::IfcTrimmedCurve::Trim2() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcTrimmingSelect>(es); } -void Ifc4::IfcTrimmedCurve::setTrim2(const std::vector< ::Ifc4::IfcTrimmingSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4::IfcTrimmingSelect > Ifc4::IfcTrimmedCurve::Trim1() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcTrimmingSelect>(es); } +void Ifc4::IfcTrimmedCurve::setTrim1(const std::vector< ::Ifc4::IfcTrimmingSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4::IfcTrimmingSelect > Ifc4::IfcTrimmedCurve::Trim2() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcTrimmingSelect>(es); } +void Ifc4::IfcTrimmedCurve::setTrim2(const std::vector< ::Ifc4::IfcTrimmingSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } bool Ifc4::IfcTrimmedCurve::SenseAgreement() const { bool v = get_attribute_value(3); return v; } void Ifc4::IfcTrimmedCurve::setSenseAgreement(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } ::Ifc4::IfcTrimmingPreference::Value Ifc4::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4::IfcTrimmingPreference::FromString(get_attribute_value(4)); } @@ -14165,7 +14165,7 @@ void Ifc4::IfcTrimmedCurve::setMasterRepresentation(const ::Ifc4::IfcTrimmingPre const ifcopenshell::entity& Ifc4::IfcTrimmedCurve::Class() { return *((ifcopenshell::entity*)IFC4_types[1099]); } -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; } +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)); } @@ -14181,18 +14181,18 @@ void Ifc4::IfcTubeBundleType::setPredefinedType(const ::Ifc4::IfcTubeBundleTypeE const ifcopenshell::entity& Ifc4::IfcTubeBundleType::Class() { return *((ifcopenshell::entity*)IFC4_types[1104]); } -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; } +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; } void Ifc4::IfcTypeObject::setApplicableOccurrence(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > Ifc4::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(5); return cast_vector<::Ifc4::IfcPropertySetDefinition>(es); } -void Ifc4::IfcTypeObject::setHasPropertySets(const std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > >& v) { if (v) {set_attribute_value(5, cast_vector(*v));} else {unset_attribute_value(5);} } +std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > Ifc4::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(5); return cast_vector<::Ifc4::IfcPropertySetDefinition>(es); } +void Ifc4::IfcTypeObject::setHasPropertySets(const std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > >& v) { if (v) {set_attribute_value(5, cast_vector(*v));} else {unset_attribute_value(5);} } 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]); } -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; } +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,18 +14205,18 @@ 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]); } -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; } +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); } -void Ifc4::IfcTypeProduct::setRepresentationMaps(const std::optional< std::vector< ::Ifc4::IfcRepresentationMap > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +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); } +void Ifc4::IfcTypeProduct::setRepresentationMaps(const std::optional< std::vector< ::Ifc4::IfcRepresentationMap > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } std::optional< std::string > Ifc4::IfcTypeProduct::Tag() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4::IfcTypeProduct::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } 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]); } -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; } +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]); } -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; } +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; } @@ -14252,12 +14252,12 @@ const ifcopenshell::entity& Ifc4::IfcUShapeProfileDef::Class() { return *((ifcop 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); } -void Ifc4::IfcUnitAssignment::setUnits(const std::vector< ::Ifc4::IfcUnit >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4::IfcUnit > Ifc4::IfcUnitAssignment::Units() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcUnit>(es); } +void Ifc4::IfcUnitAssignment::setUnits(const std::vector< ::Ifc4::IfcUnit >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4::IfcUnitAssignment::Class() { return *((ifcopenshell::entity*)IFC4_types[1117]); } -Ifc4::IfcUnitAssignment Ifc4::IfcUnitAssignment::initialize(std::vector< ::Ifc4::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units));; return *this; } +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)); } @@ -14273,7 +14273,7 @@ void Ifc4::IfcUnitaryControlElementType::setPredefinedType(const ::Ifc4::IfcUnit const ifcopenshell::entity& Ifc4::IfcUnitaryControlElementType::Class() { return *((ifcopenshell::entity*)IFC4_types[1112]); } -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; } +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)); } @@ -14289,7 +14289,7 @@ void Ifc4::IfcUnitaryEquipmentType::setPredefinedType(const ::Ifc4::IfcUnitaryEq const ifcopenshell::entity& Ifc4::IfcUnitaryEquipmentType::Class() { return *((ifcopenshell::entity*)IFC4_types[1115]); } -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; } +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)); } @@ -14305,10 +14305,10 @@ void Ifc4::IfcValveType::setPredefinedType(const ::Ifc4::IfcValveTypeEnum::Value const ifcopenshell::entity& Ifc4::IfcValveType::Class() { return *((ifcopenshell::entity*)IFC4_types[1123]); } -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; } +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>(); } +::Ifc4::IfcDirection Ifc4::IfcVector::Orientation() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcDirection>(); } void Ifc4::IfcVector::setOrientation(const ::Ifc4::IfcDirection& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4::IfcVector::Magnitude() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcVector::setMagnitude(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -14324,7 +14324,7 @@ const ifcopenshell::entity& Ifc4::IfcVertex::Class() { return *((ifcopenshell::e 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>(); } +::Ifc4::IfcVertex Ifc4::IfcVertexLoop::LoopVertex() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcVertex>(); } void Ifc4::IfcVertexLoop::setLoopVertex(const ::Ifc4::IfcVertex& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -14332,7 +14332,7 @@ const ifcopenshell::entity& Ifc4::IfcVertexLoop::Class() { return *((ifcopenshel 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>(); } +::Ifc4::IfcPoint Ifc4::IfcVertexPoint::VertexGeometry() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4::IfcPoint>(); } void Ifc4::IfcVertexPoint::setVertexGeometry(const ::Ifc4::IfcPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -14353,7 +14353,7 @@ void Ifc4::IfcVibrationIsolatorType::setPredefinedType(const ::Ifc4::IfcVibratio const ifcopenshell::entity& Ifc4::IfcVibrationIsolatorType::Class() { return *((ifcopenshell::entity*)IFC4_types[1132]); } -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; } +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 @@ -14362,14 +14362,14 @@ const ifcopenshell::entity& Ifc4::IfcVirtualElement::Class() { return *((ifcopen 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); } -void Ifc4::IfcVirtualGridIntersection::setIntersectingAxes(const std::vector< ::Ifc4::IfcGridAxis >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4::IfcGridAxis > Ifc4::IfcVirtualGridIntersection::IntersectingAxes() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcGridAxis>(es); } +void Ifc4::IfcVirtualGridIntersection::setIntersectingAxes(const std::vector< ::Ifc4::IfcGridAxis >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } std::vector< double > /*[2:3]*/ Ifc4::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc4::IfcVirtualGridIntersection::setOffsetDistances(const std::vector< double > /*[2:3]*/& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4::IfcVirtualGridIntersection::Class() { return *((ifcopenshell::entity*)IFC4_types[1135]); } -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; } +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)); } @@ -14405,7 +14405,7 @@ void Ifc4::IfcWallType::setPredefinedType(const ::Ifc4::IfcWallTypeEnum::Value& const ifcopenshell::entity& Ifc4::IfcWallType::Class() { return *((ifcopenshell::entity*)IFC4_types[1143]); } -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; } +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)); } @@ -14421,7 +14421,7 @@ void Ifc4::IfcWasteTerminalType::setPredefinedType(const ::Ifc4::IfcWasteTermina const ifcopenshell::entity& Ifc4::IfcWasteTerminalType::Class() { return *((ifcopenshell::entity*)IFC4_types[1149]); } -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; } +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; } @@ -14456,7 +14456,7 @@ std::optional< double > Ifc4::IfcWindowLiningProperties::FirstMullionOffset() co void Ifc4::IfcWindowLiningProperties::setFirstMullionOffset(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } std::optional< double > Ifc4::IfcWindowLiningProperties::SecondMullionOffset() const { if(get_attribute_value(11).isNull()) { return std::nullopt; } double v = get_attribute_value(11); return v; } void Ifc4::IfcWindowLiningProperties::setSecondMullionOffset(const std::optional< double >& v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -::Ifc4::IfcShapeAspect Ifc4::IfcWindowLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(12).isNull()) { return ::Ifc4::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(12))).as<::Ifc4::IfcShapeAspect>(); } +::Ifc4::IfcShapeAspect Ifc4::IfcWindowLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(12).isNull()) { return ::Ifc4::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(12))).as<::Ifc4::IfcShapeAspect>(); } void Ifc4::IfcWindowLiningProperties::setShapeAspectStyle(const ::Ifc4::IfcShapeAspect& v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } std::optional< double > Ifc4::IfcWindowLiningProperties::LiningOffset() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } double v = get_attribute_value(13); return v; } void Ifc4::IfcWindowLiningProperties::setLiningOffset(const std::optional< double >& v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } @@ -14478,7 +14478,7 @@ std::optional< double > Ifc4::IfcWindowPanelProperties::FrameDepth() const { if( void Ifc4::IfcWindowPanelProperties::setFrameDepth(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } std::optional< double > Ifc4::IfcWindowPanelProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } void Ifc4::IfcWindowPanelProperties::setFrameThickness(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4::IfcShapeAspect Ifc4::IfcWindowPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4::IfcShapeAspect>(); } +::Ifc4::IfcShapeAspect Ifc4::IfcWindowPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4::IfcShapeAspect>(); } void Ifc4::IfcWindowPanelProperties::setShapeAspectStyle(const ::Ifc4::IfcShapeAspect& v) { set_attribute_value(8, v);if constexpr (false)unset_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]); } -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; } +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,25 +14517,25 @@ void Ifc4::IfcWindowType::setUserDefinedPartitioningType(const std::optional< st const ifcopenshell::entity& Ifc4::IfcWindowType::Class() { return *((ifcopenshell::entity*)IFC4_types[1160]); } -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; } +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); } -void Ifc4::IfcWorkCalendar::setWorkingTimes(const std::optional< std::vector< ::Ifc4::IfcWorkTime > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4::IfcWorkTime > > Ifc4::IfcWorkCalendar::ExceptionTimes() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4::IfcWorkTime>(es); } -void Ifc4::IfcWorkCalendar::setExceptionTimes(const std::optional< std::vector< ::Ifc4::IfcWorkTime > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +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); } +void Ifc4::IfcWorkCalendar::setWorkingTimes(const std::optional< std::vector< ::Ifc4::IfcWorkTime > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +std::optional< std::vector< ::Ifc4::IfcWorkTime > > Ifc4::IfcWorkCalendar::ExceptionTimes() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4::IfcWorkTime>(es); } +void Ifc4::IfcWorkCalendar::setExceptionTimes(const std::optional< std::vector< ::Ifc4::IfcWorkTime > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< ::Ifc4::IfcWorkCalendarTypeEnum::Value > Ifc4::IfcWorkCalendar::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcWorkCalendarTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcWorkCalendar::setPredefinedType(const std::optional< ::Ifc4::IfcWorkCalendarTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4::IfcWorkCalendarTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const ifcopenshell::entity& Ifc4::IfcWorkCalendar::Class() { return *((ifcopenshell::entity*)IFC4_types[1163]); } -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; } +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; } void Ifc4::IfcWorkControl::setCreationDate(const std::string& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::optional< std::vector< ::Ifc4::IfcPerson > > Ifc4::IfcWorkControl::Creators() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4::IfcPerson>(es); } -void Ifc4::IfcWorkControl::setCreators(const std::optional< std::vector< ::Ifc4::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4::IfcPerson > > Ifc4::IfcWorkControl::Creators() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4::IfcPerson>(es); } +void Ifc4::IfcWorkControl::setCreators(const std::optional< std::vector< ::Ifc4::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< std::string > Ifc4::IfcWorkControl::Purpose() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4::IfcWorkControl::setPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } std::optional< std::string > Ifc4::IfcWorkControl::Duration() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::string v = get_attribute_value(9); 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]); } -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; } +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]); } -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; } +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,10 +14565,10 @@ void Ifc4::IfcWorkSchedule::setPredefinedType(const std::optional< ::Ifc4::IfcWo const ifcopenshell::entity& Ifc4::IfcWorkSchedule::Class() { return *((ifcopenshell::entity*)IFC4_types[1168]); } -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; } +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>(); } +::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>(); } void Ifc4::IfcWorkTime::setRecurrencePattern(const ::Ifc4::IfcRecurrencePattern& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4::IfcWorkTime::Start() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcWorkTime::setStart(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } diff --git a/src/ifcparse/schemas/Ifc4.h b/src/ifcparse/schemas/Ifc4.h index a4de34638c..b87153cb26 100644 --- a/src/ifcparse/schemas/Ifc4.h +++ b/src/ifcparse/schemas/Ifc4.h @@ -19,7 +19,7 @@ /******************************************************************************** * * - * This file has been generated from IFC4.exp. Do not make modifications * + * This file has been generated from IFC4_ADD2_TC1.exp. Do not make modifications* * but instead modify the python script that has been used to generate this. * * * ********************************************************************************/ @@ -65,28 +65,28 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcOrganization An organization. /// IfcPerson A person. /// IfcPersonAndOrganization A person related to an organization. -class IFC_SCHEMA_API IfcActorSelect : public express::Select { +class IFC_SCHEMA_API IfcActorSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOrganization as() const { return express::Base::as(); } + // IfcOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPerson as() const { return express::Base::as(); } + // IfcPerson as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPersonAndOrganization as() const { return express::Base::as(); } + // IfcPersonAndOrganization as() const { return express::base::as(); } - IfcActorSelect(const IfcOrganization& c) : express::Select(c) {}; + IfcActorSelect(const IfcOrganization& c) : express::select(c) {}; - IfcActorSelect(const IfcPerson& c) : express::Select(c) {}; + IfcActorSelect(const IfcPerson& c) : express::select(c) {}; - IfcActorSelect(const IfcPersonAndOrganization& c) : express::Select(c) {}; + IfcActorSelect(const IfcPersonAndOrganization& c) : express::select(c) {}; }; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. @@ -103,694 +103,694 @@ public: /// Selecting IfcMeasureWithUnit allows the specification of both the actual figure for the value together with the currency in which the value is represented. /// Selecting IfcMonetaryMeasure allows the specification only of the value, the currency being as set by the global context /// 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_SCHEMA_API IfcAppliedValueSelect : public express::Select { +class IFC_SCHEMA_API IfcAppliedValueSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureWithUnit as() const { return express::Base::as(); } + // IfcMeasureWithUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReference as() const { return express::Base::as(); } + // IfcReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcValue as() const { return express::Base::as(); } + // IfcValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedMeasureValue as() const { return express::Base::as(); } + // IfcDerivedMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureValue as() const { return express::Base::as(); } + // IfcMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSimpleValue as() const { return express::Base::as(); } + // IfcSimpleValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } - IfcAppliedValueSelect(const IfcMeasureWithUnit& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMeasureWithUnit& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcReference& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcReference& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDerivedMeasureValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDerivedMeasureValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcForceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcForceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPHMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPHMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPowerMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPressureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcWarpingMomentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMeasureValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMeasureValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAreaMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcComplexNumber& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcComplexNumber& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcCountMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcCountMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcNumericMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcParameterValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcParameterValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRatioMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTimeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcVolumeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSimpleValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSimpleValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcBinary& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcBinary& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcBoolean& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDate& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDate& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDateTime& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDateTime& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDuration& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDuration& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIdentifier& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIdentifier& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcInteger& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcInteger& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLabel& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLabel& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLogical& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLogical& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositiveInteger& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcReal& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcReal& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcText& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcText& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTime& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTime& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTimeStamp& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTimeStamp& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. @@ -798,43 +798,43 @@ public: /// NOTE: Corresponding STEP type: axis2_placement, please refer to ISO/IS 10303-42:1994, p. 19 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 1.5 -class IFC_SCHEMA_API IfcAxis2Placement : public express::Select { +class IFC_SCHEMA_API IfcAxis2Placement : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAxis2Placement2D as() const { return express::Base::as(); } + // IfcAxis2Placement2D as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAxis2Placement3D as() const { return express::Base::as(); } + // IfcAxis2Placement3D as() const { return express::base::as(); } - IfcAxis2Placement(const IfcAxis2Placement2D& c) : express::Select(c) {}; + IfcAxis2Placement(const IfcAxis2Placement2D& c) : express::select(c) {}; - IfcAxis2Placement(const IfcAxis2Placement3D& c) : express::Select(c) {}; + IfcAxis2Placement(const IfcAxis2Placement3D& c) : express::select(c) {}; }; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// /// HISTORY New type in IFC Release 2x4 -class IFC_SCHEMA_API IfcBendingParameterSelect : public express::Select { +class IFC_SCHEMA_API IfcBendingParameterSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } - IfcBendingParameterSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcBendingParameterSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcBendingParameterSelect(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcBendingParameterSelect(const IfcPlaneAngleMeasure& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies @@ -853,40 +853,40 @@ public: /// (IfcSolidModel) are defined for being valid Boolean operands. /// /// HISTORY: New Type in IFC Release 1.5.1 -class IFC_SCHEMA_API IfcBooleanOperand : public express::Select { +class IFC_SCHEMA_API IfcBooleanOperand : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBooleanResult as() const { return express::Base::as(); } + // IfcBooleanResult as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCsgPrimitive3D as() const { return express::Base::as(); } + // IfcCsgPrimitive3D as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHalfSpaceSolid as() const { return express::Base::as(); } + // IfcHalfSpaceSolid as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidModel as() const { return express::Base::as(); } + // IfcSolidModel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTessellatedFaceSet as() const { return express::Base::as(); } + // IfcTessellatedFaceSet as() const { return express::base::as(); } - IfcBooleanOperand(const IfcBooleanResult& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcBooleanResult& c) : express::select(c) {}; - IfcBooleanOperand(const IfcCsgPrimitive3D& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcCsgPrimitive3D& c) : express::select(c) {}; - IfcBooleanOperand(const IfcHalfSpaceSolid& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcHalfSpaceSolid& c) : express::select(c) {}; - IfcBooleanOperand(const IfcSolidModel& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcSolidModel& c) : express::select(c) {}; - IfcBooleanOperand(const IfcTessellatedFaceSet& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcTessellatedFaceSet& c) : express::select(c) {}; }; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. @@ -897,22 +897,22 @@ public: /// /// IfcClassification (for classification information) /// IfcClassificationReference (for reference into a classification source) -class IFC_SCHEMA_API IfcClassificationReferenceSelect : public express::Select { +class IFC_SCHEMA_API IfcClassificationReferenceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassification as() const { return express::Base::as(); } + // IfcClassification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassificationReference as() const { return express::Base::as(); } + // IfcClassificationReference as() const { return express::base::as(); } - IfcClassificationReferenceSelect(const IfcClassification& c) : express::Select(c) {}; + IfcClassificationReferenceSelect(const IfcClassification& c) : express::select(c) {}; - IfcClassificationReferenceSelect(const IfcClassificationReference& c) : express::Select(c) {}; + IfcClassificationReferenceSelect(const IfcClassificationReference& c) : express::select(c) {}; }; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. @@ -928,22 +928,22 @@ public: /// /// IfcClassification (for referencing a classification system) /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) -class IFC_SCHEMA_API IfcClassificationSelect : public express::Select { +class IFC_SCHEMA_API IfcClassificationSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassification as() const { return express::Base::as(); } + // IfcClassification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassificationReference as() const { return express::Base::as(); } + // IfcClassificationReference as() const { return express::base::as(); } - IfcClassificationSelect(const IfcClassification& c) : express::Select(c) {}; + IfcClassificationSelect(const IfcClassification& c) : express::select(c) {}; - IfcClassificationSelect(const IfcClassificationReference& c) : express::Select(c) {}; + IfcClassificationSelect(const IfcClassificationReference& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. @@ -951,64 +951,64 @@ public: /// NOTE  Corresponding STEP name: colour. It has been made into a SELECT type in IFC to avoid multiple inheritance for pre defined colour. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_SCHEMA_API IfcColour : public express::Select { +class IFC_SCHEMA_API IfcColour : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColourSpecification as() const { return express::Base::as(); } + // IfcColourSpecification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedColour as() const { return express::Base::as(); } + // IfcPreDefinedColour as() const { return express::base::as(); } - IfcColour(const IfcColourSpecification& c) : express::Select(c) {}; + IfcColour(const IfcColourSpecification& c) : express::select(c) {}; - IfcColour(const IfcPreDefinedColour& c) : express::Select(c) {}; + IfcColour(const IfcPreDefinedColour& c) : express::select(c) {}; }; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcColourOrFactor : public express::Select { +class IFC_SCHEMA_API IfcColourOrFactor : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColourRgb as() const { return express::Base::as(); } + // IfcColourRgb as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } - IfcColourOrFactor(const IfcColourRgb& c) : express::Select(c) {}; + IfcColourOrFactor(const IfcColourRgb& c) : express::select(c) {}; - IfcColourOrFactor(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcColourOrFactor(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; }; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// /// HISTORY  New select type in IFC2x4. -class IFC_SCHEMA_API IfcCoordinateReferenceSystemSelect : public express::Select { +class IFC_SCHEMA_API IfcCoordinateReferenceSystemSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCoordinateReferenceSystem as() const { return express::Base::as(); } + // IfcCoordinateReferenceSystem as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcGeometricRepresentationContext as() const { return express::Base::as(); } + // IfcGeometricRepresentationContext as() const { return express::base::as(); } - IfcCoordinateReferenceSystemSelect(const IfcCoordinateReferenceSystem& c) : express::Select(c) {}; + IfcCoordinateReferenceSystemSelect(const IfcCoordinateReferenceSystem& c) : express::select(c) {}; - IfcCoordinateReferenceSystemSelect(const IfcGeometricRepresentationContext& c) : express::Select(c) {}; + IfcCoordinateReferenceSystemSelect(const IfcGeometricRepresentationContext& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. @@ -1017,22 +1017,22 @@ public: /// NOTE Corresponding ISO 10303-42 type: csg_select, please refer to ISO/IS 10303-42:1994, p.168 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcCsgSelect : public express::Select { +class IFC_SCHEMA_API IfcCsgSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBooleanResult as() const { return express::Base::as(); } + // IfcBooleanResult as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCsgPrimitive3D as() const { return express::Base::as(); } + // IfcCsgPrimitive3D as() const { return express::base::as(); } - IfcCsgSelect(const IfcBooleanResult& c) : express::Select(c) {}; + IfcCsgSelect(const IfcBooleanResult& c) : express::select(c) {}; - IfcCsgSelect(const IfcCsgPrimitive3D& c) : express::Select(c) {}; + IfcCsgSelect(const IfcCsgPrimitive3D& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. @@ -1040,59 +1040,59 @@ public: /// NOTE Corresponding ISO 10303 name: curve_font_or_scaled_curve_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_SCHEMA_API IfcCurveFontOrScaledCurveFontSelect : public express::Select { +class IFC_SCHEMA_API IfcCurveFontOrScaledCurveFontSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFontAndScaling as() const { return express::Base::as(); } + // IfcCurveStyleFontAndScaling as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFontSelect as() const { return express::Base::as(); } + // IfcCurveStyleFontSelect as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFont as() const { return express::Base::as(); } + // IfcCurveStyleFont as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedCurveFont as() const { return express::Base::as(); } + // IfcPreDefinedCurveFont as() const { return express::base::as(); } - IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontAndScaling& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontAndScaling& c) : express::select(c) {}; - IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontSelect& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontSelect& c) : express::select(c) {}; - IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFont& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFont& c) : express::select(c) {}; - IfcCurveFontOrScaledCurveFontSelect(const IfcPreDefinedCurveFont& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcPreDefinedCurveFont& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcCurveOnSurface : public express::Select { +class IFC_SCHEMA_API IfcCurveOnSurface : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompositeCurveOnSurface as() const { return express::Base::as(); } + // IfcCompositeCurveOnSurface as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPcurve as() const { return express::Base::as(); } + // IfcPcurve as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceCurve as() const { return express::Base::as(); } + // IfcSurfaceCurve as() const { return express::base::as(); } - IfcCurveOnSurface(const IfcCompositeCurveOnSurface& c) : express::Select(c) {}; + IfcCurveOnSurface(const IfcCompositeCurveOnSurface& c) : express::select(c) {}; - IfcCurveOnSurface(const IfcPcurve& c) : express::Select(c) {}; + IfcCurveOnSurface(const IfcPcurve& c) : express::select(c) {}; - IfcCurveOnSurface(const IfcSurfaceCurve& c) : express::Select(c) {}; + IfcCurveOnSurface(const IfcSurfaceCurve& c) : express::select(c) {}; }; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve @@ -1103,22 +1103,22 @@ public: /// IfcEdgeCurve /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_SCHEMA_API IfcCurveOrEdgeCurve : public express::Select { +class IFC_SCHEMA_API IfcCurveOrEdgeCurve : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoundedCurve as() const { return express::Base::as(); } + // IfcBoundedCurve as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEdgeCurve as() const { return express::Base::as(); } + // IfcEdgeCurve as() const { return express::base::as(); } - IfcCurveOrEdgeCurve(const IfcBoundedCurve& c) : express::Select(c) {}; + IfcCurveOrEdgeCurve(const IfcBoundedCurve& c) : express::select(c) {}; - IfcCurveOrEdgeCurve(const IfcEdgeCurve& c) : express::Select(c) {}; + IfcCurveOrEdgeCurve(const IfcEdgeCurve& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. @@ -1126,22 +1126,22 @@ public: /// NOTE Corresponding ISO 10303 name: curve_style_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_SCHEMA_API IfcCurveStyleFontSelect : public express::Select { +class IFC_SCHEMA_API IfcCurveStyleFontSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFont as() const { return express::Base::as(); } + // IfcCurveStyleFont as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedCurveFont as() const { return express::Base::as(); } + // IfcPreDefinedCurveFont as() const { return express::base::as(); } - IfcCurveStyleFontSelect(const IfcCurveStyleFont& c) : express::Select(c) {}; + IfcCurveStyleFontSelect(const IfcCurveStyleFont& c) : express::select(c) {}; - IfcCurveStyleFontSelect(const IfcPreDefinedCurveFont& c) : express::Select(c) {}; + IfcCurveStyleFontSelect(const IfcPreDefinedCurveFont& c) : express::select(c) {}; }; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. @@ -1151,22 +1151,22 @@ public: /// IfcPropertyDefinition /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcDefinitionSelect : public express::Select { +class IFC_SCHEMA_API IfcDefinitionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcObjectDefinition as() const { return express::Base::as(); } + // IfcObjectDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertyDefinition as() const { return express::Base::as(); } + // IfcPropertyDefinition as() const { return express::base::as(); } - IfcDefinitionSelect(const IfcObjectDefinition& c) : express::Select(c) {}; + IfcDefinitionSelect(const IfcObjectDefinition& c) : express::select(c) {}; - IfcDefinitionSelect(const IfcPropertyDefinition& c) : express::Select(c) {}; + IfcDefinitionSelect(const IfcPropertyDefinition& c) : express::select(c) {}; }; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. @@ -1243,436 +1243,436 @@ public: /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. -class IFC_SCHEMA_API IfcDerivedMeasureValue : public express::Select { +class IFC_SCHEMA_API IfcDerivedMeasureValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } - IfcDerivedMeasureValue(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcForceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcForceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPHMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPHMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPowerMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPressureMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcWarpingMomentMeasure& c) : express::select(c) {}; }; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. @@ -1683,22 +1683,22 @@ public: /// /// IfcDocumentInformation (for "metadata" of an external document) /// IfcDocumentReference (for reference within a document) -class IFC_SCHEMA_API IfcDocumentSelect : public express::Select { +class IFC_SCHEMA_API IfcDocumentSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDocumentInformation as() const { return express::Base::as(); } + // IfcDocumentInformation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDocumentReference as() const { return express::Base::as(); } + // IfcDocumentReference as() const { return express::base::as(); } - IfcDocumentSelect(const IfcDocumentInformation& c) : express::Select(c) {}; + IfcDocumentSelect(const IfcDocumentInformation& c) : express::select(c) {}; - IfcDocumentSelect(const IfcDocumentReference& c) : express::Select(c) {}; + IfcDocumentSelect(const IfcDocumentReference& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. @@ -1707,46 +1707,46 @@ public: /// the final definition of the formal standard. /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcFillStyleSelect : public express::Select { +class IFC_SCHEMA_API IfcFillStyleSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColour as() const { return express::Base::as(); } + // IfcColour as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColourSpecification as() const { return express::Base::as(); } + // IfcColourSpecification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedColour as() const { return express::Base::as(); } + // IfcPreDefinedColour as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternallyDefinedHatchStyle as() const { return express::Base::as(); } + // IfcExternallyDefinedHatchStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFillAreaStyleHatching as() const { return express::Base::as(); } + // IfcFillAreaStyleHatching as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFillAreaStyleTiles as() const { return express::Base::as(); } + // IfcFillAreaStyleTiles as() const { return express::base::as(); } - IfcFillStyleSelect(const IfcColour& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcColour& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcColourSpecification& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcColourSpecification& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcPreDefinedColour& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcPreDefinedColour& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcExternallyDefinedHatchStyle& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcExternallyDefinedHatchStyle& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcFillAreaStyleHatching& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcFillAreaStyleHatching& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcFillAreaStyleTiles& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcFillAreaStyleTiles& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. @@ -1754,28 +1754,28 @@ public: /// NOTE: Corresponding ISO 10303 type: geometric_set_select. Please refer to ISO/IS 10303-42:1994, p. 169 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 2x. -class IFC_SCHEMA_API IfcGeometricSetSelect : public express::Select { +class IFC_SCHEMA_API IfcGeometricSetSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurve as() const { return express::Base::as(); } + // IfcCurve as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPoint as() const { return express::Base::as(); } + // IfcPoint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurface as() const { return express::Base::as(); } + // IfcSurface as() const { return express::base::as(); } - IfcGeometricSetSelect(const IfcCurve& c) : express::Select(c) {}; + IfcGeometricSetSelect(const IfcCurve& c) : express::select(c) {}; - IfcGeometricSetSelect(const IfcPoint& c) : express::Select(c) {}; + IfcGeometricSetSelect(const IfcPoint& c) : express::select(c) {}; - IfcGeometricSetSelect(const IfcSurface& c) : express::Select(c) {}; + IfcGeometricSetSelect(const IfcSurface& c) : express::select(c) {}; }; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. @@ -1786,43 +1786,43 @@ public: /// IfcVirtualGridIntersection /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcGridPlacementDirectionSelect : public express::Select { +class IFC_SCHEMA_API IfcGridPlacementDirectionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDirection as() const { return express::Base::as(); } + // IfcDirection as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVirtualGridIntersection as() const { return express::Base::as(); } + // IfcVirtualGridIntersection as() const { return express::base::as(); } - IfcGridPlacementDirectionSelect(const IfcDirection& c) : express::Select(c) {}; + IfcGridPlacementDirectionSelect(const IfcDirection& c) : express::select(c) {}; - IfcGridPlacementDirectionSelect(const IfcVirtualGridIntersection& c) : express::Select(c) {}; + IfcGridPlacementDirectionSelect(const IfcVirtualGridIntersection& c) : express::select(c) {}; }; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcHatchLineDistanceSelect : public express::Select { +class IFC_SCHEMA_API IfcHatchLineDistanceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVector as() const { return express::Base::as(); } + // IfcVector as() const { return express::base::as(); } - IfcHatchLineDistanceSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcHatchLineDistanceSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcHatchLineDistanceSelect(const IfcVector& c) : express::Select(c) {}; + IfcHatchLineDistanceSelect(const IfcVector& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. @@ -1832,22 +1832,22 @@ public: /// NOTE: Corresponding ISO 10303 name: layered_item. It was called layered_things in the ISO/CD version and had been renamed to layered_item in the ISO/IS final version. Please refer to ISO/IS 10303-46:1994, p. 13 for the final definition of the formal standard. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcLayeredItem : public express::Select { +class IFC_SCHEMA_API IfcLayeredItem : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRepresentation as() const { return express::Base::as(); } + // IfcRepresentation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRepresentationItem as() const { return express::Base::as(); } + // IfcRepresentationItem as() const { return express::base::as(); } - IfcLayeredItem(const IfcRepresentation& c) : express::Select(c) {}; + IfcLayeredItem(const IfcRepresentation& c) : express::select(c) {}; - IfcLayeredItem(const IfcRepresentationItem& c) : express::Select(c) {}; + IfcLayeredItem(const IfcRepresentationItem& c) : express::select(c) {}; }; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. @@ -1860,22 +1860,22 @@ public: /// IfcLibraryReference (for reference into a library of information by location) /// /// 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_SCHEMA_API IfcLibrarySelect : public express::Select { +class IFC_SCHEMA_API IfcLibrarySelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLibraryInformation as() const { return express::Base::as(); } + // IfcLibraryInformation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLibraryReference as() const { return express::Base::as(); } + // IfcLibraryReference as() const { return express::base::as(); } - IfcLibrarySelect(const IfcLibraryInformation& c) : express::Select(c) {}; + IfcLibrarySelect(const IfcLibraryInformation& c) : express::select(c) {}; - IfcLibrarySelect(const IfcLibraryReference& c) : express::Select(c) {}; + IfcLibrarySelect(const IfcLibraryReference& c) : express::select(c) {}; }; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. @@ -1900,22 +1900,22 @@ public: /// directions covers all cases. /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcLightDistributionDataSourceSelect : public express::Select { +class IFC_SCHEMA_API IfcLightDistributionDataSourceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalReference as() const { return express::Base::as(); } + // IfcExternalReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLightIntensityDistribution as() const { return express::Base::as(); } + // IfcLightIntensityDistribution as() const { return express::base::as(); } - IfcLightDistributionDataSourceSelect(const IfcExternalReference& c) : express::Select(c) {}; + IfcLightDistributionDataSourceSelect(const IfcExternalReference& c) : express::select(c) {}; - IfcLightDistributionDataSourceSelect(const IfcLightIntensityDistribution& c) : express::Select(c) {}; + IfcLightDistributionDataSourceSelect(const IfcLightIntensityDistribution& c) : express::select(c) {}; }; /// IfcMaterialSelect provides selection of either a material @@ -1944,28 +1944,28 @@ public: /// /// IFC2x4 CHANGE The select now includes two new abstract entities IfcMaterialDefinition /// and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards. -class IFC_SCHEMA_API IfcMaterialSelect : public express::Select { +class IFC_SCHEMA_API IfcMaterialSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialDefinition as() const { return express::Base::as(); } + // IfcMaterialDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialList as() const { return express::Base::as(); } + // IfcMaterialList as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialUsageDefinition as() const { return express::Base::as(); } + // IfcMaterialUsageDefinition as() const { return express::base::as(); } - IfcMaterialSelect(const IfcMaterialDefinition& c) : express::Select(c) {}; + IfcMaterialSelect(const IfcMaterialDefinition& c) : express::select(c) {}; - IfcMaterialSelect(const IfcMaterialList& c) : express::Select(c) {}; + IfcMaterialSelect(const IfcMaterialList& c) : express::select(c) {}; - IfcMaterialSelect(const IfcMaterialUsageDefinition& c) : express::Select(c) {}; + IfcMaterialSelect(const IfcMaterialUsageDefinition& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). @@ -1977,148 +1977,148 @@ public: /// HISTORY New type in IFC Release 1.5.1. /// /// IFC 2x4 change: added IfcNonNegativeLengthMeasure -class IFC_SCHEMA_API IfcMeasureValue : public express::Select { +class IFC_SCHEMA_API IfcMeasureValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } - IfcMeasureValue(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcAreaMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcComplexNumber& c) : express::Select(c) {}; + IfcMeasureValue(const IfcComplexNumber& c) : express::select(c) {}; - IfcMeasureValue(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcCountMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcCountMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcLengthMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcMassMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcMassMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcNumericMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcParameterValue& c) : express::Select(c) {}; + IfcMeasureValue(const IfcParameterValue& c) : express::select(c) {}; - IfcMeasureValue(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcRatioMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcTimeMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcVolumeMeasure& c) : express::select(c) {}; }; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. @@ -2133,838 +2133,838 @@ public: /// IfcTable /// IfcText /// IfcTimeSeries -class IFC_SCHEMA_API IfcMetricValueSelect : public express::Select { +class IFC_SCHEMA_API IfcMetricValueSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAppliedValue as() const { return express::Base::as(); } + // IfcAppliedValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureWithUnit as() const { return express::Base::as(); } + // IfcMeasureWithUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReference as() const { return express::Base::as(); } + // IfcReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTable as() const { return express::Base::as(); } + // IfcTable as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeSeries as() const { return express::Base::as(); } + // IfcTimeSeries as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcValue as() const { return express::Base::as(); } + // IfcValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedMeasureValue as() const { return express::Base::as(); } + // IfcDerivedMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureValue as() const { return express::Base::as(); } + // IfcMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSimpleValue as() const { return express::Base::as(); } + // IfcSimpleValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } - IfcMetricValueSelect(const IfcAppliedValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAppliedValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMeasureWithUnit& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMeasureWithUnit& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcReference& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcReference& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTable& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTable& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTimeSeries& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTimeSeries& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDerivedMeasureValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDerivedMeasureValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcForceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcForceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPHMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPHMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPowerMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPressureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcWarpingMomentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMeasureValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMeasureValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAreaMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcComplexNumber& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcComplexNumber& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcCountMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcCountMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcNumericMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcParameterValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcParameterValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRatioMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTimeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcVolumeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSimpleValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSimpleValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcBinary& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcBinary& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcBoolean& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDate& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDate& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDateTime& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDateTime& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDuration& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDuration& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIdentifier& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIdentifier& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcInteger& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcInteger& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLabel& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLabel& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLogical& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLogical& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositiveInteger& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcReal& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcReal& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcText& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcText& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTime& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTime& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTimeStamp& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTimeStamp& c) : express::select(c) {}; }; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionSelect : public express::Select { +class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } - IfcModulusOfRotationalSubgradeReactionSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcModulusOfRotationalSubgradeReactionSelect(const IfcBoolean& c) : express::select(c) {}; - IfcModulusOfRotationalSubgradeReactionSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcModulusOfRotationalSubgradeReactionSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; }; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcModulusOfSubgradeReactionSelect : public express::Select { +class IFC_SCHEMA_API IfcModulusOfSubgradeReactionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } - IfcModulusOfSubgradeReactionSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcModulusOfSubgradeReactionSelect(const IfcBoolean& c) : express::select(c) {}; - IfcModulusOfSubgradeReactionSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcModulusOfSubgradeReactionSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; }; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcModulusOfTranslationalSubgradeReactionSelect : public express::Select { +class IFC_SCHEMA_API IfcModulusOfTranslationalSubgradeReactionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } - IfcModulusOfTranslationalSubgradeReactionSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcModulusOfTranslationalSubgradeReactionSelect(const IfcBoolean& c) : express::select(c) {}; - IfcModulusOfTranslationalSubgradeReactionSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcModulusOfTranslationalSubgradeReactionSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; }; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// /// HISTORY  New select type in IFC Release 2.0. -class IFC_SCHEMA_API IfcObjectReferenceSelect : public express::Select { +class IFC_SCHEMA_API IfcObjectReferenceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAddress as() const { return express::Base::as(); } + // IfcAddress as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAppliedValue as() const { return express::Base::as(); } + // IfcAppliedValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalReference as() const { return express::Base::as(); } + // IfcExternalReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialDefinition as() const { return express::Base::as(); } + // IfcMaterialDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOrganization as() const { return express::Base::as(); } + // IfcOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPerson as() const { return express::Base::as(); } + // IfcPerson as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPersonAndOrganization as() const { return express::Base::as(); } + // IfcPersonAndOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTable as() const { return express::Base::as(); } + // IfcTable as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeSeries as() const { return express::Base::as(); } + // IfcTimeSeries as() const { return express::base::as(); } - IfcObjectReferenceSelect(const IfcAddress& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcAddress& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcAppliedValue& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcAppliedValue& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcExternalReference& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcExternalReference& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcMaterialDefinition& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcMaterialDefinition& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcOrganization& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcOrganization& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcPerson& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcPerson& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcPersonAndOrganization& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcPersonAndOrganization& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcTable& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcTable& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcTimeSeries& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcTimeSeries& c) : express::select(c) {}; }; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. @@ -2974,22 +2974,22 @@ public: /// IfcVertexPoint /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_SCHEMA_API IfcPointOrVertexPoint : public express::Select { +class IFC_SCHEMA_API IfcPointOrVertexPoint : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPoint as() const { return express::Base::as(); } + // IfcPoint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVertexPoint as() const { return express::Base::as(); } + // IfcVertexPoint as() const { return express::base::as(); } - IfcPointOrVertexPoint(const IfcPoint& c) : express::Select(c) {}; + IfcPointOrVertexPoint(const IfcPoint& c) : express::select(c) {}; - IfcPointOrVertexPoint(const IfcVertexPoint& c) : express::Select(c) {}; + IfcPointOrVertexPoint(const IfcVertexPoint& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The presentation style select is a selection of one of many kinds of styles, a different one for each kind of geometric representation item to be styled. @@ -3000,40 +3000,40 @@ public: /// HISTORY New type in IFC2x2. /// /// IFC2x4 CHANGE The select type has been deprecated. -class IFC_SCHEMA_API IfcPresentationStyleSelect : public express::Select { +class IFC_SCHEMA_API IfcPresentationStyleSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyle as() const { return express::Base::as(); } + // IfcCurveStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFillAreaStyle as() const { return express::Base::as(); } + // IfcFillAreaStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNullStyle as() const { return express::Base::as(); } + // IfcNullStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyle as() const { return express::Base::as(); } + // IfcSurfaceStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTextStyle as() const { return express::Base::as(); } + // IfcTextStyle as() const { return express::base::as(); } - IfcPresentationStyleSelect(const IfcCurveStyle& c) : express::Select(c) {}; + IfcPresentationStyleSelect(const IfcCurveStyle& c) : express::select(c) {}; - IfcPresentationStyleSelect(const IfcFillAreaStyle& c) : express::Select(c) {}; + IfcPresentationStyleSelect(const IfcFillAreaStyle& c) : express::select(c) {}; - IfcPresentationStyleSelect(const IfcNullStyle& c) : express::Select(c) {}; + IfcPresentationStyleSelect(const IfcNullStyle& c) : express::select(c) {}; - IfcPresentationStyleSelect(const IfcSurfaceStyle& c) : express::Select(c) {}; + IfcPresentationStyleSelect(const IfcSurfaceStyle& c) : express::select(c) {}; - IfcPresentationStyleSelect(const IfcTextStyle& c) : express::Select(c) {}; + IfcPresentationStyleSelect(const IfcTextStyle& c) : express::select(c) {}; }; /// IfcProcessSelectprovides the option to either @@ -3046,41 +3046,41 @@ public: /// IfcTypeProcess /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcProcessSelect : public express::Select { +class IFC_SCHEMA_API IfcProcessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProcess as() const { return express::Base::as(); } + // IfcProcess as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTypeProcess as() const { return express::Base::as(); } + // IfcTypeProcess as() const { return express::base::as(); } - IfcProcessSelect(const IfcProcess& c) : express::Select(c) {}; + IfcProcessSelect(const IfcProcess& c) : express::select(c) {}; - IfcProcessSelect(const IfcTypeProcess& c) : express::Select(c) {}; + IfcProcessSelect(const IfcTypeProcess& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcProductRepresentationSelect : public express::Select { +class IFC_SCHEMA_API IfcProductRepresentationSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProductDefinitionShape as() const { return express::Base::as(); } + // IfcProductDefinitionShape as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRepresentationMap as() const { return express::Base::as(); } + // IfcRepresentationMap as() const { return express::base::as(); } - IfcProductRepresentationSelect(const IfcProductDefinitionShape& c) : express::Select(c) {}; + IfcProductRepresentationSelect(const IfcProductDefinitionShape& c) : express::select(c) {}; - IfcProductRepresentationSelect(const IfcRepresentationMap& c) : express::Select(c) {}; + IfcProductRepresentationSelect(const IfcRepresentationMap& c) : express::select(c) {}; }; /// IfcProductSelectprovides the option to either select a @@ -3092,146 +3092,146 @@ public: /// IfcTypeProduct /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcProductSelect : public express::Select { +class IFC_SCHEMA_API IfcProductSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProduct as() const { return express::Base::as(); } + // IfcProduct as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTypeProduct as() const { return express::Base::as(); } + // IfcTypeProduct as() const { return express::base::as(); } - IfcProductSelect(const IfcProduct& c) : express::Select(c) {}; + IfcProductSelect(const IfcProduct& c) : express::select(c) {}; - IfcProductSelect(const IfcTypeProduct& c) : express::Select(c) {}; + IfcProductSelect(const IfcTypeProduct& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcPropertySetDefinitionSelect : public express::Select { +class IFC_SCHEMA_API IfcPropertySetDefinitionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertySetDefinition as() const { return express::Base::as(); } + // IfcPropertySetDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertySetDefinitionSet as() const { return express::Base::as(); } + // IfcPropertySetDefinitionSet as() const { return express::base::as(); } - IfcPropertySetDefinitionSelect(const IfcPropertySetDefinition& c) : express::Select(c) {}; + IfcPropertySetDefinitionSelect(const IfcPropertySetDefinition& c) : express::select(c) {}; - IfcPropertySetDefinitionSelect(const IfcPropertySetDefinitionSet& c) : express::Select(c) {}; + IfcPropertySetDefinitionSelect(const IfcPropertySetDefinitionSet& c) : express::select(c) {}; }; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// /// HISTORY  New Select type in IFC2x4. -class IFC_SCHEMA_API IfcResourceObjectSelect : public express::Select { +class IFC_SCHEMA_API IfcResourceObjectSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcActorRole as() const { return express::Base::as(); } + // IfcActorRole as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAppliedValue as() const { return express::Base::as(); } + // IfcAppliedValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcApproval as() const { return express::Base::as(); } + // IfcApproval as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcConstraint as() const { return express::Base::as(); } + // IfcConstraint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentUnit as() const { return express::Base::as(); } + // IfcContextDependentUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcConversionBasedUnit as() const { return express::Base::as(); } + // IfcConversionBasedUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalInformation as() const { return express::Base::as(); } + // IfcExternalInformation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalReference as() const { return express::Base::as(); } + // IfcExternalReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialDefinition as() const { return express::Base::as(); } + // IfcMaterialDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOrganization as() const { return express::Base::as(); } + // IfcOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPerson as() const { return express::Base::as(); } + // IfcPerson as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPersonAndOrganization as() const { return express::Base::as(); } + // IfcPersonAndOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPhysicalQuantity as() const { return express::Base::as(); } + // IfcPhysicalQuantity as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProfileDef as() const { return express::Base::as(); } + // IfcProfileDef as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertyAbstraction as() const { return express::Base::as(); } + // IfcPropertyAbstraction as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeSeries as() const { return express::Base::as(); } + // IfcTimeSeries as() const { return express::base::as(); } - IfcResourceObjectSelect(const IfcActorRole& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcActorRole& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcAppliedValue& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcAppliedValue& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcApproval& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcApproval& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcConstraint& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcConstraint& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcContextDependentUnit& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcContextDependentUnit& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcConversionBasedUnit& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcConversionBasedUnit& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcExternalInformation& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcExternalInformation& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcExternalReference& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcExternalReference& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcMaterialDefinition& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcMaterialDefinition& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcOrganization& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcOrganization& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPerson& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPerson& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPersonAndOrganization& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPersonAndOrganization& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPhysicalQuantity& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPhysicalQuantity& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcProfileDef& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcProfileDef& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPropertyAbstraction& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPropertyAbstraction& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcTimeSeries& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcTimeSeries& c) : express::select(c) {}; }; /// IfcResourceSelectprovides the option to either select a @@ -3243,62 +3243,62 @@ public: /// IfcTypeResource /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcResourceSelect : public express::Select { +class IFC_SCHEMA_API IfcResourceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcResource as() const { return express::Base::as(); } + // IfcResource as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTypeResource as() const { return express::Base::as(); } + // IfcTypeResource as() const { return express::base::as(); } - IfcResourceSelect(const IfcResource& c) : express::Select(c) {}; + IfcResourceSelect(const IfcResource& c) : express::select(c) {}; - IfcResourceSelect(const IfcTypeResource& c) : express::Select(c) {}; + IfcResourceSelect(const IfcTypeResource& c) : express::select(c) {}; }; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcRotationalStiffnessSelect : public express::Select { +class IFC_SCHEMA_API IfcRotationalStiffnessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } - IfcRotationalStiffnessSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcRotationalStiffnessSelect(const IfcBoolean& c) : express::select(c) {}; - IfcRotationalStiffnessSelect(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcRotationalStiffnessSelect(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcSegmentIndexSelect : public express::Select { +class IFC_SCHEMA_API IfcSegmentIndexSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcArcIndex as() const { return express::Base::as(); } + // IfcArcIndex as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLineIndex as() const { return express::Base::as(); } + // IfcLineIndex as() const { return express::base::as(); } - IfcSegmentIndexSelect(const IfcArcIndex& c) : express::Select(c) {}; + IfcSegmentIndexSelect(const IfcArcIndex& c) : express::select(c) {}; - IfcSegmentIndexSelect(const IfcLineIndex& c) : express::Select(c) {}; + IfcSegmentIndexSelect(const IfcLineIndex& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. @@ -3312,22 +3312,22 @@ public: /// NOTE  Corresponding ISO 10303 type: shell. Please refer to ISO/IS 10303-42:1994, p. 127 for the final definition of the formal standard. Only the select items closed_shell (IfcClosedShell) and open_shell (IfcOpenShell) have been incorporated in the current IFC release. /// /// HISTORY  New type in IFC2x. -class IFC_SCHEMA_API IfcShell : public express::Select { +class IFC_SCHEMA_API IfcShell : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClosedShell as() const { return express::Base::as(); } + // IfcClosedShell as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOpenShell as() const { return express::Base::as(); } + // IfcOpenShell as() const { return express::base::as(); } - IfcShell(const IfcClosedShell& c) : express::Select(c) {}; + IfcShell(const IfcClosedShell& c) : express::select(c) {}; - IfcShell(const IfcOpenShell& c) : express::Select(c) {}; + IfcShell(const IfcOpenShell& c) : express::select(c) {}; }; /// IfcSimpleValue is a select type for selecting between simple value types. @@ -3349,94 +3349,94 @@ public: /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. -class IFC_SCHEMA_API IfcSimpleValue : public express::Select { +class IFC_SCHEMA_API IfcSimpleValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } - IfcSimpleValue(const IfcBinary& c) : express::Select(c) {}; + IfcSimpleValue(const IfcBinary& c) : express::select(c) {}; - IfcSimpleValue(const IfcBoolean& c) : express::Select(c) {}; + IfcSimpleValue(const IfcBoolean& c) : express::select(c) {}; - IfcSimpleValue(const IfcDate& c) : express::Select(c) {}; + IfcSimpleValue(const IfcDate& c) : express::select(c) {}; - IfcSimpleValue(const IfcDateTime& c) : express::Select(c) {}; + IfcSimpleValue(const IfcDateTime& c) : express::select(c) {}; - IfcSimpleValue(const IfcDuration& c) : express::Select(c) {}; + IfcSimpleValue(const IfcDuration& c) : express::select(c) {}; - IfcSimpleValue(const IfcIdentifier& c) : express::Select(c) {}; + IfcSimpleValue(const IfcIdentifier& c) : express::select(c) {}; - IfcSimpleValue(const IfcInteger& c) : express::Select(c) {}; + IfcSimpleValue(const IfcInteger& c) : express::select(c) {}; - IfcSimpleValue(const IfcLabel& c) : express::Select(c) {}; + IfcSimpleValue(const IfcLabel& c) : express::select(c) {}; - IfcSimpleValue(const IfcLogical& c) : express::Select(c) {}; + IfcSimpleValue(const IfcLogical& c) : express::select(c) {}; - IfcSimpleValue(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcSimpleValue(const IfcPositiveInteger& c) : express::select(c) {}; - IfcSimpleValue(const IfcReal& c) : express::Select(c) {}; + IfcSimpleValue(const IfcReal& c) : express::select(c) {}; - IfcSimpleValue(const IfcText& c) : express::Select(c) {}; + IfcSimpleValue(const IfcText& c) : express::select(c) {}; - IfcSimpleValue(const IfcTime& c) : express::Select(c) {}; + IfcSimpleValue(const IfcTime& c) : express::select(c) {}; - IfcSimpleValue(const IfcTimeStamp& c) : express::Select(c) {}; + IfcSimpleValue(const IfcTimeStamp& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. @@ -3451,46 +3451,46 @@ public: /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. -class IFC_SCHEMA_API IfcSizeSelect : public express::Select { +class IFC_SCHEMA_API IfcSizeSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } - IfcSizeSelect(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcRatioMeasure& c) : express::select(c) {}; }; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. @@ -3500,22 +3500,22 @@ public: /// IfcClosedShell /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcSolidOrShell : public express::Select { +class IFC_SCHEMA_API IfcSolidOrShell : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClosedShell as() const { return express::Base::as(); } + // IfcClosedShell as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidModel as() const { return express::Base::as(); } + // IfcSolidModel as() const { return express::base::as(); } - IfcSolidOrShell(const IfcClosedShell& c) : express::Select(c) {}; + IfcSolidOrShell(const IfcClosedShell& c) : express::select(c) {}; - IfcSolidOrShell(const IfcSolidModel& c) : express::Select(c) {}; + IfcSolidOrShell(const IfcSolidModel& c) : express::select(c) {}; }; /// Definition from IAI: The @@ -3530,22 +3530,22 @@ public: /// /// HISTORY New select type /// in IFC2x4. -class IFC_SCHEMA_API IfcSpaceBoundarySelect : public express::Select { +class IFC_SCHEMA_API IfcSpaceBoundarySelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalSpatialElement as() const { return express::Base::as(); } + // IfcExternalSpatialElement as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpace as() const { return express::Base::as(); } + // IfcSpace as() const { return express::base::as(); } - IfcSpaceBoundarySelect(const IfcExternalSpatialElement& c) : express::Select(c) {}; + IfcSpaceBoundarySelect(const IfcExternalSpatialElement& c) : express::select(c) {}; - IfcSpaceBoundarySelect(const IfcSpace& c) : express::Select(c) {}; + IfcSpaceBoundarySelect(const IfcSpace& c) : express::select(c) {}; }; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. @@ -3558,22 +3558,22 @@ public: /// For each surface side style only one of the two methods is needed for calculating the specular part of the equation. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcSpecularHighlightSelect : public express::Select { +class IFC_SCHEMA_API IfcSpecularHighlightSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecularExponent as() const { return express::Base::as(); } + // IfcSpecularExponent as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecularRoughness as() const { return express::Base::as(); } + // IfcSpecularRoughness as() const { return express::base::as(); } - IfcSpecularHighlightSelect(const IfcSpecularExponent& c) : express::Select(c) {}; + IfcSpecularHighlightSelect(const IfcSpecularExponent& c) : express::select(c) {}; - IfcSpecularHighlightSelect(const IfcSpecularRoughness& c) : express::Select(c) {}; + IfcSpecularHighlightSelect(const IfcSpecularRoughness& c) : express::select(c) {}; }; /// Definition from IAI: This type definition shall be used to @@ -3585,22 +3585,22 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcStructuralActivityAssignmentSelect : public express::Select { +class IFC_SCHEMA_API IfcStructuralActivityAssignmentSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElement as() const { return express::Base::as(); } + // IfcElement as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcStructuralItem as() const { return express::Base::as(); } + // IfcStructuralItem as() const { return express::base::as(); } - IfcStructuralActivityAssignmentSelect(const IfcElement& c) : express::Select(c) {}; + IfcStructuralActivityAssignmentSelect(const IfcElement& c) : express::select(c) {}; - IfcStructuralActivityAssignmentSelect(const IfcStructuralItem& c) : express::Select(c) {}; + IfcStructuralActivityAssignmentSelect(const IfcStructuralItem& c) : express::select(c) {}; }; /// The style assignment select is a selection of two wasy of assigning presentation styles to an IfcStyledItem. @@ -3613,22 +3613,22 @@ public: /// NOTE The select type has been introduced to provide an upward compatible improvement for assigning styles to a styled items. /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcStyleAssignmentSelect : public express::Select { +class IFC_SCHEMA_API IfcStyleAssignmentSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPresentationStyle as() const { return express::Base::as(); } + // IfcPresentationStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPresentationStyleAssignment as() const { return express::Base::as(); } + // IfcPresentationStyleAssignment as() const { return express::base::as(); } - IfcStyleAssignmentSelect(const IfcPresentationStyle& c) : express::Select(c) {}; + IfcStyleAssignmentSelect(const IfcPresentationStyle& c) : express::select(c) {}; - IfcStyleAssignmentSelect(const IfcPresentationStyleAssignment& c) : express::Select(c) {}; + IfcStyleAssignmentSelect(const IfcPresentationStyleAssignment& c) : express::select(c) {}; }; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface @@ -3640,28 +3640,28 @@ public: /// IfcFaceBasedSurfaceModel (a connected face set, representing a faceted surface as an approximation of a non planar, non rectangular bounded surface) /// /// HISTORY  New select type in IFC2x3. -class IFC_SCHEMA_API IfcSurfaceOrFaceSurface : public express::Select { +class IFC_SCHEMA_API IfcSurfaceOrFaceSurface : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFaceBasedSurfaceModel as() const { return express::Base::as(); } + // IfcFaceBasedSurfaceModel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFaceSurface as() const { return express::Base::as(); } + // IfcFaceSurface as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurface as() const { return express::Base::as(); } + // IfcSurface as() const { return express::base::as(); } - IfcSurfaceOrFaceSurface(const IfcFaceBasedSurfaceModel& c) : express::Select(c) {}; + IfcSurfaceOrFaceSurface(const IfcFaceBasedSurfaceModel& c) : express::select(c) {}; - IfcSurfaceOrFaceSurface(const IfcFaceSurface& c) : express::Select(c) {}; + IfcSurfaceOrFaceSurface(const IfcFaceSurface& c) : express::select(c) {}; - IfcSurfaceOrFaceSurface(const IfcSurface& c) : express::Select(c) {}; + IfcSurfaceOrFaceSurface(const IfcSurface& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. @@ -3673,40 +3673,40 @@ public: /// NOTE: Corresponding ISO 10303 type: surface_style_element_select. Please refer to ISO/IS 10303-46:1994, p. 85 for the final definition of the formal standard. /// /// HISTORY: New Select type in IFC2x2. -class IFC_SCHEMA_API IfcSurfaceStyleElementSelect : public express::Select { +class IFC_SCHEMA_API IfcSurfaceStyleElementSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternallyDefinedSurfaceStyle as() const { return express::Base::as(); } + // IfcExternallyDefinedSurfaceStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleLighting as() const { return express::Base::as(); } + // IfcSurfaceStyleLighting as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleRefraction as() const { return express::Base::as(); } + // IfcSurfaceStyleRefraction as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleShading as() const { return express::Base::as(); } + // IfcSurfaceStyleShading as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleWithTextures as() const { return express::Base::as(); } + // IfcSurfaceStyleWithTextures as() const { return express::base::as(); } - IfcSurfaceStyleElementSelect(const IfcExternallyDefinedSurfaceStyle& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcExternallyDefinedSurfaceStyle& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleLighting& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleLighting& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleRefraction& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleRefraction& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleShading& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleShading& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleWithTextures& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleWithTextures& c) : express::select(c) {}; }; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. @@ -3716,63 +3716,63 @@ public: /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. -class IFC_SCHEMA_API IfcTextFontSelect : public express::Select { +class IFC_SCHEMA_API IfcTextFontSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternallyDefinedTextFont as() const { return express::Base::as(); } + // IfcExternallyDefinedTextFont as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedTextFont as() const { return express::Base::as(); } + // IfcPreDefinedTextFont as() const { return express::base::as(); } - IfcTextFontSelect(const IfcExternallyDefinedTextFont& c) : express::Select(c) {}; + IfcTextFontSelect(const IfcExternallyDefinedTextFont& c) : express::select(c) {}; - IfcTextFontSelect(const IfcPreDefinedTextFont& c) : express::Select(c) {}; + IfcTextFontSelect(const IfcPreDefinedTextFont& c) : express::select(c) {}; }; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 -class IFC_SCHEMA_API IfcTimeOrRatioSelect : public express::Select { +class IFC_SCHEMA_API IfcTimeOrRatioSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } - IfcTimeOrRatioSelect(const IfcDuration& c) : express::Select(c) {}; + IfcTimeOrRatioSelect(const IfcDuration& c) : express::select(c) {}; - IfcTimeOrRatioSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcTimeOrRatioSelect(const IfcRatioMeasure& c) : express::select(c) {}; }; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcTranslationalStiffnessSelect : public express::Select { +class IFC_SCHEMA_API IfcTranslationalStiffnessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } - IfcTranslationalStiffnessSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcTranslationalStiffnessSelect(const IfcBoolean& c) : express::select(c) {}; - IfcTranslationalStiffnessSelect(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcTranslationalStiffnessSelect(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. @@ -3780,22 +3780,22 @@ public: /// NOTE Corresponding ISO 10303 type: trimming_select, please refer to ISO/IS 10303-42:1994, p. 20 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.0 -class IFC_SCHEMA_API IfcTrimmingSelect : public express::Select { +class IFC_SCHEMA_API IfcTrimmingSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCartesianPoint as() const { return express::Base::as(); } + // IfcCartesianPoint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } - IfcTrimmingSelect(const IfcCartesianPoint& c) : express::Select(c) {}; + IfcTrimmingSelect(const IfcCartesianPoint& c) : express::select(c) {}; - IfcTrimmingSelect(const IfcParameterValue& c) : express::Select(c) {}; + IfcTrimmingSelect(const IfcParameterValue& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. @@ -3811,28 +3811,28 @@ public: /// IfcMonetaryUnit: A unit for defining currencies. /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcUnit : public express::Select { +class IFC_SCHEMA_API IfcUnit : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedUnit as() const { return express::Base::as(); } + // IfcDerivedUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryUnit as() const { return express::Base::as(); } + // IfcMonetaryUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNamedUnit as() const { return express::Base::as(); } + // IfcNamedUnit as() const { return express::base::as(); } - IfcUnit(const IfcDerivedUnit& c) : express::Select(c) {}; + IfcUnit(const IfcDerivedUnit& c) : express::select(c) {}; - IfcUnit(const IfcMonetaryUnit& c) : express::Select(c) {}; + IfcUnit(const IfcMonetaryUnit& c) : express::select(c) {}; - IfcUnit(const IfcNamedUnit& c) : express::Select(c) {}; + IfcUnit(const IfcNamedUnit& c) : express::select(c) {}; }; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, @@ -3845,676 +3845,676 @@ public: /// IfcDerivedMeasureValue A select type for derived measure types. /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcValue : public express::Select { +class IFC_SCHEMA_API IfcValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedMeasureValue as() const { return express::Base::as(); } + // IfcDerivedMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureValue as() const { return express::Base::as(); } + // IfcMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSimpleValue as() const { return express::Base::as(); } + // IfcSimpleValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } - IfcValue(const IfcDerivedMeasureValue& c) : express::Select(c) {}; + IfcValue(const IfcDerivedMeasureValue& c) : express::select(c) {}; - IfcValue(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcValue(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcValue(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcValue(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcValue(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcValue(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcValue(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcValue(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcValue(const IfcForceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcForceMeasure& c) : express::select(c) {}; - IfcValue(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcValue(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcValue(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcValue(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcValue(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcValue(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcValue(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcValue(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcValue(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcValue(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcValue(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcValue(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcValue(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcValue(const IfcPHMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPHMeasure& c) : express::select(c) {}; - IfcValue(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcValue(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPowerMeasure& c) : express::select(c) {}; - IfcValue(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPressureMeasure& c) : express::select(c) {}; - IfcValue(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcValue(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcValue(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcValue(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcValue(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcValue(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcValue(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcValue(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcValue(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcValue(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcValue(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcValue(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcValue(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcValue(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcValue(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcValue(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcValue(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcWarpingMomentMeasure& c) : express::select(c) {}; - IfcValue(const IfcMeasureValue& c) : express::Select(c) {}; + IfcValue(const IfcMeasureValue& c) : express::select(c) {}; - IfcValue(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAreaMeasure& c) : express::select(c) {}; - IfcValue(const IfcComplexNumber& c) : express::Select(c) {}; + IfcValue(const IfcComplexNumber& c) : express::select(c) {}; - IfcValue(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcValue(const IfcCountMeasure& c) : express::Select(c) {}; + IfcValue(const IfcCountMeasure& c) : express::select(c) {}; - IfcValue(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcValue(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcValue(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassMeasure& c) : express::select(c) {}; - IfcValue(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcValue(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcValue(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcValue(const IfcNumericMeasure& c) : express::select(c) {}; - IfcValue(const IfcParameterValue& c) : express::Select(c) {}; + IfcValue(const IfcParameterValue& c) : express::select(c) {}; - IfcValue(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcValue(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRatioMeasure& c) : express::select(c) {}; - IfcValue(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcValue(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTimeMeasure& c) : express::select(c) {}; - IfcValue(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcVolumeMeasure& c) : express::select(c) {}; - IfcValue(const IfcSimpleValue& c) : express::Select(c) {}; + IfcValue(const IfcSimpleValue& c) : express::select(c) {}; - IfcValue(const IfcBinary& c) : express::Select(c) {}; + IfcValue(const IfcBinary& c) : express::select(c) {}; - IfcValue(const IfcBoolean& c) : express::Select(c) {}; + IfcValue(const IfcBoolean& c) : express::select(c) {}; - IfcValue(const IfcDate& c) : express::Select(c) {}; + IfcValue(const IfcDate& c) : express::select(c) {}; - IfcValue(const IfcDateTime& c) : express::Select(c) {}; + IfcValue(const IfcDateTime& c) : express::select(c) {}; - IfcValue(const IfcDuration& c) : express::Select(c) {}; + IfcValue(const IfcDuration& c) : express::select(c) {}; - IfcValue(const IfcIdentifier& c) : express::Select(c) {}; + IfcValue(const IfcIdentifier& c) : express::select(c) {}; - IfcValue(const IfcInteger& c) : express::Select(c) {}; + IfcValue(const IfcInteger& c) : express::select(c) {}; - IfcValue(const IfcLabel& c) : express::Select(c) {}; + IfcValue(const IfcLabel& c) : express::select(c) {}; - IfcValue(const IfcLogical& c) : express::Select(c) {}; + IfcValue(const IfcLogical& c) : express::select(c) {}; - IfcValue(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcValue(const IfcPositiveInteger& c) : express::select(c) {}; - IfcValue(const IfcReal& c) : express::Select(c) {}; + IfcValue(const IfcReal& c) : express::select(c) {}; - IfcValue(const IfcText& c) : express::Select(c) {}; + IfcValue(const IfcText& c) : express::select(c) {}; - IfcValue(const IfcTime& c) : express::Select(c) {}; + IfcValue(const IfcTime& c) : express::select(c) {}; - IfcValue(const IfcTimeStamp& c) : express::Select(c) {}; + IfcValue(const IfcTimeStamp& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This type is used to @@ -4525,43 +4525,43 @@ public: /// definition of the formal standard. /// HISTORY New Type in IFC Release /// 1.5 -class IFC_SCHEMA_API IfcVectorOrDirection : public express::Select { +class IFC_SCHEMA_API IfcVectorOrDirection : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDirection as() const { return express::Base::as(); } + // IfcDirection as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVector as() const { return express::Base::as(); } + // IfcVector as() const { return express::base::as(); } - IfcVectorOrDirection(const IfcDirection& c) : express::Select(c) {}; + IfcVectorOrDirection(const IfcDirection& c) : express::select(c) {}; - IfcVectorOrDirection(const IfcVector& c) : express::Select(c) {}; + IfcVectorOrDirection(const IfcVector& c) : express::select(c) {}; }; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcWarpingStiffnessSelect : public express::Select { +class IFC_SCHEMA_API IfcWarpingStiffnessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } - IfcWarpingStiffnessSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcWarpingStiffnessSelect(const IfcBoolean& c) : express::select(c) {}; - IfcWarpingStiffnessSelect(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcWarpingStiffnessSelect(const IfcWarpingMomentMeasure& c) : express::select(c) {}; }; /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. @@ -4575,9 +4575,9 @@ public: /// VERBAL: Request was made verbally in person. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcActionRequestTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActionRequestTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcActionRequestType_EMAIL, IfcActionRequestType_FAX, IfcActionRequestType_PHONE, IfcActionRequestType_POST, IfcActionRequestType_VERBAL, IfcActionRequestType_USERDEFINED, IfcActionRequestType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4593,9 +4593,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcActionSourceTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActionSourceTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4613,9 +4613,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcActionTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActionTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcActionType_PERMANENT_G, IfcActionType_VARIABLE_Q, IfcActionType_EXTRAORDINARY_A, IfcActionType_USERDEFINED, IfcActionType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4642,9 +4642,9 @@ public: /// /// See property set of actuator common attributes for specification of /// properties for hand operated actuators. -class IFC_SCHEMA_API IfcActuatorTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActuatorTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcActuatorType_ELECTRICACTUATOR, IfcActuatorType_HANDOPERATEDACTUATOR, IfcActuatorType_HYDRAULICACTUATOR, IfcActuatorType_PNEUMATICACTUATOR, IfcActuatorType_THERMOSTATICACTUATOR, IfcActuatorType_USERDEFINED, IfcActuatorType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4666,9 +4666,9 @@ public: /// HOME A home address. /// DISTRIBUTIONPOINT A postal distribution point address. /// USERDEFINED A user defined address type to be provided. -class IFC_SCHEMA_API IfcAddressTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAddressTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAddressType_OFFICE, IfcAddressType_SITE, IfcAddressType_HOME, IfcAddressType_DISTRIBUTIONPOINT, IfcAddressType_USERDEFINED} Value; static const char* ToString(Value v); @@ -4690,9 +4690,9 @@ public: /// NOTDEFINED: Undefined terminal box. /// /// HISTORY: New enumeration in IFC R2.0 -class IFC_SCHEMA_API IfcAirTerminalBoxTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAirTerminalBoxTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAirTerminalBoxType_CONSTANTFLOW, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREDEPENDANT, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREINDEPENDANT, IfcAirTerminalBoxType_USERDEFINED, IfcAirTerminalBoxType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4716,9 +4716,9 @@ public: /// NOTE: Architectural louvres within doors or windows are defined by IfcPermeableCoveringProperties. /// /// HISTORY: New enumeration in IFC R2x2. Modified in IFC R2x4 to add LOUVRE and remove EYEBALL, IRIS, LINEARGRILLE, LINEARDIFFUSER -class IFC_SCHEMA_API IfcAirTerminalTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAirTerminalTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAirTerminalType_DIFFUSER, IfcAirTerminalType_GRILLE, IfcAirTerminalType_LOUVRE, IfcAirTerminalType_REGISTER, IfcAirTerminalType_USERDEFINED, IfcAirTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4745,9 +4745,9 @@ public: /// NOTDEFINED: Undefined air to air heat recovery type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcAirToAirHeatRecoveryTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAirToAirHeatRecoveryTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4772,9 +4772,9 @@ public: /// WHISTLE: An audible alarm. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcAlarmTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAlarmTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4791,9 +4791,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcAnalysisModelTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAnalysisModelTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4811,9 +4811,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcAnalysisTheoryTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAnalysisTheoryTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4836,9 +4836,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcArithmeticOperatorEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcArithmeticOperatorEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcArithmeticOperator_ADD, IfcArithmeticOperator_DIVIDE, IfcArithmeticOperator_MULTIPLY, IfcArithmeticOperator_SUBTRACT} Value; static const char* ToString(Value v); @@ -4861,9 +4861,9 @@ public: /// SITE - this assembly is assembled at site /// /// FACTORY - this assembly is assembled in a factory -class IFC_SCHEMA_API IfcAssemblyPlaceEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAssemblyPlaceEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAssemblyPlace_SITE, IfcAssemblyPlace_FACTORY, IfcAssemblyPlace_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4888,9 +4888,9 @@ public: /// SWITCHER: A device that receives audio and/or video signals, switches sources, and transmits signals to downstream devices. /// TELEPHONE: A telecommunications device that is used to transmit and receive sound, and optionally video. /// TUNER: An electronic receiver that detects, demodulates, and amplifies transmitted signals. -class IFC_SCHEMA_API IfcAudioVisualApplianceTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAudioVisualApplianceTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4915,9 +4915,9 @@ public: /// NOTE Corresponding ISO 10303 type: b_spline_curve_form. Please refer to ISO/IS 10303-42:1994, p. 15 for the final definition of the formal standard. /// /// HISTORY New type in Release IFC2x2. -class IFC_SCHEMA_API IfcBSplineCurveForm : public express::DeclaredType { +class IFC_SCHEMA_API IfcBSplineCurveForm : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4929,9 +4929,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBSplineSurfaceForm : public express::DeclaredType { +class IFC_SCHEMA_API IfcBSplineSurfaceForm : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4981,9 +4981,9 @@ public: /// IFC2x4 CHANGE The enumerators /// HOLLOWCORE and SPANDREL have been /// added. -class IFC_SCHEMA_API IfcBeamTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBeamTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5034,9 +5034,9 @@ public: /// /// NOTINCLUDEDIN /// 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_SCHEMA_API IfcBenchmarkEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBenchmarkEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5056,9 +5056,9 @@ public: /// NOTDEFINED: Undefined Boiler type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcBoilerTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBoilerTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBoilerType_WATER, IfcBoilerType_STEAM, IfcBoilerType_USERDEFINED, IfcBoilerType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5078,9 +5078,9 @@ public: /// NOTE Corresponding STEP type: boolean_operator, please refer to ISO/IS 10303-42:1994, p.167 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcBooleanOperator : public express::DeclaredType { +class IFC_SCHEMA_API IfcBooleanOperator : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBooleanOperator_UNION, IfcBooleanOperator_INTERSECTION, IfcBooleanOperator_DIFFERENCE} Value; static const char* ToString(Value v); @@ -5099,9 +5099,9 @@ public: /// NOTDEFINED: Undefined accessory /// /// HISTORY New Enumeration in IFC 2x4. -class IFC_SCHEMA_API IfcBuildingElementPartTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBuildingElementPartTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBuildingElementPartType_INSULATION, IfcBuildingElementPartType_PRECASTPANEL, IfcBuildingElementPartType_USERDEFINED, IfcBuildingElementPartType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5123,9 +5123,9 @@ public: /// USERDEFINED /// /// NOTDEFINED -class IFC_SCHEMA_API IfcBuildingElementProxyTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBuildingElementProxyTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBuildingElementProxyType_COMPLEX, IfcBuildingElementProxyType_ELEMENT, IfcBuildingElementProxyType_PARTIAL, IfcBuildingElementProxyType_PROVISIONFORVOID, IfcBuildingElementProxyType_PROVISIONFORSPACE, IfcBuildingElementProxyType_USERDEFINED, IfcBuildingElementProxyType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5150,9 +5150,9 @@ public: /// natural sun light, /// TRANSPORT: System of all transport elements in a /// building that enables the transport of people or goods. -class IFC_SCHEMA_API IfcBuildingSystemTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBuildingSystemTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5170,9 +5170,9 @@ public: /// NOTDEFINED: Undefined burner type. /// /// HISTORY: New enumeration in IFC R2x4. -class IFC_SCHEMA_API IfcBurnerTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBurnerTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBurnerType_USERDEFINED, IfcBurnerType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5193,9 +5193,9 @@ public: /// TEE: A fitting at which a branch is taken from the main route of the cable carrier. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableCarrierFittingTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableCarrierFittingTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcCableCarrierFittingType_BEND, IfcCableCarrierFittingType_CROSS, IfcCableCarrierFittingType_REDUCER, IfcCableCarrierFittingType_TEE, IfcCableCarrierFittingType_USERDEFINED, IfcCableCarrierFittingType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5216,9 +5216,9 @@ public: /// CONDUITSEGMENT: An enclosed tubular carrier segment through which cables are pulled. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableCarrierSegmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableCarrierSegmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcCableCarrierSegmentType_CABLELADDERSEGMENT, IfcCableCarrierSegmentType_CABLETRAYSEGMENT, IfcCableCarrierSegmentType_CABLETRUNKINGSEGMENT, IfcCableCarrierSegmentType_CONDUITSEGMENT, IfcCableCarrierSegmentType_USERDEFINED, IfcCableCarrierSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5240,9 +5240,9 @@ public: /// TRANSITION: A fitting that joins two cable segments of different connector types. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableFittingTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableFittingTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcCableFittingType_CONNECTOR, IfcCableFittingType_ENTRY, IfcCableFittingType_EXIT, IfcCableFittingType_JUNCTION, IfcCableFittingType_TRANSITION, IfcCableFittingType_USERDEFINED, IfcCableFittingType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5265,9 +5265,9 @@ public: /// CORESEGMENT: A self contained element of a cable that comprises one or more conductors and sheathing.The core of one lead is normally single wired or multiwired which are intertwined. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableSegmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableSegmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcCableSegmentType_BUSBARSEGMENT, IfcCableSegmentType_CABLESEGMENT, IfcCableSegmentType_CONDUCTORSEGMENT, IfcCableSegmentType_CORESEGMENT, IfcCableSegmentType_USERDEFINED, IfcCableSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5289,9 +5289,9 @@ public: /// Consider Application A will create an IFC dataset that it wants to publish to others for modification and have the ability to subsequently merge these changes back into the original model. Before publication, it may want to set the IfcChangeActionEnum to NOCHANGE to establish a baseline so that other application changes can be easily identified. Application B then receives this IFC dataset and adds a new object and sets IfcChangeActionEnum to ADDED with Application B defined as the OwningApplication. Application B then modifies an existing object and (re)defines the LastModifiedDate to the time of the modification, LastModifyingUser to the IfcPersonAndOrganization making the change, and sets the LastModifyingApplication to Application B. When Application A receives this modified dataset, it can determine which objects have been added and modified by Application B and either merge or reject these changes as necessary. Consequently, the intent is that an application only modifies the value of IfcChangeActionEnum when it does something to the object, with the further intent that a model server is responsible for clearing the IfcChangeActionEnum back to NOCHANGE when it is ready to be republished. /// /// HISTORY: New enumeration in IFC R2.0. Modified in IFC2x4. -class IFC_SCHEMA_API IfcChangeActionEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcChangeActionEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcChangeAction_NOCHANGE, IfcChangeAction_MODIFIED, IfcChangeAction_ADDED, IfcChangeAction_DELETED, IfcChangeAction_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5312,9 +5312,9 @@ public: /// NOTDEFINED: Undefined chiller type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcChillerTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcChillerTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcChillerType_AIRCOOLED, IfcChillerType_WATERCOOLED, IfcChillerType_HEATRECOVERY, IfcChillerType_USERDEFINED, IfcChillerType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5335,9 +5335,9 @@ public: /// NOTE Currently there are no specific enumerators /// defined, the IfcChimneyTypeEnum has been added /// for future extensions. -class IFC_SCHEMA_API IfcChimneyTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcChimneyTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcChimneyType_USERDEFINED, IfcChimneyType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5370,9 +5370,9 @@ public: /// NOTDEFINED: Undefined coil type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcCoilTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCoilTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5397,9 +5397,9 @@ public: /// future releases of IFC. /// HISTORY New Enumeration /// in Release IFC2x Edition 2. -class IFC_SCHEMA_API IfcColumnTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcColumnTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcColumnType_COLUMN, IfcColumnType_PILASTER, IfcColumnType_USERDEFINED, IfcColumnType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5426,9 +5426,9 @@ public: /// REPEATER: A repeater is an electronic device that receives a signal and retransmits it at a higher level and/or higher power, or onto the other side of an obstruction, so that the signal can cover longer distances without degradation. /// ROUTER: A router is a networking device whose software and hardware are usually tailored to the tasks of routing and forwarding information. For example, on the Internet, information is directed to various paths by routers. /// 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_SCHEMA_API IfcCommunicationsApplianceTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCommunicationsApplianceTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5447,9 +5447,9 @@ public: /// /// P_COMPLEX: the properties defined by this IfcComplexPropertyTemplate are of type IfcComplexProperty. /// Q_COMPLEX: the properties defined by this IfcComplexPropertyTemplate are of type IfcPhysicalComplexQuantity. -class IFC_SCHEMA_API IfcComplexPropertyTemplateTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcComplexPropertyTemplateTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcComplexPropertyTemplateType_P_COMPLEX, IfcComplexPropertyTemplateType_Q_COMPLEX} Value; static const char* ToString(Value v); @@ -5482,9 +5482,9 @@ public: /// NOTDEFINED: Undefined compressor type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcCompressorTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCompressorTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5508,9 +5508,9 @@ public: /// NOTDEFINED: Undefined condenser type. /// /// HISTORY: New enumeration in IFC 2x2. WATERCOOLED added in IFC 2x4. -class IFC_SCHEMA_API IfcCondenserTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCondenserTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5541,9 +5541,9 @@ public: /// RelatedConnectionType: AtStart /// /// Figure 65 — Connection types /*[3:3]*/ v); operator std::vector< int64_t > /*[3:3]*/() const; }; -class IFC_SCHEMA_API IfcAreaDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcAreaDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcAreaDensityMeasure initialize(double v); @@ -11380,18 +11380,18 @@ public: /// NOTE Corresponding ISO 10303 name: area_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcAreaMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcAreaMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcAreaMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcBinary : public express::DeclaredType { +class IFC_SCHEMA_API IfcBinary : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcBinary initialize(boost::dynamic_bitset<> v); @@ -11402,9 +11402,9 @@ public: /// Type: BOOLEAN /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcBoolean : public express::DeclaredType { +class IFC_SCHEMA_API IfcBoolean : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcBoolean initialize(bool v); @@ -11453,9 +11453,9 @@ public: /// Figure 284 illustrates an example extrusion shape with arbitrary profile (IfcArbitraryClosedProfileDef), aligned "mid-depth right" on the member axis. The line of sight follows the extrusion direction Z which points into the drawing plane of above illustration. Hence, "left" is in the positive X direction of the IfcProfileDef. "Top" is in the positive Y direction of the IfcProfileDef. /// /// Figure 284 — Cardinal point extrusion -class IFC_SCHEMA_API IfcCardinalPointReference : public express::DeclaredType { +class IFC_SCHEMA_API IfcCardinalPointReference : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCardinalPointReference initialize(int64_t v); @@ -11472,9 +11472,9 @@ public: /// Type: ARRAY [1:2] OF REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_SCHEMA_API IfcComplexNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcComplexNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcComplexNumber initialize(std::vector< double > /*[1:2]*/ v); @@ -11528,9 +11528,9 @@ public: ///      + FORMAT(ABS(c[4]), '##');  -- -50° 58' 33" 110400 /// /// 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_SCHEMA_API IfcCompoundPlaneAngleMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcCompoundPlaneAngleMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCompoundPlaneAngleMeasure initialize(std::vector< int64_t > /*[3:4]*/ v); @@ -11542,9 +11542,9 @@ public: /// NOTE Corresponding ISO 10303 name: context_dependent_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcContextDependentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcContextDependentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcContextDependentMeasure initialize(double v); @@ -11556,9 +11556,9 @@ public: /// NOTE Corresponding ISO 10303 name: count_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcCountMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcCountMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCountMeasure initialize(double v); @@ -11571,9 +11571,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcCurvatureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcCurvatureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCurvatureMeasure initialize(double v); @@ -11585,9 +11585,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcDate : public express::DeclaredType { +class IFC_SCHEMA_API IfcDate : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDate initialize(std::string v); @@ -11611,9 +11611,9 @@ public: /// otherwise they are forbidden. The year 0000 is prohibited. /// /// HISTORY: New type in IFC2x4 -class IFC_SCHEMA_API IfcDateTime : public express::DeclaredType { +class IFC_SCHEMA_API IfcDateTime : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDateTime initialize(std::string v); @@ -11631,9 +11631,9 @@ public: /// Release 1.5.1. /// IFC2x4 CHANGE Where rule /// ValidRange added. -class IFC_SCHEMA_API IfcDayInMonthNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcDayInMonthNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDayInMonthNumber initialize(int64_t v); @@ -11673,9 +11673,9 @@ public: /// Type: INTEGER /// HISTORY New type in /// IFC2x4. -class IFC_SCHEMA_API IfcDayInWeekNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcDayInWeekNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDayInWeekNumber initialize(int64_t v); @@ -11687,9 +11687,9 @@ public: /// NOTE Corresponding ISO 10303 name:descriptive_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDescriptiveMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcDescriptiveMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDescriptiveMeasure initialize(std::string v); @@ -11702,9 +11702,9 @@ public: /// NOTE Corresponding ISO 10303 type: dimension_count, please refer to ISO/IS 10303-42:1994, p. 14 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5 -class IFC_SCHEMA_API IfcDimensionCount : public express::DeclaredType { +class IFC_SCHEMA_API IfcDimensionCount : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDimensionCount initialize(int64_t v); @@ -11715,9 +11715,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcDoseEquivalentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcDoseEquivalentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDoseEquivalentMeasure initialize(double v); @@ -11728,9 +11728,9 @@ public: /// EXAMPLE: P0002-10-15T10:30:20 (duration of two years, 10 months, 15 days, 10 hours, 30 minutes and 20 seconds). /// /// HISTORY: New type in IFC2x4 -class IFC_SCHEMA_API IfcDuration : public express::DeclaredType { +class IFC_SCHEMA_API IfcDuration : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDuration initialize(std::string v); @@ -11742,9 +11742,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcDynamicViscosityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcDynamicViscosityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDynamicViscosityMeasure initialize(double v); @@ -11755,9 +11755,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricCapacitanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricCapacitanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricCapacitanceMeasure initialize(double v); @@ -11768,9 +11768,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricChargeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricChargeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricChargeMeasure initialize(double v); @@ -11781,9 +11781,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricConductanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricConductanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricConductanceMeasure initialize(double v); @@ -11796,9 +11796,9 @@ public: /// NOTE Corresponding ISO 10303 name: electric_current_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcElectricCurrentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricCurrentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricCurrentMeasure initialize(double v); @@ -11809,9 +11809,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricResistanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricResistanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricResistanceMeasure initialize(double v); @@ -11822,9 +11822,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcElectricVoltageMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricVoltageMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricVoltageMeasure initialize(double v); @@ -11835,9 +11835,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcEnergyMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcEnergyMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcEnergyMeasure initialize(double v); @@ -11857,9 +11857,9 @@ public: /// NOTE  Corresponding CSS1 definitions is font-style. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcFontStyle : public express::DeclaredType { +class IFC_SCHEMA_API IfcFontStyle : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFontStyle initialize(std::string v); @@ -11877,9 +11877,9 @@ public: /// NOTE  Corresponding CSS1 definitions is font-variant. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcFontVariant : public express::DeclaredType { +class IFC_SCHEMA_API IfcFontVariant : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFontVariant initialize(std::string v); @@ -11908,9 +11908,9 @@ public: /// NOTE  Corresponding CSS1 definitions is font-weight. /// /// HISTORY  New type in IFC2x2 Addendum 2. -class IFC_SCHEMA_API IfcFontWeight : public express::DeclaredType { +class IFC_SCHEMA_API IfcFontWeight : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFontWeight initialize(std::string v); @@ -11921,9 +11921,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcForceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcForceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcForceMeasure initialize(double v); @@ -11934,9 +11934,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcFrequencyMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcFrequencyMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFrequencyMeasure initialize(double v); @@ -11955,9 +11955,9 @@ public: /// Refer to the BuildingSMART website (www.buildingsmart-tech.org) for more information and sample encoding algorithms. /// /// HISTORY  New type in IFC R1.5.1. -class IFC_SCHEMA_API IfcGloballyUniqueId : public express::DeclaredType { +class IFC_SCHEMA_API IfcGloballyUniqueId : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcGloballyUniqueId initialize(std::string v); @@ -11968,9 +11968,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcHeatFluxDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcHeatFluxDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcHeatFluxDensityMeasure initialize(double v); @@ -11979,9 +11979,9 @@ public: /// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. /// /// HISTORY: This is new type in IFC2x2. -class IFC_SCHEMA_API IfcHeatingValueMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcHeatingValueMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcHeatingValueMeasure initialize(double v); @@ -12001,9 +12001,9 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// 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_SCHEMA_API IfcIdentifier : public express::DeclaredType { +class IFC_SCHEMA_API IfcIdentifier : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIdentifier initialize(std::string v); @@ -12014,9 +12014,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcIlluminanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIlluminanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIlluminanceMeasure initialize(double v); @@ -12027,9 +12027,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcInductanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcInductanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcInductanceMeasure initialize(double v); @@ -12042,9 +12042,9 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcInteger : public express::DeclaredType { +class IFC_SCHEMA_API IfcInteger : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcInteger initialize(int64_t v); @@ -12057,9 +12057,9 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcIntegerCountRateMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIntegerCountRateMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIntegerCountRateMeasure initialize(int64_t v); @@ -12068,9 +12068,9 @@ public: /// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcIonConcentrationMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIonConcentrationMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIonConcentrationMeasure initialize(double v); @@ -12081,9 +12081,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcIsothermalMoistureCapacityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIsothermalMoistureCapacityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIsothermalMoistureCapacityMeasure initialize(double v); @@ -12094,9 +12094,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcKinematicViscosityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcKinematicViscosityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcKinematicViscosityMeasure initialize(double v); @@ -12116,9 +12116,9 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// 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_SCHEMA_API IfcLabel : public express::DeclaredType { +class IFC_SCHEMA_API IfcLabel : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLabel initialize(std::string v); @@ -12149,18 +12149,18 @@ public: /// NOTE Corresponding ISO 10303 name: length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcLengthMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLengthMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLengthMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcLineIndex : public express::DeclaredType { +class IFC_SCHEMA_API IfcLineIndex : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLineIndex initialize(std::vector< int64_t > /*[2:?]*/ v); @@ -12171,9 +12171,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLinearForceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearForceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearForceMeasure initialize(double v); @@ -12184,9 +12184,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLinearMomentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearMomentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearMomentMeasure initialize(double v); @@ -12197,9 +12197,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLinearStiffnessMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearStiffnessMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearStiffnessMeasure initialize(double v); @@ -12210,9 +12210,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcLinearVelocityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearVelocityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearVelocityMeasure initialize(double v); @@ -12223,9 +12223,9 @@ public: /// Type: LOGICAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLogical : public express::DeclaredType { +class IFC_SCHEMA_API IfcLogical : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLogical initialize(boost::logic::tribool v); @@ -12236,9 +12236,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLuminousFluxMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLuminousFluxMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLuminousFluxMeasure initialize(double v); @@ -12251,9 +12251,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcLuminousIntensityDistributionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLuminousIntensityDistributionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLuminousIntensityDistributionMeasure initialize(double v); @@ -12266,9 +12266,9 @@ public: /// NOTE Corresponding ISO 10303 name: luminous_intensity_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcLuminousIntensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLuminousIntensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLuminousIntensityMeasure initialize(double v); @@ -12279,9 +12279,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMagneticFluxDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMagneticFluxDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMagneticFluxDensityMeasure initialize(double v); @@ -12292,9 +12292,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMagneticFluxMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMagneticFluxMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMagneticFluxMeasure initialize(double v); @@ -12305,9 +12305,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcMassDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassDensityMeasure initialize(double v); @@ -12318,9 +12318,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcMassFlowRateMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassFlowRateMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassFlowRateMeasure initialize(double v); @@ -12333,9 +12333,9 @@ public: /// NOTE Corresponding ISO 10303 name: mass_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcMassMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassMeasure initialize(double v); @@ -12348,9 +12348,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcMassPerLengthMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassPerLengthMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassPerLengthMeasure initialize(double v); @@ -12361,9 +12361,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcModulusOfElasticityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfElasticityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfElasticityMeasure initialize(double v); @@ -12374,9 +12374,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_SCHEMA_API IfcModulusOfLinearSubgradeReactionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfLinearSubgradeReactionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfLinearSubgradeReactionMeasure initialize(double v); @@ -12387,9 +12387,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfRotationalSubgradeReactionMeasure initialize(double v); @@ -12404,9 +12404,9 @@ public: /// Figure 290 illustrates elastic support of a planar member. /// /// Figure 290 — Modulus of subgrade reaction measure -class IFC_SCHEMA_API IfcModulusOfSubgradeReactionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfSubgradeReactionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfSubgradeReactionMeasure initialize(double v); @@ -12417,9 +12417,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMoistureDiffusivityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMoistureDiffusivityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMoistureDiffusivityMeasure initialize(double v); @@ -12430,9 +12430,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMolecularWeightMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMolecularWeightMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMolecularWeightMeasure initialize(double v); @@ -12443,9 +12443,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMomentOfInertiaMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMomentOfInertiaMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMomentOfInertiaMeasure initialize(double v); @@ -12455,9 +12455,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcMonetaryMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMonetaryMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMonetaryMeasure initialize(double v); @@ -12519,9 +12519,9 @@ public: /// standard. /// HISTORY New type in IFC /// Release 1.5.1. -class IFC_SCHEMA_API IfcMonthInYearNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcMonthInYearNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMonthInYearNumber initialize(int64_t v); @@ -12546,9 +12546,9 @@ public: /// NOTE Corresponding ISO 10303 name: numeric_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcNumericMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcNumericMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcNumericMeasure initialize(double v); @@ -12557,9 +12557,9 @@ public: /// 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. /// /// HISTORY: New type in IFC 2x2. -class IFC_SCHEMA_API IfcPHMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPHMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPHMeasure initialize(double v); @@ -12572,9 +12572,9 @@ public: /// NOTE Corresponding STEP name: parameter_value, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcParameterValue : public express::DeclaredType { +class IFC_SCHEMA_API IfcParameterValue : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcParameterValue initialize(double v); @@ -12585,9 +12585,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcPlanarForceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPlanarForceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPlanarForceMeasure initialize(double v); @@ -12604,9 +12604,9 @@ public: /// NOTE Corresponding ISO 10303 name: plane_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcPlaneAngleMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPlaneAngleMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPlaneAngleMeasure initialize(double v); @@ -12654,9 +12654,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcPowerMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPowerMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPowerMeasure initialize(double v); @@ -12671,9 +12671,9 @@ public: /// NOTE  Corresponding ISO 10303 name: presentable_text. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. /// /// HISTORY  New type in IFC2x2. -class IFC_SCHEMA_API IfcPresentableText : public express::DeclaredType { +class IFC_SCHEMA_API IfcPresentableText : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPresentableText initialize(std::string v); @@ -12684,18 +12684,18 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcPressureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPressureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPressureMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcPropertySetDefinitionSet : public express::DeclaredType { +class IFC_SCHEMA_API IfcPropertySetDefinitionSet : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPropertySetDefinitionSet initialize(std::vector< ::Ifc4::IfcPropertySetDefinition > v); @@ -12706,9 +12706,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcRadioActivityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRadioActivityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRadioActivityMeasure initialize(double v); @@ -12724,9 +12724,9 @@ public: /// NOTE Corresponding STEP name: ratio_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcRatioMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRatioMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRatioMeasure initialize(double v); @@ -12739,9 +12739,9 @@ public: /// Type: REAL /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcReal : public express::DeclaredType { +class IFC_SCHEMA_API IfcReal : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcReal initialize(double v); @@ -12752,9 +12752,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcRotationalFrequencyMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRotationalFrequencyMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRotationalFrequencyMeasure initialize(double v); @@ -12766,9 +12766,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcRotationalMassMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRotationalMassMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRotationalMassMeasure initialize(double v); @@ -12779,9 +12779,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcRotationalStiffnessMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRotationalStiffnessMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRotationalStiffnessMeasure initialize(double v); @@ -12792,9 +12792,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_SCHEMA_API IfcSectionModulusMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSectionModulusMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSectionModulusMeasure initialize(double v); @@ -12805,9 +12805,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcSectionalAreaIntegralMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSectionalAreaIntegralMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSectionalAreaIntegralMeasure initialize(double v); @@ -12818,9 +12818,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcShearModulusMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcShearModulusMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcShearModulusMeasure initialize(double v); @@ -12833,18 +12833,18 @@ public: /// NOTE Corresponding ISO 10303 name: solid_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcSolidAngleMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSolidAngleMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSolidAngleMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcSoundPowerLevelMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPowerLevelMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPowerLevelMeasure initialize(double v); @@ -12855,18 +12855,18 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcSoundPowerMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPowerMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPowerMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcSoundPressureLevelMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPressureLevelMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPressureLevelMeasure initialize(double v); @@ -12877,9 +12877,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcSoundPressureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPressureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPressureMeasure initialize(double v); @@ -12890,9 +12890,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcSpecificHeatCapacityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSpecificHeatCapacityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSpecificHeatCapacityMeasure initialize(double v); @@ -12905,9 +12905,9 @@ public: /// NOTE: The datatype relates to the definition of specular_exponent in ISO 10303-46 entity surface_style_reflectance_ambient_diffuse_specular. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcSpecularExponent : public express::DeclaredType { +class IFC_SCHEMA_API IfcSpecularExponent : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSpecularExponent initialize(double v); @@ -12922,9 +12922,9 @@ public: /// NOTE: The datatype relates to the definition of "shiness" in VRML97, which is the reciprocate value to the specular roughness. /// /// HISTORY: New type in Release IFC2x2. -class IFC_SCHEMA_API IfcSpecularRoughness : public express::DeclaredType { +class IFC_SCHEMA_API IfcSpecularRoughness : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSpecularRoughness initialize(double v); @@ -12935,9 +12935,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcTemperatureGradientMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTemperatureGradientMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTemperatureGradientMeasure initialize(double v); @@ -12948,9 +12948,9 @@ public: /// Type: REAL /// /// HISTORY  New type in IFC2x4. -class IFC_SCHEMA_API IfcTemperatureRateOfChangeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTemperatureRateOfChangeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTemperatureRateOfChangeMeasure initialize(double v); @@ -12967,9 +12967,9 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// 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_SCHEMA_API IfcText : public express::DeclaredType { +class IFC_SCHEMA_API IfcText : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcText initialize(std::string v); @@ -12985,9 +12985,9 @@ public: /// NOTE  Corresponding CSS1 definition is text-align. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcTextAlignment : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextAlignment : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextAlignment initialize(std::string v); @@ -13006,9 +13006,9 @@ public: /// NOTE  Corresponding CSS1 definition is text-decoration. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcTextDecoration : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextDecoration : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextDecoration initialize(std::string v); @@ -13033,9 +13033,9 @@ public: /// HISTORY  New type in IFC2x2 Addendum 2. /// /// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. -class IFC_SCHEMA_API IfcTextFontName : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextFontName : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextFontName initialize(std::string v); @@ -13051,9 +13051,9 @@ public: /// NOTE  Corresponding CSS1 definition is text-transform. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcTextTransformation : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextTransformation : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextTransformation initialize(std::string v); @@ -13064,9 +13064,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcThermalAdmittanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalAdmittanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalAdmittanceMeasure initialize(double v); @@ -13077,9 +13077,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcThermalConductivityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalConductivityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalConductivityMeasure initialize(double v); @@ -13089,9 +13089,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcThermalExpansionCoefficientMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalExpansionCoefficientMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalExpansionCoefficientMeasure initialize(double v); @@ -13101,9 +13101,9 @@ public: /// Usually measured in m2 Kelvin/Watt. /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcThermalResistanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalResistanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalResistanceMeasure initialize(double v); @@ -13114,9 +13114,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcThermalTransmittanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalTransmittanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalTransmittanceMeasure initialize(double v); @@ -13129,9 +13129,9 @@ public: /// NOTE Corresponding ISO 10303 name: thermodynamic_temperature_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcThermodynamicTemperatureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermodynamicTemperatureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermodynamicTemperatureMeasure initialize(double v); @@ -13145,9 +13145,9 @@ public: /// 13:20:00-05:00. /// /// HISTORY: New type in IFC2x4 -class IFC_SCHEMA_API IfcTime : public express::DeclaredType { +class IFC_SCHEMA_API IfcTime : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTime initialize(std::string v); @@ -13160,9 +13160,9 @@ public: /// NOTE Corresponding ISO 10303 name: time_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcTimeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTimeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTimeMeasure initialize(double v); @@ -13172,9 +13172,9 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcTimeStamp : public express::DeclaredType { +class IFC_SCHEMA_API IfcTimeStamp : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTimeStamp initialize(int64_t v); @@ -13185,9 +13185,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcTorqueMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTorqueMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTorqueMeasure initialize(double v); @@ -13200,9 +13200,9 @@ public: /// designed to make it easy to map other namespaces (that share the properties of URNs) into URN-space. /// /// HISTORY New defined datatype in IFC 2x4. -class IFC_SCHEMA_API IfcURIReference : public express::DeclaredType { +class IFC_SCHEMA_API IfcURIReference : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcURIReference initialize(std::string v); @@ -13213,9 +13213,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcVaporPermeabilityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcVaporPermeabilityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcVaporPermeabilityMeasure initialize(double v); @@ -13228,9 +13228,9 @@ public: /// NOTE Corresponding ISO 10303 name: volume_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcVolumeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcVolumeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcVolumeMeasure initialize(double v); @@ -13241,9 +13241,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcVolumetricFlowRateMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcVolumetricFlowRateMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcVolumetricFlowRateMeasure initialize(double v); @@ -13254,9 +13254,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcWarpingConstantMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcWarpingConstantMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcWarpingConstantMeasure initialize(double v); @@ -13267,9 +13267,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcWarpingMomentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcWarpingMomentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcWarpingMomentMeasure initialize(double v); @@ -13347,9 +13347,9 @@ public: /// Corresponds to the following entity in ISO-10303-41: organization_role and person_role. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_SCHEMA_API IfcActorRole : public express::Entity { +class IFC_SCHEMA_API IfcActorRole : public express::entity { public: - using express::Entity::Entity; + 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. @@ -13374,9 +13374,9 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: address. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcAddress : public express::Entity { +class IFC_SCHEMA_API IfcAddress : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Identifies the logical location of the address. std::optional< ::Ifc4::IfcAddressTypeEnum::Value > Purpose() const; @@ -13399,9 +13399,9 @@ public: /// 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_SCHEMA_API IfcApplication : public express::Entity { +class IFC_SCHEMA_API IfcApplication : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Name of the application developer, being requested to be member of the IAI. ::Ifc4::IfcOrganization ApplicationDeveloper() const; @@ -13433,9 +13433,9 @@ public: /// An instance of IfcAppliedValue may have a unit basis asserted. This is defined as an IfcMeasureWithUnit that determines the extent of the unit value for application purposes. It is assumed that when this attribute is asserted, then the value given to IfcAppliedValue is that for unit quantity. This is not enforced within the IFC schema and thus needs to be controlled within an application. /// /// 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_SCHEMA_API IfcAppliedValue : public express::Entity { +class IFC_SCHEMA_API IfcAppliedValue : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A name or additional clarification given to a cost value. std::optional< std::string > Name() const; @@ -13481,9 +13481,9 @@ public: /// HISTORY New Entity in IFC Release 2.0 /// /// 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_SCHEMA_API IfcApproval : public express::Entity { +class IFC_SCHEMA_API IfcApproval : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A computer interpretable identifier by which the approval is known. std::optional< std::string > Identifier() const; @@ -13542,9 +13542,9 @@ public: /// HISTORY: New entity /// in Release IFC2x Edition /// 2. -class IFC_SCHEMA_API IfcBoundaryCondition : public express::Entity { +class IFC_SCHEMA_API IfcBoundaryCondition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optionally defines a name for this boundary condition. std::optional< std::string > Name() const; @@ -13686,9 +13686,9 @@ public: /// HISTORY  New entity in IFC Release 1.5. /// /// 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_SCHEMA_API IfcConnectionGeometry : public express::Entity { +class IFC_SCHEMA_API IfcConnectionGeometry : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; static const ifcopenshell::entity& Class(); @@ -13778,9 +13778,9 @@ public: /// A constraint must have a name applied through the IfcConstraint.Name attribute and optionally, a description through IfcConstraint.Description. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade or IfcConstraint.UserDefinedGrade whilst the source, creating actor and time at which the constraint is created may be optionally asserted through IfcConstraint.ConstraintSource, IfcConstraint.CreatingActor and IfcConstraint.CreationTime. /// /// 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_SCHEMA_API IfcConstraint : public express::Entity { +class IFC_SCHEMA_API IfcConstraint : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; @@ -13858,9 +13858,9 @@ public: /// and any map or other coordinate reference system. /// /// HISTORY  New entity in IFC2x4. -class IFC_SCHEMA_API IfcCoordinateOperation : public express::Entity { +class IFC_SCHEMA_API IfcCoordinateOperation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Source coordinate reference system for the operation. ::Ifc4::IfcCoordinateReferenceSystemSelect SourceCRS() const; @@ -13894,9 +13894,9 @@ public: /// Specifications. /// /// HISTORY  New entity in IFC2x4. -class IFC_SCHEMA_API IfcCoordinateReferenceSystem : public express::Entity { +class IFC_SCHEMA_API IfcCoordinateReferenceSystem : public express::entity { public: - using express::Entity::Entity; + 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. @@ -13980,9 +13980,9 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDerivedUnit : public express::Entity { +class IFC_SCHEMA_API IfcDerivedUnit : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The group of units and their exponents that define the derived unit. std::vector< ::Ifc4::IfcDerivedUnitElement > Elements() const; @@ -14005,9 +14005,9 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit_element, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDerivedUnitElement : public express::Entity { +class IFC_SCHEMA_API IfcDerivedUnitElement : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The fixed quantity which is used as the mathematical factor. ::Ifc4::IfcNamedUnit Unit() const; @@ -14036,9 +14036,9 @@ public: /// for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDimensionalExponents : public express::Entity { +class IFC_SCHEMA_API IfcDimensionalExponents : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The power of the length base quantity. int64_t LengthExponent() const; @@ -14071,9 +14071,9 @@ public: /// all external information entities. /// /// HISTORY New entity in IFC2x4. -class IFC_SCHEMA_API IfcExternalInformation : public express::Entity { +class IFC_SCHEMA_API IfcExternalInformation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; static const ifcopenshell::entity& Class(); @@ -14088,9 +14088,9 @@ public: /// IfcExternalReference is an abstract supertype of all external reference entities. /// /// HISTORY New entity in IFC2x. -class IFC_SCHEMA_API IfcExternalReference : public express::Entity { +class IFC_SCHEMA_API IfcExternalReference : public express::entity { public: - using express::Entity::Entity; + 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. /// @@ -14185,9 +14185,9 @@ public: /// underlying AxisCurve supports this concept. /// /// Figure 242 — Grid axis -class IFC_SCHEMA_API IfcGridAxis : public express::Entity { +class IFC_SCHEMA_API IfcGridAxis : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The tag or name for this grid axis. std::optional< std::string > AxisTag() const; @@ -14209,9 +14209,9 @@ public: /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// /// HISTORY: New entity in IFC 2x2. -class IFC_SCHEMA_API IfcIrregularTimeSeriesValue : public express::Entity { +class IFC_SCHEMA_API IfcIrregularTimeSeriesValue : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The specification of the time point. std::string TimeStamp() const; @@ -14306,9 +14306,9 @@ public: /// For each pair of MainPlaneAngle and SecondaryPlaneAngle the LuminousIntensity is provided (the unit is given by the IfcUnitAssignment referring to the LuminousIntensityDistributionUnit, normally cd/klm). /// /// HISTORY: New entity in IFC2x2. -class IFC_SCHEMA_API IfcLightDistributionData : public express::Entity { +class IFC_SCHEMA_API IfcLightDistributionData : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; @@ -14328,9 +14328,9 @@ public: /// 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_SCHEMA_API IfcLightIntensityDistribution : public express::Entity { +class IFC_SCHEMA_API IfcLightIntensityDistribution : public express::entity { public: - using express::Entity::Entity; + 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; @@ -14391,9 +14391,9 @@ public: /// HISTORY New entity in IFC2x. /// /// IFC2x4 CHANGE The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. -class IFC_SCHEMA_API IfcMaterialClassificationRelationship : public express::Entity { +class IFC_SCHEMA_API IfcMaterialClassificationRelationship : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The material classifications identifying the type of material. std::vector< ::Ifc4::IfcClassificationSelect > MaterialClassifications() const; @@ -14429,9 +14429,9 @@ public: /// IfcRelAssociatesMaterial. /// /// HISTORY New entity in IFC2x4 -class IFC_SCHEMA_API IfcMaterialDefinition : public express::Entity { +class IFC_SCHEMA_API IfcMaterialDefinition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects @@ -14627,9 +14627,9 @@ public: /// /// IFC2x4 CHANGE The entity IfcMaterialList is deprecated and shall no longer /// be used. Use IfcMaterialConstituentSet instead. -class IFC_SCHEMA_API IfcMaterialList : public express::Entity { +class IFC_SCHEMA_API IfcMaterialList : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Materials used in a composition of substances. std::vector< ::Ifc4::IfcMaterial > Materials() const; @@ -14745,9 +14745,9 @@ public: /// IfcMaterialUsageDefinition to a subtype of /// IfcElementType, it shall only be assigned to an element /// occurrence. -class IFC_SCHEMA_API IfcMaterialUsageDefinition : public express::Entity { +class IFC_SCHEMA_API IfcMaterialUsageDefinition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial @@ -14764,9 +14764,9 @@ public: /// NOTE Corresponding ISO 10303 name: measure_with_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcMeasureWithUnit : public express::Entity { +class IFC_SCHEMA_API IfcMeasureWithUnit : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The value of the physical quantity when expressed in the specified units. ::Ifc4::IfcValue ValueComponent() const; @@ -14854,9 +14854,9 @@ public: /// HISTORY: New entity in IFC Release 2x. /// /// IFC2x4 CHANGE: Type of the attribute Currency changed. -class IFC_SCHEMA_API IfcMonetaryUnit : public express::Entity { +class IFC_SCHEMA_API IfcMonetaryUnit : public express::entity { public: - using express::Entity::Entity; + 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; @@ -14870,9 +14870,9 @@ public: /// NOTE Corresponding ISO 10303 name: named_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcNamedUnit : public express::Entity { +class IFC_SCHEMA_API IfcNamedUnit : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The dimensional exponents of the SI base units by which the named unit is defined. ::Ifc4::IfcDimensionalExponents Dimensions() const; @@ -14895,9 +14895,9 @@ public: /// In any case the object placement has to unambiguously define the object coordinate system as either two-dimensional axis placement (IfcAxis2Placement2D) or three-dimensional axis placement (IfcAxis2Placement3D). The axis placement may have to be calculated. /// /// HISTORY New entity in IFC Release 2x. -class IFC_SCHEMA_API IfcObjectPlacement : public express::Entity { +class IFC_SCHEMA_API IfcObjectPlacement : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcProduct > PlacesObject() const; // INVERSE IfcProduct::ObjectPlacement std::vector< IfcLocalPlacement > ReferencedByPlacements() const; // INVERSE IfcLocalPlacement::PlacementRelTo @@ -14941,9 +14941,9 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. -class IFC_SCHEMA_API IfcOrganization : public express::Entity { +class IFC_SCHEMA_API IfcOrganization : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Identification of the organization. std::optional< std::string > Identification() const; @@ -14978,9 +14978,9 @@ public: /// /// If LastModifiedDate is defined but ChangeAction is not asserted, then the state of ChangeAction is assumed to be UNDEFINED. /// If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate. -class IFC_SCHEMA_API IfcOwnerHistory : public express::Entity { +class IFC_SCHEMA_API IfcOwnerHistory : public express::entity { public: - using express::Entity::Entity; + 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; @@ -15019,9 +15019,9 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. -class IFC_SCHEMA_API IfcPerson : public express::Entity { +class IFC_SCHEMA_API IfcPerson : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Identification of the person. std::optional< std::string > Identification() const; @@ -15063,9 +15063,9 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: person_and_organization. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_SCHEMA_API IfcPersonAndOrganization : public express::Entity { +class IFC_SCHEMA_API IfcPersonAndOrganization : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The person who is related to the organization. ::Ifc4::IfcPerson ThePerson() const; @@ -15085,9 +15085,9 @@ public: /// The Name attribute defines the actual usage or kind of measure. The interpretation of the name label has to be established within the actual exchange context. In addition an informative text may be associated to each quantity by the Description attribute. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_SCHEMA_API IfcPhysicalQuantity : public express::Entity { +class IFC_SCHEMA_API IfcPhysicalQuantity : public express::entity { public: - using express::Entity::Entity; + 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; @@ -15160,9 +15160,9 @@ public: 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_SCHEMA_API IfcPresentationItem : public express::Entity { +class IFC_SCHEMA_API IfcPresentationItem : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; static const ifcopenshell::entity& Class(); @@ -15183,9 +15183,9 @@ public: /// Figure 305 illustrates assignment of items by shape representation or representation item. The set of AssignedItems can either include a whole shape representation, or individual geometric representation items. If both, the IfcShapeRepresentation has a layer assignment, and an individual geometric representation item in the set of IfcShapeRepresentation.Items, then the layer assignment of the IfcGeometricRepresentationItem overides the layer assignment of the IfcShapeRepresentation. /// /// Figure 305 — Presentation layer assignment -class IFC_SCHEMA_API IfcPresentationLayerAssignment : public express::Entity { +class IFC_SCHEMA_API IfcPresentationLayerAssignment : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Name of the layer. std::string Name() const; @@ -15245,9 +15245,9 @@ public: /// Each subtype of  IfcPresentationStyle can be assigned to IfcGeometricRepresentationItem's via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or one of its subtypes. /// /// HISTORY  New entity in IFC2x3. -class IFC_SCHEMA_API IfcPresentationStyle : public express::Entity { +class IFC_SCHEMA_API IfcPresentationStyle : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Name of the presentation style. std::optional< std::string > Name() const; @@ -15261,9 +15261,9 @@ public: /// NOTE Corresponding ISO 10303 name: presentation_style_assignment. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in Release IFC2x2. -class IFC_SCHEMA_API IfcPresentationStyleAssignment : public express::Entity { +class IFC_SCHEMA_API IfcPresentationStyleAssignment : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A set of presentation styles that are assigned to styled items. std::vector< ::Ifc4::IfcPresentationStyleSelect > Styles() const; @@ -15289,9 +15289,9 @@ public: /// IFC2x3 NOTE Users should not instantiate the entity from IFC2x Edition 3 onwards. /// /// IFC2x4 CHANGE  Entity made abstract. -class IFC_SCHEMA_API IfcProductRepresentation : public express::Entity { +class IFC_SCHEMA_API IfcProductRepresentation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The word or group of words by which the product representation is known. std::optional< std::string > Name() const; @@ -15476,9 +15476,9 @@ public: /// possible to directly instantiate IfcProfileDef and further specify /// the profile only by external reference or by profile properties. The latter /// are tracked by the inverse attribute HasProperties. -class IFC_SCHEMA_API IfcProfileDef : public express::Entity { +class IFC_SCHEMA_API IfcProfileDef : public express::entity { public: - using express::Entity::Entity; + 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; @@ -15540,9 +15540,9 @@ public: 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_SCHEMA_API IfcPropertyAbstraction : public express::Entity { +class IFC_SCHEMA_API IfcPropertyAbstraction : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects @@ -15744,9 +15744,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcRecurrencePattern : public express::Entity { +class IFC_SCHEMA_API IfcRecurrencePattern : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Defines the recurrence type that gives meaning to the used /// attributes and decides about possible attribute @@ -15790,9 +15790,9 @@ public: IfcRecurrencePattern initialize(::Ifc4::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int64_t > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v4_MonthComponent, std::optional< int64_t > v5_Position, std::optional< int64_t > v6_Interval, std::optional< int64_t > v7_Occurrences, std::optional< std::vector< ::Ifc4::IfcTimePeriod > > v8_TimePeriods); }; -class IFC_SCHEMA_API IfcReference : public express::Entity { +class IFC_SCHEMA_API IfcReference : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::optional< std::string > TypeIdentifier() const; void setTypeIdentifier(const std::optional< std::string >& v); @@ -15854,9 +15854,9 @@ public: /// IFC2x4 CHANGE  Entity /// IfcRepresentation has been changed into an ABSTRACT /// supertype. -class IFC_SCHEMA_API IfcRepresentation : public express::Entity { +class IFC_SCHEMA_API IfcRepresentation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Definition of the representation context for which the different subtypes of representation are valid. ::Ifc4::IfcRepresentationContext ContextOfItems() const; @@ -15888,9 +15888,9 @@ public: /// /// IFC2x4 CHANGE Entity made abstract, had been deprecated from instantiation since /// IFC2x2. -class IFC_SCHEMA_API IfcRepresentationContext : public express::Entity { +class IFC_SCHEMA_API IfcRepresentationContext : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The optional identifier of the representation context as used within a project. std::optional< std::string > ContextIdentifier() const; @@ -15935,9 +15935,9 @@ public: /// HISTORY  New entity in IFC Release 2x. /// /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. -class IFC_SCHEMA_API IfcRepresentationItem : public express::Entity { +class IFC_SCHEMA_API IfcRepresentationItem : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcPresentationLayerAssignment > LayerAssignment() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems std::vector< IfcStyledItem > StyledByItem() const; // INVERSE IfcStyledItem::Item @@ -15956,9 +15956,9 @@ public: /// NOTE  The definition of a mapping which is used to specify a new representation item comprises a representation map and a mapped item entity. Without both entities, the mapping is not fully defined. Two entities are specified to allow the same source representation to be mapped into multiple new representations. /// /// HISTORY  New entity in IFC Release 2x. -class IFC_SCHEMA_API IfcRepresentationMap : public express::Entity { +class IFC_SCHEMA_API IfcRepresentationMap : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// An axis2 placement that defines the position about which the mapped /// representation is mapped. @@ -15976,9 +15976,9 @@ public: /// IfcResourceLevelRelationship is an abstract base class for relationships between resource-level entities. /// /// HISTORY New Entity in IFC 2x4 -class IFC_SCHEMA_API IfcResourceLevelRelationship : public express::Entity { +class IFC_SCHEMA_API IfcResourceLevelRelationship : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A name used to identify or qualify the relationship. std::optional< std::string > Name() const; @@ -15999,9 +15999,9 @@ public: /// HISTORY New entity in IFC Release 1.0 /// /// IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL. -class IFC_SCHEMA_API IfcRoot : public express::Entity { +class IFC_SCHEMA_API IfcRoot : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; @@ -16049,9 +16049,9 @@ public: /// IfcSchedulingTime is the abstract supertype of entities that capture time-related information of processes. /// /// HISTORY: New entity in IFC2x4. -class IFC_SCHEMA_API IfcSchedulingTime : public express::Entity { +class IFC_SCHEMA_API IfcSchedulingTime : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optional name for the time definition. std::optional< std::string > Name() const; @@ -16104,9 +16104,9 @@ public: /// IfcRepresentationMap's that are used by an /// IfcTypeProduct through the /// RepresentationMaps attribute. -class IFC_SCHEMA_API IfcShapeAspect : public express::Entity { +class IFC_SCHEMA_API IfcShapeAspect : public express::entity { public: - using express::Entity::Entity; + 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 @@ -16304,9 +16304,9 @@ public: /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. -class IFC_SCHEMA_API IfcStructuralConnectionCondition : public express::Entity { +class IFC_SCHEMA_API IfcStructuralConnectionCondition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optionally defines a name for this connection condition. std::optional< std::string > Name() const; @@ -16318,9 +16318,9 @@ public: /// 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_SCHEMA_API IfcStructuralLoad : public express::Entity { +class IFC_SCHEMA_API IfcStructuralLoad : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optionally defines a name for this load. std::optional< std::string > Name() const; @@ -16773,9 +16773,9 @@ public: /// HISTORY  New entity in IFC R1.5. /// /// IFC2x4 CHANGE  Columns attribute added. -class IFC_SCHEMA_API IfcTable : public express::Entity { +class IFC_SCHEMA_API IfcTable : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A unique name which is intended to describe the usage of the Table. std::optional< std::string > Name() const; @@ -16795,9 +16795,9 @@ public: /// The use of IfcTableColumn supercedes the IsHeading flag associated with IfcTableRow. /// /// HISTORY  New entity in IFC2x4. -class IFC_SCHEMA_API IfcTableColumn : public express::Entity { +class IFC_SCHEMA_API IfcTableColumn : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Table column identifier. std::optional< std::string > Identifier() const; @@ -16830,9 +16830,9 @@ public: /// Figure 338 — Table row use alternative /// /// HISTORY  New entity in IFC R1.5. -class IFC_SCHEMA_API IfcTableRow : public express::Entity { +class IFC_SCHEMA_API IfcTableRow : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The data value of the table cell.. std::optional< std::vector< ::Ifc4::IfcValue > > RowCells() const; @@ -17326,9 +17326,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcTimePeriod : public express::Entity { +class IFC_SCHEMA_API IfcTimePeriod : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Start time of the time period. std::string StartTime() const; @@ -17345,9 +17345,9 @@ public: /// The modeling of buildings and their performance involves data that are generated and recorded over a period of time. Such data cover a large spectrum, from weather data to schedules of all kinds to status measurements to reporting to everything else that has a time related aspect. Their correct placement in time is essential for their proper understanding and use, and the IfcTimeSeries subtypes provide the appropriate data structures to accommodate these types of data. /// /// HISTORY: New entity in IFC 2x2. -class IFC_SCHEMA_API IfcTimeSeries : public express::Entity { +class IFC_SCHEMA_API IfcTimeSeries : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// An unique name for the time series. std::string Name() const; @@ -17387,9 +17387,9 @@ public: /// Figure 241 — Time series value /// /// HISTORY  New entity in IFC2x2. -class IFC_SCHEMA_API IfcTimeSeriesValue : public express::Entity { +class IFC_SCHEMA_API IfcTimeSeriesValue : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A list of time-series values. At least one value is required. std::vector< ::Ifc4::IfcValue > ListValues() const; @@ -17458,9 +17458,9 @@ public: /// NOTE  A project (IfcProject) has a unit assignment which establishes a set of units which will be used globally within the project, if not otherwise defined. Other objects may have local unit assignments if there is a requirement for them to make use of units which do not fall within the project unit assignment. /// /// HISTORY  New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcUnitAssignment : public express::Entity { +class IFC_SCHEMA_API IfcUnitAssignment : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Units to be included within a unit assignment. std::vector< ::Ifc4::IfcUnit > Units() const; @@ -17566,9 +17566,9 @@ public: /// OffsetDistances[1] is a negative length measure /// /// Figure 248 — Virtual grid intersection negative offset -class IFC_SCHEMA_API IfcVirtualGridIntersection : public express::Entity { +class IFC_SCHEMA_API IfcVirtualGridIntersection : public express::entity { public: - using express::Entity::Entity; + 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; diff --git a/src/ifcparse/schemas/Ifc4x1.cpp b/src/ifcparse/schemas/Ifc4x1.cpp index 4e0011a30e..5c17e06092 100644 --- a/src/ifcparse/schemas/Ifc4x1.cpp +++ b/src/ifcparse/schemas/Ifc4x1.cpp @@ -44,7 +44,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcActionRequestTypeEnum::Class() /* Ifc4x1::IfcActionRequestTypeEnum::IfcActionRequestTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcActionRequestTypeEnum::IfcActionRequestTypeEnum(Value v) { @@ -73,7 +73,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcActionSourceTypeEnum::Class() { /* Ifc4x1::IfcActionSourceTypeEnum::IfcActionSourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcActionSourceTypeEnum::IfcActionSourceTypeEnum(Value v) { @@ -102,7 +102,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcActionTypeEnum::Class() { retur /* Ifc4x1::IfcActionTypeEnum::IfcActionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcActionTypeEnum::IfcActionTypeEnum(Value v) { @@ -131,7 +131,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcActuatorTypeEnum::Class() { ret /* Ifc4x1::IfcActuatorTypeEnum::IfcActuatorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcActuatorTypeEnum::IfcActuatorTypeEnum(Value v) { @@ -160,7 +160,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcAddressTypeEnum::Class() { retu /* Ifc4x1::IfcAddressTypeEnum::IfcAddressTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcAddressTypeEnum::IfcAddressTypeEnum(Value v) { @@ -189,7 +189,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcAirTerminalBoxTypeEnum::Class() /* Ifc4x1::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum(Value v) { @@ -218,7 +218,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcAirTerminalTypeEnum::Class() { /* Ifc4x1::IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum(Value v) { @@ -247,7 +247,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::C /* Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum(Value v) { @@ -276,7 +276,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcAlarmTypeEnum::Class() { return /* Ifc4x1::IfcAlarmTypeEnum::IfcAlarmTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcAlarmTypeEnum::IfcAlarmTypeEnum(Value v) { @@ -305,7 +305,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcAlignmentTypeEnum::Class() { re /* Ifc4x1::IfcAlignmentTypeEnum::IfcAlignmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcAlignmentTypeEnum::IfcAlignmentTypeEnum(Value v) { @@ -334,7 +334,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcAnalysisModelTypeEnum::Class() /* Ifc4x1::IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum(Value v) { @@ -363,7 +363,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcAnalysisTheoryTypeEnum::Class() /* Ifc4x1::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum(Value v) { @@ -392,7 +392,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcArithmeticOperatorEnum::Class() /* Ifc4x1::IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum(Value v) { @@ -421,7 +421,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcAssemblyPlaceEnum::Class() { re /* Ifc4x1::IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum(Value v) { @@ -450,7 +450,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcAudioVisualApplianceTypeEnum::C /* Ifc4x1::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum(Value v) { @@ -479,7 +479,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcBSplineCurveForm::Class() { ret /* Ifc4x1::IfcBSplineCurveForm::IfcBSplineCurveForm(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcBSplineCurveForm::IfcBSplineCurveForm(Value v) { @@ -508,7 +508,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcBSplineSurfaceForm::Class() { r /* Ifc4x1::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm(Value v) { @@ -537,7 +537,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcBeamTypeEnum::Class() { return /* Ifc4x1::IfcBeamTypeEnum::IfcBeamTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcBeamTypeEnum::IfcBeamTypeEnum(Value v) { @@ -566,7 +566,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcBenchmarkEnum::Class() { return /* Ifc4x1::IfcBenchmarkEnum::IfcBenchmarkEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcBenchmarkEnum::IfcBenchmarkEnum(Value v) { @@ -595,7 +595,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcBoilerTypeEnum::Class() { retur /* Ifc4x1::IfcBoilerTypeEnum::IfcBoilerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcBoilerTypeEnum::IfcBoilerTypeEnum(Value v) { @@ -624,7 +624,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcBooleanOperator::Class() { retu /* Ifc4x1::IfcBooleanOperator::IfcBooleanOperator(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcBooleanOperator::IfcBooleanOperator(Value v) { @@ -653,7 +653,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcBuildingElementPartTypeEnum::Cl /* Ifc4x1::IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum(Value v) { @@ -682,7 +682,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcBuildingElementProxyTypeEnum::C /* Ifc4x1::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum(Value v) { @@ -711,7 +711,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcBuildingSystemTypeEnum::Class() /* Ifc4x1::IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum(Value v) { @@ -740,7 +740,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcBurnerTypeEnum::Class() { retur /* Ifc4x1::IfcBurnerTypeEnum::IfcBurnerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcBurnerTypeEnum::IfcBurnerTypeEnum(Value v) { @@ -769,7 +769,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcCableCarrierFittingTypeEnum::Cl /* Ifc4x1::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum(Value v) { @@ -798,7 +798,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcCableCarrierSegmentTypeEnum::Cl /* Ifc4x1::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum(Value v) { @@ -827,7 +827,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcCableFittingTypeEnum::Class() { /* Ifc4x1::IfcCableFittingTypeEnum::IfcCableFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcCableFittingTypeEnum::IfcCableFittingTypeEnum(Value v) { @@ -856,7 +856,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcCableSegmentTypeEnum::Class() { /* Ifc4x1::IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum(Value v) { @@ -885,7 +885,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcChangeActionEnum::Class() { ret /* Ifc4x1::IfcChangeActionEnum::IfcChangeActionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcChangeActionEnum::IfcChangeActionEnum(Value v) { @@ -914,7 +914,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcChillerTypeEnum::Class() { retu /* Ifc4x1::IfcChillerTypeEnum::IfcChillerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcChillerTypeEnum::IfcChillerTypeEnum(Value v) { @@ -943,7 +943,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcChimneyTypeEnum::Class() { retu /* Ifc4x1::IfcChimneyTypeEnum::IfcChimneyTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcChimneyTypeEnum::IfcChimneyTypeEnum(Value v) { @@ -972,7 +972,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcCoilTypeEnum::Class() { return /* Ifc4x1::IfcCoilTypeEnum::IfcCoilTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcCoilTypeEnum::IfcCoilTypeEnum(Value v) { @@ -1001,7 +1001,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcColumnTypeEnum::Class() { retur /* Ifc4x1::IfcColumnTypeEnum::IfcColumnTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcColumnTypeEnum::IfcColumnTypeEnum(Value v) { @@ -1030,7 +1030,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcCommunicationsApplianceTypeEnum /* Ifc4x1::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum(Value v) { @@ -1059,7 +1059,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcComplexPropertyTemplateTypeEnum /* Ifc4x1::IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum(Value v) { @@ -1088,7 +1088,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcCompressorTypeEnum::Class() { r /* Ifc4x1::IfcCompressorTypeEnum::IfcCompressorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcCompressorTypeEnum::IfcCompressorTypeEnum(Value v) { @@ -1117,7 +1117,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcCondenserTypeEnum::Class() { re /* Ifc4x1::IfcCondenserTypeEnum::IfcCondenserTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcCondenserTypeEnum::IfcCondenserTypeEnum(Value v) { @@ -1146,7 +1146,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcConnectionTypeEnum::Class() { r /* Ifc4x1::IfcConnectionTypeEnum::IfcConnectionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcConnectionTypeEnum::IfcConnectionTypeEnum(Value v) { @@ -1175,7 +1175,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcConstraintEnum::Class() { retur /* Ifc4x1::IfcConstraintEnum::IfcConstraintEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcConstraintEnum::IfcConstraintEnum(Value v) { @@ -1204,7 +1204,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcConstructionEquipmentResourceTy /* Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum(Value v) { @@ -1233,7 +1233,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcConstructionMaterialResourceTyp /* Ifc4x1::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum(Value v) { @@ -1262,7 +1262,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcConstructionProductResourceType /* Ifc4x1::IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum(Value v) { @@ -1291,7 +1291,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcControllerTypeEnum::Class() { r /* Ifc4x1::IfcControllerTypeEnum::IfcControllerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcControllerTypeEnum::IfcControllerTypeEnum(Value v) { @@ -1320,7 +1320,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcCooledBeamTypeEnum::Class() { r /* Ifc4x1::IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum(Value v) { @@ -1349,7 +1349,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcCoolingTowerTypeEnum::Class() { /* Ifc4x1::IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum(Value v) { @@ -1378,7 +1378,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcCostItemTypeEnum::Class() { ret /* Ifc4x1::IfcCostItemTypeEnum::IfcCostItemTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcCostItemTypeEnum::IfcCostItemTypeEnum(Value v) { @@ -1407,7 +1407,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcCostScheduleTypeEnum::Class() { /* Ifc4x1::IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum(Value v) { @@ -1436,7 +1436,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcCoveringTypeEnum::Class() { ret /* Ifc4x1::IfcCoveringTypeEnum::IfcCoveringTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcCoveringTypeEnum::IfcCoveringTypeEnum(Value v) { @@ -1465,7 +1465,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcCrewResourceTypeEnum::Class() { /* Ifc4x1::IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum(Value v) { @@ -1494,7 +1494,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcCurtainWallTypeEnum::Class() { /* Ifc4x1::IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum(Value v) { @@ -1523,7 +1523,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcCurveInterpolationEnum::Class() /* Ifc4x1::IfcCurveInterpolationEnum::IfcCurveInterpolationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcCurveInterpolationEnum::IfcCurveInterpolationEnum(Value v) { @@ -1552,7 +1552,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcDamperTypeEnum::Class() { retur /* Ifc4x1::IfcDamperTypeEnum::IfcDamperTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcDamperTypeEnum::IfcDamperTypeEnum(Value v) { @@ -1581,7 +1581,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcDataOriginEnum::Class() { retur /* Ifc4x1::IfcDataOriginEnum::IfcDataOriginEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcDataOriginEnum::IfcDataOriginEnum(Value v) { @@ -1610,7 +1610,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcDerivedUnitEnum::Class() { retu /* Ifc4x1::IfcDerivedUnitEnum::IfcDerivedUnitEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcDerivedUnitEnum::IfcDerivedUnitEnum(Value v) { @@ -1639,7 +1639,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcDirectionSenseEnum::Class() { r /* Ifc4x1::IfcDirectionSenseEnum::IfcDirectionSenseEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcDirectionSenseEnum::IfcDirectionSenseEnum(Value v) { @@ -1668,7 +1668,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcDiscreteAccessoryTypeEnum::Clas /* Ifc4x1::IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum(Value v) { @@ -1697,7 +1697,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcDistributionChamberElementTypeE /* Ifc4x1::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum(Value v) { @@ -1726,7 +1726,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcDistributionPortTypeEnum::Class /* Ifc4x1::IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum(Value v) { @@ -1755,7 +1755,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcDistributionSystemEnum::Class() /* Ifc4x1::IfcDistributionSystemEnum::IfcDistributionSystemEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcDistributionSystemEnum::IfcDistributionSystemEnum(Value v) { @@ -1784,7 +1784,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcDocumentConfidentialityEnum::Cl /* Ifc4x1::IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum(Value v) { @@ -1813,7 +1813,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcDocumentStatusEnum::Class() { r /* Ifc4x1::IfcDocumentStatusEnum::IfcDocumentStatusEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcDocumentStatusEnum::IfcDocumentStatusEnum(Value v) { @@ -1842,7 +1842,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcDoorPanelOperationEnum::Class() /* Ifc4x1::IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum(Value v) { @@ -1871,7 +1871,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcDoorPanelPositionEnum::Class() /* Ifc4x1::IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum(Value v) { @@ -1900,7 +1900,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcDoorStyleConstructionEnum::Clas /* Ifc4x1::IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum(Value v) { @@ -1929,7 +1929,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcDoorStyleOperationEnum::Class() /* Ifc4x1::IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum(Value v) { @@ -1958,7 +1958,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcDoorTypeEnum::Class() { return /* Ifc4x1::IfcDoorTypeEnum::IfcDoorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcDoorTypeEnum::IfcDoorTypeEnum(Value v) { @@ -1987,7 +1987,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcDoorTypeOperationEnum::Class() /* Ifc4x1::IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum(Value v) { @@ -2016,7 +2016,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcDuctFittingTypeEnum::Class() { /* Ifc4x1::IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum(Value v) { @@ -2045,7 +2045,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcDuctSegmentTypeEnum::Class() { /* Ifc4x1::IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum(Value v) { @@ -2074,7 +2074,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcDuctSilencerTypeEnum::Class() { /* Ifc4x1::IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum(Value v) { @@ -2103,7 +2103,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcElectricApplianceTypeEnum::Clas /* Ifc4x1::IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum(Value v) { @@ -2132,7 +2132,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcElectricDistributionBoardTypeEn /* Ifc4x1::IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum(Value v) { @@ -2161,7 +2161,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcElectricFlowStorageDeviceTypeEn /* Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum(Value v) { @@ -2190,7 +2190,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcElectricGeneratorTypeEnum::Clas /* Ifc4x1::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum(Value v) { @@ -2219,7 +2219,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcElectricMotorTypeEnum::Class() /* Ifc4x1::IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum(Value v) { @@ -2248,7 +2248,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcElectricTimeControlTypeEnum::Cl /* Ifc4x1::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum(Value v) { @@ -2277,7 +2277,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcElementAssemblyTypeEnum::Class( /* Ifc4x1::IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum(Value v) { @@ -2306,7 +2306,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcElementCompositionEnum::Class() /* Ifc4x1::IfcElementCompositionEnum::IfcElementCompositionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcElementCompositionEnum::IfcElementCompositionEnum(Value v) { @@ -2335,7 +2335,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcEngineTypeEnum::Class() { retur /* Ifc4x1::IfcEngineTypeEnum::IfcEngineTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcEngineTypeEnum::IfcEngineTypeEnum(Value v) { @@ -2364,7 +2364,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcEvaporativeCoolerTypeEnum::Clas /* Ifc4x1::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum(Value v) { @@ -2393,7 +2393,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcEvaporatorTypeEnum::Class() { r /* Ifc4x1::IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum(Value v) { @@ -2422,7 +2422,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcEventTriggerTypeEnum::Class() { /* Ifc4x1::IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum(Value v) { @@ -2451,7 +2451,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcEventTypeEnum::Class() { return /* Ifc4x1::IfcEventTypeEnum::IfcEventTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcEventTypeEnum::IfcEventTypeEnum(Value v) { @@ -2480,7 +2480,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcExternalSpatialElementTypeEnum: /* Ifc4x1::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum(Value v) { @@ -2509,7 +2509,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcFanTypeEnum::Class() { return * /* Ifc4x1::IfcFanTypeEnum::IfcFanTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcFanTypeEnum::IfcFanTypeEnum(Value v) { @@ -2538,7 +2538,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcFastenerTypeEnum::Class() { ret /* Ifc4x1::IfcFastenerTypeEnum::IfcFastenerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcFastenerTypeEnum::IfcFastenerTypeEnum(Value v) { @@ -2567,7 +2567,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcFilterTypeEnum::Class() { retur /* Ifc4x1::IfcFilterTypeEnum::IfcFilterTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcFilterTypeEnum::IfcFilterTypeEnum(Value v) { @@ -2596,7 +2596,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcFireSuppressionTerminalTypeEnum /* Ifc4x1::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum(Value v) { @@ -2625,7 +2625,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcFlowDirectionEnum::Class() { re /* Ifc4x1::IfcFlowDirectionEnum::IfcFlowDirectionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcFlowDirectionEnum::IfcFlowDirectionEnum(Value v) { @@ -2654,7 +2654,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcFlowInstrumentTypeEnum::Class() /* Ifc4x1::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum(Value v) { @@ -2683,7 +2683,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcFlowMeterTypeEnum::Class() { re /* Ifc4x1::IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum(Value v) { @@ -2712,7 +2712,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcFootingTypeEnum::Class() { retu /* Ifc4x1::IfcFootingTypeEnum::IfcFootingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcFootingTypeEnum::IfcFootingTypeEnum(Value v) { @@ -2741,7 +2741,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcFurnitureTypeEnum::Class() { re /* Ifc4x1::IfcFurnitureTypeEnum::IfcFurnitureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcFurnitureTypeEnum::IfcFurnitureTypeEnum(Value v) { @@ -2770,7 +2770,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcGeographicElementTypeEnum::Clas /* Ifc4x1::IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum(Value v) { @@ -2799,7 +2799,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcGeometricProjectionEnum::Class( /* Ifc4x1::IfcGeometricProjectionEnum::IfcGeometricProjectionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcGeometricProjectionEnum::IfcGeometricProjectionEnum(Value v) { @@ -2828,7 +2828,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcGlobalOrLocalEnum::Class() { re /* Ifc4x1::IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum(Value v) { @@ -2857,7 +2857,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcGridTypeEnum::Class() { return /* Ifc4x1::IfcGridTypeEnum::IfcGridTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcGridTypeEnum::IfcGridTypeEnum(Value v) { @@ -2886,7 +2886,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcHeatExchangerTypeEnum::Class() /* Ifc4x1::IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum(Value v) { @@ -2915,7 +2915,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcHumidifierTypeEnum::Class() { r /* Ifc4x1::IfcHumidifierTypeEnum::IfcHumidifierTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcHumidifierTypeEnum::IfcHumidifierTypeEnum(Value v) { @@ -2944,7 +2944,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcInterceptorTypeEnum::Class() { /* Ifc4x1::IfcInterceptorTypeEnum::IfcInterceptorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcInterceptorTypeEnum::IfcInterceptorTypeEnum(Value v) { @@ -2973,7 +2973,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcInternalOrExternalEnum::Class() /* Ifc4x1::IfcInternalOrExternalEnum::IfcInternalOrExternalEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcInternalOrExternalEnum::IfcInternalOrExternalEnum(Value v) { @@ -3002,7 +3002,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcInventoryTypeEnum::Class() { re /* Ifc4x1::IfcInventoryTypeEnum::IfcInventoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcInventoryTypeEnum::IfcInventoryTypeEnum(Value v) { @@ -3031,7 +3031,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcJunctionBoxTypeEnum::Class() { /* Ifc4x1::IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum(Value v) { @@ -3060,7 +3060,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcKnotType::Class() { return *((i /* Ifc4x1::IfcKnotType::IfcKnotType(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcKnotType::IfcKnotType(Value v) { @@ -3089,7 +3089,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcLaborResourceTypeEnum::Class() /* Ifc4x1::IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum(Value v) { @@ -3118,7 +3118,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcLampTypeEnum::Class() { return /* Ifc4x1::IfcLampTypeEnum::IfcLampTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcLampTypeEnum::IfcLampTypeEnum(Value v) { @@ -3147,7 +3147,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcLayerSetDirectionEnum::Class() /* Ifc4x1::IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum(Value v) { @@ -3176,7 +3176,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcLightDistributionCurveEnum::Cla /* Ifc4x1::IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum(Value v) { @@ -3205,7 +3205,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcLightEmissionSourceEnum::Class( /* Ifc4x1::IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum(Value v) { @@ -3234,7 +3234,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcLightFixtureTypeEnum::Class() { /* Ifc4x1::IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum(Value v) { @@ -3263,7 +3263,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcLoadGroupTypeEnum::Class() { re /* Ifc4x1::IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum(Value v) { @@ -3292,7 +3292,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcLogicalOperatorEnum::Class() { /* Ifc4x1::IfcLogicalOperatorEnum::IfcLogicalOperatorEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcLogicalOperatorEnum::IfcLogicalOperatorEnum(Value v) { @@ -3321,7 +3321,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcMechanicalFastenerTypeEnum::Cla /* Ifc4x1::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum(Value v) { @@ -3350,7 +3350,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcMedicalDeviceTypeEnum::Class() /* Ifc4x1::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum(Value v) { @@ -3379,7 +3379,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcMemberTypeEnum::Class() { retur /* Ifc4x1::IfcMemberTypeEnum::IfcMemberTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcMemberTypeEnum::IfcMemberTypeEnum(Value v) { @@ -3408,7 +3408,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcMotorConnectionTypeEnum::Class( /* Ifc4x1::IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum(Value v) { @@ -3437,7 +3437,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcNullStyle::Class() { return *(( /* Ifc4x1::IfcNullStyle::IfcNullStyle(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcNullStyle::IfcNullStyle(Value v) { @@ -3466,7 +3466,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcObjectTypeEnum::Class() { retur /* Ifc4x1::IfcObjectTypeEnum::IfcObjectTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcObjectTypeEnum::IfcObjectTypeEnum(Value v) { @@ -3495,7 +3495,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcObjectiveEnum::Class() { return /* Ifc4x1::IfcObjectiveEnum::IfcObjectiveEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcObjectiveEnum::IfcObjectiveEnum(Value v) { @@ -3524,7 +3524,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcOccupantTypeEnum::Class() { ret /* Ifc4x1::IfcOccupantTypeEnum::IfcOccupantTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcOccupantTypeEnum::IfcOccupantTypeEnum(Value v) { @@ -3553,7 +3553,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcOpeningElementTypeEnum::Class() /* Ifc4x1::IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum(Value v) { @@ -3582,7 +3582,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcOutletTypeEnum::Class() { retur /* Ifc4x1::IfcOutletTypeEnum::IfcOutletTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcOutletTypeEnum::IfcOutletTypeEnum(Value v) { @@ -3611,7 +3611,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcPerformanceHistoryTypeEnum::Cla /* Ifc4x1::IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum(Value v) { @@ -3640,7 +3640,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcPermeableCoveringOperationEnum: /* Ifc4x1::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum(Value v) { @@ -3669,7 +3669,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcPermitTypeEnum::Class() { retur /* Ifc4x1::IfcPermitTypeEnum::IfcPermitTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcPermitTypeEnum::IfcPermitTypeEnum(Value v) { @@ -3698,7 +3698,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcPhysicalOrVirtualEnum::Class() /* Ifc4x1::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum(Value v) { @@ -3727,7 +3727,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcPileConstructionEnum::Class() { /* Ifc4x1::IfcPileConstructionEnum::IfcPileConstructionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcPileConstructionEnum::IfcPileConstructionEnum(Value v) { @@ -3756,7 +3756,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcPileTypeEnum::Class() { return /* Ifc4x1::IfcPileTypeEnum::IfcPileTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcPileTypeEnum::IfcPileTypeEnum(Value v) { @@ -3785,7 +3785,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcPipeFittingTypeEnum::Class() { /* Ifc4x1::IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum(Value v) { @@ -3814,7 +3814,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcPipeSegmentTypeEnum::Class() { /* Ifc4x1::IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum(Value v) { @@ -3843,7 +3843,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcPlateTypeEnum::Class() { return /* Ifc4x1::IfcPlateTypeEnum::IfcPlateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcPlateTypeEnum::IfcPlateTypeEnum(Value v) { @@ -3872,7 +3872,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcPreferredSurfaceCurveRepresenta /* Ifc4x1::IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation(Value v) { @@ -3901,7 +3901,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcProcedureTypeEnum::Class() { re /* Ifc4x1::IfcProcedureTypeEnum::IfcProcedureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcProcedureTypeEnum::IfcProcedureTypeEnum(Value v) { @@ -3930,7 +3930,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcProfileTypeEnum::Class() { retu /* Ifc4x1::IfcProfileTypeEnum::IfcProfileTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcProfileTypeEnum::IfcProfileTypeEnum(Value v) { @@ -3959,7 +3959,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcProjectOrderTypeEnum::Class() { /* Ifc4x1::IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum(Value v) { @@ -3988,7 +3988,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcProjectedOrTrueLengthEnum::Clas /* Ifc4x1::IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum(Value v) { @@ -4017,7 +4017,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcProjectionElementTypeEnum::Clas /* Ifc4x1::IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum(Value v) { @@ -4046,7 +4046,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcPropertySetTemplateTypeEnum::Cl /* Ifc4x1::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum(Value v) { @@ -4075,7 +4075,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcProtectiveDeviceTrippingUnitTyp /* Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum(Value v) { @@ -4104,7 +4104,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcProtectiveDeviceTypeEnum::Class /* Ifc4x1::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum(Value v) { @@ -4133,7 +4133,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcPumpTypeEnum::Class() { return /* Ifc4x1::IfcPumpTypeEnum::IfcPumpTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcPumpTypeEnum::IfcPumpTypeEnum(Value v) { @@ -4162,7 +4162,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcRailingTypeEnum::Class() { retu /* Ifc4x1::IfcRailingTypeEnum::IfcRailingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcRailingTypeEnum::IfcRailingTypeEnum(Value v) { @@ -4191,7 +4191,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcRampFlightTypeEnum::Class() { r /* Ifc4x1::IfcRampFlightTypeEnum::IfcRampFlightTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcRampFlightTypeEnum::IfcRampFlightTypeEnum(Value v) { @@ -4220,7 +4220,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcRampTypeEnum::Class() { return /* Ifc4x1::IfcRampTypeEnum::IfcRampTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcRampTypeEnum::IfcRampTypeEnum(Value v) { @@ -4249,7 +4249,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcRecurrenceTypeEnum::Class() { r /* Ifc4x1::IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum(Value v) { @@ -4278,7 +4278,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcReferentTypeEnum::Class() { ret /* Ifc4x1::IfcReferentTypeEnum::IfcReferentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcReferentTypeEnum::IfcReferentTypeEnum(Value v) { @@ -4307,7 +4307,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcReflectanceMethodEnum::Class() /* Ifc4x1::IfcReflectanceMethodEnum::IfcReflectanceMethodEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcReflectanceMethodEnum::IfcReflectanceMethodEnum(Value v) { @@ -4336,7 +4336,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcReinforcingBarRoleEnum::Class() /* Ifc4x1::IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum(Value v) { @@ -4365,7 +4365,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcReinforcingBarSurfaceEnum::Clas /* Ifc4x1::IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum(Value v) { @@ -4394,7 +4394,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcReinforcingBarTypeEnum::Class() /* Ifc4x1::IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum(Value v) { @@ -4423,7 +4423,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcReinforcingMeshTypeEnum::Class( /* Ifc4x1::IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum(Value v) { @@ -4452,7 +4452,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcRoleEnum::Class() { return *((i /* Ifc4x1::IfcRoleEnum::IfcRoleEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcRoleEnum::IfcRoleEnum(Value v) { @@ -4481,7 +4481,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcRoofTypeEnum::Class() { return /* Ifc4x1::IfcRoofTypeEnum::IfcRoofTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcRoofTypeEnum::IfcRoofTypeEnum(Value v) { @@ -4510,7 +4510,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcSIPrefix::Class() { return *((i /* Ifc4x1::IfcSIPrefix::IfcSIPrefix(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcSIPrefix::IfcSIPrefix(Value v) { @@ -4539,7 +4539,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcSIUnitName::Class() { return *( /* Ifc4x1::IfcSIUnitName::IfcSIUnitName(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcSIUnitName::IfcSIUnitName(Value v) { @@ -4568,7 +4568,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcSanitaryTerminalTypeEnum::Class /* Ifc4x1::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum(Value v) { @@ -4597,7 +4597,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcSectionTypeEnum::Class() { retu /* Ifc4x1::IfcSectionTypeEnum::IfcSectionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcSectionTypeEnum::IfcSectionTypeEnum(Value v) { @@ -4626,7 +4626,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcSensorTypeEnum::Class() { retur /* Ifc4x1::IfcSensorTypeEnum::IfcSensorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcSensorTypeEnum::IfcSensorTypeEnum(Value v) { @@ -4655,7 +4655,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcSequenceEnum::Class() { return /* Ifc4x1::IfcSequenceEnum::IfcSequenceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcSequenceEnum::IfcSequenceEnum(Value v) { @@ -4684,7 +4684,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcShadingDeviceTypeEnum::Class() /* Ifc4x1::IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum(Value v) { @@ -4713,7 +4713,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcSimplePropertyTemplateTypeEnum: /* Ifc4x1::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum(Value v) { @@ -4742,7 +4742,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcSlabTypeEnum::Class() { return /* Ifc4x1::IfcSlabTypeEnum::IfcSlabTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcSlabTypeEnum::IfcSlabTypeEnum(Value v) { @@ -4771,7 +4771,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcSolarDeviceTypeEnum::Class() { /* Ifc4x1::IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum(Value v) { @@ -4800,7 +4800,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcSpaceHeaterTypeEnum::Class() { /* Ifc4x1::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum(Value v) { @@ -4829,7 +4829,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcSpaceTypeEnum::Class() { return /* Ifc4x1::IfcSpaceTypeEnum::IfcSpaceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcSpaceTypeEnum::IfcSpaceTypeEnum(Value v) { @@ -4858,7 +4858,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcSpatialZoneTypeEnum::Class() { /* Ifc4x1::IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum(Value v) { @@ -4887,7 +4887,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcStackTerminalTypeEnum::Class() /* Ifc4x1::IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum(Value v) { @@ -4916,7 +4916,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcStairFlightTypeEnum::Class() { /* Ifc4x1::IfcStairFlightTypeEnum::IfcStairFlightTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcStairFlightTypeEnum::IfcStairFlightTypeEnum(Value v) { @@ -4945,7 +4945,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcStairTypeEnum::Class() { return /* Ifc4x1::IfcStairTypeEnum::IfcStairTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcStairTypeEnum::IfcStairTypeEnum(Value v) { @@ -4974,7 +4974,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcStateEnum::Class() { return *(( /* Ifc4x1::IfcStateEnum::IfcStateEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcStateEnum::IfcStateEnum(Value v) { @@ -5003,7 +5003,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcStructuralCurveActivityTypeEnum /* Ifc4x1::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum(Value v) { @@ -5032,7 +5032,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcStructuralCurveMemberTypeEnum:: /* Ifc4x1::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum(Value v) { @@ -5061,7 +5061,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcStructuralSurfaceActivityTypeEn /* Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum(Value v) { @@ -5090,7 +5090,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcStructuralSurfaceMemberTypeEnum /* Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum(Value v) { @@ -5119,7 +5119,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcSubContractResourceTypeEnum::Cl /* Ifc4x1::IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum(Value v) { @@ -5148,7 +5148,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcSurfaceFeatureTypeEnum::Class() /* Ifc4x1::IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum(Value v) { @@ -5177,7 +5177,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcSurfaceSide::Class() { return * /* Ifc4x1::IfcSurfaceSide::IfcSurfaceSide(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcSurfaceSide::IfcSurfaceSide(Value v) { @@ -5206,7 +5206,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcSwitchingDeviceTypeEnum::Class( /* Ifc4x1::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum(Value v) { @@ -5235,7 +5235,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcSystemFurnitureElementTypeEnum: /* Ifc4x1::IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum(Value v) { @@ -5264,7 +5264,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcTankTypeEnum::Class() { return /* Ifc4x1::IfcTankTypeEnum::IfcTankTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcTankTypeEnum::IfcTankTypeEnum(Value v) { @@ -5293,7 +5293,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcTaskDurationEnum::Class() { ret /* Ifc4x1::IfcTaskDurationEnum::IfcTaskDurationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcTaskDurationEnum::IfcTaskDurationEnum(Value v) { @@ -5322,7 +5322,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcTaskTypeEnum::Class() { return /* Ifc4x1::IfcTaskTypeEnum::IfcTaskTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcTaskTypeEnum::IfcTaskTypeEnum(Value v) { @@ -5351,7 +5351,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcTendonAnchorTypeEnum::Class() { /* Ifc4x1::IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum(Value v) { @@ -5380,7 +5380,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcTendonTypeEnum::Class() { retur /* Ifc4x1::IfcTendonTypeEnum::IfcTendonTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcTendonTypeEnum::IfcTendonTypeEnum(Value v) { @@ -5409,7 +5409,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcTextPath::Class() { return *((i /* Ifc4x1::IfcTextPath::IfcTextPath(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcTextPath::IfcTextPath(Value v) { @@ -5438,7 +5438,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcTimeSeriesDataTypeEnum::Class() /* Ifc4x1::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum(Value v) { @@ -5467,7 +5467,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcTransformerTypeEnum::Class() { /* Ifc4x1::IfcTransformerTypeEnum::IfcTransformerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcTransformerTypeEnum::IfcTransformerTypeEnum(Value v) { @@ -5496,7 +5496,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcTransitionCode::Class() { retur /* Ifc4x1::IfcTransitionCode::IfcTransitionCode(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcTransitionCode::IfcTransitionCode(Value v) { @@ -5525,7 +5525,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcTransitionCurveType::Class() { /* Ifc4x1::IfcTransitionCurveType::IfcTransitionCurveType(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcTransitionCurveType::IfcTransitionCurveType(Value v) { @@ -5554,7 +5554,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcTransportElementTypeEnum::Class /* Ifc4x1::IfcTransportElementTypeEnum::IfcTransportElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcTransportElementTypeEnum::IfcTransportElementTypeEnum(Value v) { @@ -5583,7 +5583,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcTrimmingPreference::Class() { r /* Ifc4x1::IfcTrimmingPreference::IfcTrimmingPreference(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcTrimmingPreference::IfcTrimmingPreference(Value v) { @@ -5612,7 +5612,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcTubeBundleTypeEnum::Class() { r /* Ifc4x1::IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum(Value v) { @@ -5641,7 +5641,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcUnitEnum::Class() { return *((i /* Ifc4x1::IfcUnitEnum::IfcUnitEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcUnitEnum::IfcUnitEnum(Value v) { @@ -5670,7 +5670,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcUnitaryControlElementTypeEnum:: /* Ifc4x1::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum(Value v) { @@ -5699,7 +5699,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcUnitaryEquipmentTypeEnum::Class /* Ifc4x1::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum(Value v) { @@ -5728,7 +5728,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcValveTypeEnum::Class() { return /* Ifc4x1::IfcValveTypeEnum::IfcValveTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcValveTypeEnum::IfcValveTypeEnum(Value v) { @@ -5757,7 +5757,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcVibrationIsolatorTypeEnum::Clas /* Ifc4x1::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum(Value v) { @@ -5786,7 +5786,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcVoidingFeatureTypeEnum::Class() /* Ifc4x1::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum(Value v) { @@ -5815,7 +5815,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcWallTypeEnum::Class() { return /* Ifc4x1::IfcWallTypeEnum::IfcWallTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcWallTypeEnum::IfcWallTypeEnum(Value v) { @@ -5844,7 +5844,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcWasteTerminalTypeEnum::Class() /* Ifc4x1::IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum(Value v) { @@ -5873,7 +5873,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcWindowPanelOperationEnum::Class /* Ifc4x1::IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum(Value v) { @@ -5902,7 +5902,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcWindowPanelPositionEnum::Class( /* Ifc4x1::IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum(Value v) { @@ -5931,7 +5931,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcWindowStyleConstructionEnum::Cl /* Ifc4x1::IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum(Value v) { @@ -5960,7 +5960,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcWindowStyleOperationEnum::Class /* Ifc4x1::IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum(Value v) { @@ -5989,7 +5989,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcWindowTypeEnum::Class() { retur /* Ifc4x1::IfcWindowTypeEnum::IfcWindowTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcWindowTypeEnum::IfcWindowTypeEnum(Value v) { @@ -6018,7 +6018,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcWindowTypePartitioningEnum::Cla /* Ifc4x1::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum(Value v) { @@ -6047,7 +6047,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcWorkCalendarTypeEnum::Class() { /* Ifc4x1::IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum(Value v) { @@ -6076,7 +6076,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcWorkPlanTypeEnum::Class() { ret /* Ifc4x1::IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum(Value v) { @@ -6105,7 +6105,7 @@ const ifcopenshell::enumeration_type& Ifc4x1::IfcWorkScheduleTypeEnum::Class() { /* Ifc4x1::IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x1::IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum(Value v) { @@ -6697,8 +6697,8 @@ Ifc4x1::IfcPressureMeasure::operator double() const { return get_attribute_value // Function implementations for IfcPropertySetDefinitionSet const ifcopenshell::type_declaration& Ifc4x1::IfcPropertySetDefinitionSet::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[759]); } -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); } +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]); } @@ -6914,7 +6914,7 @@ const ifcopenshell::entity& Ifc4x1::IfcActionRequest::Class() { return *((ifcope 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>(); } +::Ifc4x1::IfcActorSelect Ifc4x1::IfcActor::TheActor() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcActorSelect>(); } void Ifc4x1::IfcActor::setTheActor(const ::Ifc4x1::IfcActorSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } std::vector<::Ifc4x1::IfcRelAssignsToActor> Ifc4x1::IfcActor::IsActingUpon() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[822], 6)); } @@ -6949,7 +6949,7 @@ void Ifc4x1::IfcActuatorType::setPredefinedType(const ::Ifc4x1::IfcActuatorTypeE const ifcopenshell::entity& Ifc4x1::IfcActuatorType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[10]); } -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; } +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)); } @@ -6972,18 +6972,18 @@ const ifcopenshell::entity& Ifc4x1::IfcAdvancedBrep::Class() { return *((ifcopen 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); } -void Ifc4x1::IfcAdvancedBrepWithVoids::setVoids(const std::vector< ::Ifc4x1::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x1::IfcClosedShell > Ifc4x1::IfcAdvancedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcClosedShell>(es); } +void Ifc4x1::IfcAdvancedBrepWithVoids::setVoids(const std::vector< ::Ifc4x1::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x1::IfcAdvancedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X1_types[15]); } -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; } +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]); } -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; } +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)); } @@ -7007,7 +7007,7 @@ void Ifc4x1::IfcAirTerminalBoxType::setPredefinedType(const ::Ifc4x1::IfcAirTerm const ifcopenshell::entity& Ifc4x1::IfcAirTerminalBoxType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[19]); } -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; } +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]); } -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; } +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)); } @@ -7031,7 +7031,7 @@ void Ifc4x1::IfcAirToAirHeatRecoveryType::setPredefinedType(const ::Ifc4x1::IfcA const ifcopenshell::entity& Ifc4x1::IfcAirToAirHeatRecoveryType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[24]); } -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; } +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)); } @@ -7047,7 +7047,7 @@ void Ifc4x1::IfcAlarmType::setPredefinedType(const ::Ifc4x1::IfcAlarmTypeEnum::V const ifcopenshell::entity& Ifc4x1::IfcAlarmType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[27]); } -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; } +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)); } @@ -7060,16 +7060,16 @@ Ifc4x1::IfcAlignment Ifc4x1::IfcAlignment::initialize(std::string v1_GlobalId, : // 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; } void Ifc4x1::IfcAlignment2DHorizontal::setStartDistAlong(const std::optional< double >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::vector< ::Ifc4x1::IfcAlignment2DHorizontalSegment > Ifc4x1::IfcAlignment2DHorizontal::Segments() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcAlignment2DHorizontalSegment>(es); } -void Ifc4x1::IfcAlignment2DHorizontal::setSegments(const std::vector< ::Ifc4x1::IfcAlignment2DHorizontalSegment >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x1::IfcAlignment2DHorizontalSegment > Ifc4x1::IfcAlignment2DHorizontal::Segments() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcAlignment2DHorizontalSegment>(es); } +void Ifc4x1::IfcAlignment2DHorizontal::setSegments(const std::vector< ::Ifc4x1::IfcAlignment2DHorizontalSegment >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } 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]); } -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; } +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>(); } +::Ifc4x1::IfcCurveSegment2D Ifc4x1::IfcAlignment2DHorizontalSegment::CurveGeometry() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcCurveSegment2D>(); } void Ifc4x1::IfcAlignment2DHorizontalSegment::setCurveGeometry(const ::Ifc4x1::IfcCurveSegment2D& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::vector<::Ifc4x1::IfcAlignment2DHorizontal> Ifc4x1::IfcAlignment2DHorizontalSegment::ToHorizontal() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[30], 1)); } @@ -7116,13 +7116,13 @@ const ifcopenshell::entity& Ifc4x1::IfcAlignment2DVerSegParabolicArc::Class() { 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); } -void Ifc4x1::IfcAlignment2DVertical::setSegments(const std::vector< ::Ifc4x1::IfcAlignment2DVerticalSegment >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x1::IfcAlignment2DVerticalSegment > Ifc4x1::IfcAlignment2DVertical::Segments() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcAlignment2DVerticalSegment>(es); } +void Ifc4x1::IfcAlignment2DVertical::setSegments(const std::vector< ::Ifc4x1::IfcAlignment2DVerticalSegment >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } 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]); } -Ifc4x1::IfcAlignment2DVertical Ifc4x1::IfcAlignment2DVertical::initialize(std::vector< ::Ifc4x1::IfcAlignment2DVerticalSegment > v1_Segments) { set_attribute_value(0, cast_vector(v1_Segments));; return *this; } +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; } @@ -7140,9 +7140,9 @@ const ifcopenshell::entity& Ifc4x1::IfcAlignment2DVerticalSegment::Class() { ret 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>(); } +::Ifc4x1::IfcAlignment2DHorizontal Ifc4x1::IfcAlignmentCurve::Horizontal() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcAlignment2DHorizontal>(); } void Ifc4x1::IfcAlignmentCurve::setHorizontal(const ::Ifc4x1::IfcAlignment2DHorizontal& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcAlignment2DVertical Ifc4x1::IfcAlignmentCurve::Vertical() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x1::IfcAlignment2DVertical{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcAlignment2DVertical>(); } +::Ifc4x1::IfcAlignment2DVertical Ifc4x1::IfcAlignmentCurve::Vertical() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x1::IfcAlignment2DVertical{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcAlignment2DVertical>(); } void Ifc4x1::IfcAlignmentCurve::setVertical(const ::Ifc4x1::IfcAlignment2DVertical& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x1::IfcAlignmentCurve::Tag() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcAlignmentCurve::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } @@ -7159,17 +7159,17 @@ const ifcopenshell::entity& Ifc4x1::IfcAnnotation::Class() { return *((ifcopensh 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>(); } +::Ifc4x1::IfcCurve Ifc4x1::IfcAnnotationFillArea::OuterBoundary() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcCurve>(); } void Ifc4x1::IfcAnnotationFillArea::setOuterBoundary(const ::Ifc4x1::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::optional< std::vector< ::Ifc4x1::IfcCurve > > Ifc4x1::IfcAnnotationFillArea::InnerBoundaries() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcCurve>(es); } -void Ifc4x1::IfcAnnotationFillArea::setInnerBoundaries(const std::optional< std::vector< ::Ifc4x1::IfcCurve > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } +std::optional< std::vector< ::Ifc4x1::IfcCurve > > Ifc4x1::IfcAnnotationFillArea::InnerBoundaries() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcCurve>(es); } +void Ifc4x1::IfcAnnotationFillArea::setInnerBoundaries(const std::optional< std::vector< ::Ifc4x1::IfcCurve > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } const ifcopenshell::entity& Ifc4x1::IfcAnnotationFillArea::Class() { return *((ifcopenshell::entity*)IFC4X1_types[45]); } -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; } +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>(); } +::Ifc4x1::IfcOrganization Ifc4x1::IfcApplication::ApplicationDeveloper() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcOrganization>(); } void Ifc4x1::IfcApplication::setApplicationDeveloper(const ::Ifc4x1::IfcOrganization& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::string Ifc4x1::IfcApplication::Version() const { std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcApplication::setVersion(const std::string& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -7187,9 +7187,9 @@ std::optional< std::string > Ifc4x1::IfcAppliedValue::Name() const { if(get_attr void Ifc4x1::IfcAppliedValue::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x1::IfcAppliedValue::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcAppliedValue::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x1::IfcAppliedValueSelect Ifc4x1::IfcAppliedValue::AppliedValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x1::IfcAppliedValueSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcAppliedValueSelect>(); } +::Ifc4x1::IfcAppliedValueSelect Ifc4x1::IfcAppliedValue::AppliedValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x1::IfcAppliedValueSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcAppliedValueSelect>(); } void Ifc4x1::IfcAppliedValue::setAppliedValue(const ::Ifc4x1::IfcAppliedValueSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcMeasureWithUnit Ifc4x1::IfcAppliedValue::UnitBasis() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcMeasureWithUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcMeasureWithUnit>(); } +::Ifc4x1::IfcMeasureWithUnit Ifc4x1::IfcAppliedValue::UnitBasis() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcMeasureWithUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcMeasureWithUnit>(); } void Ifc4x1::IfcAppliedValue::setUnitBasis(const ::Ifc4x1::IfcMeasureWithUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x1::IfcAppliedValue::ApplicableDate() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcAppliedValue::setApplicableDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -7201,13 +7201,13 @@ std::optional< std::string > Ifc4x1::IfcAppliedValue::Condition() const { if(get void Ifc4x1::IfcAppliedValue::setCondition(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } std::optional< ::Ifc4x1::IfcArithmeticOperatorEnum::Value > Ifc4x1::IfcAppliedValue::ArithmeticOperator() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcArithmeticOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcAppliedValue::setArithmeticOperator(const std::optional< ::Ifc4x1::IfcArithmeticOperatorEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x1::IfcArithmeticOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > Ifc4x1::IfcAppliedValue::Components() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x1::IfcAppliedValue>(es); } -void Ifc4x1::IfcAppliedValue::setComponents(const std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > Ifc4x1::IfcAppliedValue::Components() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x1::IfcAppliedValue>(es); } +void Ifc4x1::IfcAppliedValue::setComponents(const std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } 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]); } -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; } +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; } @@ -7224,9 +7224,9 @@ std::optional< std::string > Ifc4x1::IfcApproval::Level() const { if(get_attribu void Ifc4x1::IfcApproval::setLevel(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< std::string > Ifc4x1::IfcApproval::Qualifier() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x1::IfcApproval::setQualifier(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x1::IfcActorSelect Ifc4x1::IfcApproval::RequestingApproval() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x1::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x1::IfcActorSelect>(); } +::Ifc4x1::IfcActorSelect Ifc4x1::IfcApproval::RequestingApproval() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x1::IfcActorSelect{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x1::IfcActorSelect>(); } void Ifc4x1::IfcApproval::setRequestingApproval(const ::Ifc4x1::IfcActorSelect& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4x1::IfcActorSelect Ifc4x1::IfcApproval::GivingApproval() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x1::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x1::IfcActorSelect>(); } +::Ifc4x1::IfcActorSelect Ifc4x1::IfcApproval::GivingApproval() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x1::IfcActorSelect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x1::IfcActorSelect>(); } void Ifc4x1::IfcApproval::setGivingApproval(const ::Ifc4x1::IfcActorSelect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcApproval::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[394], 3)); } @@ -7239,17 +7239,17 @@ const ifcopenshell::entity& Ifc4x1::IfcApproval::Class() { return *((ifcopenshel 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>(); } +::Ifc4x1::IfcApproval Ifc4x1::IfcApprovalRelationship::RelatingApproval() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcApproval>(); } void Ifc4x1::IfcApprovalRelationship::setRelatingApproval(const ::Ifc4x1::IfcApproval& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x1::IfcApproval > Ifc4x1::IfcApprovalRelationship::RelatedApprovals() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x1::IfcApproval>(es); } -void Ifc4x1::IfcApprovalRelationship::setRelatedApprovals(const std::vector< ::Ifc4x1::IfcApproval >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x1::IfcApproval > Ifc4x1::IfcApprovalRelationship::RelatedApprovals() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x1::IfcApproval>(es); } +void Ifc4x1::IfcApprovalRelationship::setRelatedApprovals(const std::vector< ::Ifc4x1::IfcApproval >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x1::IfcApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X1_types[50]); } -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; } +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>(); } +::Ifc4x1::IfcCurve Ifc4x1::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcCurve>(); } void Ifc4x1::IfcArbitraryClosedProfileDef::setOuterCurve(const ::Ifc4x1::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -7257,7 +7257,7 @@ const ifcopenshell::entity& Ifc4x1::IfcArbitraryClosedProfileDef::Class() { retu 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>(); } +::Ifc4x1::IfcBoundedCurve Ifc4x1::IfcArbitraryOpenProfileDef::Curve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcBoundedCurve>(); } void Ifc4x1::IfcArbitraryOpenProfileDef::setCurve(const ::Ifc4x1::IfcBoundedCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -7265,31 +7265,31 @@ const ifcopenshell::entity& Ifc4x1::IfcArbitraryOpenProfileDef::Class() { return 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); } -void Ifc4x1::IfcArbitraryProfileDefWithVoids::setInnerCurves(const std::vector< ::Ifc4x1::IfcCurve >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x1::IfcCurve > Ifc4x1::IfcArbitraryProfileDefWithVoids::InnerCurves() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x1::IfcCurve>(es); } +void Ifc4x1::IfcArbitraryProfileDefWithVoids::setInnerCurves(const std::vector< ::Ifc4x1::IfcCurve >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x1::IfcArbitraryProfileDefWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X1_types[53]); } -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; } +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; } void Ifc4x1::IfcAsset::setIdentification(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x1::IfcCostValue Ifc4x1::IfcAsset::OriginalValue() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcCostValue{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x1::IfcCostValue>(); } +::Ifc4x1::IfcCostValue Ifc4x1::IfcAsset::OriginalValue() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcCostValue{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x1::IfcCostValue>(); } void Ifc4x1::IfcAsset::setOriginalValue(const ::Ifc4x1::IfcCostValue& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x1::IfcCostValue Ifc4x1::IfcAsset::CurrentValue() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x1::IfcCostValue{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x1::IfcCostValue>(); } +::Ifc4x1::IfcCostValue Ifc4x1::IfcAsset::CurrentValue() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x1::IfcCostValue{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x1::IfcCostValue>(); } void Ifc4x1::IfcAsset::setCurrentValue(const ::Ifc4x1::IfcCostValue& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4x1::IfcCostValue Ifc4x1::IfcAsset::TotalReplacementCost() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x1::IfcCostValue{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x1::IfcCostValue>(); } +::Ifc4x1::IfcCostValue Ifc4x1::IfcAsset::TotalReplacementCost() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x1::IfcCostValue{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x1::IfcCostValue>(); } void Ifc4x1::IfcAsset::setTotalReplacementCost(const ::Ifc4x1::IfcCostValue& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc4x1::IfcActorSelect Ifc4x1::IfcAsset::Owner() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x1::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x1::IfcActorSelect>(); } +::Ifc4x1::IfcActorSelect Ifc4x1::IfcAsset::Owner() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x1::IfcActorSelect{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x1::IfcActorSelect>(); } void Ifc4x1::IfcAsset::setOwner(const ::Ifc4x1::IfcActorSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -::Ifc4x1::IfcActorSelect Ifc4x1::IfcAsset::User() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x1::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x1::IfcActorSelect>(); } +::Ifc4x1::IfcActorSelect Ifc4x1::IfcAsset::User() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x1::IfcActorSelect{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x1::IfcActorSelect>(); } void Ifc4x1::IfcAsset::setUser(const ::Ifc4x1::IfcActorSelect& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -::Ifc4x1::IfcPerson Ifc4x1::IfcAsset::ResponsiblePerson() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x1::IfcPerson{}; } return ((express::Base)(get_attribute_value(11))).as<::Ifc4x1::IfcPerson>(); } +::Ifc4x1::IfcPerson Ifc4x1::IfcAsset::ResponsiblePerson() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x1::IfcPerson{}; } return ((express::base)(get_attribute_value(11))).as<::Ifc4x1::IfcPerson>(); } void Ifc4x1::IfcAsset::setResponsiblePerson(const ::Ifc4x1::IfcPerson& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } std::optional< std::string > Ifc4x1::IfcAsset::IncorporationDate() const { if(get_attribute_value(12).isNull()) { return std::nullopt; } std::string v = get_attribute_value(12); return v; } void Ifc4x1::IfcAsset::setIncorporationDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x1::IfcCostValue Ifc4x1::IfcAsset::DepreciatedValue() const { if(get_attribute_value(13).isNull()) { return ::Ifc4x1::IfcCostValue{}; } return ((express::Base)(get_attribute_value(13))).as<::Ifc4x1::IfcCostValue>(); } +::Ifc4x1::IfcCostValue Ifc4x1::IfcAsset::DepreciatedValue() const { if(get_attribute_value(13).isNull()) { return ::Ifc4x1::IfcCostValue{}; } return ((express::base)(get_attribute_value(13))).as<::Ifc4x1::IfcCostValue>(); } void Ifc4x1::IfcAsset::setDepreciatedValue(const ::Ifc4x1::IfcCostValue& v) { set_attribute_value(13, v);if constexpr (false)unset_attribute_value(13); } @@ -7340,10 +7340,10 @@ void Ifc4x1::IfcAudioVisualApplianceType::setPredefinedType(const ::Ifc4x1::IfcA const ifcopenshell::entity& Ifc4x1::IfcAudioVisualApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[62]); } -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; } +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>(); } +::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>(); } void Ifc4x1::IfcAxis1Placement::setAxis(const ::Ifc4x1::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -7351,7 +7351,7 @@ const ifcopenshell::entity& Ifc4x1::IfcAxis1Placement::Class() { return *((ifcop 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>(); } +::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>(); } void Ifc4x1::IfcAxis2Placement2D::setRefDirection(const ::Ifc4x1::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -7359,9 +7359,9 @@ const ifcopenshell::entity& Ifc4x1::IfcAxis2Placement2D::Class() { return *((ifc 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>(); } +::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>(); } void Ifc4x1::IfcAxis2Placement3D::setAxis(const ::Ifc4x1::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcDirection Ifc4x1::IfcAxis2Placement3D::RefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x1::IfcDirection{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcDirection>(); } +::Ifc4x1::IfcDirection Ifc4x1::IfcAxis2Placement3D::RefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x1::IfcDirection{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcDirection>(); } void Ifc4x1::IfcAxis2Placement3D::setRefDirection(const ::Ifc4x1::IfcDirection& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -7371,8 +7371,8 @@ Ifc4x1::IfcAxis2Placement3D Ifc4x1::IfcAxis2Placement3D::initialize(::Ifc4x1::If // Function implementations for IfcBSplineCurve int64_t Ifc4x1::IfcBSplineCurve::Degree() const { int64_t v = get_attribute_value(0); return v; } void Ifc4x1::IfcBSplineCurve::setDegree(const int64_t& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x1::IfcCartesianPoint > Ifc4x1::IfcBSplineCurve::ControlPointsList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcCartesianPoint>(es); } -void Ifc4x1::IfcBSplineCurve::setControlPointsList(const std::vector< ::Ifc4x1::IfcCartesianPoint >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x1::IfcCartesianPoint > Ifc4x1::IfcBSplineCurve::ControlPointsList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcCartesianPoint>(es); } +void Ifc4x1::IfcBSplineCurve::setControlPointsList(const std::vector< ::Ifc4x1::IfcCartesianPoint >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } ::Ifc4x1::IfcBSplineCurveForm::Value Ifc4x1::IfcBSplineCurve::CurveForm() const { return ::Ifc4x1::IfcBSplineCurveForm::FromString(get_attribute_value(2)); } void Ifc4x1::IfcBSplineCurve::setCurveForm(const ::Ifc4x1::IfcBSplineCurveForm::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4x1::IfcBSplineCurveForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } boost::logic::tribool Ifc4x1::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = get_attribute_value(3); 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]); } -Ifc4x1::IfcBSplineCurve Ifc4x1::IfcBSplineCurve::initialize(int64_t 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; } +Ifc4x1::IfcBSplineCurve Ifc4x1::IfcBSplineCurve::initialize(int64_t 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< int64_t > /*[2:?]*/ Ifc4x1::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int64_t > /*[2:?]*/ v = get_attribute_value(5); return v; } @@ -7394,15 +7394,15 @@ void Ifc4x1::IfcBSplineCurveWithKnots::setKnotSpec(const ::Ifc4x1::IfcKnotType:: const ifcopenshell::entity& Ifc4x1::IfcBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X1_types[98]); } -Ifc4x1::IfcBSplineCurveWithKnots Ifc4x1::IfcBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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; } +Ifc4x1::IfcBSplineCurveWithKnots Ifc4x1::IfcBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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 int64_t Ifc4x1::IfcBSplineSurface::UDegree() const { int64_t v = get_attribute_value(0); return v; } void Ifc4x1::IfcBSplineSurface::setUDegree(const int64_t& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } int64_t Ifc4x1::IfcBSplineSurface::VDegree() const { int64_t v = get_attribute_value(1); return v; } void Ifc4x1::IfcBSplineSurface::setVDegree(const int64_t& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector< std::vector< ::Ifc4x1::IfcCartesianPoint > > Ifc4x1::IfcBSplineSurface::ControlPointsList() const { std::vector> es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcCartesianPoint>(es); } -void Ifc4x1::IfcBSplineSurface::setControlPointsList(const std::vector< std::vector< ::Ifc4x1::IfcCartesianPoint > >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< std::vector< ::Ifc4x1::IfcCartesianPoint > > Ifc4x1::IfcBSplineSurface::ControlPointsList() const { std::vector> es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcCartesianPoint>(es); } +void Ifc4x1::IfcBSplineSurface::setControlPointsList(const std::vector< std::vector< ::Ifc4x1::IfcCartesianPoint > >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } ::Ifc4x1::IfcBSplineSurfaceForm::Value Ifc4x1::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4x1::IfcBSplineSurfaceForm::FromString(get_attribute_value(3)); } void Ifc4x1::IfcBSplineSurface::setSurfaceForm(const ::Ifc4x1::IfcBSplineSurfaceForm::Value& v) { set_attribute_value(3, enumeration_reference(&::Ifc4x1::IfcBSplineSurfaceForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } boost::logic::tribool Ifc4x1::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = get_attribute_value(4); 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]); } -Ifc4x1::IfcBSplineSurface Ifc4x1::IfcBSplineSurface::initialize(int64_t v1_UDegree, int64_t 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; } +Ifc4x1::IfcBSplineSurface Ifc4x1::IfcBSplineSurface::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ Ifc4x1::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int64_t > /*[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]); } -Ifc4x1::IfcBSplineSurfaceWithKnots Ifc4x1::IfcBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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; } +Ifc4x1::IfcBSplineSurfaceWithKnots Ifc4x1::IfcBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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)); } @@ -7452,7 +7452,7 @@ void Ifc4x1::IfcBeamType::setPredefinedType(const ::Ifc4x1::IfcBeamTypeEnum::Val const ifcopenshell::entity& Ifc4x1::IfcBeamType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[70]); } -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; } +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; } @@ -7490,7 +7490,7 @@ void Ifc4x1::IfcBoilerType::setPredefinedType(const ::Ifc4x1::IfcBoilerTypeEnum: const ifcopenshell::entity& Ifc4x1::IfcBoilerType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[78]); } -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; } +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 @@ -7501,9 +7501,9 @@ Ifc4x1::IfcBooleanClippingResult Ifc4x1::IfcBooleanClippingResult::initialize(:: // Function implementations for IfcBooleanResult ::Ifc4x1::IfcBooleanOperator::Value Ifc4x1::IfcBooleanResult::Operator() const { return ::Ifc4x1::IfcBooleanOperator::FromString(get_attribute_value(0)); } void Ifc4x1::IfcBooleanResult::setOperator(const ::Ifc4x1::IfcBooleanOperator::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc4x1::IfcBooleanOperator::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcBooleanOperand Ifc4x1::IfcBooleanResult::FirstOperand() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcBooleanOperand>(); } +::Ifc4x1::IfcBooleanOperand Ifc4x1::IfcBooleanResult::FirstOperand() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcBooleanOperand>(); } void Ifc4x1::IfcBooleanResult::setFirstOperand(const ::Ifc4x1::IfcBooleanOperand& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcBooleanOperand Ifc4x1::IfcBooleanResult::SecondOperand() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcBooleanOperand>(); } +::Ifc4x1::IfcBooleanOperand Ifc4x1::IfcBooleanResult::SecondOperand() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcBooleanOperand>(); } void Ifc4x1::IfcBooleanResult::setSecondOperand(const ::Ifc4x1::IfcBooleanOperand& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -7522,20 +7522,20 @@ Ifc4x1::IfcBoundaryCondition Ifc4x1::IfcBoundaryCondition::initialize(std::optio const ifcopenshell::entity& Ifc4x1::IfcBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X1_types[86]); } -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; } +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>(); } +::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>(); } void Ifc4x1::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(const ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect>(); } void Ifc4x1::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(const ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect>(); } void Ifc4x1::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(const ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect>(); } void Ifc4x1::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(const ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect>(); } void Ifc4x1::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(const ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect>(); } void Ifc4x1::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(const ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -7543,11 +7543,11 @@ const ifcopenshell::entity& Ifc4x1::IfcBoundaryEdgeCondition::Class() { return * 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>(); } +::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>(); } void Ifc4x1::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(const ::Ifc4x1::IfcModulusOfSubgradeReactionSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcModulusOfSubgradeReactionSelect Ifc4x1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x1::IfcModulusOfSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x1::IfcModulusOfSubgradeReactionSelect Ifc4x1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x1::IfcModulusOfSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcModulusOfSubgradeReactionSelect>(); } void Ifc4x1::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(const ::Ifc4x1::IfcModulusOfSubgradeReactionSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcModulusOfSubgradeReactionSelect Ifc4x1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcModulusOfSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x1::IfcModulusOfSubgradeReactionSelect Ifc4x1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcModulusOfSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcModulusOfSubgradeReactionSelect>(); } void Ifc4x1::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(const ::Ifc4x1::IfcModulusOfSubgradeReactionSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -7555,17 +7555,17 @@ const ifcopenshell::entity& Ifc4x1::IfcBoundaryFaceCondition::Class() { return * 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>(); } +::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>(); } void Ifc4x1::IfcBoundaryNodeCondition::setTranslationalStiffnessX(const ::Ifc4x1::IfcTranslationalStiffnessSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcTranslationalStiffnessSelect Ifc4x1::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x1::IfcTranslationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcTranslationalStiffnessSelect>(); } +::Ifc4x1::IfcTranslationalStiffnessSelect Ifc4x1::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x1::IfcTranslationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcTranslationalStiffnessSelect>(); } void Ifc4x1::IfcBoundaryNodeCondition::setTranslationalStiffnessY(const ::Ifc4x1::IfcTranslationalStiffnessSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcTranslationalStiffnessSelect Ifc4x1::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcTranslationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcTranslationalStiffnessSelect>(); } +::Ifc4x1::IfcTranslationalStiffnessSelect Ifc4x1::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcTranslationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcTranslationalStiffnessSelect>(); } void Ifc4x1::IfcBoundaryNodeCondition::setTranslationalStiffnessZ(const ::Ifc4x1::IfcTranslationalStiffnessSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x1::IfcRotationalStiffnessSelect Ifc4x1::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x1::IfcRotationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcRotationalStiffnessSelect>(); } +::Ifc4x1::IfcRotationalStiffnessSelect Ifc4x1::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x1::IfcRotationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcRotationalStiffnessSelect>(); } void Ifc4x1::IfcBoundaryNodeCondition::setRotationalStiffnessX(const ::Ifc4x1::IfcRotationalStiffnessSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcRotationalStiffnessSelect Ifc4x1::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x1::IfcRotationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcRotationalStiffnessSelect>(); } +::Ifc4x1::IfcRotationalStiffnessSelect Ifc4x1::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x1::IfcRotationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcRotationalStiffnessSelect>(); } void Ifc4x1::IfcBoundaryNodeCondition::setRotationalStiffnessY(const ::Ifc4x1::IfcRotationalStiffnessSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x1::IfcRotationalStiffnessSelect Ifc4x1::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcRotationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x1::IfcRotationalStiffnessSelect>(); } +::Ifc4x1::IfcRotationalStiffnessSelect Ifc4x1::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcRotationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x1::IfcRotationalStiffnessSelect>(); } void Ifc4x1::IfcBoundaryNodeCondition::setRotationalStiffnessZ(const ::Ifc4x1::IfcRotationalStiffnessSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -7573,7 +7573,7 @@ const ifcopenshell::entity& Ifc4x1::IfcBoundaryNodeCondition::Class() { return * 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>(); } +::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>(); } void Ifc4x1::IfcBoundaryNodeConditionWarping::setWarpingStiffness(const ::Ifc4x1::IfcWarpingStiffnessSelect& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -7593,7 +7593,7 @@ const ifcopenshell::entity& Ifc4x1::IfcBoundedSurface::Class() { return *((ifcop 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>(); } +::Ifc4x1::IfcCartesianPoint Ifc4x1::IfcBoundingBox::Corner() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcCartesianPoint>(); } void Ifc4x1::IfcBoundingBox::setCorner(const ::Ifc4x1::IfcCartesianPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x1::IfcBoundingBox::XDim() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcBoundingBox::setXDim(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -7607,7 +7607,7 @@ const ifcopenshell::entity& Ifc4x1::IfcBoundingBox::Class() { return *((ifcopens 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>(); } +::Ifc4x1::IfcBoundingBox Ifc4x1::IfcBoxedHalfSpace::Enclosure() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcBoundingBox>(); } void Ifc4x1::IfcBoxedHalfSpace::setEnclosure(const ::Ifc4x1::IfcBoundingBox& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -7619,7 +7619,7 @@ std::optional< double > Ifc4x1::IfcBuilding::ElevationOfRefHeight() const { if(g void Ifc4x1::IfcBuilding::setElevationOfRefHeight(const std::optional< double >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } std::optional< double > Ifc4x1::IfcBuilding::ElevationOfTerrain() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc4x1::IfcBuilding::setElevationOfTerrain(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x1::IfcPostalAddress Ifc4x1::IfcBuilding::BuildingAddress() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x1::IfcPostalAddress{}; } return ((express::Base)(get_attribute_value(11))).as<::Ifc4x1::IfcPostalAddress>(); } +::Ifc4x1::IfcPostalAddress Ifc4x1::IfcBuilding::BuildingAddress() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x1::IfcPostalAddress{}; } return ((express::base)(get_attribute_value(11))).as<::Ifc4x1::IfcPostalAddress>(); } void Ifc4x1::IfcBuilding::setBuildingAddress(const ::Ifc4x1::IfcPostalAddress& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } @@ -7646,7 +7646,7 @@ void Ifc4x1::IfcBuildingElementPartType::setPredefinedType(const ::Ifc4x1::IfcBu const ifcopenshell::entity& Ifc4x1::IfcBuildingElementPartType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[105]); } -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; } +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)); } @@ -7662,13 +7662,13 @@ void Ifc4x1::IfcBuildingElementProxyType::setPredefinedType(const ::Ifc4x1::IfcB const ifcopenshell::entity& Ifc4x1::IfcBuildingElementProxyType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[108]); } -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; } +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]); } -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; } +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; } @@ -7702,7 +7702,7 @@ void Ifc4x1::IfcBurnerType::setPredefinedType(const ::Ifc4x1::IfcBurnerTypeEnum: const ifcopenshell::entity& Ifc4x1::IfcBurnerType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[115]); } -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; } +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; } @@ -7734,7 +7734,7 @@ void Ifc4x1::IfcCableCarrierFittingType::setPredefinedType(const ::Ifc4x1::IfcCa const ifcopenshell::entity& Ifc4x1::IfcCableCarrierFittingType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[118]); } -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; } +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)); } @@ -7750,7 +7750,7 @@ void Ifc4x1::IfcCableCarrierSegmentType::setPredefinedType(const ::Ifc4x1::IfcCa const ifcopenshell::entity& Ifc4x1::IfcCableCarrierSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[121]); } -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; } +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)); } @@ -7766,7 +7766,7 @@ void Ifc4x1::IfcCableFittingType::setPredefinedType(const ::Ifc4x1::IfcCableFitt const ifcopenshell::entity& Ifc4x1::IfcCableFittingType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[124]); } -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; } +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)); } @@ -7782,7 +7782,7 @@ void Ifc4x1::IfcCableSegmentType::setPredefinedType(const ::Ifc4x1::IfcCableSegm const ifcopenshell::entity& Ifc4x1::IfcCableSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[127]); } -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; } +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; } @@ -7819,11 +7819,11 @@ const ifcopenshell::entity& Ifc4x1::IfcCartesianPointList3D::Class() { return *( 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>(); } +::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>(); } void Ifc4x1::IfcCartesianTransformationOperator::setAxis1(const ::Ifc4x1::IfcDirection& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcDirection Ifc4x1::IfcCartesianTransformationOperator::Axis2() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x1::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcDirection>(); } +::Ifc4x1::IfcDirection Ifc4x1::IfcCartesianTransformationOperator::Axis2() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x1::IfcDirection{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcDirection>(); } void Ifc4x1::IfcCartesianTransformationOperator::setAxis2(const ::Ifc4x1::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcCartesianPoint Ifc4x1::IfcCartesianTransformationOperator::LocalOrigin() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcCartesianPoint>(); } +::Ifc4x1::IfcCartesianPoint Ifc4x1::IfcCartesianTransformationOperator::LocalOrigin() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcCartesianPoint>(); } void Ifc4x1::IfcCartesianTransformationOperator::setLocalOrigin(const ::Ifc4x1::IfcCartesianPoint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc4x1::IfcCartesianTransformationOperator::Scale() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4x1::IfcCartesianTransformationOperator::setScale(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } @@ -7847,7 +7847,7 @@ const ifcopenshell::entity& Ifc4x1::IfcCartesianTransformationOperator2DnonUnifo 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>(); } +::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>(); } void Ifc4x1::IfcCartesianTransformationOperator3D::setAxis3(const ::Ifc4x1::IfcDirection& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -7886,7 +7886,7 @@ void Ifc4x1::IfcChillerType::setPredefinedType(const ::Ifc4x1::IfcChillerTypeEnu const ifcopenshell::entity& Ifc4x1::IfcChillerType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[142]); } -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; } +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)); } @@ -7902,7 +7902,7 @@ void Ifc4x1::IfcChimneyType::setPredefinedType(const ::Ifc4x1::IfcChimneyTypeEnu const ifcopenshell::entity& Ifc4x1::IfcChimneyType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[145]); } -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; } +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; } @@ -7948,7 +7948,7 @@ Ifc4x1::IfcCivilElement Ifc4x1::IfcCivilElement::initialize(std::string v1_Globa const ifcopenshell::entity& Ifc4x1::IfcCivilElementType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[152]); } -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; } +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; } @@ -7973,7 +7973,7 @@ const ifcopenshell::entity& Ifc4x1::IfcClassification::Class() { return *((ifcop 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>(); } +::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>(); } void Ifc4x1::IfcClassificationReference::setReferencedSource(const ::Ifc4x1::IfcClassificationReferenceSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x1::IfcClassificationReference::Description() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcClassificationReference::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -7990,7 +7990,7 @@ Ifc4x1::IfcClassificationReference Ifc4x1::IfcClassificationReference::initializ const ifcopenshell::entity& Ifc4x1::IfcClosedShell::Class() { return *((ifcopenshell::entity*)IFC4X1_types[157]); } -Ifc4x1::IfcClosedShell Ifc4x1::IfcClosedShell::initialize(std::vector< ::Ifc4x1::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } +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)); } @@ -8006,7 +8006,7 @@ void Ifc4x1::IfcCoilType::setPredefinedType(const ::Ifc4x1::IfcCoilTypeEnum::Val const ifcopenshell::entity& Ifc4x1::IfcCoilType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[159]); } -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; } +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; } @@ -8056,7 +8056,7 @@ void Ifc4x1::IfcColumnType::setPredefinedType(const ::Ifc4x1::IfcColumnTypeEnum: const ifcopenshell::entity& Ifc4x1::IfcColumnType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[168]); } -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; } +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)); } @@ -8072,52 +8072,52 @@ void Ifc4x1::IfcCommunicationsApplianceType::setPredefinedType(const ::Ifc4x1::I const ifcopenshell::entity& Ifc4x1::IfcCommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[171]); } -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; } +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; } void Ifc4x1::IfcComplexProperty::setUsageName(const std::string& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x1::IfcProperty > Ifc4x1::IfcComplexProperty::HasProperties() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x1::IfcProperty>(es); } -void Ifc4x1::IfcComplexProperty::setHasProperties(const std::vector< ::Ifc4x1::IfcProperty >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x1::IfcProperty > Ifc4x1::IfcComplexProperty::HasProperties() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x1::IfcProperty>(es); } +void Ifc4x1::IfcComplexProperty::setHasProperties(const std::vector< ::Ifc4x1::IfcProperty >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x1::IfcComplexProperty::Class() { return *((ifcopenshell::entity*)IFC4X1_types[174]); } -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; } +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; } void Ifc4x1::IfcComplexPropertyTemplate::setUsageName(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } std::optional< ::Ifc4x1::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x1::IfcComplexPropertyTemplate::TemplateType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcComplexPropertyTemplateTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x1::IfcComplexPropertyTemplate::setTemplateType(const std::optional< ::Ifc4x1::IfcComplexPropertyTemplateTypeEnum::Value >& v) { if (v) {set_attribute_value(5, enumeration_reference(&::Ifc4x1::IfcComplexPropertyTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -std::optional< std::vector< ::Ifc4x1::IfcPropertyTemplate > > Ifc4x1::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x1::IfcPropertyTemplate>(es); } -void Ifc4x1::IfcComplexPropertyTemplate::setHasPropertyTemplates(const std::optional< std::vector< ::Ifc4x1::IfcPropertyTemplate > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +std::optional< std::vector< ::Ifc4x1::IfcPropertyTemplate > > Ifc4x1::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x1::IfcPropertyTemplate>(es); } +void Ifc4x1::IfcComplexPropertyTemplate::setHasPropertyTemplates(const std::optional< std::vector< ::Ifc4x1::IfcPropertyTemplate > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } const ifcopenshell::entity& Ifc4x1::IfcComplexPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X1_types[175]); } -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; } +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); } -void Ifc4x1::IfcCompositeCurve::setSegments(const std::vector< ::Ifc4x1::IfcCompositeCurveSegment >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x1::IfcCompositeCurveSegment > Ifc4x1::IfcCompositeCurve::Segments() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcCompositeCurveSegment>(es); } +void Ifc4x1::IfcCompositeCurve::setSegments(const std::vector< ::Ifc4x1::IfcCompositeCurveSegment >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } boost::logic::tribool Ifc4x1::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(1); return v; } void Ifc4x1::IfcCompositeCurve::setSelfIntersect(const boost::logic::tribool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x1::IfcCompositeCurve::Class() { return *((ifcopenshell::entity*)IFC4X1_types[177]); } -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; } +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]); } -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; } +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)); } void Ifc4x1::IfcCompositeCurveSegment::setTransition(const ::Ifc4x1::IfcTransitionCode::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc4x1::IfcTransitionCode::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } bool Ifc4x1::IfcCompositeCurveSegment::SameSense() const { bool v = get_attribute_value(1); return v; } void Ifc4x1::IfcCompositeCurveSegment::setSameSense(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcCurve Ifc4x1::IfcCompositeCurveSegment::ParentCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcCurve>(); } +::Ifc4x1::IfcCurve Ifc4x1::IfcCompositeCurveSegment::ParentCurve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcCurve>(); } void Ifc4x1::IfcCompositeCurveSegment::setParentCurve(const ::Ifc4x1::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::vector<::Ifc4x1::IfcCompositeCurve> Ifc4x1::IfcCompositeCurveSegment::UsingCurves() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[177], 0)); } @@ -8126,14 +8126,14 @@ const ifcopenshell::entity& Ifc4x1::IfcCompositeCurveSegment::Class() { return * 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); } -void Ifc4x1::IfcCompositeProfileDef::setProfiles(const std::vector< ::Ifc4x1::IfcProfileDef >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x1::IfcProfileDef > Ifc4x1::IfcCompositeProfileDef::Profiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcProfileDef>(es); } +void Ifc4x1::IfcCompositeProfileDef::setProfiles(const std::vector< ::Ifc4x1::IfcProfileDef >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4x1::IfcCompositeProfileDef::Label() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x1::IfcCompositeProfileDef::setLabel(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const ifcopenshell::entity& Ifc4x1::IfcCompositeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X1_types[180]); } -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; } +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)); } @@ -8149,7 +8149,7 @@ void Ifc4x1::IfcCompressorType::setPredefinedType(const ::Ifc4x1::IfcCompressorT const ifcopenshell::entity& Ifc4x1::IfcCompressorType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[183]); } -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; } +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)); } @@ -8165,10 +8165,10 @@ void Ifc4x1::IfcCondenserType::setPredefinedType(const ::Ifc4x1::IfcCondenserTyp const ifcopenshell::entity& Ifc4x1::IfcCondenserType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[186]); } -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; } +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>(); } +::Ifc4x1::IfcAxis2Placement Ifc4x1::IfcConic::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcAxis2Placement>(); } void Ifc4x1::IfcConic::setPosition(const ::Ifc4x1::IfcAxis2Placement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -8176,17 +8176,17 @@ const ifcopenshell::entity& Ifc4x1::IfcConic::Class() { return *((ifcopenshell:: 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); } -void Ifc4x1::IfcConnectedFaceSet::setCfsFaces(const std::vector< ::Ifc4x1::IfcFace >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x1::IfcFace > Ifc4x1::IfcConnectedFaceSet::CfsFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcFace>(es); } +void Ifc4x1::IfcConnectedFaceSet::setCfsFaces(const std::vector< ::Ifc4x1::IfcFace >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x1::IfcConnectedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X1_types[189]); } -Ifc4x1::IfcConnectedFaceSet Ifc4x1::IfcConnectedFaceSet::initialize(std::vector< ::Ifc4x1::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } +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>(); } +::Ifc4x1::IfcCurveOrEdgeCurve Ifc4x1::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcCurveOrEdgeCurve>(); } void Ifc4x1::IfcConnectionCurveGeometry::setCurveOnRelatingElement(const ::Ifc4x1::IfcCurveOrEdgeCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcCurveOrEdgeCurve Ifc4x1::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x1::IfcCurveOrEdgeCurve{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcCurveOrEdgeCurve>(); } +::Ifc4x1::IfcCurveOrEdgeCurve Ifc4x1::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x1::IfcCurveOrEdgeCurve{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcCurveOrEdgeCurve>(); } void Ifc4x1::IfcConnectionCurveGeometry::setCurveOnRelatedElement(const ::Ifc4x1::IfcCurveOrEdgeCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8212,9 +8212,9 @@ const ifcopenshell::entity& Ifc4x1::IfcConnectionPointEccentricity::Class() { re 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>(); } +::Ifc4x1::IfcPointOrVertexPoint Ifc4x1::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcPointOrVertexPoint>(); } void Ifc4x1::IfcConnectionPointGeometry::setPointOnRelatingElement(const ::Ifc4x1::IfcPointOrVertexPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcPointOrVertexPoint Ifc4x1::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x1::IfcPointOrVertexPoint{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcPointOrVertexPoint>(); } +::Ifc4x1::IfcPointOrVertexPoint Ifc4x1::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x1::IfcPointOrVertexPoint{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcPointOrVertexPoint>(); } void Ifc4x1::IfcConnectionPointGeometry::setPointOnRelatedElement(const ::Ifc4x1::IfcPointOrVertexPoint& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8222,9 +8222,9 @@ const ifcopenshell::entity& Ifc4x1::IfcConnectionPointGeometry::Class() { return 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>(); } +::Ifc4x1::IfcSurfaceOrFaceSurface Ifc4x1::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcSurfaceOrFaceSurface>(); } void Ifc4x1::IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(const ::Ifc4x1::IfcSurfaceOrFaceSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcSurfaceOrFaceSurface Ifc4x1::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x1::IfcSurfaceOrFaceSurface{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcSurfaceOrFaceSurface>(); } +::Ifc4x1::IfcSurfaceOrFaceSurface Ifc4x1::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x1::IfcSurfaceOrFaceSurface{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcSurfaceOrFaceSurface>(); } void Ifc4x1::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(const ::Ifc4x1::IfcSurfaceOrFaceSurface& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8232,9 +8232,9 @@ const ifcopenshell::entity& Ifc4x1::IfcConnectionSurfaceGeometry::Class() { retu 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>(); } +::Ifc4x1::IfcSolidOrShell Ifc4x1::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcSolidOrShell>(); } void Ifc4x1::IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(const ::Ifc4x1::IfcSolidOrShell& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcSolidOrShell Ifc4x1::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x1::IfcSolidOrShell{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcSolidOrShell>(); } +::Ifc4x1::IfcSolidOrShell Ifc4x1::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x1::IfcSolidOrShell{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcSolidOrShell>(); } void Ifc4x1::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(const ::Ifc4x1::IfcSolidOrShell& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8250,7 +8250,7 @@ void Ifc4x1::IfcConstraint::setDescription(const std::optional< std::string >& v void Ifc4x1::IfcConstraint::setConstraintGrade(const ::Ifc4x1::IfcConstraintEnum::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4x1::IfcConstraintEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4x1::IfcConstraint::ConstraintSource() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x1::IfcConstraint::setConstraintSource(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x1::IfcActorSelect Ifc4x1::IfcConstraint::CreatingActor() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x1::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcActorSelect>(); } +::Ifc4x1::IfcActorSelect Ifc4x1::IfcConstraint::CreatingActor() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x1::IfcActorSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcActorSelect>(); } void Ifc4x1::IfcConstraint::setCreatingActor(const ::Ifc4x1::IfcActorSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::optional< std::string > Ifc4x1::IfcConstraint::CreationTime() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcConstraint::setCreationTime(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } @@ -8269,7 +8269,7 @@ void Ifc4x1::IfcConstructionEquipmentResource::setPredefinedType(const std::opti const ifcopenshell::entity& Ifc4x1::IfcConstructionEquipmentResource::Class() { return *((ifcopenshell::entity*)IFC4X1_types[199]); } -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; } +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]); } -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; } +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]); } -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; } +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]); } -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; } +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]); } -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; } +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,29 +8309,29 @@ void Ifc4x1::IfcConstructionProductResourceType::setPredefinedType(const ::Ifc4x const ifcopenshell::entity& Ifc4x1::IfcConstructionProductResourceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[206]); } -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; } +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>(); } +::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>(); } void Ifc4x1::IfcConstructionResource::setUsage(const ::Ifc4x1::IfcResourceTime& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > Ifc4x1::IfcConstructionResource::BaseCosts() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x1::IfcAppliedValue>(es); } -void Ifc4x1::IfcConstructionResource::setBaseCosts(const std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } -::Ifc4x1::IfcPhysicalQuantity Ifc4x1::IfcConstructionResource::BaseQuantity() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x1::IfcPhysicalQuantity{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x1::IfcPhysicalQuantity>(); } +std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > Ifc4x1::IfcConstructionResource::BaseCosts() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x1::IfcAppliedValue>(es); } +void Ifc4x1::IfcConstructionResource::setBaseCosts(const std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } +::Ifc4x1::IfcPhysicalQuantity Ifc4x1::IfcConstructionResource::BaseQuantity() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x1::IfcPhysicalQuantity{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x1::IfcPhysicalQuantity>(); } void Ifc4x1::IfcConstructionResource::setBaseQuantity(const ::Ifc4x1::IfcPhysicalQuantity& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } const ifcopenshell::entity& Ifc4x1::IfcConstructionResource::Class() { return *((ifcopenshell::entity*)IFC4X1_types[208]); } -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; } +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); } -void Ifc4x1::IfcConstructionResourceType::setBaseCosts(const std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } -::Ifc4x1::IfcPhysicalQuantity Ifc4x1::IfcConstructionResourceType::BaseQuantity() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x1::IfcPhysicalQuantity{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x1::IfcPhysicalQuantity>(); } +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); } +void Ifc4x1::IfcConstructionResourceType::setBaseCosts(const std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +::Ifc4x1::IfcPhysicalQuantity Ifc4x1::IfcConstructionResourceType::BaseQuantity() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x1::IfcPhysicalQuantity{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x1::IfcPhysicalQuantity>(); } void Ifc4x1::IfcConstructionResourceType::setBaseQuantity(const ::Ifc4x1::IfcPhysicalQuantity& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } const ifcopenshell::entity& Ifc4x1::IfcConstructionResourceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[209]); } -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; } +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; } @@ -8340,16 +8340,16 @@ std::optional< std::string > Ifc4x1::IfcContext::LongName() const { if(get_attri void Ifc4x1::IfcContext::setLongName(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< std::string > Ifc4x1::IfcContext::Phase() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x1::IfcContext::setPhase(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x1::IfcRepresentationContext > > Ifc4x1::IfcContext::RepresentationContexts() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x1::IfcRepresentationContext>(es); } -void Ifc4x1::IfcContext::setRepresentationContexts(const std::optional< std::vector< ::Ifc4x1::IfcRepresentationContext > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } -::Ifc4x1::IfcUnitAssignment Ifc4x1::IfcContext::UnitsInContext() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x1::IfcUnitAssignment{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x1::IfcUnitAssignment>(); } +std::optional< std::vector< ::Ifc4x1::IfcRepresentationContext > > Ifc4x1::IfcContext::RepresentationContexts() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x1::IfcRepresentationContext>(es); } +void Ifc4x1::IfcContext::setRepresentationContexts(const std::optional< std::vector< ::Ifc4x1::IfcRepresentationContext > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +::Ifc4x1::IfcUnitAssignment Ifc4x1::IfcContext::UnitsInContext() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x1::IfcUnitAssignment{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x1::IfcUnitAssignment>(); } void Ifc4x1::IfcContext::setUnitsInContext(const ::Ifc4x1::IfcUnitAssignment& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } std::vector<::Ifc4x1::IfcRelDefinesByProperties> Ifc4x1::IfcContext::IsDefinedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[853], 4)); } 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]); } -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; } +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; } @@ -8383,12 +8383,12 @@ void Ifc4x1::IfcControllerType::setPredefinedType(const ::Ifc4x1::IfcControllerT const ifcopenshell::entity& Ifc4x1::IfcControllerType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[215]); } -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; } +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; } void Ifc4x1::IfcConversionBasedUnit::setName(const std::string& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcMeasureWithUnit Ifc4x1::IfcConversionBasedUnit::ConversionFactor() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcMeasureWithUnit>(); } +::Ifc4x1::IfcMeasureWithUnit Ifc4x1::IfcConversionBasedUnit::ConversionFactor() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcMeasureWithUnit>(); } void Ifc4x1::IfcConversionBasedUnit::setConversionFactor(const ::Ifc4x1::IfcMeasureWithUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[394], 3)); } @@ -8418,7 +8418,7 @@ void Ifc4x1::IfcCooledBeamType::setPredefinedType(const ::Ifc4x1::IfcCooledBeamT const ifcopenshell::entity& Ifc4x1::IfcCooledBeamType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[220]); } -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; } +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)); } @@ -8434,12 +8434,12 @@ void Ifc4x1::IfcCoolingTowerType::setPredefinedType(const ::Ifc4x1::IfcCoolingTo const ifcopenshell::entity& Ifc4x1::IfcCoolingTowerType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[223]); } -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; } +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>(); } +::Ifc4x1::IfcCoordinateReferenceSystemSelect Ifc4x1::IfcCoordinateOperation::SourceCRS() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcCoordinateReferenceSystemSelect>(); } void Ifc4x1::IfcCoordinateOperation::setSourceCRS(const ::Ifc4x1::IfcCoordinateReferenceSystemSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcCoordinateReferenceSystem Ifc4x1::IfcCoordinateOperation::TargetCRS() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcCoordinateReferenceSystem>(); } +::Ifc4x1::IfcCoordinateReferenceSystem Ifc4x1::IfcCoordinateOperation::TargetCRS() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcCoordinateReferenceSystem>(); } void Ifc4x1::IfcCoordinateOperation::setTargetCRS(const ::Ifc4x1::IfcCoordinateReferenceSystem& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8464,14 +8464,14 @@ Ifc4x1::IfcCoordinateReferenceSystem Ifc4x1::IfcCoordinateReferenceSystem::initi // 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)); } void Ifc4x1::IfcCostItem::setPredefinedType(const std::optional< ::Ifc4x1::IfcCostItemTypeEnum::Value >& v) { if (v) {set_attribute_value(6, enumeration_reference(&::Ifc4x1::IfcCostItemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x1::IfcCostValue > > Ifc4x1::IfcCostItem::CostValues() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x1::IfcCostValue>(es); } -void Ifc4x1::IfcCostItem::setCostValues(const std::optional< std::vector< ::Ifc4x1::IfcCostValue > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } -std::optional< std::vector< ::Ifc4x1::IfcPhysicalQuantity > > Ifc4x1::IfcCostItem::CostQuantities() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x1::IfcPhysicalQuantity>(es); } -void Ifc4x1::IfcCostItem::setCostQuantities(const std::optional< std::vector< ::Ifc4x1::IfcPhysicalQuantity > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } +std::optional< std::vector< ::Ifc4x1::IfcCostValue > > Ifc4x1::IfcCostItem::CostValues() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x1::IfcCostValue>(es); } +void Ifc4x1::IfcCostItem::setCostValues(const std::optional< std::vector< ::Ifc4x1::IfcCostValue > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x1::IfcPhysicalQuantity > > Ifc4x1::IfcCostItem::CostQuantities() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x1::IfcPhysicalQuantity>(es); } +void Ifc4x1::IfcCostItem::setCostQuantities(const std::optional< std::vector< ::Ifc4x1::IfcPhysicalQuantity > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } const ifcopenshell::entity& Ifc4x1::IfcCostItem::Class() { return *((ifcopenshell::entity*)IFC4X1_types[228]); } -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; } +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)); } @@ -8491,7 +8491,7 @@ Ifc4x1::IfcCostSchedule Ifc4x1::IfcCostSchedule::initialize(std::string v1_Globa const ifcopenshell::entity& Ifc4x1::IfcCostValue::Class() { return *((ifcopenshell::entity*)IFC4X1_types[232]); } -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; } +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)); } @@ -8509,7 +8509,7 @@ void Ifc4x1::IfcCoveringType::setPredefinedType(const ::Ifc4x1::IfcCoveringTypeE const ifcopenshell::entity& Ifc4x1::IfcCoveringType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[235]); } -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; } +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]); } -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; } +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,10 +8525,10 @@ void Ifc4x1::IfcCrewResourceType::setPredefinedType(const ::Ifc4x1::IfcCrewResou const ifcopenshell::entity& Ifc4x1::IfcCrewResourceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[238]); } -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; } +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>(); } +::Ifc4x1::IfcAxis2Placement3D Ifc4x1::IfcCsgPrimitive3D::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcAxis2Placement3D>(); } void Ifc4x1::IfcCsgPrimitive3D::setPosition(const ::Ifc4x1::IfcAxis2Placement3D& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -8536,7 +8536,7 @@ const ifcopenshell::entity& Ifc4x1::IfcCsgPrimitive3D::Class() { return *((ifcop 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>(); } +::Ifc4x1::IfcCsgSelect Ifc4x1::IfcCsgSolid::TreeRootExpression() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcCsgSelect>(); } void Ifc4x1::IfcCsgSolid::setTreeRootExpression(const ::Ifc4x1::IfcCsgSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -8544,15 +8544,15 @@ const ifcopenshell::entity& Ifc4x1::IfcCsgSolid::Class() { return *((ifcopenshel 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>(); } +::Ifc4x1::IfcMonetaryUnit Ifc4x1::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcMonetaryUnit>(); } void Ifc4x1::IfcCurrencyRelationship::setRelatingMonetaryUnit(const ::Ifc4x1::IfcMonetaryUnit& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcMonetaryUnit Ifc4x1::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcMonetaryUnit>(); } +::Ifc4x1::IfcMonetaryUnit Ifc4x1::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcMonetaryUnit>(); } void Ifc4x1::IfcCurrencyRelationship::setRelatedMonetaryUnit(const ::Ifc4x1::IfcMonetaryUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } double Ifc4x1::IfcCurrencyRelationship::ExchangeRate() const { double v = get_attribute_value(4); return v; } void Ifc4x1::IfcCurrencyRelationship::setExchangeRate(const double& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::optional< std::string > Ifc4x1::IfcCurrencyRelationship::RateDateTime() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcCurrencyRelationship::setRateDateTime(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x1::IfcLibraryInformation Ifc4x1::IfcCurrencyRelationship::RateSource() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcLibraryInformation{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x1::IfcLibraryInformation>(); } +::Ifc4x1::IfcLibraryInformation Ifc4x1::IfcCurrencyRelationship::RateSource() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcLibraryInformation{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x1::IfcLibraryInformation>(); } void Ifc4x1::IfcCurrencyRelationship::setRateSource(const ::Ifc4x1::IfcLibraryInformation& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -8573,7 +8573,7 @@ void Ifc4x1::IfcCurtainWallType::setPredefinedType(const ::Ifc4x1::IfcCurtainWal const ifcopenshell::entity& Ifc4x1::IfcCurtainWallType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[246]); } -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; } +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 @@ -8582,31 +8582,31 @@ const ifcopenshell::entity& Ifc4x1::IfcCurve::Class() { return *((ifcopenshell:: 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>(); } +::Ifc4x1::IfcPlane Ifc4x1::IfcCurveBoundedPlane::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcPlane>(); } void Ifc4x1::IfcCurveBoundedPlane::setBasisSurface(const ::Ifc4x1::IfcPlane& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcCurve Ifc4x1::IfcCurveBoundedPlane::OuterBoundary() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcCurve>(); } +::Ifc4x1::IfcCurve Ifc4x1::IfcCurveBoundedPlane::OuterBoundary() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcCurve>(); } void Ifc4x1::IfcCurveBoundedPlane::setOuterBoundary(const ::Ifc4x1::IfcCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x1::IfcCurve > Ifc4x1::IfcCurveBoundedPlane::InnerBoundaries() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcCurve>(es); } -void Ifc4x1::IfcCurveBoundedPlane::setInnerBoundaries(const std::vector< ::Ifc4x1::IfcCurve >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x1::IfcCurve > Ifc4x1::IfcCurveBoundedPlane::InnerBoundaries() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcCurve>(es); } +void Ifc4x1::IfcCurveBoundedPlane::setInnerBoundaries(const std::vector< ::Ifc4x1::IfcCurve >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x1::IfcCurveBoundedPlane::Class() { return *((ifcopenshell::entity*)IFC4X1_types[250]); } -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; } +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>(); } +::Ifc4x1::IfcSurface Ifc4x1::IfcCurveBoundedSurface::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcSurface>(); } void Ifc4x1::IfcCurveBoundedSurface::setBasisSurface(const ::Ifc4x1::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x1::IfcBoundaryCurve > Ifc4x1::IfcCurveBoundedSurface::Boundaries() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcBoundaryCurve>(es); } -void Ifc4x1::IfcCurveBoundedSurface::setBoundaries(const std::vector< ::Ifc4x1::IfcBoundaryCurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x1::IfcBoundaryCurve > Ifc4x1::IfcCurveBoundedSurface::Boundaries() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcBoundaryCurve>(es); } +void Ifc4x1::IfcCurveBoundedSurface::setBoundaries(const std::vector< ::Ifc4x1::IfcBoundaryCurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } bool Ifc4x1::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = get_attribute_value(2); return v; } void Ifc4x1::IfcCurveBoundedSurface::setImplicitOuter(const bool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x1::IfcCurveBoundedSurface::Class() { return *((ifcopenshell::entity*)IFC4X1_types[251]); } -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; } +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>(); } +::Ifc4x1::IfcCartesianPoint Ifc4x1::IfcCurveSegment2D::StartPoint() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcCartesianPoint>(); } void Ifc4x1::IfcCurveSegment2D::setStartPoint(const ::Ifc4x1::IfcCartesianPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x1::IfcCurveSegment2D::StartDirection() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcCurveSegment2D::setStartDirection(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8618,11 +8618,11 @@ const ifcopenshell::entity& Ifc4x1::IfcCurveSegment2D::Class() { return *((ifcop 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>(); } +::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>(); } void Ifc4x1::IfcCurveStyle::setCurveFont(const ::Ifc4x1::IfcCurveFontOrScaledCurveFontSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcSizeSelect Ifc4x1::IfcCurveStyle::CurveWidth() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x1::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcSizeSelect>(); } +::Ifc4x1::IfcSizeSelect Ifc4x1::IfcCurveStyle::CurveWidth() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x1::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcSizeSelect>(); } void Ifc4x1::IfcCurveStyle::setCurveWidth(const ::Ifc4x1::IfcSizeSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcColour Ifc4x1::IfcCurveStyle::CurveColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcColour{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcColour>(); } +::Ifc4x1::IfcColour Ifc4x1::IfcCurveStyle::CurveColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcColour{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcColour>(); } void Ifc4x1::IfcCurveStyle::setCurveColour(const ::Ifc4x1::IfcColour& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< bool > Ifc4x1::IfcCurveStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } bool v = get_attribute_value(4); return v; } void Ifc4x1::IfcCurveStyle::setModelOrDraughting(const std::optional< bool >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -8634,17 +8634,17 @@ Ifc4x1::IfcCurveStyle Ifc4x1::IfcCurveStyle::initialize(std::optional< std::stri // 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; } void Ifc4x1::IfcCurveStyleFont::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::vector< ::Ifc4x1::IfcCurveStyleFontPattern > Ifc4x1::IfcCurveStyleFont::PatternList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcCurveStyleFontPattern>(es); } -void Ifc4x1::IfcCurveStyleFont::setPatternList(const std::vector< ::Ifc4x1::IfcCurveStyleFontPattern >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x1::IfcCurveStyleFontPattern > Ifc4x1::IfcCurveStyleFont::PatternList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcCurveStyleFontPattern>(es); } +void Ifc4x1::IfcCurveStyleFont::setPatternList(const std::vector< ::Ifc4x1::IfcCurveStyleFontPattern >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x1::IfcCurveStyleFont::Class() { return *((ifcopenshell::entity*)IFC4X1_types[258]); } -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; } +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; } void Ifc4x1::IfcCurveStyleFontAndScaling::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x1::IfcCurveStyleFontSelect Ifc4x1::IfcCurveStyleFontAndScaling::CurveFont() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcCurveStyleFontSelect>(); } +::Ifc4x1::IfcCurveStyleFontSelect Ifc4x1::IfcCurveStyleFontAndScaling::CurveFont() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcCurveStyleFontSelect>(); } void Ifc4x1::IfcCurveStyleFontAndScaling::setCurveFont(const ::Ifc4x1::IfcCurveStyleFontSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } double Ifc4x1::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = get_attribute_value(2); return v; } void Ifc4x1::IfcCurveStyleFontAndScaling::setCurveFontScaling(const double& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8685,12 +8685,12 @@ void Ifc4x1::IfcDamperType::setPredefinedType(const ::Ifc4x1::IfcDamperTypeEnum: const ifcopenshell::entity& Ifc4x1::IfcDamperType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[264]); } -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; } +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>(); } +::Ifc4x1::IfcProfileDef Ifc4x1::IfcDerivedProfileDef::ParentProfile() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcProfileDef>(); } void Ifc4x1::IfcDerivedProfileDef::setParentProfile(const ::Ifc4x1::IfcProfileDef& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcCartesianTransformationOperator2D Ifc4x1::IfcDerivedProfileDef::Operator() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcCartesianTransformationOperator2D>(); } +::Ifc4x1::IfcCartesianTransformationOperator2D Ifc4x1::IfcDerivedProfileDef::Operator() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcCartesianTransformationOperator2D>(); } void Ifc4x1::IfcDerivedProfileDef::setOperator(const ::Ifc4x1::IfcCartesianTransformationOperator2D& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x1::IfcDerivedProfileDef::Label() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcDerivedProfileDef::setLabel(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -8700,8 +8700,8 @@ const ifcopenshell::entity& Ifc4x1::IfcDerivedProfileDef::Class() { return *((if 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); } -void Ifc4x1::IfcDerivedUnit::setElements(const std::vector< ::Ifc4x1::IfcDerivedUnitElement >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x1::IfcDerivedUnitElement > Ifc4x1::IfcDerivedUnit::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcDerivedUnitElement>(es); } +void Ifc4x1::IfcDerivedUnit::setElements(const std::vector< ::Ifc4x1::IfcDerivedUnitElement >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } ::Ifc4x1::IfcDerivedUnitEnum::Value Ifc4x1::IfcDerivedUnit::UnitType() const { return ::Ifc4x1::IfcDerivedUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x1::IfcDerivedUnit::setUnitType(const ::Ifc4x1::IfcDerivedUnitEnum::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4x1::IfcDerivedUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x1::IfcDerivedUnit::UserDefinedType() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } @@ -8709,10 +8709,10 @@ void Ifc4x1::IfcDerivedUnit::setUserDefinedType(const std::optional< std::string const ifcopenshell::entity& Ifc4x1::IfcDerivedUnit::Class() { return *((ifcopenshell::entity*)IFC4X1_types[274]); } -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; } +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>(); } +::Ifc4x1::IfcNamedUnit Ifc4x1::IfcDerivedUnitElement::Unit() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcNamedUnit>(); } void Ifc4x1::IfcDerivedUnitElement::setUnit(const ::Ifc4x1::IfcNamedUnit& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } int64_t Ifc4x1::IfcDerivedUnitElement::Exponent() const { int64_t v = get_attribute_value(1); return v; } void Ifc4x1::IfcDerivedUnitElement::setExponent(const int64_t& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8763,7 +8763,7 @@ void Ifc4x1::IfcDiscreteAccessoryType::setPredefinedType(const ::Ifc4x1::IfcDisc const ifcopenshell::entity& Ifc4x1::IfcDiscreteAccessoryType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[283]); } -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; } +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; } @@ -8795,7 +8795,7 @@ void Ifc4x1::IfcDistributionChamberElementType::setPredefinedType(const ::Ifc4x1 const ifcopenshell::entity& Ifc4x1::IfcDistributionChamberElementType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[287]); } -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; } +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 @@ -8814,7 +8814,7 @@ Ifc4x1::IfcDistributionControlElement Ifc4x1::IfcDistributionControlElement::ini const ifcopenshell::entity& Ifc4x1::IfcDistributionControlElementType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[291]); } -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; } +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 @@ -8827,7 +8827,7 @@ Ifc4x1::IfcDistributionElement Ifc4x1::IfcDistributionElement::initialize(std::s const ifcopenshell::entity& Ifc4x1::IfcDistributionElementType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[293]); } -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; } +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 @@ -8840,7 +8840,7 @@ Ifc4x1::IfcDistributionFlowElement Ifc4x1::IfcDistributionFlowElement::initializ const ifcopenshell::entity& Ifc4x1::IfcDistributionFlowElementType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[295]); } -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; } +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)); } @@ -8881,10 +8881,10 @@ std::optional< std::string > Ifc4x1::IfcDocumentInformation::Scope() const { if( void Ifc4x1::IfcDocumentInformation::setScope(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } std::optional< std::string > Ifc4x1::IfcDocumentInformation::Revision() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4x1::IfcDocumentInformation::setRevision(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x1::IfcActorSelect Ifc4x1::IfcDocumentInformation::DocumentOwner() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x1::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x1::IfcActorSelect>(); } +::Ifc4x1::IfcActorSelect Ifc4x1::IfcDocumentInformation::DocumentOwner() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x1::IfcActorSelect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x1::IfcActorSelect>(); } void Ifc4x1::IfcDocumentInformation::setDocumentOwner(const ::Ifc4x1::IfcActorSelect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::optional< std::vector< ::Ifc4x1::IfcActorSelect > > Ifc4x1::IfcDocumentInformation::Editors() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x1::IfcActorSelect>(es); } -void Ifc4x1::IfcDocumentInformation::setEditors(const std::optional< std::vector< ::Ifc4x1::IfcActorSelect > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +std::optional< std::vector< ::Ifc4x1::IfcActorSelect > > Ifc4x1::IfcDocumentInformation::Editors() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x1::IfcActorSelect>(es); } +void Ifc4x1::IfcDocumentInformation::setEditors(const std::optional< std::vector< ::Ifc4x1::IfcActorSelect > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } std::optional< std::string > Ifc4x1::IfcDocumentInformation::CreationTime() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } std::string v = get_attribute_value(10); return v; } void Ifc4x1::IfcDocumentInformation::setCreationTime(const std::optional< std::string >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } std::optional< std::string > Ifc4x1::IfcDocumentInformation::LastRevisionTime() const { if(get_attribute_value(11).isNull()) { return std::nullopt; } std::string v = get_attribute_value(11); return v; } @@ -8906,24 +8906,24 @@ 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]); } -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; } +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>(); } +::Ifc4x1::IfcDocumentInformation Ifc4x1::IfcDocumentInformationRelationship::RelatingDocument() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcDocumentInformation>(); } void Ifc4x1::IfcDocumentInformationRelationship::setRelatingDocument(const ::Ifc4x1::IfcDocumentInformation& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x1::IfcDocumentInformation > Ifc4x1::IfcDocumentInformationRelationship::RelatedDocuments() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x1::IfcDocumentInformation>(es); } -void Ifc4x1::IfcDocumentInformationRelationship::setRelatedDocuments(const std::vector< ::Ifc4x1::IfcDocumentInformation >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x1::IfcDocumentInformation > Ifc4x1::IfcDocumentInformationRelationship::RelatedDocuments() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x1::IfcDocumentInformation>(es); } +void Ifc4x1::IfcDocumentInformationRelationship::setRelatedDocuments(const std::vector< ::Ifc4x1::IfcDocumentInformation >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x1::IfcDocumentInformationRelationship::RelationshipType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcDocumentInformationRelationship::setRelationshipType(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const ifcopenshell::entity& Ifc4x1::IfcDocumentInformationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X1_types[302]); } -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; } +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; } void Ifc4x1::IfcDocumentReference::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x1::IfcDocumentInformation Ifc4x1::IfcDocumentReference::ReferencedDocument() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x1::IfcDocumentInformation{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcDocumentInformation>(); } +::Ifc4x1::IfcDocumentInformation Ifc4x1::IfcDocumentReference::ReferencedDocument() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x1::IfcDocumentInformation{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcDocumentInformation>(); } void Ifc4x1::IfcDocumentReference::setReferencedDocument(const ::Ifc4x1::IfcDocumentInformation& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::vector<::Ifc4x1::IfcRelAssociatesDocument> Ifc4x1::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[833], 5)); } @@ -8968,7 +8968,7 @@ std::optional< double > Ifc4x1::IfcDoorLiningProperties::CasingThickness() const void Ifc4x1::IfcDoorLiningProperties::setCasingThickness(const std::optional< double >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } std::optional< double > Ifc4x1::IfcDoorLiningProperties::CasingDepth() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } double v = get_attribute_value(13); return v; } void Ifc4x1::IfcDoorLiningProperties::setCasingDepth(const std::optional< double >& v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -::Ifc4x1::IfcShapeAspect Ifc4x1::IfcDoorLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(14).isNull()) { return ::Ifc4x1::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(14))).as<::Ifc4x1::IfcShapeAspect>(); } +::Ifc4x1::IfcShapeAspect Ifc4x1::IfcDoorLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(14).isNull()) { return ::Ifc4x1::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(14))).as<::Ifc4x1::IfcShapeAspect>(); } void Ifc4x1::IfcDoorLiningProperties::setShapeAspectStyle(const ::Ifc4x1::IfcShapeAspect& v) { set_attribute_value(14, v);if constexpr (false)unset_attribute_value(14); } std::optional< double > Ifc4x1::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(get_attribute_value(15).isNull()) { return std::nullopt; } double v = get_attribute_value(15); return v; } void Ifc4x1::IfcDoorLiningProperties::setLiningToPanelOffsetX(const std::optional< double >& v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } @@ -8988,7 +8988,7 @@ std::optional< double > Ifc4x1::IfcDoorPanelProperties::PanelWidth() const { if( void Ifc4x1::IfcDoorPanelProperties::setPanelWidth(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x1::IfcDoorPanelPositionEnum::Value Ifc4x1::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x1::IfcDoorPanelPositionEnum::FromString(get_attribute_value(7)); } void Ifc4x1::IfcDoorPanelProperties::setPanelPosition(const ::Ifc4x1::IfcDoorPanelPositionEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4x1::IfcDoorPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x1::IfcShapeAspect Ifc4x1::IfcDoorPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x1::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x1::IfcShapeAspect>(); } +::Ifc4x1::IfcShapeAspect Ifc4x1::IfcDoorPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x1::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x1::IfcShapeAspect>(); } void Ifc4x1::IfcDoorPanelProperties::setShapeAspectStyle(const ::Ifc4x1::IfcShapeAspect& v) { set_attribute_value(8, v);if constexpr (false)unset_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]); } -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; } +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,7 +9027,7 @@ void Ifc4x1::IfcDoorType::setUserDefinedOperationType(const std::optional< std:: const ifcopenshell::entity& Ifc4x1::IfcDoorType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[315]); } -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; } +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 @@ -9055,7 +9055,7 @@ void Ifc4x1::IfcDuctFittingType::setPredefinedType(const ::Ifc4x1::IfcDuctFittin const ifcopenshell::entity& Ifc4x1::IfcDuctFittingType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[322]); } -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; } +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)); } @@ -9071,7 +9071,7 @@ void Ifc4x1::IfcDuctSegmentType::setPredefinedType(const ::Ifc4x1::IfcDuctSegmen const ifcopenshell::entity& Ifc4x1::IfcDuctSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[325]); } -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; } +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)); } @@ -9087,12 +9087,12 @@ void Ifc4x1::IfcDuctSilencerType::setPredefinedType(const ::Ifc4x1::IfcDuctSilen const ifcopenshell::entity& Ifc4x1::IfcDuctSilencerType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[328]); } -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; } +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>(); } +::Ifc4x1::IfcVertex Ifc4x1::IfcEdge::EdgeStart() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcVertex>(); } void Ifc4x1::IfcEdge::setEdgeStart(const ::Ifc4x1::IfcVertex& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcVertex Ifc4x1::IfcEdge::EdgeEnd() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcVertex>(); } +::Ifc4x1::IfcVertex Ifc4x1::IfcEdge::EdgeEnd() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcVertex>(); } void Ifc4x1::IfcEdge::setEdgeEnd(const ::Ifc4x1::IfcVertex& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9100,7 +9100,7 @@ const ifcopenshell::entity& Ifc4x1::IfcEdge::Class() { return *((ifcopenshell::e 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>(); } +::Ifc4x1::IfcCurve Ifc4x1::IfcEdgeCurve::EdgeGeometry() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcCurve>(); } void Ifc4x1::IfcEdgeCurve::setEdgeGeometry(const ::Ifc4x1::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } bool Ifc4x1::IfcEdgeCurve::SameSense() const { bool v = get_attribute_value(3); return v; } void Ifc4x1::IfcEdgeCurve::setSameSense(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -9110,12 +9110,12 @@ const ifcopenshell::entity& Ifc4x1::IfcEdgeCurve::Class() { return *((ifcopenshe 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); } -void Ifc4x1::IfcEdgeLoop::setEdgeList(const std::vector< ::Ifc4x1::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x1::IfcOrientedEdge > Ifc4x1::IfcEdgeLoop::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcOrientedEdge>(es); } +void Ifc4x1::IfcEdgeLoop::setEdgeList(const std::vector< ::Ifc4x1::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x1::IfcEdgeLoop::Class() { return *((ifcopenshell::entity*)IFC4X1_types[334]); } -Ifc4x1::IfcEdgeLoop Ifc4x1::IfcEdgeLoop::initialize(std::vector< ::Ifc4x1::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } +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)); } @@ -9131,7 +9131,7 @@ void Ifc4x1::IfcElectricApplianceType::setPredefinedType(const ::Ifc4x1::IfcElec const ifcopenshell::entity& Ifc4x1::IfcElectricApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[336]); } -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; } +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)); } @@ -9147,7 +9147,7 @@ void Ifc4x1::IfcElectricDistributionBoardType::setPredefinedType(const ::Ifc4x1: const ifcopenshell::entity& Ifc4x1::IfcElectricDistributionBoardType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[343]); } -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; } +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)); } @@ -9163,7 +9163,7 @@ void Ifc4x1::IfcElectricFlowStorageDeviceType::setPredefinedType(const ::Ifc4x1: const ifcopenshell::entity& Ifc4x1::IfcElectricFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[346]); } -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; } +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)); } @@ -9179,7 +9179,7 @@ void Ifc4x1::IfcElectricGeneratorType::setPredefinedType(const ::Ifc4x1::IfcElec const ifcopenshell::entity& Ifc4x1::IfcElectricGeneratorType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[349]); } -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; } +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)); } @@ -9195,7 +9195,7 @@ void Ifc4x1::IfcElectricMotorType::setPredefinedType(const ::Ifc4x1::IfcElectric const ifcopenshell::entity& Ifc4x1::IfcElectricMotorType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[352]); } -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; } +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)); } @@ -9211,7 +9211,7 @@ void Ifc4x1::IfcElectricTimeControlType::setPredefinedType(const ::Ifc4x1::IfcEl const ifcopenshell::entity& Ifc4x1::IfcElectricTimeControlType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[356]); } -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; } +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; } @@ -9249,7 +9249,7 @@ void Ifc4x1::IfcElementAssemblyType::setPredefinedType(const ::Ifc4x1::IfcElemen const ifcopenshell::entity& Ifc4x1::IfcElementAssemblyType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[362]); } -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; } +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 @@ -9261,17 +9261,17 @@ Ifc4x1::IfcElementComponent Ifc4x1::IfcElementComponent::initialize(std::string const ifcopenshell::entity& Ifc4x1::IfcElementComponentType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[365]); } -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; } +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; } void Ifc4x1::IfcElementQuantity::setMethodOfMeasurement(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector< ::Ifc4x1::IfcPhysicalQuantity > Ifc4x1::IfcElementQuantity::Quantities() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x1::IfcPhysicalQuantity>(es); } -void Ifc4x1::IfcElementQuantity::setQuantities(const std::vector< ::Ifc4x1::IfcPhysicalQuantity >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x1::IfcPhysicalQuantity > Ifc4x1::IfcElementQuantity::Quantities() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x1::IfcPhysicalQuantity>(es); } +void Ifc4x1::IfcElementQuantity::setQuantities(const std::vector< ::Ifc4x1::IfcPhysicalQuantity >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x1::IfcElementQuantity::Class() { return *((ifcopenshell::entity*)IFC4X1_types[367]); } -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; } +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,10 +9279,10 @@ void Ifc4x1::IfcElementType::setElementType(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x1::IfcElementType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[368]); } -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; } +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>(); } +::Ifc4x1::IfcAxis2Placement3D Ifc4x1::IfcElementarySurface::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcAxis2Placement3D>(); } void Ifc4x1::IfcElementarySurface::setPosition(const ::Ifc4x1::IfcAxis2Placement3D& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -9319,7 +9319,7 @@ Ifc4x1::IfcEnergyConversionDevice Ifc4x1::IfcEnergyConversionDevice::initialize( const ifcopenshell::entity& Ifc4x1::IfcEnergyConversionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[372]); } -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; } +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)); } @@ -9335,7 +9335,7 @@ void Ifc4x1::IfcEngineType::setPredefinedType(const ::Ifc4x1::IfcEngineTypeEnum: const ifcopenshell::entity& Ifc4x1::IfcEngineType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[375]); } -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; } +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)); } @@ -9351,7 +9351,7 @@ void Ifc4x1::IfcEvaporativeCoolerType::setPredefinedType(const ::Ifc4x1::IfcEvap const ifcopenshell::entity& Ifc4x1::IfcEvaporativeCoolerType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[378]); } -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; } +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)); } @@ -9367,7 +9367,7 @@ void Ifc4x1::IfcEvaporatorType::setPredefinedType(const ::Ifc4x1::IfcEvaporatorT const ifcopenshell::entity& Ifc4x1::IfcEvaporatorType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[381]); } -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; } +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)); } @@ -9376,7 +9376,7 @@ std::optional< ::Ifc4x1::IfcEventTriggerTypeEnum::Value > Ifc4x1::IfcEvent::Even void Ifc4x1::IfcEvent::setEventTriggerType(const std::optional< ::Ifc4x1::IfcEventTriggerTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x1::IfcEventTriggerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } std::optional< std::string > Ifc4x1::IfcEvent::UserDefinedEventTriggerType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::string v = get_attribute_value(9); return v; } void Ifc4x1::IfcEvent::setUserDefinedEventTriggerType(const std::optional< std::string >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -::Ifc4x1::IfcEventTime Ifc4x1::IfcEvent::EventOccurenceTime() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x1::IfcEventTime{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x1::IfcEventTime>(); } +::Ifc4x1::IfcEventTime Ifc4x1::IfcEvent::EventOccurenceTime() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x1::IfcEventTime{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x1::IfcEventTime>(); } void Ifc4x1::IfcEvent::setEventOccurenceTime(const ::Ifc4x1::IfcEventTime& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } @@ -9407,19 +9407,19 @@ void Ifc4x1::IfcEventType::setUserDefinedEventTriggerType(const std::optional< s const ifcopenshell::entity& Ifc4x1::IfcEventType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[386]); } -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; } +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; } void Ifc4x1::IfcExtendedProperties::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x1::IfcExtendedProperties::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcExtendedProperties::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x1::IfcProperty > Ifc4x1::IfcExtendedProperties::Properties() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcProperty>(es); } -void Ifc4x1::IfcExtendedProperties::setProperties(const std::vector< ::Ifc4x1::IfcProperty >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x1::IfcProperty > Ifc4x1::IfcExtendedProperties::Properties() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcProperty>(es); } +void Ifc4x1::IfcExtendedProperties::setProperties(const std::vector< ::Ifc4x1::IfcProperty >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x1::IfcExtendedProperties::Class() { return *((ifcopenshell::entity*)IFC4X1_types[388]); } -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; } +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 @@ -9441,14 +9441,14 @@ const ifcopenshell::entity& Ifc4x1::IfcExternalReference::Class() { return *((if 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>(); } +::Ifc4x1::IfcExternalReference Ifc4x1::IfcExternalReferenceRelationship::RelatingReference() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcExternalReference>(); } void Ifc4x1::IfcExternalReferenceRelationship::setRelatingReference(const ::Ifc4x1::IfcExternalReference& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x1::IfcResourceObjectSelect > Ifc4x1::IfcExternalReferenceRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x1::IfcResourceObjectSelect>(es); } -void Ifc4x1::IfcExternalReferenceRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x1::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x1::IfcResourceObjectSelect > Ifc4x1::IfcExternalReferenceRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x1::IfcResourceObjectSelect>(es); } +void Ifc4x1::IfcExternalReferenceRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x1::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x1::IfcExternalReferenceRelationship::Class() { return *((ifcopenshell::entity*)IFC4X1_types[394]); } -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; } +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)); } @@ -9484,7 +9484,7 @@ const ifcopenshell::entity& Ifc4x1::IfcExternallyDefinedTextFont::Class() { retu 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>(); } +::Ifc4x1::IfcDirection Ifc4x1::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcDirection>(); } void Ifc4x1::IfcExtrudedAreaSolid::setExtrudedDirection(const ::Ifc4x1::IfcDirection& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc4x1::IfcExtrudedAreaSolid::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcExtrudedAreaSolid::setDepth(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -9494,7 +9494,7 @@ const ifcopenshell::entity& Ifc4x1::IfcExtrudedAreaSolid::Class() { return *((if 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>(); } +::Ifc4x1::IfcProfileDef Ifc4x1::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcProfileDef>(); } void Ifc4x1::IfcExtrudedAreaSolidTapered::setEndSweptArea(const ::Ifc4x1::IfcProfileDef& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -9502,24 +9502,24 @@ const ifcopenshell::entity& Ifc4x1::IfcExtrudedAreaSolidTapered::Class() { retur 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); } -void Ifc4x1::IfcFace::setBounds(const std::vector< ::Ifc4x1::IfcFaceBound >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x1::IfcFaceBound > Ifc4x1::IfcFace::Bounds() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcFaceBound>(es); } +void Ifc4x1::IfcFace::setBounds(const std::vector< ::Ifc4x1::IfcFaceBound >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } 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]); } -Ifc4x1::IfcFace Ifc4x1::IfcFace::initialize(std::vector< ::Ifc4x1::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds));; return *this; } +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); } -void Ifc4x1::IfcFaceBasedSurfaceModel::setFbsmFaces(const std::vector< ::Ifc4x1::IfcConnectedFaceSet >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x1::IfcConnectedFaceSet > Ifc4x1::IfcFaceBasedSurfaceModel::FbsmFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcConnectedFaceSet>(es); } +void Ifc4x1::IfcFaceBasedSurfaceModel::setFbsmFaces(const std::vector< ::Ifc4x1::IfcConnectedFaceSet >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x1::IfcFaceBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X1_types[401]); } -Ifc4x1::IfcFaceBasedSurfaceModel Ifc4x1::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc4x1::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces));; return *this; } +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>(); } +::Ifc4x1::IfcLoop Ifc4x1::IfcFaceBound::Bound() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcLoop>(); } void Ifc4x1::IfcFaceBound::setBound(const ::Ifc4x1::IfcLoop& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } bool Ifc4x1::IfcFaceBound::Orientation() const { bool v = get_attribute_value(1); return v; } void Ifc4x1::IfcFaceBound::setOrientation(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9535,14 +9535,14 @@ const ifcopenshell::entity& Ifc4x1::IfcFaceOuterBound::Class() { return *((ifcop 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>(); } +::Ifc4x1::IfcSurface Ifc4x1::IfcFaceSurface::FaceSurface() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcSurface>(); } void Ifc4x1::IfcFaceSurface::setFaceSurface(const ::Ifc4x1::IfcSurface& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } bool Ifc4x1::IfcFaceSurface::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x1::IfcFaceSurface::setSameSense(const bool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x1::IfcFaceSurface::Class() { return *((ifcopenshell::entity*)IFC4X1_types[404]); } -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; } +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 @@ -9551,12 +9551,12 @@ const ifcopenshell::entity& Ifc4x1::IfcFacetedBrep::Class() { return *((ifcopens 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); } -void Ifc4x1::IfcFacetedBrepWithVoids::setVoids(const std::vector< ::Ifc4x1::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x1::IfcClosedShell > Ifc4x1::IfcFacetedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcClosedShell>(es); } +void Ifc4x1::IfcFacetedBrepWithVoids::setVoids(const std::vector< ::Ifc4x1::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x1::IfcFacetedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X1_types[406]); } -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; } +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; } @@ -9590,7 +9590,7 @@ void Ifc4x1::IfcFanType::setPredefinedType(const ::Ifc4x1::IfcFanTypeEnum::Value const ifcopenshell::entity& Ifc4x1::IfcFanType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[409]); } -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; } +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)); } @@ -9606,7 +9606,7 @@ void Ifc4x1::IfcFastenerType::setPredefinedType(const ::Ifc4x1::IfcFastenerTypeE const ifcopenshell::entity& Ifc4x1::IfcFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[412]); } -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; } +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 @@ -9629,23 +9629,23 @@ const ifcopenshell::entity& Ifc4x1::IfcFeatureElementSubtraction::Class() { retu 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); } -void Ifc4x1::IfcFillAreaStyle::setFillStyles(const std::vector< ::Ifc4x1::IfcFillStyleSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x1::IfcFillStyleSelect > Ifc4x1::IfcFillAreaStyle::FillStyles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcFillStyleSelect>(es); } +void Ifc4x1::IfcFillAreaStyle::setFillStyles(const std::vector< ::Ifc4x1::IfcFillStyleSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< bool > Ifc4x1::IfcFillAreaStyle::ModelorDraughting() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } bool v = get_attribute_value(2); return v; } void Ifc4x1::IfcFillAreaStyle::setModelorDraughting(const std::optional< bool >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x1::IfcFillAreaStyle::Class() { return *((ifcopenshell::entity*)IFC4X1_types[417]); } -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; } +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>(); } +::Ifc4x1::IfcCurveStyle Ifc4x1::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcCurveStyle>(); } void Ifc4x1::IfcFillAreaStyleHatching::setHatchLineAppearance(const ::Ifc4x1::IfcCurveStyle& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcHatchLineDistanceSelect Ifc4x1::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcHatchLineDistanceSelect>(); } +::Ifc4x1::IfcHatchLineDistanceSelect Ifc4x1::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcHatchLineDistanceSelect>(); } void Ifc4x1::IfcFillAreaStyleHatching::setStartOfNextHatchLine(const ::Ifc4x1::IfcHatchLineDistanceSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcCartesianPoint Ifc4x1::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x1::IfcCartesianPoint{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcCartesianPoint>(); } +::Ifc4x1::IfcCartesianPoint Ifc4x1::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x1::IfcCartesianPoint{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcCartesianPoint>(); } void Ifc4x1::IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(const ::Ifc4x1::IfcCartesianPoint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcCartesianPoint Ifc4x1::IfcFillAreaStyleHatching::PatternStart() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcCartesianPoint{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcCartesianPoint>(); } +::Ifc4x1::IfcCartesianPoint Ifc4x1::IfcFillAreaStyleHatching::PatternStart() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcCartesianPoint{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcCartesianPoint>(); } void Ifc4x1::IfcFillAreaStyleHatching::setPatternStart(const ::Ifc4x1::IfcCartesianPoint& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } double Ifc4x1::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = get_attribute_value(4); return v; } void Ifc4x1::IfcFillAreaStyleHatching::setHatchLineAngle(const double& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -9655,16 +9655,16 @@ const ifcopenshell::entity& Ifc4x1::IfcFillAreaStyleHatching::Class() { return * 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); } -void Ifc4x1::IfcFillAreaStyleTiles::setTilingPattern(const std::vector< ::Ifc4x1::IfcVector >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x1::IfcStyledItem > Ifc4x1::IfcFillAreaStyleTiles::Tiles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcStyledItem>(es); } -void Ifc4x1::IfcFillAreaStyleTiles::setTiles(const std::vector< ::Ifc4x1::IfcStyledItem >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x1::IfcVector > Ifc4x1::IfcFillAreaStyleTiles::TilingPattern() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcVector>(es); } +void Ifc4x1::IfcFillAreaStyleTiles::setTilingPattern(const std::vector< ::Ifc4x1::IfcVector >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x1::IfcStyledItem > Ifc4x1::IfcFillAreaStyleTiles::Tiles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcStyledItem>(es); } +void Ifc4x1::IfcFillAreaStyleTiles::setTiles(const std::vector< ::Ifc4x1::IfcStyledItem >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } double Ifc4x1::IfcFillAreaStyleTiles::TilingScale() const { double v = get_attribute_value(2); return v; } void Ifc4x1::IfcFillAreaStyleTiles::setTilingScale(const double& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x1::IfcFillAreaStyleTiles::Class() { return *((ifcopenshell::entity*)IFC4X1_types[419]); } -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; } +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)); } @@ -9680,7 +9680,7 @@ void Ifc4x1::IfcFilterType::setPredefinedType(const ::Ifc4x1::IfcFilterTypeEnum: const ifcopenshell::entity& Ifc4x1::IfcFilterType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[422]); } -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; } +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)); } @@ -9696,16 +9696,16 @@ void Ifc4x1::IfcFireSuppressionTerminalType::setPredefinedType(const ::Ifc4x1::I const ifcopenshell::entity& Ifc4x1::IfcFireSuppressionTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[425]); } -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; } +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>(); } +::Ifc4x1::IfcCurve Ifc4x1::IfcFixedReferenceSweptAreaSolid::Directrix() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcCurve>(); } void Ifc4x1::IfcFixedReferenceSweptAreaSolid::setDirectrix(const ::Ifc4x1::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc4x1::IfcFixedReferenceSweptAreaSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4x1::IfcFixedReferenceSweptAreaSolid::setStartParam(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } std::optional< double > Ifc4x1::IfcFixedReferenceSweptAreaSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } void Ifc4x1::IfcFixedReferenceSweptAreaSolid::setEndParam(const std::optional< double >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x1::IfcDirection Ifc4x1::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcDirection>(); } +::Ifc4x1::IfcDirection Ifc4x1::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcDirection>(); } void Ifc4x1::IfcFixedReferenceSweptAreaSolid::setFixedReference(const ::Ifc4x1::IfcDirection& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -9722,7 +9722,7 @@ Ifc4x1::IfcFlowController Ifc4x1::IfcFlowController::initialize(std::string v1_G const ifcopenshell::entity& Ifc4x1::IfcFlowControllerType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[429]); } -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; } +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 @@ -9734,7 +9734,7 @@ Ifc4x1::IfcFlowFitting Ifc4x1::IfcFlowFitting::initialize(std::string v1_GlobalI const ifcopenshell::entity& Ifc4x1::IfcFlowFittingType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[432]); } -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; } +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)); } @@ -9750,7 +9750,7 @@ void Ifc4x1::IfcFlowInstrumentType::setPredefinedType(const ::Ifc4x1::IfcFlowIns const ifcopenshell::entity& Ifc4x1::IfcFlowInstrumentType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[434]); } -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; } +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)); } @@ -9766,7 +9766,7 @@ void Ifc4x1::IfcFlowMeterType::setPredefinedType(const ::Ifc4x1::IfcFlowMeterTyp const ifcopenshell::entity& Ifc4x1::IfcFlowMeterType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[437]); } -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; } +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 @@ -9778,7 +9778,7 @@ Ifc4x1::IfcFlowMovingDevice Ifc4x1::IfcFlowMovingDevice::initialize(std::string const ifcopenshell::entity& Ifc4x1::IfcFlowMovingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[440]); } -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; } +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 @@ -9790,7 +9790,7 @@ Ifc4x1::IfcFlowSegment Ifc4x1::IfcFlowSegment::initialize(std::string v1_GlobalI const ifcopenshell::entity& Ifc4x1::IfcFlowSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[442]); } -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; } +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 @@ -9802,7 +9802,7 @@ Ifc4x1::IfcFlowStorageDevice Ifc4x1::IfcFlowStorageDevice::initialize(std::strin const ifcopenshell::entity& Ifc4x1::IfcFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[444]); } -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; } +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 @@ -9814,7 +9814,7 @@ Ifc4x1::IfcFlowTerminal Ifc4x1::IfcFlowTerminal::initialize(std::string v1_Globa const ifcopenshell::entity& Ifc4x1::IfcFlowTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[446]); } -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; } +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 @@ -9826,7 +9826,7 @@ Ifc4x1::IfcFlowTreatmentDevice Ifc4x1::IfcFlowTreatmentDevice::initialize(std::s const ifcopenshell::entity& Ifc4x1::IfcFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[448]); } -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; } +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)); } @@ -9842,7 +9842,7 @@ void Ifc4x1::IfcFootingType::setPredefinedType(const ::Ifc4x1::IfcFootingTypeEnu const ifcopenshell::entity& Ifc4x1::IfcFootingType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[453]); } -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; } +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 @@ -9854,7 +9854,7 @@ Ifc4x1::IfcFurnishingElement Ifc4x1::IfcFurnishingElement::initialize(std::strin const ifcopenshell::entity& Ifc4x1::IfcFurnishingElementType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[458]); } -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; } +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)); } @@ -9872,7 +9872,7 @@ void Ifc4x1::IfcFurnitureType::setPredefinedType(const std::optional< ::Ifc4x1:: const ifcopenshell::entity& Ifc4x1::IfcFurnitureType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[460]); } -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; } +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)); } @@ -9888,22 +9888,22 @@ void Ifc4x1::IfcGeographicElementType::setPredefinedType(const ::Ifc4x1::IfcGeog const ifcopenshell::entity& Ifc4x1::IfcGeographicElementType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[463]); } -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; } +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]); } -Ifc4x1::IfcGeometricCurveSet Ifc4x1::IfcGeometricCurveSet::initialize(std::vector< ::Ifc4x1::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } +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 int64_t Ifc4x1::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int64_t v = get_attribute_value(2); return v; } void Ifc4x1::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(const int64_t& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc4x1::IfcGeometricRepresentationContext::Precision() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4x1::IfcGeometricRepresentationContext::setPrecision(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x1::IfcAxis2Placement Ifc4x1::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcAxis2Placement>(); } +::Ifc4x1::IfcAxis2Placement Ifc4x1::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcAxis2Placement>(); } void Ifc4x1::IfcGeometricRepresentationContext::setWorldCoordinateSystem(const ::Ifc4x1::IfcAxis2Placement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcDirection Ifc4x1::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x1::IfcDirection{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcDirection>(); } +::Ifc4x1::IfcDirection Ifc4x1::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x1::IfcDirection{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcDirection>(); } void Ifc4x1::IfcGeometricRepresentationContext::setTrueNorth(const ::Ifc4x1::IfcDirection& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } std::vector<::Ifc4x1::IfcGeometricRepresentationSubContext> Ifc4x1::IfcGeometricRepresentationContext::HasSubContexts() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[469], 6)); } @@ -9919,7 +9919,7 @@ const ifcopenshell::entity& Ifc4x1::IfcGeometricRepresentationItem::Class() { re 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>(); } +::Ifc4x1::IfcGeometricRepresentationContext Ifc4x1::IfcGeometricRepresentationSubContext::ParentContext() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x1::IfcGeometricRepresentationContext>(); } void Ifc4x1::IfcGeometricRepresentationSubContext::setParentContext(const ::Ifc4x1::IfcGeometricRepresentationContext& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< double > Ifc4x1::IfcGeometricRepresentationSubContext::TargetScale() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } void Ifc4x1::IfcGeometricRepresentationSubContext::setTargetScale(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } @@ -9933,31 +9933,31 @@ const ifcopenshell::entity& Ifc4x1::IfcGeometricRepresentationSubContext::Class( 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); } -void Ifc4x1::IfcGeometricSet::setElements(const std::vector< ::Ifc4x1::IfcGeometricSetSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x1::IfcGeometricSetSelect > Ifc4x1::IfcGeometricSet::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcGeometricSetSelect>(es); } +void Ifc4x1::IfcGeometricSet::setElements(const std::vector< ::Ifc4x1::IfcGeometricSetSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x1::IfcGeometricSet::Class() { return *((ifcopenshell::entity*)IFC4X1_types[470]); } -Ifc4x1::IfcGeometricSet Ifc4x1::IfcGeometricSet::initialize(std::vector< ::Ifc4x1::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } +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); } -void Ifc4x1::IfcGrid::setUAxes(const std::vector< ::Ifc4x1::IfcGridAxis >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } -std::vector< ::Ifc4x1::IfcGridAxis > Ifc4x1::IfcGrid::VAxes() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x1::IfcGridAxis>(es); } -void Ifc4x1::IfcGrid::setVAxes(const std::vector< ::Ifc4x1::IfcGridAxis >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } -std::optional< std::vector< ::Ifc4x1::IfcGridAxis > > Ifc4x1::IfcGrid::WAxes() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x1::IfcGridAxis>(es); } -void Ifc4x1::IfcGrid::setWAxes(const std::optional< std::vector< ::Ifc4x1::IfcGridAxis > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +std::vector< ::Ifc4x1::IfcGridAxis > Ifc4x1::IfcGrid::UAxes() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x1::IfcGridAxis>(es); } +void Ifc4x1::IfcGrid::setUAxes(const std::vector< ::Ifc4x1::IfcGridAxis >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } +std::vector< ::Ifc4x1::IfcGridAxis > Ifc4x1::IfcGrid::VAxes() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x1::IfcGridAxis>(es); } +void Ifc4x1::IfcGrid::setVAxes(const std::vector< ::Ifc4x1::IfcGridAxis >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } +std::optional< std::vector< ::Ifc4x1::IfcGridAxis > > Ifc4x1::IfcGrid::WAxes() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x1::IfcGridAxis>(es); } +void Ifc4x1::IfcGrid::setWAxes(const std::optional< std::vector< ::Ifc4x1::IfcGridAxis > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } std::optional< ::Ifc4x1::IfcGridTypeEnum::Value > Ifc4x1::IfcGrid::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcGridTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x1::IfcGrid::setPredefinedType(const std::optional< ::Ifc4x1::IfcGridTypeEnum::Value >& v) { if (v) {set_attribute_value(10, enumeration_reference(&::Ifc4x1::IfcGridTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const ifcopenshell::entity& Ifc4x1::IfcGrid::Class() { return *((ifcopenshell::entity*)IFC4X1_types[474]); } -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; } +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; } void Ifc4x1::IfcGridAxis::setAxisTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x1::IfcCurve Ifc4x1::IfcGridAxis::AxisCurve() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcCurve>(); } +::Ifc4x1::IfcCurve Ifc4x1::IfcGridAxis::AxisCurve() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcCurve>(); } void Ifc4x1::IfcGridAxis::setAxisCurve(const ::Ifc4x1::IfcCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } bool Ifc4x1::IfcGridAxis::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x1::IfcGridAxis::setSameSense(const bool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -9971,9 +9971,9 @@ const ifcopenshell::entity& Ifc4x1::IfcGridAxis::Class() { return *((ifcopenshel 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>(); } +::Ifc4x1::IfcVirtualGridIntersection Ifc4x1::IfcGridPlacement::PlacementLocation() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcVirtualGridIntersection>(); } void Ifc4x1::IfcGridPlacement::setPlacementLocation(const ::Ifc4x1::IfcVirtualGridIntersection& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcGridPlacementDirectionSelect Ifc4x1::IfcGridPlacement::PlacementRefDirection() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x1::IfcGridPlacementDirectionSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcGridPlacementDirectionSelect>(); } +::Ifc4x1::IfcGridPlacementDirectionSelect Ifc4x1::IfcGridPlacement::PlacementRefDirection() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x1::IfcGridPlacementDirectionSelect{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcGridPlacementDirectionSelect>(); } void Ifc4x1::IfcGridPlacement::setPlacementRefDirection(const ::Ifc4x1::IfcGridPlacementDirectionSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9988,7 +9988,7 @@ const ifcopenshell::entity& Ifc4x1::IfcGroup::Class() { return *((ifcopenshell:: 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>(); } +::Ifc4x1::IfcSurface Ifc4x1::IfcHalfSpaceSolid::BaseSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcSurface>(); } void Ifc4x1::IfcHalfSpaceSolid::setBaseSurface(const ::Ifc4x1::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } bool Ifc4x1::IfcHalfSpaceSolid::AgreementFlag() const { bool v = get_attribute_value(1); return v; } void Ifc4x1::IfcHalfSpaceSolid::setAgreementFlag(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -10011,7 +10011,7 @@ void Ifc4x1::IfcHeatExchangerType::setPredefinedType(const ::Ifc4x1::IfcHeatExch const ifcopenshell::entity& Ifc4x1::IfcHeatExchangerType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[483]); } -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; } +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)); } @@ -10027,7 +10027,7 @@ void Ifc4x1::IfcHumidifierType::setPredefinedType(const ::Ifc4x1::IfcHumidifierT const ifcopenshell::entity& Ifc4x1::IfcHumidifierType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[488]); } -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; } +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; } @@ -10058,11 +10058,11 @@ const ifcopenshell::entity& Ifc4x1::IfcImageTexture::Class() { return *((ifcopen 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>(); } +::Ifc4x1::IfcTessellatedFaceSet Ifc4x1::IfcIndexedColourMap::MappedTo() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcTessellatedFaceSet>(); } void Ifc4x1::IfcIndexedColourMap::setMappedTo(const ::Ifc4x1::IfcTessellatedFaceSet& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< double > Ifc4x1::IfcIndexedColourMap::Opacity() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } void Ifc4x1::IfcIndexedColourMap::setOpacity(const std::optional< double >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x1::IfcColourRgbList Ifc4x1::IfcIndexedColourMap::Colours() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcColourRgbList>(); } +::Ifc4x1::IfcColourRgbList Ifc4x1::IfcIndexedColourMap::Colours() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcColourRgbList>(); } void Ifc4x1::IfcIndexedColourMap::setColours(const ::Ifc4x1::IfcColourRgbList& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::vector< int64_t > /*[1:?]*/ Ifc4x1::IfcIndexedColourMap::ColourIndex() const { std::vector< int64_t > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x1::IfcIndexedColourMap::setColourIndex(const std::vector< int64_t > /*[1:?]*/& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -10072,16 +10072,16 @@ const ifcopenshell::entity& Ifc4x1::IfcIndexedColourMap::Class() { return *((ifc Ifc4x1::IfcIndexedColourMap Ifc4x1::IfcIndexedColourMap::initialize(::Ifc4x1::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x1::IfcColourRgbList v3_Colours, std::vector< int64_t > /*[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>(); } +::Ifc4x1::IfcCartesianPointList Ifc4x1::IfcIndexedPolyCurve::Points() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcCartesianPointList>(); } void Ifc4x1::IfcIndexedPolyCurve::setPoints(const ::Ifc4x1::IfcCartesianPointList& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::optional< std::vector< ::Ifc4x1::IfcSegmentIndexSelect > > Ifc4x1::IfcIndexedPolyCurve::Segments() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcSegmentIndexSelect>(es); } -void Ifc4x1::IfcIndexedPolyCurve::setSegments(const std::optional< std::vector< ::Ifc4x1::IfcSegmentIndexSelect > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } +std::optional< std::vector< ::Ifc4x1::IfcSegmentIndexSelect > > Ifc4x1::IfcIndexedPolyCurve::Segments() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcSegmentIndexSelect>(es); } +void Ifc4x1::IfcIndexedPolyCurve::setSegments(const std::optional< std::vector< ::Ifc4x1::IfcSegmentIndexSelect > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } std::optional< bool > Ifc4x1::IfcIndexedPolyCurve::SelfIntersect() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } bool v = get_attribute_value(2); return v; } void Ifc4x1::IfcIndexedPolyCurve::setSelfIntersect(const std::optional< bool >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x1::IfcIndexedPolyCurve::Class() { return *((ifcopenshell::entity*)IFC4X1_types[494]); } -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; } +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< int64_t > /*[3:?]*/ Ifc4x1::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int64_t > /*[3:?]*/ v = get_attribute_value(0); return v; } @@ -10101,14 +10101,14 @@ const ifcopenshell::entity& Ifc4x1::IfcIndexedPolygonalFaceWithVoids::Class() { Ifc4x1::IfcIndexedPolygonalFaceWithVoids Ifc4x1::IfcIndexedPolygonalFaceWithVoids::initialize(std::vector< int64_t > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int64_t > > 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>(); } +::Ifc4x1::IfcTessellatedFaceSet Ifc4x1::IfcIndexedTextureMap::MappedTo() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcTessellatedFaceSet>(); } void Ifc4x1::IfcIndexedTextureMap::setMappedTo(const ::Ifc4x1::IfcTessellatedFaceSet& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcTextureVertexList Ifc4x1::IfcIndexedTextureMap::TexCoords() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcTextureVertexList>(); } +::Ifc4x1::IfcTextureVertexList Ifc4x1::IfcIndexedTextureMap::TexCoords() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcTextureVertexList>(); } void Ifc4x1::IfcIndexedTextureMap::setTexCoords(const ::Ifc4x1::IfcTextureVertexList& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x1::IfcIndexedTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X1_types[497]); } -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; } +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< int64_t > > > Ifc4x1::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< std::vector< int64_t > > 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]); } -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< int64_t > > > 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; } +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< int64_t > > > 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)); } @@ -10132,49 +10132,49 @@ void Ifc4x1::IfcInterceptorType::setPredefinedType(const ::Ifc4x1::IfcIntercepto const ifcopenshell::entity& Ifc4x1::IfcInterceptorType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[503]); } -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; } +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]); } -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; } +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)); } void Ifc4x1::IfcInventory::setPredefinedType(const std::optional< ::Ifc4x1::IfcInventoryTypeEnum::Value >& v) { if (v) {set_attribute_value(5, enumeration_reference(&::Ifc4x1::IfcInventoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -::Ifc4x1::IfcActorSelect Ifc4x1::IfcInventory::Jurisdiction() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x1::IfcActorSelect>(); } +::Ifc4x1::IfcActorSelect Ifc4x1::IfcInventory::Jurisdiction() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcActorSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x1::IfcActorSelect>(); } void Ifc4x1::IfcInventory::setJurisdiction(const ::Ifc4x1::IfcActorSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::optional< std::vector< ::Ifc4x1::IfcPerson > > Ifc4x1::IfcInventory::ResponsiblePersons() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x1::IfcPerson>(es); } -void Ifc4x1::IfcInventory::setResponsiblePersons(const std::optional< std::vector< ::Ifc4x1::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x1::IfcPerson > > Ifc4x1::IfcInventory::ResponsiblePersons() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x1::IfcPerson>(es); } +void Ifc4x1::IfcInventory::setResponsiblePersons(const std::optional< std::vector< ::Ifc4x1::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< std::string > Ifc4x1::IfcInventory::LastUpdateDate() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x1::IfcInventory::setLastUpdateDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x1::IfcCostValue Ifc4x1::IfcInventory::CurrentValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x1::IfcCostValue{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x1::IfcCostValue>(); } +::Ifc4x1::IfcCostValue Ifc4x1::IfcInventory::CurrentValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x1::IfcCostValue{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x1::IfcCostValue>(); } void Ifc4x1::IfcInventory::setCurrentValue(const ::Ifc4x1::IfcCostValue& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -::Ifc4x1::IfcCostValue Ifc4x1::IfcInventory::OriginalValue() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x1::IfcCostValue{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x1::IfcCostValue>(); } +::Ifc4x1::IfcCostValue Ifc4x1::IfcInventory::OriginalValue() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x1::IfcCostValue{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x1::IfcCostValue>(); } void Ifc4x1::IfcInventory::setOriginalValue(const ::Ifc4x1::IfcCostValue& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } const ifcopenshell::entity& Ifc4x1::IfcInventory::Class() { return *((ifcopenshell::entity*)IFC4X1_types[507]); } -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; } +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); } -void Ifc4x1::IfcIrregularTimeSeries::setValues(const std::vector< ::Ifc4x1::IfcIrregularTimeSeriesValue >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } +std::vector< ::Ifc4x1::IfcIrregularTimeSeriesValue > Ifc4x1::IfcIrregularTimeSeries::Values() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x1::IfcIrregularTimeSeriesValue>(es); } +void Ifc4x1::IfcIrregularTimeSeries::setValues(const std::vector< ::Ifc4x1::IfcIrregularTimeSeriesValue >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } const ifcopenshell::entity& Ifc4x1::IfcIrregularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X1_types[510]); } -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; } +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; } void Ifc4x1::IfcIrregularTimeSeriesValue::setTimeStamp(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x1::IfcValue > Ifc4x1::IfcIrregularTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcValue>(es); } -void Ifc4x1::IfcIrregularTimeSeriesValue::setListValues(const std::vector< ::Ifc4x1::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x1::IfcValue > Ifc4x1::IfcIrregularTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcValue>(es); } +void Ifc4x1::IfcIrregularTimeSeriesValue::setListValues(const std::vector< ::Ifc4x1::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x1::IfcIrregularTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X1_types[511]); } -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; } +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)); } @@ -10190,7 +10190,7 @@ void Ifc4x1::IfcJunctionBoxType::setPredefinedType(const ::Ifc4x1::IfcJunctionBo const ifcopenshell::entity& Ifc4x1::IfcJunctionBoxType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[515]); } -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; } +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; } @@ -10216,7 +10216,7 @@ void Ifc4x1::IfcLaborResource::setPredefinedType(const std::optional< ::Ifc4x1:: const ifcopenshell::entity& Ifc4x1::IfcLaborResource::Class() { return *((ifcopenshell::entity*)IFC4X1_types[520]); } -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; } +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,10 +10224,10 @@ void Ifc4x1::IfcLaborResourceType::setPredefinedType(const ::Ifc4x1::IfcLaborRes const ifcopenshell::entity& Ifc4x1::IfcLaborResourceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[521]); } -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; } +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>(); } +::Ifc4x1::IfcTimeOrRatioSelect Ifc4x1::IfcLagTime::LagValue() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcTimeOrRatioSelect>(); } void Ifc4x1::IfcLagTime::setLagValue(const ::Ifc4x1::IfcTimeOrRatioSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } ::Ifc4x1::IfcTaskDurationEnum::Value Ifc4x1::IfcLagTime::DurationType() const { return ::Ifc4x1::IfcTaskDurationEnum::FromString(get_attribute_value(4)); } void Ifc4x1::IfcLagTime::setDurationType(const ::Ifc4x1::IfcTaskDurationEnum::Value& v) { set_attribute_value(4, enumeration_reference(&::Ifc4x1::IfcTaskDurationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } @@ -10250,14 +10250,14 @@ void Ifc4x1::IfcLampType::setPredefinedType(const ::Ifc4x1::IfcLampTypeEnum::Val const ifcopenshell::entity& Ifc4x1::IfcLampType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[525]); } -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; } +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; } void Ifc4x1::IfcLibraryInformation::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x1::IfcLibraryInformation::Version() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcLibraryInformation::setVersion(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x1::IfcActorSelect Ifc4x1::IfcLibraryInformation::Publisher() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x1::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcActorSelect>(); } +::Ifc4x1::IfcActorSelect Ifc4x1::IfcLibraryInformation::Publisher() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x1::IfcActorSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcActorSelect>(); } void Ifc4x1::IfcLibraryInformation::setPublisher(const ::Ifc4x1::IfcActorSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4x1::IfcLibraryInformation::VersionDate() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x1::IfcLibraryInformation::setVersionDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } @@ -10277,7 +10277,7 @@ std::optional< std::string > Ifc4x1::IfcLibraryReference::Description() const { void Ifc4x1::IfcLibraryReference::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } std::optional< std::string > Ifc4x1::IfcLibraryReference::Language() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcLibraryReference::setLanguage(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x1::IfcLibraryInformation Ifc4x1::IfcLibraryReference::ReferencedLibrary() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x1::IfcLibraryInformation{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcLibraryInformation>(); } +::Ifc4x1::IfcLibraryInformation Ifc4x1::IfcLibraryReference::ReferencedLibrary() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x1::IfcLibraryInformation{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcLibraryInformation>(); } void Ifc4x1::IfcLibraryReference::setReferencedLibrary(const ::Ifc4x1::IfcLibraryInformation& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } std::vector<::Ifc4x1::IfcRelAssociatesLibrary> Ifc4x1::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[834], 5)); } @@ -10311,22 +10311,22 @@ void Ifc4x1::IfcLightFixtureType::setPredefinedType(const ::Ifc4x1::IfcLightFixt const ifcopenshell::entity& Ifc4x1::IfcLightFixtureType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[539]); } -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; } +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)); } void Ifc4x1::IfcLightIntensityDistribution::setLightDistributionCurve(const ::Ifc4x1::IfcLightDistributionCurveEnum::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc4x1::IfcLightDistributionCurveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x1::IfcLightDistributionData > Ifc4x1::IfcLightIntensityDistribution::DistributionData() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcLightDistributionData>(es); } -void Ifc4x1::IfcLightIntensityDistribution::setDistributionData(const std::vector< ::Ifc4x1::IfcLightDistributionData >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x1::IfcLightDistributionData > Ifc4x1::IfcLightIntensityDistribution::DistributionData() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcLightDistributionData>(es); } +void Ifc4x1::IfcLightIntensityDistribution::setDistributionData(const std::vector< ::Ifc4x1::IfcLightDistributionData >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x1::IfcLightIntensityDistribution::Class() { return *((ifcopenshell::entity*)IFC4X1_types[541]); } -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; } +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; } void Ifc4x1::IfcLightSource::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x1::IfcColourRgb Ifc4x1::IfcLightSource::LightColour() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcColourRgb>(); } +::Ifc4x1::IfcColourRgb Ifc4x1::IfcLightSource::LightColour() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcColourRgb>(); } void Ifc4x1::IfcLightSource::setLightColour(const ::Ifc4x1::IfcColourRgb& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< double > Ifc4x1::IfcLightSource::AmbientIntensity() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } double v = get_attribute_value(2); return v; } void Ifc4x1::IfcLightSource::setAmbientIntensity(const std::optional< double >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } @@ -10344,7 +10344,7 @@ const ifcopenshell::entity& Ifc4x1::IfcLightSourceAmbient::Class() { return *((i 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>(); } +::Ifc4x1::IfcDirection Ifc4x1::IfcLightSourceDirectional::Orientation() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcDirection>(); } void Ifc4x1::IfcLightSourceDirectional::setOrientation(const ::Ifc4x1::IfcDirection& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -10352,9 +10352,9 @@ const ifcopenshell::entity& Ifc4x1::IfcLightSourceDirectional::Class() { return 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>(); } +::Ifc4x1::IfcAxis2Placement3D Ifc4x1::IfcLightSourceGoniometric::Position() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcAxis2Placement3D>(); } void Ifc4x1::IfcLightSourceGoniometric::setPosition(const ::Ifc4x1::IfcAxis2Placement3D& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcColourRgb Ifc4x1::IfcLightSourceGoniometric::ColourAppearance() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x1::IfcColourRgb{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcColourRgb>(); } +::Ifc4x1::IfcColourRgb Ifc4x1::IfcLightSourceGoniometric::ColourAppearance() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x1::IfcColourRgb{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcColourRgb>(); } void Ifc4x1::IfcLightSourceGoniometric::setColourAppearance(const ::Ifc4x1::IfcColourRgb& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } double Ifc4x1::IfcLightSourceGoniometric::ColourTemperature() const { double v = get_attribute_value(6); return v; } void Ifc4x1::IfcLightSourceGoniometric::setColourTemperature(const double& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -10362,7 +10362,7 @@ double Ifc4x1::IfcLightSourceGoniometric::LuminousFlux() const { double v = get void Ifc4x1::IfcLightSourceGoniometric::setLuminousFlux(const double& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4x1::IfcLightEmissionSourceEnum::Value Ifc4x1::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x1::IfcLightEmissionSourceEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcLightSourceGoniometric::setLightEmissionSource(const ::Ifc4x1::IfcLightEmissionSourceEnum::Value& v) { set_attribute_value(8, enumeration_reference(&::Ifc4x1::IfcLightEmissionSourceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4x1::IfcLightDistributionDataSourceSelect Ifc4x1::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc4x1::IfcLightDistributionDataSourceSelect>(); } +::Ifc4x1::IfcLightDistributionDataSourceSelect Ifc4x1::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((express::base)(get_attribute_value(9))).as<::Ifc4x1::IfcLightDistributionDataSourceSelect>(); } void Ifc4x1::IfcLightSourceGoniometric::setLightDistributionDataSource(const ::Ifc4x1::IfcLightDistributionDataSourceSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } @@ -10370,7 +10370,7 @@ const ifcopenshell::entity& Ifc4x1::IfcLightSourceGoniometric::Class() { return 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>(); } +::Ifc4x1::IfcCartesianPoint Ifc4x1::IfcLightSourcePositional::Position() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcCartesianPoint>(); } void Ifc4x1::IfcLightSourcePositional::setPosition(const ::Ifc4x1::IfcCartesianPoint& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } double Ifc4x1::IfcLightSourcePositional::Radius() const { double v = get_attribute_value(5); return v; } void Ifc4x1::IfcLightSourcePositional::setRadius(const double& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -10386,7 +10386,7 @@ const ifcopenshell::entity& Ifc4x1::IfcLightSourcePositional::Class() { return * 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>(); } +::Ifc4x1::IfcDirection Ifc4x1::IfcLightSourceSpot::Orientation() const { return ((express::base)(get_attribute_value(9))).as<::Ifc4x1::IfcDirection>(); } void Ifc4x1::IfcLightSourceSpot::setOrientation(const ::Ifc4x1::IfcDirection& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::optional< double > Ifc4x1::IfcLightSourceSpot::ConcentrationExponent() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc4x1::IfcLightSourceSpot::setConcentrationExponent(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } @@ -10400,9 +10400,9 @@ const ifcopenshell::entity& Ifc4x1::IfcLightSourceSpot::Class() { return *((ifco 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>(); } +::Ifc4x1::IfcCartesianPoint Ifc4x1::IfcLine::Pnt() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcCartesianPoint>(); } void Ifc4x1::IfcLine::setPnt(const ::Ifc4x1::IfcCartesianPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcVector Ifc4x1::IfcLine::Dir() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcVector>(); } +::Ifc4x1::IfcVector Ifc4x1::IfcLine::Dir() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcVector>(); } void Ifc4x1::IfcLine::setDir(const ::Ifc4x1::IfcVector& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -10416,13 +10416,13 @@ const ifcopenshell::entity& Ifc4x1::IfcLineSegment2D::Class() { return *((ifcope 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>(); } +::Ifc4x1::IfcCurve Ifc4x1::IfcLinearPlacement::PlacementRelTo() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcCurve>(); } void Ifc4x1::IfcLinearPlacement::setPlacementRelTo(const ::Ifc4x1::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcDistanceExpression Ifc4x1::IfcLinearPlacement::Distance() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcDistanceExpression>(); } +::Ifc4x1::IfcDistanceExpression Ifc4x1::IfcLinearPlacement::Distance() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcDistanceExpression>(); } void Ifc4x1::IfcLinearPlacement::setDistance(const ::Ifc4x1::IfcDistanceExpression& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcOrientationExpression Ifc4x1::IfcLinearPlacement::Orientation() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x1::IfcOrientationExpression{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcOrientationExpression>(); } +::Ifc4x1::IfcOrientationExpression Ifc4x1::IfcLinearPlacement::Orientation() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x1::IfcOrientationExpression{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcOrientationExpression>(); } void Ifc4x1::IfcLinearPlacement::setOrientation(const ::Ifc4x1::IfcOrientationExpression& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcAxis2Placement3D Ifc4x1::IfcLinearPlacement::CartesianPosition() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcAxis2Placement3D>(); } +::Ifc4x1::IfcAxis2Placement3D Ifc4x1::IfcLinearPlacement::CartesianPosition() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcAxis2Placement3D>(); } void Ifc4x1::IfcLinearPlacement::setCartesianPosition(const ::Ifc4x1::IfcAxis2Placement3D& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -10430,7 +10430,7 @@ const ifcopenshell::entity& Ifc4x1::IfcLinearPlacement::Class() { return *((ifco 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>(); } +::Ifc4x1::IfcCurve Ifc4x1::IfcLinearPositioningElement::Axis() const { return ((express::base)(get_attribute_value(7))).as<::Ifc4x1::IfcCurve>(); } void Ifc4x1::IfcLinearPositioningElement::setAxis(const ::Ifc4x1::IfcCurve& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -10438,9 +10438,9 @@ const ifcopenshell::entity& Ifc4x1::IfcLinearPositioningElement::Class() { retur 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>(); } +::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>(); } void Ifc4x1::IfcLocalPlacement::setPlacementRelTo(const ::Ifc4x1::IfcObjectPlacement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcAxis2Placement Ifc4x1::IfcLocalPlacement::RelativePlacement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcAxis2Placement>(); } +::Ifc4x1::IfcAxis2Placement Ifc4x1::IfcLocalPlacement::RelativePlacement() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcAxis2Placement>(); } void Ifc4x1::IfcLocalPlacement::setRelativePlacement(const ::Ifc4x1::IfcAxis2Placement& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -10454,7 +10454,7 @@ const ifcopenshell::entity& Ifc4x1::IfcLoop::Class() { return *((ifcopenshell::e 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>(); } +::Ifc4x1::IfcClosedShell Ifc4x1::IfcManifoldSolidBrep::Outer() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcClosedShell>(); } void Ifc4x1::IfcManifoldSolidBrep::setOuter(const ::Ifc4x1::IfcClosedShell& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -10480,9 +10480,9 @@ const ifcopenshell::entity& Ifc4x1::IfcMapConversion::Class() { return *((ifcope 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>(); } +::Ifc4x1::IfcRepresentationMap Ifc4x1::IfcMappedItem::MappingSource() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcRepresentationMap>(); } void Ifc4x1::IfcMappedItem::setMappingSource(const ::Ifc4x1::IfcRepresentationMap& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcCartesianTransformationOperator Ifc4x1::IfcMappedItem::MappingTarget() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcCartesianTransformationOperator>(); } +::Ifc4x1::IfcCartesianTransformationOperator Ifc4x1::IfcMappedItem::MappingTarget() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcCartesianTransformationOperator>(); } void Ifc4x1::IfcMappedItem::setMappingTarget(const ::Ifc4x1::IfcCartesianTransformationOperator& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -10505,21 +10505,21 @@ const ifcopenshell::entity& Ifc4x1::IfcMaterial::Class() { return *((ifcopenshel 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); } -void Ifc4x1::IfcMaterialClassificationRelationship::setMaterialClassifications(const std::vector< ::Ifc4x1::IfcClassificationSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcMaterial Ifc4x1::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcMaterial>(); } +std::vector< ::Ifc4x1::IfcClassificationSelect > Ifc4x1::IfcMaterialClassificationRelationship::MaterialClassifications() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcClassificationSelect>(es); } +void Ifc4x1::IfcMaterialClassificationRelationship::setMaterialClassifications(const std::vector< ::Ifc4x1::IfcClassificationSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +::Ifc4x1::IfcMaterial Ifc4x1::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcMaterial>(); } void Ifc4x1::IfcMaterialClassificationRelationship::setClassifiedMaterial(const ::Ifc4x1::IfcMaterial& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x1::IfcMaterialClassificationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X1_types[576]); } -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; } +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; } void Ifc4x1::IfcMaterialConstituent::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x1::IfcMaterialConstituent::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcMaterialConstituent::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x1::IfcMaterial Ifc4x1::IfcMaterialConstituent::Material() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcMaterial>(); } +::Ifc4x1::IfcMaterial Ifc4x1::IfcMaterialConstituent::Material() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcMaterial>(); } void Ifc4x1::IfcMaterialConstituent::setMaterial(const ::Ifc4x1::IfcMaterial& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc4x1::IfcMaterialConstituent::Fraction() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4x1::IfcMaterialConstituent::setFraction(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } @@ -10536,12 +10536,12 @@ std::optional< std::string > Ifc4x1::IfcMaterialConstituentSet::Name() const { i void Ifc4x1::IfcMaterialConstituentSet::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x1::IfcMaterialConstituentSet::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcMaterialConstituentSet::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::optional< std::vector< ::Ifc4x1::IfcMaterialConstituent > > Ifc4x1::IfcMaterialConstituentSet::MaterialConstituents() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcMaterialConstituent>(es); } -void Ifc4x1::IfcMaterialConstituentSet::setMaterialConstituents(const std::optional< std::vector< ::Ifc4x1::IfcMaterialConstituent > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4x1::IfcMaterialConstituent > > Ifc4x1::IfcMaterialConstituentSet::MaterialConstituents() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcMaterialConstituent>(es); } +void Ifc4x1::IfcMaterialConstituentSet::setMaterialConstituents(const std::optional< std::vector< ::Ifc4x1::IfcMaterialConstituent > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x1::IfcMaterialConstituentSet::Class() { return *((ifcopenshell::entity*)IFC4X1_types[578]); } -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; } +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 @@ -10553,15 +10553,15 @@ const ifcopenshell::entity& Ifc4x1::IfcMaterialDefinition::Class() { return *((i 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>(); } +::Ifc4x1::IfcMaterial Ifc4x1::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcMaterial>(); } void Ifc4x1::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(const ::Ifc4x1::IfcMaterial& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x1::IfcMaterialDefinitionRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X1_types[580]); } -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; } +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>(); } +::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>(); } void Ifc4x1::IfcMaterialLayer::setMaterial(const ::Ifc4x1::IfcMaterial& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x1::IfcMaterialLayer::LayerThickness() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcMaterialLayer::setLayerThickness(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -10582,8 +10582,8 @@ const ifcopenshell::entity& Ifc4x1::IfcMaterialLayer::Class() { return *((ifcope 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< int64_t > 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); } -void Ifc4x1::IfcMaterialLayerSet::setMaterialLayers(const std::vector< ::Ifc4x1::IfcMaterialLayer >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x1::IfcMaterialLayer > Ifc4x1::IfcMaterialLayerSet::MaterialLayers() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcMaterialLayer>(es); } +void Ifc4x1::IfcMaterialLayerSet::setMaterialLayers(const std::vector< ::Ifc4x1::IfcMaterialLayer >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x1::IfcMaterialLayerSet::LayerSetName() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcMaterialLayerSet::setLayerSetName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x1::IfcMaterialLayerSet::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } @@ -10591,10 +10591,10 @@ void Ifc4x1::IfcMaterialLayerSet::setDescription(const std::optional< std::strin const ifcopenshell::entity& Ifc4x1::IfcMaterialLayerSet::Class() { return *((ifcopenshell::entity*)IFC4X1_types[582]); } -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; } +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>(); } +::Ifc4x1::IfcMaterialLayerSet Ifc4x1::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcMaterialLayerSet>(); } void Ifc4x1::IfcMaterialLayerSetUsage::setForLayerSet(const ::Ifc4x1::IfcMaterialLayerSet& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } ::Ifc4x1::IfcLayerSetDirectionEnum::Value Ifc4x1::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x1::IfcLayerSetDirectionEnum::FromString(get_attribute_value(1)); } void Ifc4x1::IfcMaterialLayerSetUsage::setLayerSetDirection(const ::Ifc4x1::IfcLayerSetDirectionEnum::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4x1::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } @@ -10620,21 +10620,21 @@ const ifcopenshell::entity& Ifc4x1::IfcMaterialLayerWithOffsets::Class() { retur 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< int64_t > 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); } -void Ifc4x1::IfcMaterialList::setMaterials(const std::vector< ::Ifc4x1::IfcMaterial >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x1::IfcMaterial > Ifc4x1::IfcMaterialList::Materials() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcMaterial>(es); } +void Ifc4x1::IfcMaterialList::setMaterials(const std::vector< ::Ifc4x1::IfcMaterial >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x1::IfcMaterialList::Class() { return *((ifcopenshell::entity*)IFC4X1_types[585]); } -Ifc4x1::IfcMaterialList Ifc4x1::IfcMaterialList::initialize(std::vector< ::Ifc4x1::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials));; return *this; } +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; } void Ifc4x1::IfcMaterialProfile::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x1::IfcMaterialProfile::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcMaterialProfile::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x1::IfcMaterial Ifc4x1::IfcMaterialProfile::Material() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x1::IfcMaterial{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcMaterial>(); } +::Ifc4x1::IfcMaterial Ifc4x1::IfcMaterialProfile::Material() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x1::IfcMaterial{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcMaterial>(); } void Ifc4x1::IfcMaterialProfile::setMaterial(const ::Ifc4x1::IfcMaterial& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcProfileDef Ifc4x1::IfcMaterialProfile::Profile() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcProfileDef>(); } +::Ifc4x1::IfcProfileDef Ifc4x1::IfcMaterialProfile::Profile() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcProfileDef>(); } void Ifc4x1::IfcMaterialProfile::setProfile(const ::Ifc4x1::IfcProfileDef& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< int64_t > Ifc4x1::IfcMaterialProfile::Priority() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(4); return v; } void Ifc4x1::IfcMaterialProfile::setPriority(const std::optional< int64_t >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -10651,17 +10651,17 @@ std::optional< std::string > Ifc4x1::IfcMaterialProfileSet::Name() const { if(ge void Ifc4x1::IfcMaterialProfileSet::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x1::IfcMaterialProfileSet::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcMaterialProfileSet::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x1::IfcMaterialProfile > Ifc4x1::IfcMaterialProfileSet::MaterialProfiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcMaterialProfile>(es); } -void Ifc4x1::IfcMaterialProfileSet::setMaterialProfiles(const std::vector< ::Ifc4x1::IfcMaterialProfile >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcCompositeProfileDef Ifc4x1::IfcMaterialProfileSet::CompositeProfile() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcCompositeProfileDef{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcCompositeProfileDef>(); } +std::vector< ::Ifc4x1::IfcMaterialProfile > Ifc4x1::IfcMaterialProfileSet::MaterialProfiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcMaterialProfile>(es); } +void Ifc4x1::IfcMaterialProfileSet::setMaterialProfiles(const std::vector< ::Ifc4x1::IfcMaterialProfile >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +::Ifc4x1::IfcCompositeProfileDef Ifc4x1::IfcMaterialProfileSet::CompositeProfile() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcCompositeProfileDef{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcCompositeProfileDef>(); } void Ifc4x1::IfcMaterialProfileSet::setCompositeProfile(const ::Ifc4x1::IfcCompositeProfileDef& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x1::IfcMaterialProfileSet::Class() { return *((ifcopenshell::entity*)IFC4X1_types[587]); } -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; } +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>(); } +::Ifc4x1::IfcMaterialProfileSet Ifc4x1::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcMaterialProfileSet>(); } void Ifc4x1::IfcMaterialProfileSetUsage::setForProfileSet(const ::Ifc4x1::IfcMaterialProfileSet& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< int64_t > Ifc4x1::IfcMaterialProfileSetUsage::CardinalPoint() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(1); return v; } void Ifc4x1::IfcMaterialProfileSetUsage::setCardinalPoint(const std::optional< int64_t >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } @@ -10673,7 +10673,7 @@ const ifcopenshell::entity& Ifc4x1::IfcMaterialProfileSetUsage::Class() { return Ifc4x1::IfcMaterialProfileSetUsage Ifc4x1::IfcMaterialProfileSetUsage::initialize(::Ifc4x1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int64_t > 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>(); } +::Ifc4x1::IfcMaterialProfileSet Ifc4x1::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcMaterialProfileSet>(); } void Ifc4x1::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(const ::Ifc4x1::IfcMaterialProfileSet& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< int64_t > Ifc4x1::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(4); return v; } void Ifc4x1::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(const std::optional< int64_t >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -10691,24 +10691,24 @@ const ifcopenshell::entity& Ifc4x1::IfcMaterialProfileWithOffsets::Class() { ret 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< int64_t > 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>(); } +::Ifc4x1::IfcMaterialDefinition Ifc4x1::IfcMaterialProperties::Material() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcMaterialDefinition>(); } void Ifc4x1::IfcMaterialProperties::setMaterial(const ::Ifc4x1::IfcMaterialDefinition& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x1::IfcMaterialProperties::Class() { return *((ifcopenshell::entity*)IFC4X1_types[591]); } -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; } +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>(); } +::Ifc4x1::IfcMaterial Ifc4x1::IfcMaterialRelationship::RelatingMaterial() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcMaterial>(); } void Ifc4x1::IfcMaterialRelationship::setRelatingMaterial(const ::Ifc4x1::IfcMaterial& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x1::IfcMaterial > Ifc4x1::IfcMaterialRelationship::RelatedMaterials() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x1::IfcMaterial>(es); } -void Ifc4x1::IfcMaterialRelationship::setRelatedMaterials(const std::vector< ::Ifc4x1::IfcMaterial >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x1::IfcMaterial > Ifc4x1::IfcMaterialRelationship::RelatedMaterials() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x1::IfcMaterial>(es); } +void Ifc4x1::IfcMaterialRelationship::setRelatedMaterials(const std::vector< ::Ifc4x1::IfcMaterial >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x1::IfcMaterialRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcMaterialRelationship::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const ifcopenshell::entity& Ifc4x1::IfcMaterialRelationship::Class() { return *((ifcopenshell::entity*)IFC4X1_types[592]); } -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; } +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 @@ -10718,9 +10718,9 @@ const ifcopenshell::entity& Ifc4x1::IfcMaterialUsageDefinition::Class() { return 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>(); } +::Ifc4x1::IfcValue Ifc4x1::IfcMeasureWithUnit::ValueComponent() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcValue>(); } void Ifc4x1::IfcMeasureWithUnit::setValueComponent(const ::Ifc4x1::IfcValue& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcUnit Ifc4x1::IfcMeasureWithUnit::UnitComponent() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcUnit>(); } +::Ifc4x1::IfcUnit Ifc4x1::IfcMeasureWithUnit::UnitComponent() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcUnit>(); } void Ifc4x1::IfcMeasureWithUnit::setUnitComponent(const ::Ifc4x1::IfcUnit& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -10749,7 +10749,7 @@ void Ifc4x1::IfcMechanicalFastenerType::setNominalLength(const std::optional< do const ifcopenshell::entity& Ifc4x1::IfcMechanicalFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[598]); } -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; } +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)); } @@ -10765,7 +10765,7 @@ void Ifc4x1::IfcMedicalDeviceType::setPredefinedType(const ::Ifc4x1::IfcMedicalD const ifcopenshell::entity& Ifc4x1::IfcMedicalDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[601]); } -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; } +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)); } @@ -10787,16 +10787,16 @@ void Ifc4x1::IfcMemberType::setPredefinedType(const ::Ifc4x1::IfcMemberTypeEnum: const ifcopenshell::entity& Ifc4x1::IfcMemberType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[605]); } -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; } +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)); } void Ifc4x1::IfcMetric::setBenchmark(const ::Ifc4x1::IfcBenchmarkEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4x1::IfcBenchmarkEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } std::optional< std::string > Ifc4x1::IfcMetric::ValueSource() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x1::IfcMetric::setValueSource(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x1::IfcMetricValueSelect Ifc4x1::IfcMetric::DataValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x1::IfcMetricValueSelect{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x1::IfcMetricValueSelect>(); } +::Ifc4x1::IfcMetricValueSelect Ifc4x1::IfcMetric::DataValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x1::IfcMetricValueSelect{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x1::IfcMetricValueSelect>(); } void Ifc4x1::IfcMetric::setDataValue(const ::Ifc4x1::IfcMetricValueSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -::Ifc4x1::IfcReference Ifc4x1::IfcMetric::ReferencePath() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x1::IfcReference{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x1::IfcReference>(); } +::Ifc4x1::IfcReference Ifc4x1::IfcMetric::ReferencePath() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x1::IfcReference{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x1::IfcReference>(); } void Ifc4x1::IfcMetric::setReferencePath(const ::Ifc4x1::IfcReference& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } @@ -10831,10 +10831,10 @@ void Ifc4x1::IfcMotorConnectionType::setPredefinedType(const ::Ifc4x1::IfcMotorC const ifcopenshell::entity& Ifc4x1::IfcMotorConnectionType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[624]); } -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; } +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>(); } +::Ifc4x1::IfcDimensionalExponents Ifc4x1::IfcNamedUnit::Dimensions() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcDimensionalExponents>(); } void Ifc4x1::IfcNamedUnit::setDimensions(const ::Ifc4x1::IfcDimensionalExponents& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } ::Ifc4x1::IfcUnitEnum::Value Ifc4x1::IfcNamedUnit::UnitType() const { return ::Ifc4x1::IfcUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x1::IfcNamedUnit::setUnitType(const ::Ifc4x1::IfcUnitEnum::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4x1::IfcUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } @@ -10877,8 +10877,8 @@ const ifcopenshell::entity& Ifc4x1::IfcObjectPlacement::Class() { return *((ifco 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); } -void Ifc4x1::IfcObjective::setBenchmarkValues(const std::optional< std::vector< ::Ifc4x1::IfcConstraint > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +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); } +void Ifc4x1::IfcObjective::setBenchmarkValues(const std::optional< std::vector< ::Ifc4x1::IfcConstraint > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< ::Ifc4x1::IfcLogicalOperatorEnum::Value > Ifc4x1::IfcObjective::LogicalAggregator() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcLogicalOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcObjective::setLogicalAggregator(const std::optional< ::Ifc4x1::IfcLogicalOperatorEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x1::IfcLogicalOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x1::IfcObjectiveEnum::Value Ifc4x1::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x1::IfcObjectiveEnum::FromString(get_attribute_value(9)); } @@ -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]); } -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; } +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)); } @@ -10899,7 +10899,7 @@ const ifcopenshell::entity& Ifc4x1::IfcOccupant::Class() { return *((ifcopenshel 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>(); } +::Ifc4x1::IfcCurve Ifc4x1::IfcOffsetCurve::BasisCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcCurve>(); } void Ifc4x1::IfcOffsetCurve::setBasisCurve(const ::Ifc4x1::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -10921,7 +10921,7 @@ double Ifc4x1::IfcOffsetCurve3D::Distance() const { double v = get_attribute_va void Ifc4x1::IfcOffsetCurve3D::setDistance(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } boost::logic::tribool Ifc4x1::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x1::IfcOffsetCurve3D::setSelfIntersect(const boost::logic::tribool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcDirection Ifc4x1::IfcOffsetCurve3D::RefDirection() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcDirection>(); } +::Ifc4x1::IfcDirection Ifc4x1::IfcOffsetCurve3D::RefDirection() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcDirection>(); } void Ifc4x1::IfcOffsetCurve3D::setRefDirection(const ::Ifc4x1::IfcDirection& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -10929,20 +10929,20 @@ const ifcopenshell::entity& Ifc4x1::IfcOffsetCurve3D::Class() { return *((ifcope 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); } -void Ifc4x1::IfcOffsetCurveByDistances::setOffsetValues(const std::vector< ::Ifc4x1::IfcDistanceExpression >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x1::IfcDistanceExpression > Ifc4x1::IfcOffsetCurveByDistances::OffsetValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcDistanceExpression>(es); } +void Ifc4x1::IfcOffsetCurveByDistances::setOffsetValues(const std::vector< ::Ifc4x1::IfcDistanceExpression >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x1::IfcOffsetCurveByDistances::Tag() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcOffsetCurveByDistances::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x1::IfcOffsetCurveByDistances::Class() { return *((ifcopenshell::entity*)IFC4X1_types[643]); } -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; } +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]); } -Ifc4x1::IfcOpenShell Ifc4x1::IfcOpenShell::initialize(std::vector< ::Ifc4x1::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } +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)); } @@ -10966,32 +10966,32 @@ std::string Ifc4x1::IfcOrganization::Name() const { std::string v = get_attribu void Ifc4x1::IfcOrganization::setName(const std::string& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x1::IfcOrganization::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcOrganization::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::optional< std::vector< ::Ifc4x1::IfcActorRole > > Ifc4x1::IfcOrganization::Roles() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x1::IfcActorRole>(es); } -void Ifc4x1::IfcOrganization::setRoles(const std::optional< std::vector< ::Ifc4x1::IfcActorRole > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } -std::optional< std::vector< ::Ifc4x1::IfcAddress > > Ifc4x1::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x1::IfcAddress>(es); } -void Ifc4x1::IfcOrganization::setAddresses(const std::optional< std::vector< ::Ifc4x1::IfcAddress > >& v) { if (v) {set_attribute_value(4, cast_vector(*v));} else {unset_attribute_value(4);} } +std::optional< std::vector< ::Ifc4x1::IfcActorRole > > Ifc4x1::IfcOrganization::Roles() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x1::IfcActorRole>(es); } +void Ifc4x1::IfcOrganization::setRoles(const std::optional< std::vector< ::Ifc4x1::IfcActorRole > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } +std::optional< std::vector< ::Ifc4x1::IfcAddress > > Ifc4x1::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x1::IfcAddress>(es); } +void Ifc4x1::IfcOrganization::setAddresses(const std::optional< std::vector< ::Ifc4x1::IfcAddress > >& v) { if (v) {set_attribute_value(4, cast_vector(*v));} else {unset_attribute_value(4);} } std::vector<::Ifc4x1::IfcOrganizationRelationship> Ifc4x1::IfcOrganization::IsRelatedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[649], 3)); } std::vector<::Ifc4x1::IfcOrganizationRelationship> Ifc4x1::IfcOrganization::Relates() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[649], 2)); } 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]); } -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; } +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>(); } +::Ifc4x1::IfcOrganization Ifc4x1::IfcOrganizationRelationship::RelatingOrganization() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcOrganization>(); } void Ifc4x1::IfcOrganizationRelationship::setRelatingOrganization(const ::Ifc4x1::IfcOrganization& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x1::IfcOrganization > Ifc4x1::IfcOrganizationRelationship::RelatedOrganizations() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x1::IfcOrganization>(es); } -void Ifc4x1::IfcOrganizationRelationship::setRelatedOrganizations(const std::vector< ::Ifc4x1::IfcOrganization >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x1::IfcOrganization > Ifc4x1::IfcOrganizationRelationship::RelatedOrganizations() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x1::IfcOrganization>(es); } +void Ifc4x1::IfcOrganizationRelationship::setRelatedOrganizations(const std::vector< ::Ifc4x1::IfcOrganization >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x1::IfcOrganizationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X1_types[649]); } -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; } +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>(); } +::Ifc4x1::IfcDirection Ifc4x1::IfcOrientationExpression::LateralAxisDirection() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcDirection>(); } void Ifc4x1::IfcOrientationExpression::setLateralAxisDirection(const ::Ifc4x1::IfcDirection& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcDirection Ifc4x1::IfcOrientationExpression::VerticalAxisDirection() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcDirection>(); } +::Ifc4x1::IfcDirection Ifc4x1::IfcOrientationExpression::VerticalAxisDirection() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcDirection>(); } void Ifc4x1::IfcOrientationExpression::setVerticalAxisDirection(const ::Ifc4x1::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -10999,7 +10999,7 @@ const ifcopenshell::entity& Ifc4x1::IfcOrientationExpression::Class() { return * 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>(); } +::Ifc4x1::IfcEdge Ifc4x1::IfcOrientedEdge::EdgeElement() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcEdge>(); } void Ifc4x1::IfcOrientedEdge::setEdgeElement(const ::Ifc4x1::IfcEdge& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } bool Ifc4x1::IfcOrientedEdge::Orientation() const { bool v = get_attribute_value(3); return v; } void Ifc4x1::IfcOrientedEdge::setOrientation(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -11012,7 +11012,7 @@ Ifc4x1::IfcOrientedEdge Ifc4x1::IfcOrientedEdge::initialize(::Ifc4x1::IfcEdge v3 const ifcopenshell::entity& Ifc4x1::IfcOuterBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X1_types[652]); } -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; } +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)); } @@ -11028,12 +11028,12 @@ void Ifc4x1::IfcOutletType::setPredefinedType(const ::Ifc4x1::IfcOutletTypeEnum: const ifcopenshell::entity& Ifc4x1::IfcOutletType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[654]); } -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; } +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>(); } +::Ifc4x1::IfcPersonAndOrganization Ifc4x1::IfcOwnerHistory::OwningUser() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcPersonAndOrganization>(); } void Ifc4x1::IfcOwnerHistory::setOwningUser(const ::Ifc4x1::IfcPersonAndOrganization& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcApplication Ifc4x1::IfcOwnerHistory::OwningApplication() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcApplication>(); } +::Ifc4x1::IfcApplication Ifc4x1::IfcOwnerHistory::OwningApplication() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcApplication>(); } void Ifc4x1::IfcOwnerHistory::setOwningApplication(const ::Ifc4x1::IfcApplication& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< ::Ifc4x1::IfcStateEnum::Value > Ifc4x1::IfcOwnerHistory::State() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcStateEnum::FromString(get_attribute_value(2)); } void Ifc4x1::IfcOwnerHistory::setState(const std::optional< ::Ifc4x1::IfcStateEnum::Value >& v) { if (v) {set_attribute_value(2, enumeration_reference(&::Ifc4x1::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } @@ -11041,9 +11041,9 @@ std::optional< ::Ifc4x1::IfcChangeActionEnum::Value > Ifc4x1::IfcOwnerHistory::C void Ifc4x1::IfcOwnerHistory::setChangeAction(const std::optional< ::Ifc4x1::IfcChangeActionEnum::Value >& v) { if (v) {set_attribute_value(3, enumeration_reference(&::Ifc4x1::IfcChangeActionEnum::Class(), (size_t) *v));} else {unset_attribute_value(3);} } std::optional< int64_t > Ifc4x1::IfcOwnerHistory::LastModifiedDate() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(4); return v; } void Ifc4x1::IfcOwnerHistory::setLastModifiedDate(const std::optional< int64_t >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x1::IfcPersonAndOrganization Ifc4x1::IfcOwnerHistory::LastModifyingUser() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x1::IfcPersonAndOrganization{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcPersonAndOrganization>(); } +::Ifc4x1::IfcPersonAndOrganization Ifc4x1::IfcOwnerHistory::LastModifyingUser() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x1::IfcPersonAndOrganization{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcPersonAndOrganization>(); } void Ifc4x1::IfcOwnerHistory::setLastModifyingUser(const ::Ifc4x1::IfcPersonAndOrganization& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x1::IfcApplication Ifc4x1::IfcOwnerHistory::LastModifyingApplication() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcApplication{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x1::IfcApplication>(); } +::Ifc4x1::IfcApplication Ifc4x1::IfcOwnerHistory::LastModifyingApplication() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcApplication{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x1::IfcApplication>(); } void Ifc4x1::IfcOwnerHistory::setLastModifyingApplication(const ::Ifc4x1::IfcApplication& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } int64_t Ifc4x1::IfcOwnerHistory::CreationDate() const { int64_t v = get_attribute_value(7); return v; } void Ifc4x1::IfcOwnerHistory::setCreationDate(const int64_t& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -11053,7 +11053,7 @@ const ifcopenshell::entity& Ifc4x1::IfcOwnerHistory::Class() { return *((ifcopen 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< int64_t > v5_LastModifiedDate, ::Ifc4x1::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x1::IfcApplication v7_LastModifyingApplication, int64_t 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>(); } +::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>(); } void Ifc4x1::IfcParameterizedProfileDef::setPosition(const ::Ifc4x1::IfcAxis2Placement2D& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -11061,17 +11061,17 @@ const ifcopenshell::entity& Ifc4x1::IfcParameterizedProfileDef::Class() { return 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); } -void Ifc4x1::IfcPath::setEdgeList(const std::vector< ::Ifc4x1::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x1::IfcOrientedEdge > Ifc4x1::IfcPath::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcOrientedEdge>(es); } +void Ifc4x1::IfcPath::setEdgeList(const std::vector< ::Ifc4x1::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x1::IfcPath::Class() { return *((ifcopenshell::entity*)IFC4X1_types[659]); } -Ifc4x1::IfcPath Ifc4x1::IfcPath::initialize(std::vector< ::Ifc4x1::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } +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>(); } +::Ifc4x1::IfcSurface Ifc4x1::IfcPcurve::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcSurface>(); } void Ifc4x1::IfcPcurve::setBasisSurface(const ::Ifc4x1::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcCurve Ifc4x1::IfcPcurve::ReferenceCurve() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcCurve>(); } +::Ifc4x1::IfcCurve Ifc4x1::IfcPcurve::ReferenceCurve() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcCurve>(); } void Ifc4x1::IfcPcurve::setReferenceCurve(const ::Ifc4x1::IfcCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11097,7 +11097,7 @@ std::optional< double > Ifc4x1::IfcPermeableCoveringProperties::FrameDepth() con void Ifc4x1::IfcPermeableCoveringProperties::setFrameDepth(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } std::optional< double > Ifc4x1::IfcPermeableCoveringProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } void Ifc4x1::IfcPermeableCoveringProperties::setFrameThickness(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x1::IfcShapeAspect Ifc4x1::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x1::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x1::IfcShapeAspect>(); } +::Ifc4x1::IfcShapeAspect Ifc4x1::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x1::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x1::IfcShapeAspect>(); } void Ifc4x1::IfcPermeableCoveringProperties::setShapeAspectStyle(const ::Ifc4x1::IfcShapeAspect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -11129,31 +11129,31 @@ std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcPerson::PrefixT void Ifc4x1::IfcPerson::setPrefixTitles(const std::optional< std::vector< std::string > /*[1:?]*/ >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcPerson::SuffixTitles() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(5); return v; } void Ifc4x1::IfcPerson::setSuffixTitles(const std::optional< std::vector< std::string > /*[1:?]*/ >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::optional< std::vector< ::Ifc4x1::IfcActorRole > > Ifc4x1::IfcPerson::Roles() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x1::IfcActorRole>(es); } -void Ifc4x1::IfcPerson::setRoles(const std::optional< std::vector< ::Ifc4x1::IfcActorRole > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x1::IfcAddress > > Ifc4x1::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x1::IfcAddress>(es); } -void Ifc4x1::IfcPerson::setAddresses(const std::optional< std::vector< ::Ifc4x1::IfcAddress > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x1::IfcActorRole > > Ifc4x1::IfcPerson::Roles() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x1::IfcActorRole>(es); } +void Ifc4x1::IfcPerson::setRoles(const std::optional< std::vector< ::Ifc4x1::IfcActorRole > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +std::optional< std::vector< ::Ifc4x1::IfcAddress > > Ifc4x1::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x1::IfcAddress>(es); } +void Ifc4x1::IfcPerson::setAddresses(const std::optional< std::vector< ::Ifc4x1::IfcAddress > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } 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]); } -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; } +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>(); } +::Ifc4x1::IfcPerson Ifc4x1::IfcPersonAndOrganization::ThePerson() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcPerson>(); } void Ifc4x1::IfcPersonAndOrganization::setThePerson(const ::Ifc4x1::IfcPerson& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcOrganization Ifc4x1::IfcPersonAndOrganization::TheOrganization() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcOrganization>(); } +::Ifc4x1::IfcOrganization Ifc4x1::IfcPersonAndOrganization::TheOrganization() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcOrganization>(); } void Ifc4x1::IfcPersonAndOrganization::setTheOrganization(const ::Ifc4x1::IfcOrganization& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::optional< std::vector< ::Ifc4x1::IfcActorRole > > Ifc4x1::IfcPersonAndOrganization::Roles() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcActorRole>(es); } -void Ifc4x1::IfcPersonAndOrganization::setRoles(const std::optional< std::vector< ::Ifc4x1::IfcActorRole > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4x1::IfcActorRole > > Ifc4x1::IfcPersonAndOrganization::Roles() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcActorRole>(es); } +void Ifc4x1::IfcPersonAndOrganization::setRoles(const std::optional< std::vector< ::Ifc4x1::IfcActorRole > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x1::IfcPersonAndOrganization::Class() { return *((ifcopenshell::entity*)IFC4X1_types[668]); } -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; } +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); } -void Ifc4x1::IfcPhysicalComplexQuantity::setHasQuantities(const std::vector< ::Ifc4x1::IfcPhysicalQuantity >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x1::IfcPhysicalQuantity > Ifc4x1::IfcPhysicalComplexQuantity::HasQuantities() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcPhysicalQuantity>(es); } +void Ifc4x1::IfcPhysicalComplexQuantity::setHasQuantities(const std::vector< ::Ifc4x1::IfcPhysicalQuantity >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::string Ifc4x1::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = get_attribute_value(3); return v; } void Ifc4x1::IfcPhysicalComplexQuantity::setDiscrimination(const std::string& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x1::IfcPhysicalComplexQuantity::Quality() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -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]); } -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; } +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; } @@ -11178,7 +11178,7 @@ const ifcopenshell::entity& Ifc4x1::IfcPhysicalQuantity::Class() { return *((ifc 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>(); } +::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>(); } void Ifc4x1::IfcPhysicalSimpleQuantity::setUnit(const ::Ifc4x1::IfcNamedUnit& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -11201,7 +11201,7 @@ void Ifc4x1::IfcPileType::setPredefinedType(const ::Ifc4x1::IfcPileTypeEnum::Val const ifcopenshell::entity& Ifc4x1::IfcPileType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[676]); } -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; } +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)); } @@ -11217,7 +11217,7 @@ void Ifc4x1::IfcPipeFittingType::setPredefinedType(const ::Ifc4x1::IfcPipeFittin const ifcopenshell::entity& Ifc4x1::IfcPipeFittingType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[679]); } -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; } +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)); } @@ -11233,7 +11233,7 @@ void Ifc4x1::IfcPipeSegmentType::setPredefinedType(const ::Ifc4x1::IfcPipeSegmen const ifcopenshell::entity& Ifc4x1::IfcPipeSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[682]); } -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; } +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 int64_t Ifc4x1::IfcPixelTexture::Width() const { int64_t v = get_attribute_value(5); return v; } @@ -11250,7 +11250,7 @@ const ifcopenshell::entity& Ifc4x1::IfcPixelTexture::Class() { return *((ifcopen 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, int64_t v6_Width, int64_t v7_Height, int64_t 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>(); } +::Ifc4x1::IfcCartesianPoint Ifc4x1::IfcPlacement::Location() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcCartesianPoint>(); } void Ifc4x1::IfcPlacement::setLocation(const ::Ifc4x1::IfcCartesianPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -11258,7 +11258,7 @@ const ifcopenshell::entity& Ifc4x1::IfcPlacement::Class() { return *((ifcopenshe 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>(); } +::Ifc4x1::IfcAxis2Placement Ifc4x1::IfcPlanarBox::Placement() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcAxis2Placement>(); } void Ifc4x1::IfcPlanarBox::setPlacement(const ::Ifc4x1::IfcAxis2Placement& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -11301,7 +11301,7 @@ void Ifc4x1::IfcPlateType::setPredefinedType(const ::Ifc4x1::IfcPlateTypeEnum::V const ifcopenshell::entity& Ifc4x1::IfcPlateType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[693]); } -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; } +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 @@ -11310,7 +11310,7 @@ const ifcopenshell::entity& Ifc4x1::IfcPoint::Class() { return *((ifcopenshell:: 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>(); } +::Ifc4x1::IfcCurve Ifc4x1::IfcPointOnCurve::BasisCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcCurve>(); } void Ifc4x1::IfcPointOnCurve::setBasisCurve(const ::Ifc4x1::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x1::IfcPointOnCurve::PointParameter() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcPointOnCurve::setPointParameter(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11320,7 +11320,7 @@ const ifcopenshell::entity& Ifc4x1::IfcPointOnCurve::Class() { return *((ifcopen 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>(); } +::Ifc4x1::IfcSurface Ifc4x1::IfcPointOnSurface::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcSurface>(); } void Ifc4x1::IfcPointOnSurface::setBasisSurface(const ::Ifc4x1::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x1::IfcPointOnSurface::PointParameterU() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcPointOnSurface::setPointParameterU(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11332,17 +11332,17 @@ const ifcopenshell::entity& Ifc4x1::IfcPointOnSurface::Class() { return *((ifcop 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); } -void Ifc4x1::IfcPolyLoop::setPolygon(const std::vector< ::Ifc4x1::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x1::IfcCartesianPoint > Ifc4x1::IfcPolyLoop::Polygon() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcCartesianPoint>(es); } +void Ifc4x1::IfcPolyLoop::setPolygon(const std::vector< ::Ifc4x1::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x1::IfcPolyLoop::Class() { return *((ifcopenshell::entity*)IFC4X1_types[702]); } -Ifc4x1::IfcPolyLoop Ifc4x1::IfcPolyLoop::initialize(std::vector< ::Ifc4x1::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon));; return *this; } +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>(); } +::Ifc4x1::IfcAxis2Placement3D Ifc4x1::IfcPolygonalBoundedHalfSpace::Position() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcAxis2Placement3D>(); } void Ifc4x1::IfcPolygonalBoundedHalfSpace::setPosition(const ::Ifc4x1::IfcAxis2Placement3D& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcBoundedCurve Ifc4x1::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcBoundedCurve>(); } +::Ifc4x1::IfcBoundedCurve Ifc4x1::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcBoundedCurve>(); } void Ifc4x1::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(const ::Ifc4x1::IfcBoundedCurve& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -11352,22 +11352,22 @@ Ifc4x1::IfcPolygonalBoundedHalfSpace Ifc4x1::IfcPolygonalBoundedHalfSpace::initi // 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; } void Ifc4x1::IfcPolygonalFaceSet::setClosed(const std::optional< bool >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x1::IfcIndexedPolygonalFace > Ifc4x1::IfcPolygonalFaceSet::Faces() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcIndexedPolygonalFace>(es); } -void Ifc4x1::IfcPolygonalFaceSet::setFaces(const std::vector< ::Ifc4x1::IfcIndexedPolygonalFace >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x1::IfcIndexedPolygonalFace > Ifc4x1::IfcPolygonalFaceSet::Faces() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcIndexedPolygonalFace>(es); } +void Ifc4x1::IfcPolygonalFaceSet::setFaces(const std::vector< ::Ifc4x1::IfcIndexedPolygonalFace >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::optional< std::vector< int64_t > /*[1:?]*/ > Ifc4x1::IfcPolygonalFaceSet::PnIndex() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< int64_t > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x1::IfcPolygonalFaceSet::setPnIndex(const std::optional< std::vector< int64_t > /*[1:?]*/ >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const ifcopenshell::entity& Ifc4x1::IfcPolygonalFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X1_types[700]); } -Ifc4x1::IfcPolygonalFaceSet Ifc4x1::IfcPolygonalFaceSet::initialize(::Ifc4x1::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x1::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int64_t > /*[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; } +Ifc4x1::IfcPolygonalFaceSet Ifc4x1::IfcPolygonalFaceSet::initialize(::Ifc4x1::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x1::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int64_t > /*[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); } -void Ifc4x1::IfcPolyline::setPoints(const std::vector< ::Ifc4x1::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x1::IfcCartesianPoint > Ifc4x1::IfcPolyline::Points() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcCartesianPoint>(es); } +void Ifc4x1::IfcPolyline::setPoints(const std::vector< ::Ifc4x1::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x1::IfcPolyline::Class() { return *((ifcopenshell::entity*)IFC4X1_types[701]); } -Ifc4x1::IfcPolyline Ifc4x1::IfcPolyline::initialize(std::vector< ::Ifc4x1::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points));; return *this; } +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 @@ -11454,14 +11454,14 @@ std::string Ifc4x1::IfcPresentationLayerAssignment::Name() const { std::string void Ifc4x1::IfcPresentationLayerAssignment::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x1::IfcPresentationLayerAssignment::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcPresentationLayerAssignment::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x1::IfcLayeredItem > Ifc4x1::IfcPresentationLayerAssignment::AssignedItems() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcLayeredItem>(es); } -void Ifc4x1::IfcPresentationLayerAssignment::setAssignedItems(const std::vector< ::Ifc4x1::IfcLayeredItem >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x1::IfcLayeredItem > Ifc4x1::IfcPresentationLayerAssignment::AssignedItems() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcLayeredItem>(es); } +void Ifc4x1::IfcPresentationLayerAssignment::setAssignedItems(const std::vector< ::Ifc4x1::IfcLayeredItem >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4x1::IfcPresentationLayerAssignment::Identifier() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x1::IfcPresentationLayerAssignment::setIdentifier(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const ifcopenshell::entity& Ifc4x1::IfcPresentationLayerAssignment::Class() { return *((ifcopenshell::entity*)IFC4X1_types[720]); } -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; } +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; } @@ -11470,12 +11470,12 @@ boost::logic::tribool Ifc4x1::IfcPresentationLayerWithStyle::LayerFrozen() const void Ifc4x1::IfcPresentationLayerWithStyle::setLayerFrozen(const boost::logic::tribool& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } boost::logic::tribool Ifc4x1::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc4x1::IfcPresentationLayerWithStyle::setLayerBlocked(const boost::logic::tribool& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::vector< ::Ifc4x1::IfcPresentationStyle > Ifc4x1::IfcPresentationLayerWithStyle::LayerStyles() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x1::IfcPresentationStyle>(es); } -void Ifc4x1::IfcPresentationLayerWithStyle::setLayerStyles(const std::vector< ::Ifc4x1::IfcPresentationStyle >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } +std::vector< ::Ifc4x1::IfcPresentationStyle > Ifc4x1::IfcPresentationLayerWithStyle::LayerStyles() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x1::IfcPresentationStyle>(es); } +void Ifc4x1::IfcPresentationLayerWithStyle::setLayerStyles(const std::vector< ::Ifc4x1::IfcPresentationStyle >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } const ifcopenshell::entity& Ifc4x1::IfcPresentationLayerWithStyle::Class() { return *((ifcopenshell::entity*)IFC4X1_types[721]); } -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; } +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; } @@ -11486,12 +11486,12 @@ const ifcopenshell::entity& Ifc4x1::IfcPresentationStyle::Class() { return *((if 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); } -void Ifc4x1::IfcPresentationStyleAssignment::setStyles(const std::vector< ::Ifc4x1::IfcPresentationStyleSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x1::IfcPresentationStyleSelect > Ifc4x1::IfcPresentationStyleAssignment::Styles() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcPresentationStyleSelect>(es); } +void Ifc4x1::IfcPresentationStyleAssignment::setStyles(const std::vector< ::Ifc4x1::IfcPresentationStyleSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x1::IfcPresentationStyleAssignment::Class() { return *((ifcopenshell::entity*)IFC4X1_types[723]); } -Ifc4x1::IfcPresentationStyleAssignment Ifc4x1::IfcPresentationStyleAssignment::initialize(std::vector< ::Ifc4x1::IfcPresentationStyleSelect > v1_Styles) { set_attribute_value(0, cast_vector(v1_Styles));; return *this; } +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)); } @@ -11507,7 +11507,7 @@ void Ifc4x1::IfcProcedureType::setPredefinedType(const ::Ifc4x1::IfcProcedureTyp const ifcopenshell::entity& Ifc4x1::IfcProcedureType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[727]); } -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; } +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; } @@ -11523,9 +11523,9 @@ const ifcopenshell::entity& Ifc4x1::IfcProcess::Class() { return *((ifcopenshell 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>(); } +::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>(); } void Ifc4x1::IfcProduct::setObjectPlacement(const ::Ifc4x1::IfcObjectPlacement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x1::IfcProductRepresentation Ifc4x1::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcProductRepresentation{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x1::IfcProductRepresentation>(); } +::Ifc4x1::IfcProductRepresentation Ifc4x1::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcProductRepresentation{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x1::IfcProductRepresentation>(); } void Ifc4x1::IfcProduct::setRepresentation(const ::Ifc4x1::IfcProductRepresentation& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::vector<::Ifc4x1::IfcRelAssignsToProduct> Ifc4x1::IfcProduct::ReferencedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[827], 6)); } @@ -11539,19 +11539,19 @@ 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]); } -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; } +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; } void Ifc4x1::IfcProductRepresentation::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x1::IfcProductRepresentation::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcProductRepresentation::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x1::IfcRepresentation > Ifc4x1::IfcProductRepresentation::Representations() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcRepresentation>(es); } -void Ifc4x1::IfcProductRepresentation::setRepresentations(const std::vector< ::Ifc4x1::IfcRepresentation >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x1::IfcRepresentation > Ifc4x1::IfcProductRepresentation::Representations() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcRepresentation>(es); } +void Ifc4x1::IfcProductRepresentation::setRepresentations(const std::vector< ::Ifc4x1::IfcRepresentation >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x1::IfcProductRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X1_types[733]); } -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; } +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)); } @@ -11566,24 +11566,24 @@ const ifcopenshell::entity& Ifc4x1::IfcProfileDef::Class() { return *((ifcopensh 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>(); } +::Ifc4x1::IfcProfileDef Ifc4x1::IfcProfileProperties::ProfileDefinition() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcProfileDef>(); } void Ifc4x1::IfcProfileProperties::setProfileDefinition(const ::Ifc4x1::IfcProfileDef& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x1::IfcProfileProperties::Class() { return *((ifcopenshell::entity*)IFC4X1_types[737]); } -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; } +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]); } -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; } +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]); } -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; } +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)); } @@ -11602,7 +11602,7 @@ std::optional< std::string > Ifc4x1::IfcProjectedCRS::MapProjection() const { if void Ifc4x1::IfcProjectedCRS::setMapProjection(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } std::optional< std::string > Ifc4x1::IfcProjectedCRS::MapZone() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcProjectedCRS::setMapZone(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x1::IfcNamedUnit Ifc4x1::IfcProjectedCRS::MapUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcNamedUnit{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x1::IfcNamedUnit>(); } +::Ifc4x1::IfcNamedUnit Ifc4x1::IfcProjectedCRS::MapUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcNamedUnit{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x1::IfcNamedUnit>(); } void Ifc4x1::IfcProjectedCRS::setMapUnit(const ::Ifc4x1::IfcNamedUnit& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -11641,13 +11641,13 @@ const ifcopenshell::entity& Ifc4x1::IfcPropertyAbstraction::Class() { return *(( 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>(); } +::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>(); } void Ifc4x1::IfcPropertyBoundedValue::setUpperBoundValue(const ::Ifc4x1::IfcValue& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcValue Ifc4x1::IfcPropertyBoundedValue::LowerBoundValue() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcValue{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcValue>(); } +::Ifc4x1::IfcValue Ifc4x1::IfcPropertyBoundedValue::LowerBoundValue() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcValue{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcValue>(); } void Ifc4x1::IfcPropertyBoundedValue::setLowerBoundValue(const ::Ifc4x1::IfcValue& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x1::IfcUnit Ifc4x1::IfcPropertyBoundedValue::Unit() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x1::IfcUnit{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcUnit>(); } +::Ifc4x1::IfcUnit Ifc4x1::IfcPropertyBoundedValue::Unit() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x1::IfcUnit{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcUnit>(); } void Ifc4x1::IfcPropertyBoundedValue::setUnit(const ::Ifc4x1::IfcUnit& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcValue Ifc4x1::IfcPropertyBoundedValue::SetPointValue() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x1::IfcValue{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcValue>(); } +::Ifc4x1::IfcValue Ifc4x1::IfcPropertyBoundedValue::SetPointValue() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x1::IfcValue{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcValue>(); } void Ifc4x1::IfcPropertyBoundedValue::setSetPointValue(const ::Ifc4x1::IfcValue& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -11663,9 +11663,9 @@ const ifcopenshell::entity& Ifc4x1::IfcPropertyDefinition::Class() { return *((i 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>(); } +::Ifc4x1::IfcProperty Ifc4x1::IfcPropertyDependencyRelationship::DependingProperty() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcProperty>(); } void Ifc4x1::IfcPropertyDependencyRelationship::setDependingProperty(const ::Ifc4x1::IfcProperty& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcProperty Ifc4x1::IfcPropertyDependencyRelationship::DependantProperty() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcProperty>(); } +::Ifc4x1::IfcProperty Ifc4x1::IfcPropertyDependencyRelationship::DependantProperty() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcProperty>(); } void Ifc4x1::IfcPropertyDependencyRelationship::setDependantProperty(const ::Ifc4x1::IfcProperty& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x1::IfcPropertyDependencyRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcPropertyDependencyRelationship::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -11675,41 +11675,41 @@ const ifcopenshell::entity& Ifc4x1::IfcPropertyDependencyRelationship::Class() { 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); } -void Ifc4x1::IfcPropertyEnumeratedValue::setEnumerationValues(const std::optional< std::vector< ::Ifc4x1::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } -::Ifc4x1::IfcPropertyEnumeration Ifc4x1::IfcPropertyEnumeratedValue::EnumerationReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcPropertyEnumeration{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcPropertyEnumeration>(); } +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); } +void Ifc4x1::IfcPropertyEnumeratedValue::setEnumerationValues(const std::optional< std::vector< ::Ifc4x1::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +::Ifc4x1::IfcPropertyEnumeration Ifc4x1::IfcPropertyEnumeratedValue::EnumerationReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcPropertyEnumeration{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcPropertyEnumeration>(); } void Ifc4x1::IfcPropertyEnumeratedValue::setEnumerationReference(const ::Ifc4x1::IfcPropertyEnumeration& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x1::IfcPropertyEnumeratedValue::Class() { return *((ifcopenshell::entity*)IFC4X1_types[752]); } -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; } +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; } void Ifc4x1::IfcPropertyEnumeration::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x1::IfcValue > Ifc4x1::IfcPropertyEnumeration::EnumerationValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcValue>(es); } -void Ifc4x1::IfcPropertyEnumeration::setEnumerationValues(const std::vector< ::Ifc4x1::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcUnit Ifc4x1::IfcPropertyEnumeration::Unit() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x1::IfcUnit{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcUnit>(); } +std::vector< ::Ifc4x1::IfcValue > Ifc4x1::IfcPropertyEnumeration::EnumerationValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcValue>(es); } +void Ifc4x1::IfcPropertyEnumeration::setEnumerationValues(const std::vector< ::Ifc4x1::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +::Ifc4x1::IfcUnit Ifc4x1::IfcPropertyEnumeration::Unit() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x1::IfcUnit{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcUnit>(); } void Ifc4x1::IfcPropertyEnumeration::setUnit(const ::Ifc4x1::IfcUnit& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x1::IfcPropertyEnumeration::Class() { return *((ifcopenshell::entity*)IFC4X1_types[753]); } -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; } +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); } -void Ifc4x1::IfcPropertyListValue::setListValues(const std::optional< std::vector< ::Ifc4x1::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } -::Ifc4x1::IfcUnit Ifc4x1::IfcPropertyListValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcUnit>(); } +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); } +void Ifc4x1::IfcPropertyListValue::setListValues(const std::optional< std::vector< ::Ifc4x1::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +::Ifc4x1::IfcUnit Ifc4x1::IfcPropertyListValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcUnit>(); } void Ifc4x1::IfcPropertyListValue::setUnit(const ::Ifc4x1::IfcUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x1::IfcPropertyListValue::Class() { return *((ifcopenshell::entity*)IFC4X1_types[754]); } -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; } +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; } void Ifc4x1::IfcPropertyReferenceValue::setUsageName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x1::IfcObjectReferenceSelect Ifc4x1::IfcPropertyReferenceValue::PropertyReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcObjectReferenceSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcObjectReferenceSelect>(); } +::Ifc4x1::IfcObjectReferenceSelect Ifc4x1::IfcPropertyReferenceValue::PropertyReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcObjectReferenceSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcObjectReferenceSelect>(); } void Ifc4x1::IfcPropertyReferenceValue::setPropertyReference(const ::Ifc4x1::IfcObjectReferenceSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -11717,12 +11717,12 @@ const ifcopenshell::entity& Ifc4x1::IfcPropertyReferenceValue::Class() { return 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); } -void Ifc4x1::IfcPropertySet::setHasProperties(const std::vector< ::Ifc4x1::IfcProperty >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +std::vector< ::Ifc4x1::IfcProperty > Ifc4x1::IfcPropertySet::HasProperties() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x1::IfcProperty>(es); } +void Ifc4x1::IfcPropertySet::setHasProperties(const std::vector< ::Ifc4x1::IfcProperty >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } const ifcopenshell::entity& Ifc4x1::IfcPropertySet::Class() { return *((ifcopenshell::entity*)IFC4X1_types[756]); } -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; } +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 @@ -11738,18 +11738,18 @@ std::optional< ::Ifc4x1::IfcPropertySetTemplateTypeEnum::Value > Ifc4x1::IfcProp void Ifc4x1::IfcPropertySetTemplate::setTemplateType(const std::optional< ::Ifc4x1::IfcPropertySetTemplateTypeEnum::Value >& v) { if (v) {set_attribute_value(4, enumeration_reference(&::Ifc4x1::IfcPropertySetTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } std::optional< std::string > Ifc4x1::IfcPropertySetTemplate::ApplicableEntity() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcPropertySetTemplate::setApplicableEntity(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector< ::Ifc4x1::IfcPropertyTemplate > Ifc4x1::IfcPropertySetTemplate::HasPropertyTemplates() const { std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x1::IfcPropertyTemplate>(es); } -void Ifc4x1::IfcPropertySetTemplate::setHasPropertyTemplates(const std::vector< ::Ifc4x1::IfcPropertyTemplate >& v) { set_attribute_value(6, cast_vector(v));if constexpr (false)unset_attribute_value(6); } +std::vector< ::Ifc4x1::IfcPropertyTemplate > Ifc4x1::IfcPropertySetTemplate::HasPropertyTemplates() const { std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x1::IfcPropertyTemplate>(es); } +void Ifc4x1::IfcPropertySetTemplate::setHasPropertyTemplates(const std::vector< ::Ifc4x1::IfcPropertyTemplate >& v) { set_attribute_value(6, cast_vector(v));if constexpr (false)unset_attribute_value(6); } 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]); } -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; } +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>(); } +::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>(); } void Ifc4x1::IfcPropertySingleValue::setNominalValue(const ::Ifc4x1::IfcValue& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcUnit Ifc4x1::IfcPropertySingleValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcUnit>(); } +::Ifc4x1::IfcUnit Ifc4x1::IfcPropertySingleValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcUnit>(); } void Ifc4x1::IfcPropertySingleValue::setUnit(const ::Ifc4x1::IfcUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -11757,22 +11757,22 @@ const ifcopenshell::entity& Ifc4x1::IfcPropertySingleValue::Class() { return *(( 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); } -void Ifc4x1::IfcPropertyTableValue::setDefiningValues(const std::optional< std::vector< ::Ifc4x1::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } -std::optional< std::vector< ::Ifc4x1::IfcValue > > Ifc4x1::IfcPropertyTableValue::DefinedValues() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x1::IfcValue>(es); } -void Ifc4x1::IfcPropertyTableValue::setDefinedValues(const std::optional< std::vector< ::Ifc4x1::IfcValue > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } +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); } +void Ifc4x1::IfcPropertyTableValue::setDefiningValues(const std::optional< std::vector< ::Ifc4x1::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4x1::IfcValue > > Ifc4x1::IfcPropertyTableValue::DefinedValues() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x1::IfcValue>(es); } +void Ifc4x1::IfcPropertyTableValue::setDefinedValues(const std::optional< std::vector< ::Ifc4x1::IfcValue > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } std::optional< std::string > Ifc4x1::IfcPropertyTableValue::Expression() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcPropertyTableValue::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x1::IfcUnit Ifc4x1::IfcPropertyTableValue::DefiningUnit() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x1::IfcUnit{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcUnit>(); } +::Ifc4x1::IfcUnit Ifc4x1::IfcPropertyTableValue::DefiningUnit() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x1::IfcUnit{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcUnit>(); } void Ifc4x1::IfcPropertyTableValue::setDefiningUnit(const ::Ifc4x1::IfcUnit& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x1::IfcUnit Ifc4x1::IfcPropertyTableValue::DefinedUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcUnit{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x1::IfcUnit>(); } +::Ifc4x1::IfcUnit Ifc4x1::IfcPropertyTableValue::DefinedUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcUnit{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x1::IfcUnit>(); } void Ifc4x1::IfcPropertyTableValue::setDefinedUnit(const ::Ifc4x1::IfcUnit& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< ::Ifc4x1::IfcCurveInterpolationEnum::Value > Ifc4x1::IfcPropertyTableValue::CurveInterpolation() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcCurveInterpolationEnum::FromString(get_attribute_value(7)); } void Ifc4x1::IfcPropertyTableValue::setCurveInterpolation(const std::optional< ::Ifc4x1::IfcCurveInterpolationEnum::Value >& v) { if (v) {set_attribute_value(7, enumeration_reference(&::Ifc4x1::IfcCurveInterpolationEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const ifcopenshell::entity& Ifc4x1::IfcPropertyTableValue::Class() { return *((ifcopenshell::entity*)IFC4X1_types[763]); } -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; } +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 @@ -11810,7 +11810,7 @@ void Ifc4x1::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(const ::Ifc4 const ifcopenshell::entity& Ifc4x1::IfcProtectiveDeviceTrippingUnitType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[768]); } -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; } +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]); } -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; } +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)); } @@ -11844,7 +11844,7 @@ void Ifc4x1::IfcPumpType::setPredefinedType(const ::Ifc4x1::IfcPumpTypeEnum::Val const ifcopenshell::entity& Ifc4x1::IfcPumpType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[774]); } -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; } +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; } @@ -11926,7 +11926,7 @@ void Ifc4x1::IfcRailingType::setPredefinedType(const ::Ifc4x1::IfcRailingTypeEnu const ifcopenshell::entity& Ifc4x1::IfcRailingType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[785]); } -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; } +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)); } @@ -11950,7 +11950,7 @@ void Ifc4x1::IfcRampFlightType::setPredefinedType(const ::Ifc4x1::IfcRampFlightT const ifcopenshell::entity& Ifc4x1::IfcRampFlightType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[789]); } -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; } +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]); } -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; } +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]); } -Ifc4x1::IfcRationalBSplineCurveWithKnots Ifc4x1::IfcRationalBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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; } +Ifc4x1::IfcRationalBSplineCurveWithKnots Ifc4x1::IfcRationalBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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]); } -Ifc4x1::IfcRationalBSplineSurfaceWithKnots Ifc4x1::IfcRationalBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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; } +Ifc4x1::IfcRationalBSplineSurfaceWithKnots Ifc4x1::IfcRationalBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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; } @@ -12011,7 +12011,7 @@ const ifcopenshell::entity& Ifc4x1::IfcRectangularPyramid::Class() { return *((i 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>(); } +::Ifc4x1::IfcSurface Ifc4x1::IfcRectangularTrimmedSurface::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcSurface>(); } void Ifc4x1::IfcRectangularTrimmedSurface::setBasisSurface(const ::Ifc4x1::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x1::IfcRectangularTrimmedSurface::U1() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcRectangularTrimmedSurface::setU1(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -12045,12 +12045,12 @@ std::optional< int64_t > Ifc4x1::IfcRecurrencePattern::Interval() const { if(get void Ifc4x1::IfcRecurrencePattern::setInterval(const std::optional< int64_t >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< int64_t > Ifc4x1::IfcRecurrencePattern::Occurrences() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(6); return v; } void Ifc4x1::IfcRecurrencePattern::setOccurrences(const std::optional< int64_t >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x1::IfcTimePeriod > > Ifc4x1::IfcRecurrencePattern::TimePeriods() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x1::IfcTimePeriod>(es); } -void Ifc4x1::IfcRecurrencePattern::setTimePeriods(const std::optional< std::vector< ::Ifc4x1::IfcTimePeriod > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x1::IfcTimePeriod > > Ifc4x1::IfcRecurrencePattern::TimePeriods() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x1::IfcTimePeriod>(es); } +void Ifc4x1::IfcRecurrencePattern::setTimePeriods(const std::optional< std::vector< ::Ifc4x1::IfcTimePeriod > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } const ifcopenshell::entity& Ifc4x1::IfcRecurrencePattern::Class() { return *((ifcopenshell::entity*)IFC4X1_types[801]); } -Ifc4x1::IfcRecurrencePattern Ifc4x1::IfcRecurrencePattern::initialize(::Ifc4x1::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int64_t > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v4_MonthComponent, std::optional< int64_t > v5_Position, std::optional< int64_t > v6_Interval, std::optional< int64_t > 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; } +Ifc4x1::IfcRecurrencePattern Ifc4x1::IfcRecurrencePattern::initialize(::Ifc4x1::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int64_t > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v4_MonthComponent, std::optional< int64_t > v5_Position, std::optional< int64_t > v6_Interval, std::optional< int64_t > 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; } @@ -12061,7 +12061,7 @@ std::optional< std::string > Ifc4x1::IfcReference::InstanceName() const { if(get void Ifc4x1::IfcReference::setInstanceName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } std::optional< std::vector< int64_t > /*[1:?]*/ > Ifc4x1::IfcReference::ListPositions() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< int64_t > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x1::IfcReference::setListPositions(const std::optional< std::vector< int64_t > /*[1:?]*/ >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x1::IfcReference Ifc4x1::IfcReference::InnerReference() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x1::IfcReference{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcReference>(); } +::Ifc4x1::IfcReference Ifc4x1::IfcReference::InnerReference() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x1::IfcReference{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcReference>(); } void Ifc4x1::IfcReference::setInnerReference(const ::Ifc4x1::IfcReference& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -12081,12 +12081,12 @@ Ifc4x1::IfcReferent Ifc4x1::IfcReferent::initialize(std::string v1_GlobalId, ::I // Function implementations for IfcRegularTimeSeries double Ifc4x1::IfcRegularTimeSeries::TimeStep() const { double v = get_attribute_value(8); return v; } void Ifc4x1::IfcRegularTimeSeries::setTimeStep(const double& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::vector< ::Ifc4x1::IfcTimeSeriesValue > Ifc4x1::IfcRegularTimeSeries::Values() const { std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x1::IfcTimeSeriesValue>(es); } -void Ifc4x1::IfcRegularTimeSeries::setValues(const std::vector< ::Ifc4x1::IfcTimeSeriesValue >& v) { set_attribute_value(9, cast_vector(v));if constexpr (false)unset_attribute_value(9); } +std::vector< ::Ifc4x1::IfcTimeSeriesValue > Ifc4x1::IfcRegularTimeSeries::Values() const { std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x1::IfcTimeSeriesValue>(es); } +void Ifc4x1::IfcRegularTimeSeries::setValues(const std::vector< ::Ifc4x1::IfcTimeSeriesValue >& v) { set_attribute_value(9, cast_vector(v));if constexpr (false)unset_attribute_value(9); } const ifcopenshell::entity& Ifc4x1::IfcRegularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X1_types[807]); } -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; } +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; } @@ -12109,12 +12109,12 @@ Ifc4x1::IfcReinforcementBarProperties Ifc4x1::IfcReinforcementBarProperties::ini // 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; } void Ifc4x1::IfcReinforcementDefinitionProperties::setDefinitionType(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector< ::Ifc4x1::IfcSectionReinforcementProperties > Ifc4x1::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x1::IfcSectionReinforcementProperties>(es); } -void Ifc4x1::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(const std::vector< ::Ifc4x1::IfcSectionReinforcementProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x1::IfcSectionReinforcementProperties > Ifc4x1::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x1::IfcSectionReinforcementProperties>(es); } +void Ifc4x1::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(const std::vector< ::Ifc4x1::IfcSectionReinforcementProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x1::IfcReinforcementDefinitionProperties::Class() { return *((ifcopenshell::entity*)IFC4X1_types[809]); } -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; } +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; } @@ -12145,12 +12145,12 @@ std::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x1::IfcReinfo void Ifc4x1::IfcReinforcingBarType::setBarSurface(const std::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value >& v) { if (v) {set_attribute_value(13, enumeration_reference(&::Ifc4x1::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } std::optional< std::string > Ifc4x1::IfcReinforcingBarType::BendingShapeCode() const { if(get_attribute_value(14).isNull()) { return std::nullopt; } std::string v = get_attribute_value(14); return v; } void Ifc4x1::IfcReinforcingBarType::setBendingShapeCode(const std::optional< std::string >& v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -std::optional< std::vector< ::Ifc4x1::IfcBendingParameterSelect > > Ifc4x1::IfcReinforcingBarType::BendingParameters() const { if(get_attribute_value(15).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(15); return cast_vector<::Ifc4x1::IfcBendingParameterSelect>(es); } -void Ifc4x1::IfcReinforcingBarType::setBendingParameters(const std::optional< std::vector< ::Ifc4x1::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(15, cast_vector(*v));} else {unset_attribute_value(15);} } +std::optional< std::vector< ::Ifc4x1::IfcBendingParameterSelect > > Ifc4x1::IfcReinforcingBarType::BendingParameters() const { if(get_attribute_value(15).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(15); return cast_vector<::Ifc4x1::IfcBendingParameterSelect>(es); } +void Ifc4x1::IfcReinforcingBarType::setBendingParameters(const std::optional< std::vector< ::Ifc4x1::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(15, cast_vector(*v));} else {unset_attribute_value(15);} } const ifcopenshell::entity& Ifc4x1::IfcReinforcingBarType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[813]); } -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; } +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; } @@ -12164,7 +12164,7 @@ Ifc4x1::IfcReinforcingElement Ifc4x1::IfcReinforcingElement::initialize(std::str const ifcopenshell::entity& Ifc4x1::IfcReinforcingElementType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[816]); } -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; } +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; } @@ -12211,58 +12211,58 @@ std::optional< double > Ifc4x1::IfcReinforcingMeshType::TransverseBarSpacing() c void Ifc4x1::IfcReinforcingMeshType::setTransverseBarSpacing(const std::optional< double >& v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } std::optional< std::string > Ifc4x1::IfcReinforcingMeshType::BendingShapeCode() const { if(get_attribute_value(18).isNull()) { return std::nullopt; } std::string v = get_attribute_value(18); return v; } void Ifc4x1::IfcReinforcingMeshType::setBendingShapeCode(const std::optional< std::string >& v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -std::optional< std::vector< ::Ifc4x1::IfcBendingParameterSelect > > Ifc4x1::IfcReinforcingMeshType::BendingParameters() const { if(get_attribute_value(19).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(19); return cast_vector<::Ifc4x1::IfcBendingParameterSelect>(es); } -void Ifc4x1::IfcReinforcingMeshType::setBendingParameters(const std::optional< std::vector< ::Ifc4x1::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(19, cast_vector(*v));} else {unset_attribute_value(19);} } +std::optional< std::vector< ::Ifc4x1::IfcBendingParameterSelect > > Ifc4x1::IfcReinforcingMeshType::BendingParameters() const { if(get_attribute_value(19).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(19); return cast_vector<::Ifc4x1::IfcBendingParameterSelect>(es); } +void Ifc4x1::IfcReinforcingMeshType::setBendingParameters(const std::optional< std::vector< ::Ifc4x1::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(19, cast_vector(*v));} else {unset_attribute_value(19);} } const ifcopenshell::entity& Ifc4x1::IfcReinforcingMeshType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[818]); } -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; } +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>(); } +::Ifc4x1::IfcObjectDefinition Ifc4x1::IfcRelAggregates::RelatingObject() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcObjectDefinition>(); } void Ifc4x1::IfcRelAggregates::setRelatingObject(const ::Ifc4x1::IfcObjectDefinition& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x1::IfcObjectDefinition > Ifc4x1::IfcRelAggregates::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x1::IfcObjectDefinition>(es); } -void Ifc4x1::IfcRelAggregates::setRelatedObjects(const std::vector< ::Ifc4x1::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x1::IfcObjectDefinition > Ifc4x1::IfcRelAggregates::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x1::IfcObjectDefinition>(es); } +void Ifc4x1::IfcRelAggregates::setRelatedObjects(const std::vector< ::Ifc4x1::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x1::IfcRelAggregates::Class() { return *((ifcopenshell::entity*)IFC4X1_types[820]); } -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; } +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); } -void Ifc4x1::IfcRelAssigns::setRelatedObjects(const std::vector< ::Ifc4x1::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +std::vector< ::Ifc4x1::IfcObjectDefinition > Ifc4x1::IfcRelAssigns::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x1::IfcObjectDefinition>(es); } +void Ifc4x1::IfcRelAssigns::setRelatedObjects(const std::vector< ::Ifc4x1::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > Ifc4x1::IfcRelAssigns::RelatedObjectsType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcObjectTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x1::IfcRelAssigns::setRelatedObjectsType(const std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value >& v) { if (v) {set_attribute_value(5, enumeration_reference(&::Ifc4x1::IfcObjectTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } const ifcopenshell::entity& Ifc4x1::IfcRelAssigns::Class() { return *((ifcopenshell::entity*)IFC4X1_types[821]); } -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; } +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>(); } +::Ifc4x1::IfcActor Ifc4x1::IfcRelAssignsToActor::RelatingActor() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x1::IfcActor>(); } void Ifc4x1::IfcRelAssignsToActor::setRelatingActor(const ::Ifc4x1::IfcActor& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x1::IfcActorRole Ifc4x1::IfcRelAssignsToActor::ActingRole() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x1::IfcActorRole{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x1::IfcActorRole>(); } +::Ifc4x1::IfcActorRole Ifc4x1::IfcRelAssignsToActor::ActingRole() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x1::IfcActorRole{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x1::IfcActorRole>(); } void Ifc4x1::IfcRelAssignsToActor::setActingRole(const ::Ifc4x1::IfcActorRole& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const ifcopenshell::entity& Ifc4x1::IfcRelAssignsToActor::Class() { return *((ifcopenshell::entity*)IFC4X1_types[822]); } -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; } +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>(); } +::Ifc4x1::IfcControl Ifc4x1::IfcRelAssignsToControl::RelatingControl() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x1::IfcControl>(); } void Ifc4x1::IfcRelAssignsToControl::setRelatingControl(const ::Ifc4x1::IfcControl& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4x1::IfcRelAssignsToControl::Class() { return *((ifcopenshell::entity*)IFC4X1_types[823]); } -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; } +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>(); } +::Ifc4x1::IfcGroup Ifc4x1::IfcRelAssignsToGroup::RelatingGroup() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x1::IfcGroup>(); } void Ifc4x1::IfcRelAssignsToGroup::setRelatingGroup(const ::Ifc4x1::IfcGroup& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4x1::IfcRelAssignsToGroup::Class() { return *((ifcopenshell::entity*)IFC4X1_types[824]); } -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; } +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,91 +12270,91 @@ void Ifc4x1::IfcRelAssignsToGroupByFactor::setFactor(const double& v) { set_attr const ifcopenshell::entity& Ifc4x1::IfcRelAssignsToGroupByFactor::Class() { return *((ifcopenshell::entity*)IFC4X1_types[825]); } -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; } +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>(); } +::Ifc4x1::IfcProcessSelect Ifc4x1::IfcRelAssignsToProcess::RelatingProcess() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x1::IfcProcessSelect>(); } void Ifc4x1::IfcRelAssignsToProcess::setRelatingProcess(const ::Ifc4x1::IfcProcessSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x1::IfcMeasureWithUnit Ifc4x1::IfcRelAssignsToProcess::QuantityInProcess() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x1::IfcMeasureWithUnit{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x1::IfcMeasureWithUnit>(); } +::Ifc4x1::IfcMeasureWithUnit Ifc4x1::IfcRelAssignsToProcess::QuantityInProcess() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x1::IfcMeasureWithUnit{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x1::IfcMeasureWithUnit>(); } void Ifc4x1::IfcRelAssignsToProcess::setQuantityInProcess(const ::Ifc4x1::IfcMeasureWithUnit& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const ifcopenshell::entity& Ifc4x1::IfcRelAssignsToProcess::Class() { return *((ifcopenshell::entity*)IFC4X1_types[826]); } -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; } +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>(); } +::Ifc4x1::IfcProductSelect Ifc4x1::IfcRelAssignsToProduct::RelatingProduct() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x1::IfcProductSelect>(); } void Ifc4x1::IfcRelAssignsToProduct::setRelatingProduct(const ::Ifc4x1::IfcProductSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4x1::IfcRelAssignsToProduct::Class() { return *((ifcopenshell::entity*)IFC4X1_types[827]); } -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; } +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>(); } +::Ifc4x1::IfcResourceSelect Ifc4x1::IfcRelAssignsToResource::RelatingResource() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x1::IfcResourceSelect>(); } void Ifc4x1::IfcRelAssignsToResource::setRelatingResource(const ::Ifc4x1::IfcResourceSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4x1::IfcRelAssignsToResource::Class() { return *((ifcopenshell::entity*)IFC4X1_types[828]); } -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; } +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); } -void Ifc4x1::IfcRelAssociates::setRelatedObjects(const std::vector< ::Ifc4x1::IfcDefinitionSelect >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +std::vector< ::Ifc4x1::IfcDefinitionSelect > Ifc4x1::IfcRelAssociates::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x1::IfcDefinitionSelect>(es); } +void Ifc4x1::IfcRelAssociates::setRelatedObjects(const std::vector< ::Ifc4x1::IfcDefinitionSelect >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } const ifcopenshell::entity& Ifc4x1::IfcRelAssociates::Class() { return *((ifcopenshell::entity*)IFC4X1_types[829]); } -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; } +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>(); } +::Ifc4x1::IfcApproval Ifc4x1::IfcRelAssociatesApproval::RelatingApproval() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcApproval>(); } void Ifc4x1::IfcRelAssociatesApproval::setRelatingApproval(const ::Ifc4x1::IfcApproval& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x1::IfcRelAssociatesApproval::Class() { return *((ifcopenshell::entity*)IFC4X1_types[830]); } -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; } +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>(); } +::Ifc4x1::IfcClassificationSelect Ifc4x1::IfcRelAssociatesClassification::RelatingClassification() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcClassificationSelect>(); } void Ifc4x1::IfcRelAssociatesClassification::setRelatingClassification(const ::Ifc4x1::IfcClassificationSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x1::IfcRelAssociatesClassification::Class() { return *((ifcopenshell::entity*)IFC4X1_types[831]); } -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; } +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; } void Ifc4x1::IfcRelAssociatesConstraint::setIntent(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x1::IfcConstraint Ifc4x1::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x1::IfcConstraint>(); } +::Ifc4x1::IfcConstraint Ifc4x1::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x1::IfcConstraint>(); } void Ifc4x1::IfcRelAssociatesConstraint::setRelatingConstraint(const ::Ifc4x1::IfcConstraint& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4x1::IfcRelAssociatesConstraint::Class() { return *((ifcopenshell::entity*)IFC4X1_types[832]); } -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; } +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>(); } +::Ifc4x1::IfcDocumentSelect Ifc4x1::IfcRelAssociatesDocument::RelatingDocument() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcDocumentSelect>(); } void Ifc4x1::IfcRelAssociatesDocument::setRelatingDocument(const ::Ifc4x1::IfcDocumentSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x1::IfcRelAssociatesDocument::Class() { return *((ifcopenshell::entity*)IFC4X1_types[833]); } -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; } +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>(); } +::Ifc4x1::IfcLibrarySelect Ifc4x1::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcLibrarySelect>(); } void Ifc4x1::IfcRelAssociatesLibrary::setRelatingLibrary(const ::Ifc4x1::IfcLibrarySelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x1::IfcRelAssociatesLibrary::Class() { return *((ifcopenshell::entity*)IFC4X1_types[834]); } -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; } +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>(); } +::Ifc4x1::IfcMaterialSelect Ifc4x1::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcMaterialSelect>(); } void Ifc4x1::IfcRelAssociatesMaterial::setRelatingMaterial(const ::Ifc4x1::IfcMaterialSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x1::IfcRelAssociatesMaterial::Class() { return *((ifcopenshell::entity*)IFC4X1_types[835]); } -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; } +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 @@ -12363,11 +12363,11 @@ const ifcopenshell::entity& Ifc4x1::IfcRelConnects::Class() { return *((ifcopens 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>(); } +::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>(); } void Ifc4x1::IfcRelConnectsElements::setConnectionGeometry(const ::Ifc4x1::IfcConnectionGeometry& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcElement Ifc4x1::IfcRelConnectsElements::RelatingElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcElement>(); } +::Ifc4x1::IfcElement Ifc4x1::IfcRelConnectsElements::RelatingElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcElement>(); } void Ifc4x1::IfcRelConnectsElements::setRelatingElement(const ::Ifc4x1::IfcElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x1::IfcElement Ifc4x1::IfcRelConnectsElements::RelatedElement() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x1::IfcElement>(); } +::Ifc4x1::IfcElement Ifc4x1::IfcRelConnectsElements::RelatedElement() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x1::IfcElement>(); } void Ifc4x1::IfcRelConnectsElements::setRelatedElement(const ::Ifc4x1::IfcElement& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -12389,9 +12389,9 @@ const ifcopenshell::entity& Ifc4x1::IfcRelConnectsPathElements::Class() { return 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< int64_t > /*[0:?]*/ v8_RelatingPriorities, std::vector< int64_t > /*[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>(); } +::Ifc4x1::IfcPort Ifc4x1::IfcRelConnectsPortToElement::RelatingPort() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcPort>(); } void Ifc4x1::IfcRelConnectsPortToElement::setRelatingPort(const ::Ifc4x1::IfcPort& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcDistributionElement Ifc4x1::IfcRelConnectsPortToElement::RelatedElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcDistributionElement>(); } +::Ifc4x1::IfcDistributionElement Ifc4x1::IfcRelConnectsPortToElement::RelatedElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcDistributionElement>(); } void Ifc4x1::IfcRelConnectsPortToElement::setRelatedElement(const ::Ifc4x1::IfcDistributionElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -12399,11 +12399,11 @@ const ifcopenshell::entity& Ifc4x1::IfcRelConnectsPortToElement::Class() { retur 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>(); } +::Ifc4x1::IfcPort Ifc4x1::IfcRelConnectsPorts::RelatingPort() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcPort>(); } void Ifc4x1::IfcRelConnectsPorts::setRelatingPort(const ::Ifc4x1::IfcPort& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcPort Ifc4x1::IfcRelConnectsPorts::RelatedPort() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcPort>(); } +::Ifc4x1::IfcPort Ifc4x1::IfcRelConnectsPorts::RelatedPort() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcPort>(); } void Ifc4x1::IfcRelConnectsPorts::setRelatedPort(const ::Ifc4x1::IfcPort& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x1::IfcElement Ifc4x1::IfcRelConnectsPorts::RealizingElement() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcElement{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x1::IfcElement>(); } +::Ifc4x1::IfcElement Ifc4x1::IfcRelConnectsPorts::RealizingElement() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcElement{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x1::IfcElement>(); } void Ifc4x1::IfcRelConnectsPorts::setRealizingElement(const ::Ifc4x1::IfcElement& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -12411,9 +12411,9 @@ const ifcopenshell::entity& Ifc4x1::IfcRelConnectsPorts::Class() { return *((ifc 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>(); } +::Ifc4x1::IfcStructuralActivityAssignmentSelect Ifc4x1::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcStructuralActivityAssignmentSelect>(); } void Ifc4x1::IfcRelConnectsStructuralActivity::setRelatingElement(const ::Ifc4x1::IfcStructuralActivityAssignmentSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcStructuralActivity Ifc4x1::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcStructuralActivity>(); } +::Ifc4x1::IfcStructuralActivity Ifc4x1::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcStructuralActivity>(); } void Ifc4x1::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(const ::Ifc4x1::IfcStructuralActivity& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -12421,17 +12421,17 @@ const ifcopenshell::entity& Ifc4x1::IfcRelConnectsStructuralActivity::Class() { 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>(); } +::Ifc4x1::IfcStructuralMember Ifc4x1::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcStructuralMember>(); } void Ifc4x1::IfcRelConnectsStructuralMember::setRelatingStructuralMember(const ::Ifc4x1::IfcStructuralMember& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcStructuralConnection Ifc4x1::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcStructuralConnection>(); } +::Ifc4x1::IfcStructuralConnection Ifc4x1::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcStructuralConnection>(); } void Ifc4x1::IfcRelConnectsStructuralMember::setRelatedStructuralConnection(const ::Ifc4x1::IfcStructuralConnection& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x1::IfcBoundaryCondition Ifc4x1::IfcRelConnectsStructuralMember::AppliedCondition() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcBoundaryCondition{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x1::IfcBoundaryCondition>(); } +::Ifc4x1::IfcBoundaryCondition Ifc4x1::IfcRelConnectsStructuralMember::AppliedCondition() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcBoundaryCondition{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x1::IfcBoundaryCondition>(); } void Ifc4x1::IfcRelConnectsStructuralMember::setAppliedCondition(const ::Ifc4x1::IfcBoundaryCondition& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x1::IfcStructuralConnectionCondition Ifc4x1::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x1::IfcStructuralConnectionCondition{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x1::IfcStructuralConnectionCondition>(); } +::Ifc4x1::IfcStructuralConnectionCondition Ifc4x1::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x1::IfcStructuralConnectionCondition{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x1::IfcStructuralConnectionCondition>(); } void Ifc4x1::IfcRelConnectsStructuralMember::setAdditionalConditions(const ::Ifc4x1::IfcStructuralConnectionCondition& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } std::optional< double > Ifc4x1::IfcRelConnectsStructuralMember::SupportedLength() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } void Ifc4x1::IfcRelConnectsStructuralMember::setSupportedLength(const std::optional< double >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x1::IfcAxis2Placement3D Ifc4x1::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x1::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x1::IfcAxis2Placement3D>(); } +::Ifc4x1::IfcAxis2Placement3D Ifc4x1::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x1::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x1::IfcAxis2Placement3D>(); } void Ifc4x1::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(const ::Ifc4x1::IfcAxis2Placement3D& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } @@ -12439,7 +12439,7 @@ const ifcopenshell::entity& Ifc4x1::IfcRelConnectsStructuralMember::Class() { re 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>(); } +::Ifc4x1::IfcConnectionGeometry Ifc4x1::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((express::base)(get_attribute_value(10))).as<::Ifc4x1::IfcConnectionGeometry>(); } void Ifc4x1::IfcRelConnectsWithEccentricity::setConnectionConstraint(const ::Ifc4x1::IfcConnectionGeometry& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } @@ -12447,54 +12447,54 @@ const ifcopenshell::entity& Ifc4x1::IfcRelConnectsWithEccentricity::Class() { re 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); } -void Ifc4x1::IfcRelConnectsWithRealizingElements::setRealizingElements(const std::vector< ::Ifc4x1::IfcElement >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } +std::vector< ::Ifc4x1::IfcElement > Ifc4x1::IfcRelConnectsWithRealizingElements::RealizingElements() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x1::IfcElement>(es); } +void Ifc4x1::IfcRelConnectsWithRealizingElements::setRealizingElements(const std::vector< ::Ifc4x1::IfcElement >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } std::optional< std::string > Ifc4x1::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x1::IfcRelConnectsWithRealizingElements::setConnectionType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const ifcopenshell::entity& Ifc4x1::IfcRelConnectsWithRealizingElements::Class() { return *((ifcopenshell::entity*)IFC4X1_types[845]); } -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; } +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); } -void Ifc4x1::IfcRelContainedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4x1::IfcProduct >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcSpatialElement Ifc4x1::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcSpatialElement>(); } +std::vector< ::Ifc4x1::IfcProduct > Ifc4x1::IfcRelContainedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x1::IfcProduct>(es); } +void Ifc4x1::IfcRelContainedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4x1::IfcProduct >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x1::IfcSpatialElement Ifc4x1::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcSpatialElement>(); } void Ifc4x1::IfcRelContainedInSpatialStructure::setRelatingStructure(const ::Ifc4x1::IfcSpatialElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x1::IfcRelContainedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X1_types[846]); } -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; } +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>(); } +::Ifc4x1::IfcElement Ifc4x1::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcElement>(); } void Ifc4x1::IfcRelCoversBldgElements::setRelatingBuildingElement(const ::Ifc4x1::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x1::IfcCovering > Ifc4x1::IfcRelCoversBldgElements::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x1::IfcCovering>(es); } -void Ifc4x1::IfcRelCoversBldgElements::setRelatedCoverings(const std::vector< ::Ifc4x1::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x1::IfcCovering > Ifc4x1::IfcRelCoversBldgElements::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x1::IfcCovering>(es); } +void Ifc4x1::IfcRelCoversBldgElements::setRelatedCoverings(const std::vector< ::Ifc4x1::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x1::IfcRelCoversBldgElements::Class() { return *((ifcopenshell::entity*)IFC4X1_types[847]); } -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; } +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>(); } +::Ifc4x1::IfcSpace Ifc4x1::IfcRelCoversSpaces::RelatingSpace() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcSpace>(); } void Ifc4x1::IfcRelCoversSpaces::setRelatingSpace(const ::Ifc4x1::IfcSpace& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x1::IfcCovering > Ifc4x1::IfcRelCoversSpaces::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x1::IfcCovering>(es); } -void Ifc4x1::IfcRelCoversSpaces::setRelatedCoverings(const std::vector< ::Ifc4x1::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x1::IfcCovering > Ifc4x1::IfcRelCoversSpaces::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x1::IfcCovering>(es); } +void Ifc4x1::IfcRelCoversSpaces::setRelatedCoverings(const std::vector< ::Ifc4x1::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x1::IfcRelCoversSpaces::Class() { return *((ifcopenshell::entity*)IFC4X1_types[848]); } -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; } +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>(); } +::Ifc4x1::IfcContext Ifc4x1::IfcRelDeclares::RelatingContext() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcContext>(); } void Ifc4x1::IfcRelDeclares::setRelatingContext(const ::Ifc4x1::IfcContext& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x1::IfcDefinitionSelect > Ifc4x1::IfcRelDeclares::RelatedDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x1::IfcDefinitionSelect>(es); } -void Ifc4x1::IfcRelDeclares::setRelatedDefinitions(const std::vector< ::Ifc4x1::IfcDefinitionSelect >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x1::IfcDefinitionSelect > Ifc4x1::IfcRelDeclares::RelatedDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x1::IfcDefinitionSelect>(es); } +void Ifc4x1::IfcRelDeclares::setRelatedDefinitions(const std::vector< ::Ifc4x1::IfcDefinitionSelect >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x1::IfcRelDeclares::Class() { return *((ifcopenshell::entity*)IFC4X1_types[849]); } -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; } +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 @@ -12509,49 +12509,49 @@ const ifcopenshell::entity& Ifc4x1::IfcRelDefines::Class() { return *((ifcopensh 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); } -void Ifc4x1::IfcRelDefinesByObject::setRelatedObjects(const std::vector< ::Ifc4x1::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcObject Ifc4x1::IfcRelDefinesByObject::RelatingObject() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcObject>(); } +std::vector< ::Ifc4x1::IfcObject > Ifc4x1::IfcRelDefinesByObject::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x1::IfcObject>(es); } +void Ifc4x1::IfcRelDefinesByObject::setRelatedObjects(const std::vector< ::Ifc4x1::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x1::IfcObject Ifc4x1::IfcRelDefinesByObject::RelatingObject() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcObject>(); } void Ifc4x1::IfcRelDefinesByObject::setRelatingObject(const ::Ifc4x1::IfcObject& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x1::IfcRelDefinesByObject::Class() { return *((ifcopenshell::entity*)IFC4X1_types[852]); } -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; } +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); } -void Ifc4x1::IfcRelDefinesByProperties::setRelatedObjects(const std::vector< ::Ifc4x1::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcPropertySetDefinitionSelect Ifc4x1::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcPropertySetDefinitionSelect>(); } +std::vector< ::Ifc4x1::IfcObjectDefinition > Ifc4x1::IfcRelDefinesByProperties::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x1::IfcObjectDefinition>(es); } +void Ifc4x1::IfcRelDefinesByProperties::setRelatedObjects(const std::vector< ::Ifc4x1::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x1::IfcPropertySetDefinitionSelect Ifc4x1::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcPropertySetDefinitionSelect>(); } void Ifc4x1::IfcRelDefinesByProperties::setRelatingPropertyDefinition(const ::Ifc4x1::IfcPropertySetDefinitionSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x1::IfcRelDefinesByProperties::Class() { return *((ifcopenshell::entity*)IFC4X1_types[853]); } -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; } +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); } -void Ifc4x1::IfcRelDefinesByTemplate::setRelatedPropertySets(const std::vector< ::Ifc4x1::IfcPropertySetDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcPropertySetTemplate Ifc4x1::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcPropertySetTemplate>(); } +std::vector< ::Ifc4x1::IfcPropertySetDefinition > Ifc4x1::IfcRelDefinesByTemplate::RelatedPropertySets() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x1::IfcPropertySetDefinition>(es); } +void Ifc4x1::IfcRelDefinesByTemplate::setRelatedPropertySets(const std::vector< ::Ifc4x1::IfcPropertySetDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x1::IfcPropertySetTemplate Ifc4x1::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcPropertySetTemplate>(); } void Ifc4x1::IfcRelDefinesByTemplate::setRelatingTemplate(const ::Ifc4x1::IfcPropertySetTemplate& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x1::IfcRelDefinesByTemplate::Class() { return *((ifcopenshell::entity*)IFC4X1_types[854]); } -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; } +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); } -void Ifc4x1::IfcRelDefinesByType::setRelatedObjects(const std::vector< ::Ifc4x1::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcTypeObject Ifc4x1::IfcRelDefinesByType::RelatingType() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcTypeObject>(); } +std::vector< ::Ifc4x1::IfcObject > Ifc4x1::IfcRelDefinesByType::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x1::IfcObject>(es); } +void Ifc4x1::IfcRelDefinesByType::setRelatedObjects(const std::vector< ::Ifc4x1::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x1::IfcTypeObject Ifc4x1::IfcRelDefinesByType::RelatingType() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcTypeObject>(); } void Ifc4x1::IfcRelDefinesByType::setRelatingType(const ::Ifc4x1::IfcTypeObject& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x1::IfcRelDefinesByType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[855]); } -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; } +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>(); } +::Ifc4x1::IfcOpeningElement Ifc4x1::IfcRelFillsElement::RelatingOpeningElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcOpeningElement>(); } void Ifc4x1::IfcRelFillsElement::setRelatingOpeningElement(const ::Ifc4x1::IfcOpeningElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcElement Ifc4x1::IfcRelFillsElement::RelatedBuildingElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcElement>(); } +::Ifc4x1::IfcElement Ifc4x1::IfcRelFillsElement::RelatedBuildingElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcElement>(); } void Ifc4x1::IfcRelFillsElement::setRelatedBuildingElement(const ::Ifc4x1::IfcElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -12559,21 +12559,21 @@ const ifcopenshell::entity& Ifc4x1::IfcRelFillsElement::Class() { return *((ifco 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); } -void Ifc4x1::IfcRelFlowControlElements::setRelatedControlElements(const std::vector< ::Ifc4x1::IfcDistributionControlElement >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcDistributionFlowElement Ifc4x1::IfcRelFlowControlElements::RelatingFlowElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcDistributionFlowElement>(); } +std::vector< ::Ifc4x1::IfcDistributionControlElement > Ifc4x1::IfcRelFlowControlElements::RelatedControlElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x1::IfcDistributionControlElement>(es); } +void Ifc4x1::IfcRelFlowControlElements::setRelatedControlElements(const std::vector< ::Ifc4x1::IfcDistributionControlElement >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x1::IfcDistributionFlowElement Ifc4x1::IfcRelFlowControlElements::RelatingFlowElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcDistributionFlowElement>(); } void Ifc4x1::IfcRelFlowControlElements::setRelatingFlowElement(const ::Ifc4x1::IfcDistributionFlowElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x1::IfcRelFlowControlElements::Class() { return *((ifcopenshell::entity*)IFC4X1_types[857]); } -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; } +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>(); } +::Ifc4x1::IfcElement Ifc4x1::IfcRelInterferesElements::RelatingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcElement>(); } void Ifc4x1::IfcRelInterferesElements::setRelatingElement(const ::Ifc4x1::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcElement Ifc4x1::IfcRelInterferesElements::RelatedElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcElement>(); } +::Ifc4x1::IfcElement Ifc4x1::IfcRelInterferesElements::RelatedElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcElement>(); } void Ifc4x1::IfcRelInterferesElements::setRelatedElement(const ::Ifc4x1::IfcElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x1::IfcConnectionGeometry Ifc4x1::IfcRelInterferesElements::InterferenceGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcConnectionGeometry{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x1::IfcConnectionGeometry>(); } +::Ifc4x1::IfcConnectionGeometry Ifc4x1::IfcRelInterferesElements::InterferenceGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcConnectionGeometry{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x1::IfcConnectionGeometry>(); } void Ifc4x1::IfcRelInterferesElements::setInterferenceGeometry(const ::Ifc4x1::IfcConnectionGeometry& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< std::string > Ifc4x1::IfcRelInterferesElements::InterferenceType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4x1::IfcRelInterferesElements::setInterferenceType(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } @@ -12585,19 +12585,19 @@ const ifcopenshell::entity& Ifc4x1::IfcRelInterferesElements::Class() { return * 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>(); } +::Ifc4x1::IfcObjectDefinition Ifc4x1::IfcRelNests::RelatingObject() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcObjectDefinition>(); } void Ifc4x1::IfcRelNests::setRelatingObject(const ::Ifc4x1::IfcObjectDefinition& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x1::IfcObjectDefinition > Ifc4x1::IfcRelNests::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x1::IfcObjectDefinition>(es); } -void Ifc4x1::IfcRelNests::setRelatedObjects(const std::vector< ::Ifc4x1::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x1::IfcObjectDefinition > Ifc4x1::IfcRelNests::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x1::IfcObjectDefinition>(es); } +void Ifc4x1::IfcRelNests::setRelatedObjects(const std::vector< ::Ifc4x1::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x1::IfcRelNests::Class() { return *((ifcopenshell::entity*)IFC4X1_types[859]); } -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; } +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>(); } +::Ifc4x1::IfcElement Ifc4x1::IfcRelProjectsElement::RelatingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcElement>(); } void Ifc4x1::IfcRelProjectsElement::setRelatingElement(const ::Ifc4x1::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcFeatureElementAddition Ifc4x1::IfcRelProjectsElement::RelatedFeatureElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcFeatureElementAddition>(); } +::Ifc4x1::IfcFeatureElementAddition Ifc4x1::IfcRelProjectsElement::RelatedFeatureElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcFeatureElementAddition>(); } void Ifc4x1::IfcRelProjectsElement::setRelatedFeatureElement(const ::Ifc4x1::IfcFeatureElementAddition& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -12605,21 +12605,21 @@ const ifcopenshell::entity& Ifc4x1::IfcRelProjectsElement::Class() { return *((i 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); } -void Ifc4x1::IfcRelReferencedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4x1::IfcProduct >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcSpatialElement Ifc4x1::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcSpatialElement>(); } +std::vector< ::Ifc4x1::IfcProduct > Ifc4x1::IfcRelReferencedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x1::IfcProduct>(es); } +void Ifc4x1::IfcRelReferencedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4x1::IfcProduct >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x1::IfcSpatialElement Ifc4x1::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcSpatialElement>(); } void Ifc4x1::IfcRelReferencedInSpatialStructure::setRelatingStructure(const ::Ifc4x1::IfcSpatialElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x1::IfcRelReferencedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X1_types[861]); } -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; } +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>(); } +::Ifc4x1::IfcProcess Ifc4x1::IfcRelSequence::RelatingProcess() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcProcess>(); } void Ifc4x1::IfcRelSequence::setRelatingProcess(const ::Ifc4x1::IfcProcess& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcProcess Ifc4x1::IfcRelSequence::RelatedProcess() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcProcess>(); } +::Ifc4x1::IfcProcess Ifc4x1::IfcRelSequence::RelatedProcess() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcProcess>(); } void Ifc4x1::IfcRelSequence::setRelatedProcess(const ::Ifc4x1::IfcProcess& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x1::IfcLagTime Ifc4x1::IfcRelSequence::TimeLag() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcLagTime{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x1::IfcLagTime>(); } +::Ifc4x1::IfcLagTime Ifc4x1::IfcRelSequence::TimeLag() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcLagTime{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x1::IfcLagTime>(); } void Ifc4x1::IfcRelSequence::setTimeLag(const ::Ifc4x1::IfcLagTime& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< ::Ifc4x1::IfcSequenceEnum::Value > Ifc4x1::IfcRelSequence::SequenceType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcSequenceEnum::FromString(get_attribute_value(7)); } void Ifc4x1::IfcRelSequence::setSequenceType(const std::optional< ::Ifc4x1::IfcSequenceEnum::Value >& v) { if (v) {set_attribute_value(7, enumeration_reference(&::Ifc4x1::IfcSequenceEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } @@ -12631,21 +12631,21 @@ const ifcopenshell::entity& Ifc4x1::IfcRelSequence::Class() { return *((ifcopens 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>(); } +::Ifc4x1::IfcSystem Ifc4x1::IfcRelServicesBuildings::RelatingSystem() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcSystem>(); } void Ifc4x1::IfcRelServicesBuildings::setRelatingSystem(const ::Ifc4x1::IfcSystem& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x1::IfcSpatialElement > Ifc4x1::IfcRelServicesBuildings::RelatedBuildings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x1::IfcSpatialElement>(es); } -void Ifc4x1::IfcRelServicesBuildings::setRelatedBuildings(const std::vector< ::Ifc4x1::IfcSpatialElement >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x1::IfcSpatialElement > Ifc4x1::IfcRelServicesBuildings::RelatedBuildings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x1::IfcSpatialElement>(es); } +void Ifc4x1::IfcRelServicesBuildings::setRelatedBuildings(const std::vector< ::Ifc4x1::IfcSpatialElement >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x1::IfcRelServicesBuildings::Class() { return *((ifcopenshell::entity*)IFC4X1_types[863]); } -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; } +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>(); } +::Ifc4x1::IfcSpaceBoundarySelect Ifc4x1::IfcRelSpaceBoundary::RelatingSpace() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcSpaceBoundarySelect>(); } void Ifc4x1::IfcRelSpaceBoundary::setRelatingSpace(const ::Ifc4x1::IfcSpaceBoundarySelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcElement Ifc4x1::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcElement>(); } +::Ifc4x1::IfcElement Ifc4x1::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcElement>(); } void Ifc4x1::IfcRelSpaceBoundary::setRelatedBuildingElement(const ::Ifc4x1::IfcElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x1::IfcConnectionGeometry Ifc4x1::IfcRelSpaceBoundary::ConnectionGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcConnectionGeometry{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x1::IfcConnectionGeometry>(); } +::Ifc4x1::IfcConnectionGeometry Ifc4x1::IfcRelSpaceBoundary::ConnectionGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcConnectionGeometry{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x1::IfcConnectionGeometry>(); } void Ifc4x1::IfcRelSpaceBoundary::setConnectionGeometry(const ::Ifc4x1::IfcConnectionGeometry& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } ::Ifc4x1::IfcPhysicalOrVirtualEnum::Value Ifc4x1::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x1::IfcPhysicalOrVirtualEnum::FromString(get_attribute_value(7)); } void Ifc4x1::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(const ::Ifc4x1::IfcPhysicalOrVirtualEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4x1::IfcPhysicalOrVirtualEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } @@ -12657,7 +12657,7 @@ const ifcopenshell::entity& Ifc4x1::IfcRelSpaceBoundary::Class() { return *((ifc 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>(); } +::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>(); } void Ifc4x1::IfcRelSpaceBoundary1stLevel::setParentBoundary(const ::Ifc4x1::IfcRelSpaceBoundary1stLevel& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::vector<::Ifc4x1::IfcRelSpaceBoundary1stLevel> Ifc4x1::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[865], 9)); } @@ -12666,7 +12666,7 @@ const ifcopenshell::entity& Ifc4x1::IfcRelSpaceBoundary1stLevel::Class() { retur 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>(); } +::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>(); } void Ifc4x1::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(const ::Ifc4x1::IfcRelSpaceBoundary2ndLevel& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } std::vector<::Ifc4x1::IfcRelSpaceBoundary2ndLevel> Ifc4x1::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[866], 10)); } @@ -12675,9 +12675,9 @@ const ifcopenshell::entity& Ifc4x1::IfcRelSpaceBoundary2ndLevel::Class() { retur 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>(); } +::Ifc4x1::IfcElement Ifc4x1::IfcRelVoidsElement::RelatingBuildingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcElement>(); } void Ifc4x1::IfcRelVoidsElement::setRelatingBuildingElement(const ::Ifc4x1::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcFeatureElementSubtraction Ifc4x1::IfcRelVoidsElement::RelatedOpeningElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcFeatureElementSubtraction>(); } +::Ifc4x1::IfcFeatureElementSubtraction Ifc4x1::IfcRelVoidsElement::RelatedOpeningElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcFeatureElementSubtraction>(); } void Ifc4x1::IfcRelVoidsElement::setRelatedOpeningElement(const ::Ifc4x1::IfcFeatureElementSubtraction& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -12699,21 +12699,21 @@ const ifcopenshell::entity& Ifc4x1::IfcReparametrisedCompositeCurveSegment::Clas 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>(); } +::Ifc4x1::IfcRepresentationContext Ifc4x1::IfcRepresentation::ContextOfItems() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcRepresentationContext>(); } void Ifc4x1::IfcRepresentation::setContextOfItems(const ::Ifc4x1::IfcRepresentationContext& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x1::IfcRepresentation::RepresentationIdentifier() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcRepresentation::setRepresentationIdentifier(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x1::IfcRepresentation::RepresentationType() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcRepresentation::setRepresentationType(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector< ::Ifc4x1::IfcRepresentationItem > Ifc4x1::IfcRepresentation::Items() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x1::IfcRepresentationItem>(es); } -void Ifc4x1::IfcRepresentation::setItems(const std::vector< ::Ifc4x1::IfcRepresentationItem >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x1::IfcRepresentationItem > Ifc4x1::IfcRepresentation::Items() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x1::IfcRepresentationItem>(es); } +void Ifc4x1::IfcRepresentation::setItems(const std::vector< ::Ifc4x1::IfcRepresentationItem >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } std::vector<::Ifc4x1::IfcRepresentationMap> Ifc4x1::IfcRepresentation::RepresentationMap() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[872], 1)); } std::vector<::Ifc4x1::IfcPresentationLayerAssignment> Ifc4x1::IfcRepresentation::LayerAssignments() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[720], 2)); } 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]); } -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; } +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; } @@ -12735,9 +12735,9 @@ const ifcopenshell::entity& Ifc4x1::IfcRepresentationItem::Class() { return *((i 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>(); } +::Ifc4x1::IfcAxis2Placement Ifc4x1::IfcRepresentationMap::MappingOrigin() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcAxis2Placement>(); } void Ifc4x1::IfcRepresentationMap::setMappingOrigin(const ::Ifc4x1::IfcAxis2Placement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcRepresentation Ifc4x1::IfcRepresentationMap::MappedRepresentation() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcRepresentation>(); } +::Ifc4x1::IfcRepresentation Ifc4x1::IfcRepresentationMap::MappedRepresentation() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcRepresentation>(); } void Ifc4x1::IfcRepresentationMap::setMappedRepresentation(const ::Ifc4x1::IfcRepresentation& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::vector<::Ifc4x1::IfcShapeAspect> Ifc4x1::IfcRepresentationMap::HasShapeAspects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[915], 4)); } @@ -12758,24 +12758,24 @@ const ifcopenshell::entity& Ifc4x1::IfcResource::Class() { return *((ifcopenshel 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); } -void Ifc4x1::IfcResourceApprovalRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x1::IfcResourceObjectSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcApproval Ifc4x1::IfcResourceApprovalRelationship::RelatingApproval() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcApproval>(); } +std::vector< ::Ifc4x1::IfcResourceObjectSelect > Ifc4x1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcResourceObjectSelect>(es); } +void Ifc4x1::IfcResourceApprovalRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x1::IfcResourceObjectSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +::Ifc4x1::IfcApproval Ifc4x1::IfcResourceApprovalRelationship::RelatingApproval() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcApproval>(); } void Ifc4x1::IfcResourceApprovalRelationship::setRelatingApproval(const ::Ifc4x1::IfcApproval& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x1::IfcResourceApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X1_types[874]); } -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; } +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>(); } +::Ifc4x1::IfcConstraint Ifc4x1::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcConstraint>(); } void Ifc4x1::IfcResourceConstraintRelationship::setRelatingConstraint(const ::Ifc4x1::IfcConstraint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x1::IfcResourceObjectSelect > Ifc4x1::IfcResourceConstraintRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x1::IfcResourceObjectSelect>(es); } -void Ifc4x1::IfcResourceConstraintRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x1::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x1::IfcResourceObjectSelect > Ifc4x1::IfcResourceConstraintRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x1::IfcResourceObjectSelect>(es); } +void Ifc4x1::IfcResourceConstraintRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x1::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x1::IfcResourceConstraintRelationship::Class() { return *((ifcopenshell::entity*)IFC4X1_types[875]); } -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; } +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; } @@ -12824,7 +12824,7 @@ const ifcopenshell::entity& Ifc4x1::IfcResourceTime::Class() { return *((ifcopen 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>(); } +::Ifc4x1::IfcAxis1Placement Ifc4x1::IfcRevolvedAreaSolid::Axis() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcAxis1Placement>(); } void Ifc4x1::IfcRevolvedAreaSolid::setAxis(const ::Ifc4x1::IfcAxis1Placement& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc4x1::IfcRevolvedAreaSolid::Angle() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcRevolvedAreaSolid::setAngle(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -12834,7 +12834,7 @@ const ifcopenshell::entity& Ifc4x1::IfcRevolvedAreaSolid::Class() { return *((if 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>(); } +::Ifc4x1::IfcProfileDef Ifc4x1::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcProfileDef>(); } void Ifc4x1::IfcRevolvedAreaSolidTapered::setEndSweptArea(const ::Ifc4x1::IfcProfileDef& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -12875,12 +12875,12 @@ void Ifc4x1::IfcRoofType::setPredefinedType(const ::Ifc4x1::IfcRoofTypeEnum::Val const ifcopenshell::entity& Ifc4x1::IfcRoofType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[886]); } -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; } +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; } void Ifc4x1::IfcRoot::setGlobalId(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcOwnerHistory Ifc4x1::IfcRoot::OwnerHistory() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x1::IfcOwnerHistory{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcOwnerHistory>(); } +::Ifc4x1::IfcOwnerHistory Ifc4x1::IfcRoot::OwnerHistory() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x1::IfcOwnerHistory{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcOwnerHistory>(); } void Ifc4x1::IfcRoot::setOwnerHistory(const ::Ifc4x1::IfcOwnerHistory& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x1::IfcRoot::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcRoot::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } @@ -12923,7 +12923,7 @@ void Ifc4x1::IfcSanitaryTerminalType::setPredefinedType(const ::Ifc4x1::IfcSanit const ifcopenshell::entity& Ifc4x1::IfcSanitaryTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[895]); } -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; } +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; } @@ -12941,14 +12941,14 @@ Ifc4x1::IfcSchedulingTime Ifc4x1::IfcSchedulingTime::initialize(std::optional< s const ifcopenshell::entity& Ifc4x1::IfcSeamCurve::Class() { return *((ifcopenshell::entity*)IFC4X1_types[898]); } -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; } +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)); } void Ifc4x1::IfcSectionProperties::setSectionType(const ::Ifc4x1::IfcSectionTypeEnum::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc4x1::IfcSectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcProfileDef Ifc4x1::IfcSectionProperties::StartProfile() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcProfileDef>(); } +::Ifc4x1::IfcProfileDef Ifc4x1::IfcSectionProperties::StartProfile() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcProfileDef>(); } void Ifc4x1::IfcSectionProperties::setStartProfile(const ::Ifc4x1::IfcProfileDef& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcProfileDef Ifc4x1::IfcSectionProperties::EndProfile() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x1::IfcProfileDef{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcProfileDef>(); } +::Ifc4x1::IfcProfileDef Ifc4x1::IfcSectionProperties::EndProfile() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x1::IfcProfileDef{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcProfileDef>(); } void Ifc4x1::IfcSectionProperties::setEndProfile(const ::Ifc4x1::IfcProfileDef& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -12964,46 +12964,46 @@ std::optional< double > Ifc4x1::IfcSectionReinforcementProperties::TransversePos void Ifc4x1::IfcSectionReinforcementProperties::setTransversePosition(const std::optional< double >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x1::IfcReinforcingBarRoleEnum::Value Ifc4x1::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x1::IfcReinforcingBarRoleEnum::FromString(get_attribute_value(3)); } void Ifc4x1::IfcSectionReinforcementProperties::setReinforcementRole(const ::Ifc4x1::IfcReinforcingBarRoleEnum::Value& v) { set_attribute_value(3, enumeration_reference(&::Ifc4x1::IfcReinforcingBarRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -::Ifc4x1::IfcSectionProperties Ifc4x1::IfcSectionReinforcementProperties::SectionDefinition() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcSectionProperties>(); } +::Ifc4x1::IfcSectionProperties Ifc4x1::IfcSectionReinforcementProperties::SectionDefinition() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcSectionProperties>(); } void Ifc4x1::IfcSectionReinforcementProperties::setSectionDefinition(const ::Ifc4x1::IfcSectionProperties& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x1::IfcReinforcementBarProperties > Ifc4x1::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x1::IfcReinforcementBarProperties>(es); } -void Ifc4x1::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(const std::vector< ::Ifc4x1::IfcReinforcementBarProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x1::IfcReinforcementBarProperties > Ifc4x1::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x1::IfcReinforcementBarProperties>(es); } +void Ifc4x1::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(const std::vector< ::Ifc4x1::IfcReinforcementBarProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x1::IfcSectionReinforcementProperties::Class() { return *((ifcopenshell::entity*)IFC4X1_types[905]); } -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; } +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>(); } +::Ifc4x1::IfcCurve Ifc4x1::IfcSectionedSolid::Directrix() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcCurve>(); } void Ifc4x1::IfcSectionedSolid::setDirectrix(const ::Ifc4x1::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x1::IfcProfileDef > Ifc4x1::IfcSectionedSolid::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcProfileDef>(es); } -void Ifc4x1::IfcSectionedSolid::setCrossSections(const std::vector< ::Ifc4x1::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x1::IfcProfileDef > Ifc4x1::IfcSectionedSolid::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcProfileDef>(es); } +void Ifc4x1::IfcSectionedSolid::setCrossSections(const std::vector< ::Ifc4x1::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x1::IfcSectionedSolid::Class() { return *((ifcopenshell::entity*)IFC4X1_types[900]); } -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; } +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); } -void Ifc4x1::IfcSectionedSolidHorizontal::setCrossSectionPositions(const std::vector< ::Ifc4x1::IfcDistanceExpression >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x1::IfcDistanceExpression > Ifc4x1::IfcSectionedSolidHorizontal::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcDistanceExpression>(es); } +void Ifc4x1::IfcSectionedSolidHorizontal::setCrossSectionPositions(const std::vector< ::Ifc4x1::IfcDistanceExpression >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } bool Ifc4x1::IfcSectionedSolidHorizontal::FixedAxisVertical() const { bool v = get_attribute_value(3); return v; } void Ifc4x1::IfcSectionedSolidHorizontal::setFixedAxisVertical(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x1::IfcSectionedSolidHorizontal::Class() { return *((ifcopenshell::entity*)IFC4X1_types[901]); } -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; } +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>(); } +::Ifc4x1::IfcCompositeCurve Ifc4x1::IfcSectionedSpine::SpineCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcCompositeCurve>(); } void Ifc4x1::IfcSectionedSpine::setSpineCurve(const ::Ifc4x1::IfcCompositeCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x1::IfcProfileDef > Ifc4x1::IfcSectionedSpine::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcProfileDef>(es); } -void Ifc4x1::IfcSectionedSpine::setCrossSections(const std::vector< ::Ifc4x1::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x1::IfcAxis2Placement3D > Ifc4x1::IfcSectionedSpine::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcAxis2Placement3D>(es); } -void Ifc4x1::IfcSectionedSpine::setCrossSectionPositions(const std::vector< ::Ifc4x1::IfcAxis2Placement3D >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x1::IfcProfileDef > Ifc4x1::IfcSectionedSpine::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcProfileDef>(es); } +void Ifc4x1::IfcSectionedSpine::setCrossSections(const std::vector< ::Ifc4x1::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x1::IfcAxis2Placement3D > Ifc4x1::IfcSectionedSpine::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcAxis2Placement3D>(es); } +void Ifc4x1::IfcSectionedSpine::setCrossSectionPositions(const std::vector< ::Ifc4x1::IfcAxis2Placement3D >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x1::IfcSectionedSpine::Class() { return *((ifcopenshell::entity*)IFC4X1_types[902]); } -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; } +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)); } @@ -13019,7 +13019,7 @@ void Ifc4x1::IfcSensorType::setPredefinedType(const ::Ifc4x1::IfcSensorTypeEnum: const ifcopenshell::entity& Ifc4x1::IfcSensorType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[909]); } -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; } +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)); } @@ -13035,45 +13035,45 @@ void Ifc4x1::IfcShadingDeviceType::setPredefinedType(const ::Ifc4x1::IfcShadingD const ifcopenshell::entity& Ifc4x1::IfcShadingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[913]); } -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; } +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); } -void Ifc4x1::IfcShapeAspect::setShapeRepresentations(const std::vector< ::Ifc4x1::IfcShapeModel >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x1::IfcShapeModel > Ifc4x1::IfcShapeAspect::ShapeRepresentations() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcShapeModel>(es); } +void Ifc4x1::IfcShapeAspect::setShapeRepresentations(const std::vector< ::Ifc4x1::IfcShapeModel >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x1::IfcShapeAspect::Name() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcShapeAspect::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x1::IfcShapeAspect::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcShapeAspect::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } boost::logic::tribool Ifc4x1::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc4x1::IfcShapeAspect::setProductDefinitional(const boost::logic::tribool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x1::IfcProductRepresentationSelect Ifc4x1::IfcShapeAspect::PartOfProductDefinitionShape() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x1::IfcProductRepresentationSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcProductRepresentationSelect>(); } +::Ifc4x1::IfcProductRepresentationSelect Ifc4x1::IfcShapeAspect::PartOfProductDefinitionShape() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x1::IfcProductRepresentationSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcProductRepresentationSelect>(); } void Ifc4x1::IfcShapeAspect::setPartOfProductDefinitionShape(const ::Ifc4x1::IfcProductRepresentationSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } 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]); } -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; } +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]); } -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; } +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]); } -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; } +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); } -void Ifc4x1::IfcShellBasedSurfaceModel::setSbsmBoundary(const std::vector< ::Ifc4x1::IfcShell >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x1::IfcShell > Ifc4x1::IfcShellBasedSurfaceModel::SbsmBoundary() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcShell>(es); } +void Ifc4x1::IfcShellBasedSurfaceModel::setSbsmBoundary(const std::vector< ::Ifc4x1::IfcShell >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x1::IfcShellBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X1_types[920]); } -Ifc4x1::IfcShellBasedSurfaceModel Ifc4x1::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc4x1::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary));; return *this; } +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 @@ -13088,11 +13088,11 @@ std::optional< std::string > Ifc4x1::IfcSimplePropertyTemplate::PrimaryMeasureTy void Ifc4x1::IfcSimplePropertyTemplate::setPrimaryMeasureType(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< std::string > Ifc4x1::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x1::IfcSimplePropertyTemplate::setSecondaryMeasureType(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x1::IfcPropertyEnumeration Ifc4x1::IfcSimplePropertyTemplate::Enumerators() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x1::IfcPropertyEnumeration{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x1::IfcPropertyEnumeration>(); } +::Ifc4x1::IfcPropertyEnumeration Ifc4x1::IfcSimplePropertyTemplate::Enumerators() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x1::IfcPropertyEnumeration{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x1::IfcPropertyEnumeration>(); } void Ifc4x1::IfcSimplePropertyTemplate::setEnumerators(const ::Ifc4x1::IfcPropertyEnumeration& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4x1::IfcUnit Ifc4x1::IfcSimplePropertyTemplate::PrimaryUnit() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x1::IfcUnit{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x1::IfcUnit>(); } +::Ifc4x1::IfcUnit Ifc4x1::IfcSimplePropertyTemplate::PrimaryUnit() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x1::IfcUnit{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x1::IfcUnit>(); } void Ifc4x1::IfcSimplePropertyTemplate::setPrimaryUnit(const ::Ifc4x1::IfcUnit& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc4x1::IfcUnit Ifc4x1::IfcSimplePropertyTemplate::SecondaryUnit() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x1::IfcUnit{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x1::IfcUnit>(); } +::Ifc4x1::IfcUnit Ifc4x1::IfcSimplePropertyTemplate::SecondaryUnit() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x1::IfcUnit{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x1::IfcUnit>(); } void Ifc4x1::IfcSimplePropertyTemplate::setSecondaryUnit(const ::Ifc4x1::IfcUnit& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::optional< std::string > Ifc4x1::IfcSimplePropertyTemplate::Expression() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } std::string v = get_attribute_value(10); return v; } void Ifc4x1::IfcSimplePropertyTemplate::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } @@ -13112,7 +13112,7 @@ std::optional< double > Ifc4x1::IfcSite::RefElevation() const { if(get_attribute void Ifc4x1::IfcSite::setRefElevation(const std::optional< double >& v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } std::optional< std::string > Ifc4x1::IfcSite::LandTitleNumber() const { if(get_attribute_value(12).isNull()) { return std::nullopt; } std::string v = get_attribute_value(12); return v; } void Ifc4x1::IfcSite::setLandTitleNumber(const std::optional< std::string >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x1::IfcPostalAddress Ifc4x1::IfcSite::SiteAddress() const { if(get_attribute_value(13).isNull()) { return ::Ifc4x1::IfcPostalAddress{}; } return ((express::Base)(get_attribute_value(13))).as<::Ifc4x1::IfcPostalAddress>(); } +::Ifc4x1::IfcPostalAddress Ifc4x1::IfcSite::SiteAddress() const { if(get_attribute_value(13).isNull()) { return ::Ifc4x1::IfcPostalAddress{}; } return ((express::base)(get_attribute_value(13))).as<::Ifc4x1::IfcPostalAddress>(); } void Ifc4x1::IfcSite::setSiteAddress(const ::Ifc4x1::IfcPostalAddress& v) { set_attribute_value(13, v);if constexpr (false)unset_attribute_value(13); } @@ -13145,7 +13145,7 @@ void Ifc4x1::IfcSlabType::setPredefinedType(const ::Ifc4x1::IfcSlabTypeEnum::Val const ifcopenshell::entity& Ifc4x1::IfcSlabType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[933]); } -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; } +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; } @@ -13173,7 +13173,7 @@ void Ifc4x1::IfcSolarDeviceType::setPredefinedType(const ::Ifc4x1::IfcSolarDevic const ifcopenshell::entity& Ifc4x1::IfcSolarDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[937]); } -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; } +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 @@ -13207,7 +13207,7 @@ void Ifc4x1::IfcSpaceHeaterType::setPredefinedType(const ::Ifc4x1::IfcSpaceHeate const ifcopenshell::entity& Ifc4x1::IfcSpaceHeaterType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[949]); } -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; } +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]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -13250,7 +13250,7 @@ Ifc4x1::IfcSpatialStructureElement Ifc4x1::IfcSpatialStructureElement::initializ const ifcopenshell::entity& Ifc4x1::IfcSpatialStructureElementType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[956]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -13300,7 +13300,7 @@ void Ifc4x1::IfcStackTerminalType::setPredefinedType(const ::Ifc4x1::IfcStackTer const ifcopenshell::entity& Ifc4x1::IfcStackTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[967]); } -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; } +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)); } @@ -13332,7 +13332,7 @@ void Ifc4x1::IfcStairFlightType::setPredefinedType(const ::Ifc4x1::IfcStairFligh const ifcopenshell::entity& Ifc4x1::IfcStairFlightType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[971]); } -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; } +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]); } -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; } +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; } @@ -13351,7 +13351,7 @@ const ifcopenshell::entity& Ifc4x1::IfcStructuralAction::Class() { return *((ifc 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>(); } +::Ifc4x1::IfcStructuralLoad Ifc4x1::IfcStructuralActivity::AppliedLoad() const { return ((express::base)(get_attribute_value(7))).as<::Ifc4x1::IfcStructuralLoad>(); } void Ifc4x1::IfcStructuralActivity::setAppliedLoad(const ::Ifc4x1::IfcStructuralLoad& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4x1::IfcGlobalOrLocalEnum::Value Ifc4x1::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x1::IfcGlobalOrLocalEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcStructuralActivity::setGlobalOrLocal(const ::Ifc4x1::IfcGlobalOrLocalEnum::Value& v) { set_attribute_value(8, enumeration_reference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } @@ -13364,21 +13364,21 @@ Ifc4x1::IfcStructuralActivity Ifc4x1::IfcStructuralActivity::initialize(std::str // Function implementations for IfcStructuralAnalysisModel ::Ifc4x1::IfcAnalysisModelTypeEnum::Value Ifc4x1::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x1::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x1::IfcStructuralAnalysisModel::setPredefinedType(const ::Ifc4x1::IfcAnalysisModelTypeEnum::Value& v) { set_attribute_value(5, enumeration_reference(&::Ifc4x1::IfcAnalysisModelTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x1::IfcAxis2Placement3D Ifc4x1::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x1::IfcAxis2Placement3D>(); } +::Ifc4x1::IfcAxis2Placement3D Ifc4x1::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x1::IfcAxis2Placement3D>(); } void Ifc4x1::IfcStructuralAnalysisModel::setOrientationOf2DPlane(const ::Ifc4x1::IfcAxis2Placement3D& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::optional< std::vector< ::Ifc4x1::IfcStructuralLoadGroup > > Ifc4x1::IfcStructuralAnalysisModel::LoadedBy() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x1::IfcStructuralLoadGroup>(es); } -void Ifc4x1::IfcStructuralAnalysisModel::setLoadedBy(const std::optional< std::vector< ::Ifc4x1::IfcStructuralLoadGroup > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } -std::optional< std::vector< ::Ifc4x1::IfcStructuralResultGroup > > Ifc4x1::IfcStructuralAnalysisModel::HasResults() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x1::IfcStructuralResultGroup>(es); } -void Ifc4x1::IfcStructuralAnalysisModel::setHasResults(const std::optional< std::vector< ::Ifc4x1::IfcStructuralResultGroup > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } -::Ifc4x1::IfcObjectPlacement Ifc4x1::IfcStructuralAnalysisModel::SharedPlacement() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x1::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x1::IfcObjectPlacement>(); } +std::optional< std::vector< ::Ifc4x1::IfcStructuralLoadGroup > > Ifc4x1::IfcStructuralAnalysisModel::LoadedBy() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x1::IfcStructuralLoadGroup>(es); } +void Ifc4x1::IfcStructuralAnalysisModel::setLoadedBy(const std::optional< std::vector< ::Ifc4x1::IfcStructuralLoadGroup > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x1::IfcStructuralResultGroup > > Ifc4x1::IfcStructuralAnalysisModel::HasResults() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x1::IfcStructuralResultGroup>(es); } +void Ifc4x1::IfcStructuralAnalysisModel::setHasResults(const std::optional< std::vector< ::Ifc4x1::IfcStructuralResultGroup > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } +::Ifc4x1::IfcObjectPlacement Ifc4x1::IfcStructuralAnalysisModel::SharedPlacement() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x1::IfcObjectPlacement{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x1::IfcObjectPlacement>(); } void Ifc4x1::IfcStructuralAnalysisModel::setSharedPlacement(const ::Ifc4x1::IfcObjectPlacement& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } const ifcopenshell::entity& Ifc4x1::IfcStructuralAnalysisModel::Class() { return *((ifcopenshell::entity*)IFC4X1_types[979]); } -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; } +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>(); } +::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>(); } void Ifc4x1::IfcStructuralConnection::setAppliedCondition(const ::Ifc4x1::IfcBoundaryCondition& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } std::vector<::Ifc4x1::IfcRelConnectsStructuralMember> Ifc4x1::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[843], 5)); } @@ -13405,7 +13405,7 @@ const ifcopenshell::entity& Ifc4x1::IfcStructuralCurveAction::Class() { return * 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>(); } +::Ifc4x1::IfcDirection Ifc4x1::IfcStructuralCurveConnection::Axis() const { return ((express::base)(get_attribute_value(8))).as<::Ifc4x1::IfcDirection>(); } void Ifc4x1::IfcStructuralCurveConnection::setAxis(const ::Ifc4x1::IfcDirection& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -13415,7 +13415,7 @@ Ifc4x1::IfcStructuralCurveConnection Ifc4x1::IfcStructuralCurveConnection::initi // Function implementations for IfcStructuralCurveMember ::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Value Ifc4x1::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x1::IfcStructuralCurveMemberTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x1::IfcStructuralCurveMember::setPredefinedType(const ::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x1::IfcDirection Ifc4x1::IfcStructuralCurveMember::Axis() const { return ((express::Base)(get_attribute_value(8))).as<::Ifc4x1::IfcDirection>(); } +::Ifc4x1::IfcDirection Ifc4x1::IfcStructuralCurveMember::Axis() const { return ((express::base)(get_attribute_value(8))).as<::Ifc4x1::IfcDirection>(); } void Ifc4x1::IfcStructuralCurveMember::setAxis(const ::Ifc4x1::IfcDirection& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -13466,14 +13466,14 @@ const ifcopenshell::entity& Ifc4x1::IfcStructuralLoadCase::Class() { return *((i 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); } -void Ifc4x1::IfcStructuralLoadConfiguration::setValues(const std::vector< ::Ifc4x1::IfcStructuralLoadOrResult >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x1::IfcStructuralLoadOrResult > Ifc4x1::IfcStructuralLoadConfiguration::Values() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcStructuralLoadOrResult>(es); } +void Ifc4x1::IfcStructuralLoadConfiguration::setValues(const std::vector< ::Ifc4x1::IfcStructuralLoadOrResult >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< std::vector< std::vector< double > > > Ifc4x1::IfcStructuralLoadConfiguration::Locations() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector< std::vector< double > > v = get_attribute_value(2); return v; } void Ifc4x1::IfcStructuralLoadConfiguration::setLocations(const std::optional< std::vector< std::vector< double > > >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x1::IfcStructuralLoadConfiguration::Class() { return *((ifcopenshell::entity*)IFC4X1_types[993]); } -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; } +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)); } @@ -13619,7 +13619,7 @@ const ifcopenshell::entity& Ifc4x1::IfcStructuralPointAction::Class() { return * 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>(); } +::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>(); } void Ifc4x1::IfcStructuralPointConnection::setConditionCoordinateSystem(const ::Ifc4x1::IfcAxis2Placement3D& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -13641,7 +13641,7 @@ Ifc4x1::IfcStructuralReaction Ifc4x1::IfcStructuralReaction::initialize(std::str // Function implementations for IfcStructuralResultGroup ::Ifc4x1::IfcAnalysisTheoryTypeEnum::Value Ifc4x1::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x1::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x1::IfcStructuralResultGroup::setTheoryType(const ::Ifc4x1::IfcAnalysisTheoryTypeEnum::Value& v) { set_attribute_value(5, enumeration_reference(&::Ifc4x1::IfcAnalysisTheoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x1::IfcStructuralLoadGroup Ifc4x1::IfcStructuralResultGroup::ResultForLoadGroup() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcStructuralLoadGroup{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x1::IfcStructuralLoadGroup>(); } +::Ifc4x1::IfcStructuralLoadGroup Ifc4x1::IfcStructuralResultGroup::ResultForLoadGroup() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcStructuralLoadGroup{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x1::IfcStructuralLoadGroup>(); } void Ifc4x1::IfcStructuralResultGroup::setResultForLoadGroup(const ::Ifc4x1::IfcStructuralLoadGroup& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } bool Ifc4x1::IfcStructuralResultGroup::IsLinear() const { bool v = get_attribute_value(7); return v; } void Ifc4x1::IfcStructuralResultGroup::setIsLinear(const bool& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -13695,25 +13695,25 @@ Ifc4x1::IfcStructuralSurfaceReaction Ifc4x1::IfcStructuralSurfaceReaction::initi const ifcopenshell::entity& Ifc4x1::IfcStyleModel::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1021]); } -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; } +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>(); } +::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>(); } void Ifc4x1::IfcStyledItem::setItem(const ::Ifc4x1::IfcRepresentationItem& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x1::IfcStyleAssignmentSelect > Ifc4x1::IfcStyledItem::Styles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcStyleAssignmentSelect>(es); } -void Ifc4x1::IfcStyledItem::setStyles(const std::vector< ::Ifc4x1::IfcStyleAssignmentSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x1::IfcStyleAssignmentSelect > Ifc4x1::IfcStyledItem::Styles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcStyleAssignmentSelect>(es); } +void Ifc4x1::IfcStyledItem::setStyles(const std::vector< ::Ifc4x1::IfcStyleAssignmentSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x1::IfcStyledItem::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcStyledItem::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x1::IfcStyledItem::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1019]); } -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; } +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]); } -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; } +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]); } -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; } +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,10 +13729,10 @@ void Ifc4x1::IfcSubContractResourceType::setPredefinedType(const ::Ifc4x1::IfcSu const ifcopenshell::entity& Ifc4x1::IfcSubContractResourceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1023]); } -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; } +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>(); } +::Ifc4x1::IfcEdge Ifc4x1::IfcSubedge::ParentEdge() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcEdge>(); } void Ifc4x1::IfcSubedge::setParentEdge(const ::Ifc4x1::IfcEdge& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -13746,25 +13746,25 @@ const ifcopenshell::entity& Ifc4x1::IfcSurface::Class() { return *((ifcopenshell 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>(); } +::Ifc4x1::IfcCurve Ifc4x1::IfcSurfaceCurve::Curve3D() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcCurve>(); } void Ifc4x1::IfcSurfaceCurve::setCurve3D(const ::Ifc4x1::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x1::IfcPcurve > Ifc4x1::IfcSurfaceCurve::AssociatedGeometry() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcPcurve>(es); } -void Ifc4x1::IfcSurfaceCurve::setAssociatedGeometry(const std::vector< ::Ifc4x1::IfcPcurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x1::IfcPcurve > Ifc4x1::IfcSurfaceCurve::AssociatedGeometry() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcPcurve>(es); } +void Ifc4x1::IfcSurfaceCurve::setAssociatedGeometry(const std::vector< ::Ifc4x1::IfcPcurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } ::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x1::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::FromString(get_attribute_value(2)); } void Ifc4x1::IfcSurfaceCurve::setMasterRepresentation(const ::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x1::IfcSurfaceCurve::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1027]); } -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; } +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>(); } +::Ifc4x1::IfcCurve Ifc4x1::IfcSurfaceCurveSweptAreaSolid::Directrix() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcCurve>(); } void Ifc4x1::IfcSurfaceCurveSweptAreaSolid::setDirectrix(const ::Ifc4x1::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc4x1::IfcSurfaceCurveSweptAreaSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4x1::IfcSurfaceCurveSweptAreaSolid::setStartParam(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } std::optional< double > Ifc4x1::IfcSurfaceCurveSweptAreaSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } void Ifc4x1::IfcSurfaceCurveSweptAreaSolid::setEndParam(const std::optional< double >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x1::IfcSurface Ifc4x1::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcSurface>(); } +::Ifc4x1::IfcSurface Ifc4x1::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcSurface>(); } void Ifc4x1::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(const ::Ifc4x1::IfcSurface& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -13780,7 +13780,7 @@ const ifcopenshell::entity& Ifc4x1::IfcSurfaceFeature::Class() { return *((ifcop 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>(); } +::Ifc4x1::IfcDirection Ifc4x1::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcDirection>(); } void Ifc4x1::IfcSurfaceOfLinearExtrusion::setExtrudedDirection(const ::Ifc4x1::IfcDirection& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc4x1::IfcSurfaceOfLinearExtrusion::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcSurfaceOfLinearExtrusion::setDepth(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -13790,7 +13790,7 @@ const ifcopenshell::entity& Ifc4x1::IfcSurfaceOfLinearExtrusion::Class() { retur 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>(); } +::Ifc4x1::IfcAxis1Placement Ifc4x1::IfcSurfaceOfRevolution::AxisPosition() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcAxis1Placement>(); } void Ifc4x1::IfcSurfaceOfRevolution::setAxisPosition(const ::Ifc4x1::IfcAxis1Placement& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -13812,21 +13812,21 @@ Ifc4x1::IfcSurfaceReinforcementArea Ifc4x1::IfcSurfaceReinforcementArea::initial // Function implementations for IfcSurfaceStyle ::Ifc4x1::IfcSurfaceSide::Value Ifc4x1::IfcSurfaceStyle::Side() const { return ::Ifc4x1::IfcSurfaceSide::FromString(get_attribute_value(1)); } void Ifc4x1::IfcSurfaceStyle::setSide(const ::Ifc4x1::IfcSurfaceSide::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4x1::IfcSurfaceSide::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x1::IfcSurfaceStyleElementSelect > Ifc4x1::IfcSurfaceStyle::Styles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcSurfaceStyleElementSelect>(es); } -void Ifc4x1::IfcSurfaceStyle::setStyles(const std::vector< ::Ifc4x1::IfcSurfaceStyleElementSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x1::IfcSurfaceStyleElementSelect > Ifc4x1::IfcSurfaceStyle::Styles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcSurfaceStyleElementSelect>(es); } +void Ifc4x1::IfcSurfaceStyle::setStyles(const std::vector< ::Ifc4x1::IfcSurfaceStyleElementSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x1::IfcSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1036]); } -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; } +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>(); } +::Ifc4x1::IfcColourRgb Ifc4x1::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcColourRgb>(); } void Ifc4x1::IfcSurfaceStyleLighting::setDiffuseTransmissionColour(const ::Ifc4x1::IfcColourRgb& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcColourRgb Ifc4x1::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcColourRgb>(); } +::Ifc4x1::IfcColourRgb Ifc4x1::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcColourRgb>(); } void Ifc4x1::IfcSurfaceStyleLighting::setDiffuseReflectionColour(const ::Ifc4x1::IfcColourRgb& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcColourRgb Ifc4x1::IfcSurfaceStyleLighting::TransmissionColour() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcColourRgb>(); } +::Ifc4x1::IfcColourRgb Ifc4x1::IfcSurfaceStyleLighting::TransmissionColour() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcColourRgb>(); } void Ifc4x1::IfcSurfaceStyleLighting::setTransmissionColour(const ::Ifc4x1::IfcColourRgb& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcColourRgb Ifc4x1::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcColourRgb>(); } +::Ifc4x1::IfcColourRgb Ifc4x1::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcColourRgb>(); } void Ifc4x1::IfcSurfaceStyleLighting::setReflectanceColour(const ::Ifc4x1::IfcColourRgb& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -13844,17 +13844,17 @@ const ifcopenshell::entity& Ifc4x1::IfcSurfaceStyleRefraction::Class() { return 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>(); } +::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>(); } void Ifc4x1::IfcSurfaceStyleRendering::setDiffuseColour(const ::Ifc4x1::IfcColourOrFactor& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcColourOrFactor Ifc4x1::IfcSurfaceStyleRendering::TransmissionColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcColourOrFactor>(); } +::Ifc4x1::IfcColourOrFactor Ifc4x1::IfcSurfaceStyleRendering::TransmissionColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcColourOrFactor>(); } void Ifc4x1::IfcSurfaceStyleRendering::setTransmissionColour(const ::Ifc4x1::IfcColourOrFactor& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x1::IfcColourOrFactor Ifc4x1::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x1::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcColourOrFactor>(); } +::Ifc4x1::IfcColourOrFactor Ifc4x1::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x1::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcColourOrFactor>(); } void Ifc4x1::IfcSurfaceStyleRendering::setDiffuseTransmissionColour(const ::Ifc4x1::IfcColourOrFactor& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcColourOrFactor Ifc4x1::IfcSurfaceStyleRendering::ReflectionColour() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x1::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcColourOrFactor>(); } +::Ifc4x1::IfcColourOrFactor Ifc4x1::IfcSurfaceStyleRendering::ReflectionColour() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x1::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcColourOrFactor>(); } void Ifc4x1::IfcSurfaceStyleRendering::setReflectionColour(const ::Ifc4x1::IfcColourOrFactor& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x1::IfcColourOrFactor Ifc4x1::IfcSurfaceStyleRendering::SpecularColour() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x1::IfcColourOrFactor>(); } +::Ifc4x1::IfcColourOrFactor Ifc4x1::IfcSurfaceStyleRendering::SpecularColour() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x1::IfcColourOrFactor>(); } void Ifc4x1::IfcSurfaceStyleRendering::setSpecularColour(const ::Ifc4x1::IfcColourOrFactor& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x1::IfcSpecularHighlightSelect Ifc4x1::IfcSurfaceStyleRendering::SpecularHighlight() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x1::IfcSpecularHighlightSelect{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x1::IfcSpecularHighlightSelect>(); } +::Ifc4x1::IfcSpecularHighlightSelect Ifc4x1::IfcSurfaceStyleRendering::SpecularHighlight() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x1::IfcSpecularHighlightSelect{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x1::IfcSpecularHighlightSelect>(); } void Ifc4x1::IfcSurfaceStyleRendering::setSpecularHighlight(const ::Ifc4x1::IfcSpecularHighlightSelect& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4x1::IfcReflectanceMethodEnum::Value Ifc4x1::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x1::IfcReflectanceMethodEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcSurfaceStyleRendering::setReflectanceMethod(const ::Ifc4x1::IfcReflectanceMethodEnum::Value& v) { set_attribute_value(8, enumeration_reference(&::Ifc4x1::IfcReflectanceMethodEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } @@ -13864,7 +13864,7 @@ const ifcopenshell::entity& Ifc4x1::IfcSurfaceStyleRendering::Class() { return * 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>(); } +::Ifc4x1::IfcColourRgb Ifc4x1::IfcSurfaceStyleShading::SurfaceColour() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcColourRgb>(); } void Ifc4x1::IfcSurfaceStyleShading::setSurfaceColour(const ::Ifc4x1::IfcColourRgb& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< double > Ifc4x1::IfcSurfaceStyleShading::Transparency() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } void Ifc4x1::IfcSurfaceStyleShading::setTransparency(const std::optional< double >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } @@ -13874,12 +13874,12 @@ const ifcopenshell::entity& Ifc4x1::IfcSurfaceStyleShading::Class() { return *(( 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); } -void Ifc4x1::IfcSurfaceStyleWithTextures::setTextures(const std::vector< ::Ifc4x1::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x1::IfcSurfaceTexture > Ifc4x1::IfcSurfaceStyleWithTextures::Textures() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcSurfaceTexture>(es); } +void Ifc4x1::IfcSurfaceStyleWithTextures::setTextures(const std::vector< ::Ifc4x1::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x1::IfcSurfaceStyleWithTextures::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1042]); } -Ifc4x1::IfcSurfaceStyleWithTextures Ifc4x1::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc4x1::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures));; return *this; } +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; } @@ -13888,7 +13888,7 @@ bool Ifc4x1::IfcSurfaceTexture::RepeatT() const { bool v = get_attribute_value( void Ifc4x1::IfcSurfaceTexture::setRepeatT(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x1::IfcSurfaceTexture::Mode() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcSurfaceTexture::setMode(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x1::IfcCartesianTransformationOperator2D Ifc4x1::IfcSurfaceTexture::TextureTransform() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcCartesianTransformationOperator2D{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcCartesianTransformationOperator2D>(); } +::Ifc4x1::IfcCartesianTransformationOperator2D Ifc4x1::IfcSurfaceTexture::TextureTransform() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcCartesianTransformationOperator2D{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcCartesianTransformationOperator2D>(); } void Ifc4x1::IfcSurfaceTexture::setTextureTransform(const ::Ifc4x1::IfcCartesianTransformationOperator2D& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcSurfaceTexture::Parameter() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x1::IfcSurfaceTexture::setParameter(const std::optional< std::vector< std::string > /*[1:?]*/ >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -13900,9 +13900,9 @@ const ifcopenshell::entity& Ifc4x1::IfcSurfaceTexture::Class() { return *((ifcop 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>(); } +::Ifc4x1::IfcProfileDef Ifc4x1::IfcSweptAreaSolid::SweptArea() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcProfileDef>(); } void Ifc4x1::IfcSweptAreaSolid::setSweptArea(const ::Ifc4x1::IfcProfileDef& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcAxis2Placement3D Ifc4x1::IfcSweptAreaSolid::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x1::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcAxis2Placement3D>(); } +::Ifc4x1::IfcAxis2Placement3D Ifc4x1::IfcSweptAreaSolid::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x1::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcAxis2Placement3D>(); } void Ifc4x1::IfcSweptAreaSolid::setPosition(const ::Ifc4x1::IfcAxis2Placement3D& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -13910,7 +13910,7 @@ const ifcopenshell::entity& Ifc4x1::IfcSweptAreaSolid::Class() { return *((ifcop 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>(); } +::Ifc4x1::IfcCurve Ifc4x1::IfcSweptDiskSolid::Directrix() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcCurve>(); } void Ifc4x1::IfcSweptDiskSolid::setDirectrix(const ::Ifc4x1::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x1::IfcSweptDiskSolid::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcSweptDiskSolid::setRadius(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -13934,9 +13934,9 @@ const ifcopenshell::entity& Ifc4x1::IfcSweptDiskSolidPolygonal::Class() { return 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>(); } +::Ifc4x1::IfcProfileDef Ifc4x1::IfcSweptSurface::SweptCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcProfileDef>(); } void Ifc4x1::IfcSweptSurface::setSweptCurve(const ::Ifc4x1::IfcProfileDef& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcAxis2Placement3D Ifc4x1::IfcSweptSurface::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x1::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcAxis2Placement3D>(); } +::Ifc4x1::IfcAxis2Placement3D Ifc4x1::IfcSweptSurface::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x1::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcAxis2Placement3D>(); } void Ifc4x1::IfcSweptSurface::setPosition(const ::Ifc4x1::IfcAxis2Placement3D& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -13957,7 +13957,7 @@ void Ifc4x1::IfcSwitchingDeviceType::setPredefinedType(const ::Ifc4x1::IfcSwitch const ifcopenshell::entity& Ifc4x1::IfcSwitchingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1049]); } -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; } +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 @@ -13980,7 +13980,7 @@ void Ifc4x1::IfcSystemFurnitureElementType::setPredefinedType(const std::optiona const ifcopenshell::entity& Ifc4x1::IfcSystemFurnitureElementType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1053]); } -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; } +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; } @@ -14009,14 +14009,14 @@ Ifc4x1::IfcTShapeProfileDef Ifc4x1::IfcTShapeProfileDef::initialize(::Ifc4x1::If // 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; } void Ifc4x1::IfcTable::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::optional< std::vector< ::Ifc4x1::IfcTableRow > > Ifc4x1::IfcTable::Rows() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcTableRow>(es); } -void Ifc4x1::IfcTable::setRows(const std::optional< std::vector< ::Ifc4x1::IfcTableRow > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } -std::optional< std::vector< ::Ifc4x1::IfcTableColumn > > Ifc4x1::IfcTable::Columns() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcTableColumn>(es); } -void Ifc4x1::IfcTable::setColumns(const std::optional< std::vector< ::Ifc4x1::IfcTableColumn > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4x1::IfcTableRow > > Ifc4x1::IfcTable::Rows() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcTableRow>(es); } +void Ifc4x1::IfcTable::setRows(const std::optional< std::vector< ::Ifc4x1::IfcTableRow > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } +std::optional< std::vector< ::Ifc4x1::IfcTableColumn > > Ifc4x1::IfcTable::Columns() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcTableColumn>(es); } +void Ifc4x1::IfcTable::setColumns(const std::optional< std::vector< ::Ifc4x1::IfcTableColumn > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x1::IfcTable::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1055]); } -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; } +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; } @@ -14025,9 +14025,9 @@ std::optional< std::string > Ifc4x1::IfcTableColumn::Name() const { if(get_attri void Ifc4x1::IfcTableColumn::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x1::IfcTableColumn::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcTableColumn::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x1::IfcUnit Ifc4x1::IfcTableColumn::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcUnit>(); } +::Ifc4x1::IfcUnit Ifc4x1::IfcTableColumn::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcUnit>(); } void Ifc4x1::IfcTableColumn::setUnit(const ::Ifc4x1::IfcUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x1::IfcReference Ifc4x1::IfcTableColumn::ReferencePath() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x1::IfcReference{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcReference>(); } +::Ifc4x1::IfcReference Ifc4x1::IfcTableColumn::ReferencePath() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x1::IfcReference{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcReference>(); } void Ifc4x1::IfcTableColumn::setReferencePath(const ::Ifc4x1::IfcReference& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -14035,14 +14035,14 @@ const ifcopenshell::entity& Ifc4x1::IfcTableColumn::Class() { return *((ifcopens 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); } -void Ifc4x1::IfcTableRow::setRowCells(const std::optional< std::vector< ::Ifc4x1::IfcValue > >& v) { if (v) {set_attribute_value(0, cast_vector(*v));} else {unset_attribute_value(0);} } +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); } +void Ifc4x1::IfcTableRow::setRowCells(const std::optional< std::vector< ::Ifc4x1::IfcValue > >& v) { if (v) {set_attribute_value(0, cast_vector(*v));} else {unset_attribute_value(0);} } std::optional< bool > Ifc4x1::IfcTableRow::IsHeading() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } bool v = get_attribute_value(1); return v; } void Ifc4x1::IfcTableRow::setIsHeading(const std::optional< bool >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const ifcopenshell::entity& Ifc4x1::IfcTableRow::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1057]); } -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; } +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)); } @@ -14058,7 +14058,7 @@ void Ifc4x1::IfcTankType::setPredefinedType(const ::Ifc4x1::IfcTankTypeEnum::Val const ifcopenshell::entity& Ifc4x1::IfcTankType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1059]); } -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; } +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; } @@ -14069,7 +14069,7 @@ bool Ifc4x1::IfcTask::IsMilestone() const { bool v = get_attribute_value(9); re void Ifc4x1::IfcTask::setIsMilestone(const bool& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::optional< int64_t > Ifc4x1::IfcTask::Priority() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(10); return v; } void Ifc4x1::IfcTask::setPriority(const std::optional< int64_t >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x1::IfcTaskTime Ifc4x1::IfcTask::TaskTime() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x1::IfcTaskTime{}; } return ((express::Base)(get_attribute_value(11))).as<::Ifc4x1::IfcTaskTime>(); } +::Ifc4x1::IfcTaskTime Ifc4x1::IfcTask::TaskTime() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x1::IfcTaskTime{}; } return ((express::base)(get_attribute_value(11))).as<::Ifc4x1::IfcTaskTime>(); } void Ifc4x1::IfcTask::setTaskTime(const ::Ifc4x1::IfcTaskTime& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } std::optional< ::Ifc4x1::IfcTaskTypeEnum::Value > Ifc4x1::IfcTask::PredefinedType() const { if(get_attribute_value(12).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcTaskTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x1::IfcTask::setPredefinedType(const std::optional< ::Ifc4x1::IfcTaskTypeEnum::Value >& v) { if (v) {set_attribute_value(12, enumeration_reference(&::Ifc4x1::IfcTaskTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } @@ -14119,7 +14119,7 @@ const ifcopenshell::entity& Ifc4x1::IfcTaskTime::Class() { return *((ifcopenshel 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>(); } +::Ifc4x1::IfcRecurrencePattern Ifc4x1::IfcTaskTimeRecurring::Recurrence() const { return ((express::base)(get_attribute_value(20))).as<::Ifc4x1::IfcRecurrencePattern>(); } void Ifc4x1::IfcTaskTimeRecurring::setRecurrence(const ::Ifc4x1::IfcRecurrencePattern& v) { set_attribute_value(20, v);if constexpr (false)unset_attribute_value(20); } @@ -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]); } -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; } +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; } @@ -14190,7 +14190,7 @@ void Ifc4x1::IfcTendonAnchorType::setPredefinedType(const ::Ifc4x1::IfcTendonAnc const ifcopenshell::entity& Ifc4x1::IfcTendonAnchorType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1072]); } -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; } +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,10 +14204,10 @@ void Ifc4x1::IfcTendonType::setSheathDiameter(const std::optional< double >& v) const ifcopenshell::entity& Ifc4x1::IfcTendonType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1074]); } -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; } +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>(); } +::Ifc4x1::IfcCartesianPointList3D Ifc4x1::IfcTessellatedFaceSet::Coordinates() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcCartesianPointList3D>(); } void Ifc4x1::IfcTessellatedFaceSet::setCoordinates(const ::Ifc4x1::IfcCartesianPointList3D& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::vector<::Ifc4x1::IfcIndexedColourMap> Ifc4x1::IfcTessellatedFaceSet::HasColours() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[493], 0)); } @@ -14225,7 +14225,7 @@ Ifc4x1::IfcTessellatedItem Ifc4x1::IfcTessellatedItem::initialize() { ; return * // Function implementations for IfcTextLiteral std::string Ifc4x1::IfcTextLiteral::Literal() const { std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcTextLiteral::setLiteral(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcAxis2Placement Ifc4x1::IfcTextLiteral::Placement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcAxis2Placement>(); } +::Ifc4x1::IfcAxis2Placement Ifc4x1::IfcTextLiteral::Placement() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcAxis2Placement>(); } void Ifc4x1::IfcTextLiteral::setPlacement(const ::Ifc4x1::IfcAxis2Placement& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } ::Ifc4x1::IfcTextPath::Value Ifc4x1::IfcTextLiteral::Path() const { return ::Ifc4x1::IfcTextPath::FromString(get_attribute_value(2)); } void Ifc4x1::IfcTextLiteral::setPath(const ::Ifc4x1::IfcTextPath::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4x1::IfcTextPath::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } @@ -14235,7 +14235,7 @@ const ifcopenshell::entity& Ifc4x1::IfcTextLiteral::Class() { return *((ifcopens 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>(); } +::Ifc4x1::IfcPlanarExtent Ifc4x1::IfcTextLiteralWithExtent::Extent() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcPlanarExtent>(); } void Ifc4x1::IfcTextLiteralWithExtent::setExtent(const ::Ifc4x1::IfcPlanarExtent& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::string Ifc4x1::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcTextLiteralWithExtent::setBoxAlignment(const std::string& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -14245,11 +14245,11 @@ const ifcopenshell::entity& Ifc4x1::IfcTextLiteralWithExtent::Class() { return * 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>(); } +::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>(); } void Ifc4x1::IfcTextStyle::setTextCharacterAppearance(const ::Ifc4x1::IfcTextStyleForDefinedFont& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcTextStyleTextModel Ifc4x1::IfcTextStyle::TextStyle() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x1::IfcTextStyleTextModel{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcTextStyleTextModel>(); } +::Ifc4x1::IfcTextStyleTextModel Ifc4x1::IfcTextStyle::TextStyle() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x1::IfcTextStyleTextModel{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcTextStyleTextModel>(); } void Ifc4x1::IfcTextStyle::setTextStyle(const ::Ifc4x1::IfcTextStyleTextModel& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcTextFontSelect Ifc4x1::IfcTextStyle::TextFontStyle() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcTextFontSelect>(); } +::Ifc4x1::IfcTextFontSelect Ifc4x1::IfcTextStyle::TextFontStyle() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcTextFontSelect>(); } void Ifc4x1::IfcTextStyle::setTextFontStyle(const ::Ifc4x1::IfcTextFontSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< bool > Ifc4x1::IfcTextStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } bool v = get_attribute_value(4); return v; } void Ifc4x1::IfcTextStyle::setModelOrDraughting(const std::optional< bool >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -14267,7 +14267,7 @@ std::optional< std::string > Ifc4x1::IfcTextStyleFontModel::FontVariant() const void Ifc4x1::IfcTextStyleFontModel::setFontVariant(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } std::optional< std::string > Ifc4x1::IfcTextStyleFontModel::FontWeight() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcTextStyleFontModel::setFontWeight(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x1::IfcSizeSelect Ifc4x1::IfcTextStyleFontModel::FontSize() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcSizeSelect>(); } +::Ifc4x1::IfcSizeSelect Ifc4x1::IfcTextStyleFontModel::FontSize() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x1::IfcSizeSelect>(); } void Ifc4x1::IfcTextStyleFontModel::setFontSize(const ::Ifc4x1::IfcSizeSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -14275,9 +14275,9 @@ const ifcopenshell::entity& Ifc4x1::IfcTextStyleFontModel::Class() { return *((i 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>(); } +::Ifc4x1::IfcColour Ifc4x1::IfcTextStyleForDefinedFont::Colour() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcColour>(); } void Ifc4x1::IfcTextStyleForDefinedFont::setColour(const ::Ifc4x1::IfcColour& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcColour Ifc4x1::IfcTextStyleForDefinedFont::BackgroundColour() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x1::IfcColour{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcColour>(); } +::Ifc4x1::IfcColour Ifc4x1::IfcTextStyleForDefinedFont::BackgroundColour() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x1::IfcColour{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x1::IfcColour>(); } void Ifc4x1::IfcTextStyleForDefinedFont::setBackgroundColour(const ::Ifc4x1::IfcColour& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -14285,19 +14285,19 @@ const ifcopenshell::entity& Ifc4x1::IfcTextStyleForDefinedFont::Class() { return 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>(); } +::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>(); } void Ifc4x1::IfcTextStyleTextModel::setTextIndent(const ::Ifc4x1::IfcSizeSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x1::IfcTextStyleTextModel::TextAlign() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcTextStyleTextModel::setTextAlign(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x1::IfcTextStyleTextModel::TextDecoration() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcTextStyleTextModel::setTextDecoration(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x1::IfcSizeSelect Ifc4x1::IfcTextStyleTextModel::LetterSpacing() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcSizeSelect>(); } +::Ifc4x1::IfcSizeSelect Ifc4x1::IfcTextStyleTextModel::LetterSpacing() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x1::IfcSizeSelect>(); } void Ifc4x1::IfcTextStyleTextModel::setLetterSpacing(const ::Ifc4x1::IfcSizeSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x1::IfcSizeSelect Ifc4x1::IfcTextStyleTextModel::WordSpacing() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x1::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcSizeSelect>(); } +::Ifc4x1::IfcSizeSelect Ifc4x1::IfcTextStyleTextModel::WordSpacing() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x1::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x1::IfcSizeSelect>(); } void Ifc4x1::IfcTextStyleTextModel::setWordSpacing(const ::Ifc4x1::IfcSizeSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::optional< std::string > Ifc4x1::IfcTextStyleTextModel::TextTransform() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcTextStyleTextModel::setTextTransform(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x1::IfcSizeSelect Ifc4x1::IfcTextStyleTextModel::LineHeight() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x1::IfcSizeSelect>(); } +::Ifc4x1::IfcSizeSelect Ifc4x1::IfcTextStyleTextModel::LineHeight() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x1::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x1::IfcSizeSelect>(); } void Ifc4x1::IfcTextStyleTextModel::setLineHeight(const ::Ifc4x1::IfcSizeSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -14305,12 +14305,12 @@ const ifcopenshell::entity& Ifc4x1::IfcTextStyleTextModel::Class() { return *((i 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); } -void Ifc4x1::IfcTextureCoordinate::setMaps(const std::vector< ::Ifc4x1::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x1::IfcSurfaceTexture > Ifc4x1::IfcTextureCoordinate::Maps() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcSurfaceTexture>(es); } +void Ifc4x1::IfcTextureCoordinate::setMaps(const std::vector< ::Ifc4x1::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x1::IfcTextureCoordinate::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1091]); } -Ifc4x1::IfcTextureCoordinate Ifc4x1::IfcTextureCoordinate::initialize(std::vector< ::Ifc4x1::IfcSurfaceTexture > v1_Maps) { set_attribute_value(0, cast_vector(v1_Maps));; return *this; } +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,17 +14320,17 @@ void Ifc4x1::IfcTextureCoordinateGenerator::setParameter(const std::optional< st const ifcopenshell::entity& Ifc4x1::IfcTextureCoordinateGenerator::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1092]); } -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; } +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); } -void Ifc4x1::IfcTextureMap::setVertices(const std::vector< ::Ifc4x1::IfcTextureVertex >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcFace Ifc4x1::IfcTextureMap::MappedTo() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcFace>(); } +std::vector< ::Ifc4x1::IfcTextureVertex > Ifc4x1::IfcTextureMap::Vertices() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcTextureVertex>(es); } +void Ifc4x1::IfcTextureMap::setVertices(const std::vector< ::Ifc4x1::IfcTextureVertex >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +::Ifc4x1::IfcFace Ifc4x1::IfcTextureMap::MappedTo() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x1::IfcFace>(); } void Ifc4x1::IfcTextureMap::setMappedTo(const ::Ifc4x1::IfcFace& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x1::IfcTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1093]); } -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; } +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; } @@ -14373,7 +14373,7 @@ void Ifc4x1::IfcTimeSeries::setTimeSeriesDataType(const ::Ifc4x1::IfcTimeSeriesD void Ifc4x1::IfcTimeSeries::setDataOrigin(const ::Ifc4x1::IfcDataOriginEnum::Value& v) { set_attribute_value(5, enumeration_reference(&::Ifc4x1::IfcDataOriginEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } std::optional< std::string > Ifc4x1::IfcTimeSeries::UserDefinedDataOrigin() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x1::IfcTimeSeries::setUserDefinedDataOrigin(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x1::IfcUnit Ifc4x1::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x1::IfcUnit{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x1::IfcUnit>(); } +::Ifc4x1::IfcUnit Ifc4x1::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x1::IfcUnit{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x1::IfcUnit>(); } void Ifc4x1::IfcTimeSeries::setUnit(const ::Ifc4x1::IfcUnit& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcTimeSeries::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[394], 3)); } @@ -14382,12 +14382,12 @@ const ifcopenshell::entity& Ifc4x1::IfcTimeSeries::Class() { return *((ifcopensh 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); } -void Ifc4x1::IfcTimeSeriesValue::setListValues(const std::vector< ::Ifc4x1::IfcValue >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x1::IfcValue > Ifc4x1::IfcTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcValue>(es); } +void Ifc4x1::IfcTimeSeriesValue::setListValues(const std::vector< ::Ifc4x1::IfcValue >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x1::IfcTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1108]); } -Ifc4x1::IfcTimeSeriesValue Ifc4x1::IfcTimeSeriesValue::initialize(std::vector< ::Ifc4x1::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues));; return *this; } +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 @@ -14399,7 +14399,7 @@ Ifc4x1::IfcTopologicalRepresentationItem Ifc4x1::IfcTopologicalRepresentationIte const ifcopenshell::entity& Ifc4x1::IfcTopologyRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1111]); } -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; } +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; } @@ -14425,7 +14425,7 @@ void Ifc4x1::IfcTransformerType::setPredefinedType(const ::Ifc4x1::IfcTransforme const ifcopenshell::entity& Ifc4x1::IfcTransformerType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1115]); } -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; } +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; } @@ -14457,7 +14457,7 @@ void Ifc4x1::IfcTransportElementType::setPredefinedType(const ::Ifc4x1::IfcTrans const ifcopenshell::entity& Ifc4x1::IfcTransportElementType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1122]); } -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; } +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; } @@ -14496,12 +14496,12 @@ const ifcopenshell::entity& Ifc4x1::IfcTriangulatedIrregularNetwork::Class() { r 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< int64_t > > v4_CoordIndex, std::optional< std::vector< int64_t > /*[1:?]*/ > v5_PnIndex, std::vector< int64_t > /*[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>(); } +::Ifc4x1::IfcCurve Ifc4x1::IfcTrimmedCurve::BasisCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcCurve>(); } void Ifc4x1::IfcTrimmedCurve::setBasisCurve(const ::Ifc4x1::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x1::IfcTrimmingSelect > Ifc4x1::IfcTrimmedCurve::Trim1() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcTrimmingSelect>(es); } -void Ifc4x1::IfcTrimmedCurve::setTrim1(const std::vector< ::Ifc4x1::IfcTrimmingSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x1::IfcTrimmingSelect > Ifc4x1::IfcTrimmedCurve::Trim2() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcTrimmingSelect>(es); } -void Ifc4x1::IfcTrimmedCurve::setTrim2(const std::vector< ::Ifc4x1::IfcTrimmingSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x1::IfcTrimmingSelect > Ifc4x1::IfcTrimmedCurve::Trim1() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcTrimmingSelect>(es); } +void Ifc4x1::IfcTrimmedCurve::setTrim1(const std::vector< ::Ifc4x1::IfcTrimmingSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x1::IfcTrimmingSelect > Ifc4x1::IfcTrimmedCurve::Trim2() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcTrimmingSelect>(es); } +void Ifc4x1::IfcTrimmedCurve::setTrim2(const std::vector< ::Ifc4x1::IfcTrimmingSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } bool Ifc4x1::IfcTrimmedCurve::SenseAgreement() const { bool v = get_attribute_value(3); return v; } void Ifc4x1::IfcTrimmedCurve::setSenseAgreement(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } ::Ifc4x1::IfcTrimmingPreference::Value Ifc4x1::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x1::IfcTrimmingPreference::FromString(get_attribute_value(4)); } @@ -14509,7 +14509,7 @@ void Ifc4x1::IfcTrimmedCurve::setMasterRepresentation(const ::Ifc4x1::IfcTrimmin const ifcopenshell::entity& Ifc4x1::IfcTrimmedCurve::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1127]); } -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; } +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)); } @@ -14525,18 +14525,18 @@ void Ifc4x1::IfcTubeBundleType::setPredefinedType(const ::Ifc4x1::IfcTubeBundleT const ifcopenshell::entity& Ifc4x1::IfcTubeBundleType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1132]); } -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; } +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; } void Ifc4x1::IfcTypeObject::setApplicableOccurrence(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > Ifc4x1::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x1::IfcPropertySetDefinition>(es); } -void Ifc4x1::IfcTypeObject::setHasPropertySets(const std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > >& v) { if (v) {set_attribute_value(5, cast_vector(*v));} else {unset_attribute_value(5);} } +std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > Ifc4x1::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x1::IfcPropertySetDefinition>(es); } +void Ifc4x1::IfcTypeObject::setHasPropertySets(const std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > >& v) { if (v) {set_attribute_value(5, cast_vector(*v));} else {unset_attribute_value(5);} } 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]); } -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; } +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,18 +14549,18 @@ 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]); } -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; } +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); } -void Ifc4x1::IfcTypeProduct::setRepresentationMaps(const std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +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); } +void Ifc4x1::IfcTypeProduct::setRepresentationMaps(const std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } std::optional< std::string > Ifc4x1::IfcTypeProduct::Tag() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4x1::IfcTypeProduct::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } 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]); } -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; } +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]); } -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; } +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; } @@ -14596,12 +14596,12 @@ const ifcopenshell::entity& Ifc4x1::IfcUShapeProfileDef::Class() { return *((ifc 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); } -void Ifc4x1::IfcUnitAssignment::setUnits(const std::vector< ::Ifc4x1::IfcUnit >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x1::IfcUnit > Ifc4x1::IfcUnitAssignment::Units() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcUnit>(es); } +void Ifc4x1::IfcUnitAssignment::setUnits(const std::vector< ::Ifc4x1::IfcUnit >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x1::IfcUnitAssignment::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1145]); } -Ifc4x1::IfcUnitAssignment Ifc4x1::IfcUnitAssignment::initialize(std::vector< ::Ifc4x1::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units));; return *this; } +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)); } @@ -14617,7 +14617,7 @@ void Ifc4x1::IfcUnitaryControlElementType::setPredefinedType(const ::Ifc4x1::Ifc const ifcopenshell::entity& Ifc4x1::IfcUnitaryControlElementType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1140]); } -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; } +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)); } @@ -14633,7 +14633,7 @@ void Ifc4x1::IfcUnitaryEquipmentType::setPredefinedType(const ::Ifc4x1::IfcUnita const ifcopenshell::entity& Ifc4x1::IfcUnitaryEquipmentType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1143]); } -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; } +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)); } @@ -14649,10 +14649,10 @@ void Ifc4x1::IfcValveType::setPredefinedType(const ::Ifc4x1::IfcValveTypeEnum::V const ifcopenshell::entity& Ifc4x1::IfcValveType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1151]); } -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; } +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>(); } +::Ifc4x1::IfcDirection Ifc4x1::IfcVector::Orientation() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcDirection>(); } void Ifc4x1::IfcVector::setOrientation(const ::Ifc4x1::IfcDirection& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x1::IfcVector::Magnitude() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcVector::setMagnitude(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -14668,7 +14668,7 @@ const ifcopenshell::entity& Ifc4x1::IfcVertex::Class() { return *((ifcopenshell: 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>(); } +::Ifc4x1::IfcVertex Ifc4x1::IfcVertexLoop::LoopVertex() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcVertex>(); } void Ifc4x1::IfcVertexLoop::setLoopVertex(const ::Ifc4x1::IfcVertex& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -14676,7 +14676,7 @@ const ifcopenshell::entity& Ifc4x1::IfcVertexLoop::Class() { return *((ifcopensh 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>(); } +::Ifc4x1::IfcPoint Ifc4x1::IfcVertexPoint::VertexGeometry() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x1::IfcPoint>(); } void Ifc4x1::IfcVertexPoint::setVertexGeometry(const ::Ifc4x1::IfcPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -14697,7 +14697,7 @@ void Ifc4x1::IfcVibrationIsolatorType::setPredefinedType(const ::Ifc4x1::IfcVibr const ifcopenshell::entity& Ifc4x1::IfcVibrationIsolatorType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1160]); } -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; } +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 @@ -14706,14 +14706,14 @@ const ifcopenshell::entity& Ifc4x1::IfcVirtualElement::Class() { return *((ifcop 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); } -void Ifc4x1::IfcVirtualGridIntersection::setIntersectingAxes(const std::vector< ::Ifc4x1::IfcGridAxis >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x1::IfcGridAxis > Ifc4x1::IfcVirtualGridIntersection::IntersectingAxes() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcGridAxis>(es); } +void Ifc4x1::IfcVirtualGridIntersection::setIntersectingAxes(const std::vector< ::Ifc4x1::IfcGridAxis >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } std::vector< double > /*[2:3]*/ Ifc4x1::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc4x1::IfcVirtualGridIntersection::setOffsetDistances(const std::vector< double > /*[2:3]*/& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x1::IfcVirtualGridIntersection::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1163]); } -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; } +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)); } @@ -14749,7 +14749,7 @@ void Ifc4x1::IfcWallType::setPredefinedType(const ::Ifc4x1::IfcWallTypeEnum::Val const ifcopenshell::entity& Ifc4x1::IfcWallType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1171]); } -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; } +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)); } @@ -14765,7 +14765,7 @@ void Ifc4x1::IfcWasteTerminalType::setPredefinedType(const ::Ifc4x1::IfcWasteTer const ifcopenshell::entity& Ifc4x1::IfcWasteTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1177]); } -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; } +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; } @@ -14800,7 +14800,7 @@ std::optional< double > Ifc4x1::IfcWindowLiningProperties::FirstMullionOffset() void Ifc4x1::IfcWindowLiningProperties::setFirstMullionOffset(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } std::optional< double > Ifc4x1::IfcWindowLiningProperties::SecondMullionOffset() const { if(get_attribute_value(11).isNull()) { return std::nullopt; } double v = get_attribute_value(11); return v; } void Ifc4x1::IfcWindowLiningProperties::setSecondMullionOffset(const std::optional< double >& v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -::Ifc4x1::IfcShapeAspect Ifc4x1::IfcWindowLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(12).isNull()) { return ::Ifc4x1::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(12))).as<::Ifc4x1::IfcShapeAspect>(); } +::Ifc4x1::IfcShapeAspect Ifc4x1::IfcWindowLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(12).isNull()) { return ::Ifc4x1::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(12))).as<::Ifc4x1::IfcShapeAspect>(); } void Ifc4x1::IfcWindowLiningProperties::setShapeAspectStyle(const ::Ifc4x1::IfcShapeAspect& v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } std::optional< double > Ifc4x1::IfcWindowLiningProperties::LiningOffset() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } double v = get_attribute_value(13); return v; } void Ifc4x1::IfcWindowLiningProperties::setLiningOffset(const std::optional< double >& v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } @@ -14822,7 +14822,7 @@ std::optional< double > Ifc4x1::IfcWindowPanelProperties::FrameDepth() const { i void Ifc4x1::IfcWindowPanelProperties::setFrameDepth(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } std::optional< double > Ifc4x1::IfcWindowPanelProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } void Ifc4x1::IfcWindowPanelProperties::setFrameThickness(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x1::IfcShapeAspect Ifc4x1::IfcWindowPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x1::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x1::IfcShapeAspect>(); } +::Ifc4x1::IfcShapeAspect Ifc4x1::IfcWindowPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x1::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x1::IfcShapeAspect>(); } void Ifc4x1::IfcWindowPanelProperties::setShapeAspectStyle(const ::Ifc4x1::IfcShapeAspect& v) { set_attribute_value(8, v);if constexpr (false)unset_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]); } -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; } +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,25 +14861,25 @@ void Ifc4x1::IfcWindowType::setUserDefinedPartitioningType(const std::optional< const ifcopenshell::entity& Ifc4x1::IfcWindowType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1188]); } -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; } +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); } -void Ifc4x1::IfcWorkCalendar::setWorkingTimes(const std::optional< std::vector< ::Ifc4x1::IfcWorkTime > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x1::IfcWorkTime > > Ifc4x1::IfcWorkCalendar::ExceptionTimes() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x1::IfcWorkTime>(es); } -void Ifc4x1::IfcWorkCalendar::setExceptionTimes(const std::optional< std::vector< ::Ifc4x1::IfcWorkTime > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +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); } +void Ifc4x1::IfcWorkCalendar::setWorkingTimes(const std::optional< std::vector< ::Ifc4x1::IfcWorkTime > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +std::optional< std::vector< ::Ifc4x1::IfcWorkTime > > Ifc4x1::IfcWorkCalendar::ExceptionTimes() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x1::IfcWorkTime>(es); } +void Ifc4x1::IfcWorkCalendar::setExceptionTimes(const std::optional< std::vector< ::Ifc4x1::IfcWorkTime > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< ::Ifc4x1::IfcWorkCalendarTypeEnum::Value > Ifc4x1::IfcWorkCalendar::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcWorkCalendarTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcWorkCalendar::setPredefinedType(const std::optional< ::Ifc4x1::IfcWorkCalendarTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x1::IfcWorkCalendarTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const ifcopenshell::entity& Ifc4x1::IfcWorkCalendar::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1191]); } -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; } +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; } void Ifc4x1::IfcWorkControl::setCreationDate(const std::string& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::optional< std::vector< ::Ifc4x1::IfcPerson > > Ifc4x1::IfcWorkControl::Creators() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x1::IfcPerson>(es); } -void Ifc4x1::IfcWorkControl::setCreators(const std::optional< std::vector< ::Ifc4x1::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x1::IfcPerson > > Ifc4x1::IfcWorkControl::Creators() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x1::IfcPerson>(es); } +void Ifc4x1::IfcWorkControl::setCreators(const std::optional< std::vector< ::Ifc4x1::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< std::string > Ifc4x1::IfcWorkControl::Purpose() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x1::IfcWorkControl::setPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } std::optional< std::string > Ifc4x1::IfcWorkControl::Duration() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::string v = get_attribute_value(9); 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]); } -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; } +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]); } -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; } +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,10 +14909,10 @@ void Ifc4x1::IfcWorkSchedule::setPredefinedType(const std::optional< ::Ifc4x1::I const ifcopenshell::entity& Ifc4x1::IfcWorkSchedule::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1196]); } -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; } +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>(); } +::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>(); } void Ifc4x1::IfcWorkTime::setRecurrencePattern(const ::Ifc4x1::IfcRecurrencePattern& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x1::IfcWorkTime::Start() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcWorkTime::setStart(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } diff --git a/src/ifcparse/schemas/Ifc4x1.h b/src/ifcparse/schemas/Ifc4x1.h index 4820c934ee..f8aea74e3f 100644 --- a/src/ifcparse/schemas/Ifc4x1.h +++ b/src/ifcparse/schemas/Ifc4x1.h @@ -65,28 +65,28 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcOrganization An organization. /// IfcPerson A person. /// IfcPersonAndOrganization A person related to an organization. -class IFC_SCHEMA_API IfcActorSelect : public express::Select { +class IFC_SCHEMA_API IfcActorSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOrganization as() const { return express::Base::as(); } + // IfcOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPerson as() const { return express::Base::as(); } + // IfcPerson as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPersonAndOrganization as() const { return express::Base::as(); } + // IfcPersonAndOrganization as() const { return express::base::as(); } - IfcActorSelect(const IfcOrganization& c) : express::Select(c) {}; + IfcActorSelect(const IfcOrganization& c) : express::select(c) {}; - IfcActorSelect(const IfcPerson& c) : express::Select(c) {}; + IfcActorSelect(const IfcPerson& c) : express::select(c) {}; - IfcActorSelect(const IfcPersonAndOrganization& c) : express::Select(c) {}; + IfcActorSelect(const IfcPersonAndOrganization& c) : express::select(c) {}; }; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. @@ -103,694 +103,694 @@ public: /// Selecting IfcMeasureWithUnit allows the specification of both the actual figure for the value together with the currency in which the value is represented. /// Selecting IfcMonetaryMeasure allows the specification only of the value, the currency being as set by the global context /// 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_SCHEMA_API IfcAppliedValueSelect : public express::Select { +class IFC_SCHEMA_API IfcAppliedValueSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureWithUnit as() const { return express::Base::as(); } + // IfcMeasureWithUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReference as() const { return express::Base::as(); } + // IfcReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcValue as() const { return express::Base::as(); } + // IfcValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedMeasureValue as() const { return express::Base::as(); } + // IfcDerivedMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureValue as() const { return express::Base::as(); } + // IfcMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSimpleValue as() const { return express::Base::as(); } + // IfcSimpleValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } - IfcAppliedValueSelect(const IfcMeasureWithUnit& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMeasureWithUnit& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcReference& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcReference& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDerivedMeasureValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDerivedMeasureValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcForceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcForceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPHMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPHMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPowerMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPressureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcWarpingMomentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMeasureValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMeasureValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAreaMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcComplexNumber& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcComplexNumber& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcCountMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcCountMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcNumericMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcParameterValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcParameterValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRatioMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTimeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcVolumeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSimpleValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSimpleValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcBinary& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcBinary& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcBoolean& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDate& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDate& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDateTime& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDateTime& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDuration& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDuration& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIdentifier& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIdentifier& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcInteger& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcInteger& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLabel& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLabel& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLogical& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLogical& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositiveInteger& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcReal& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcReal& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcText& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcText& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTime& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTime& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTimeStamp& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTimeStamp& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. @@ -798,43 +798,43 @@ public: /// NOTE: Corresponding STEP type: axis2_placement, please refer to ISO/IS 10303-42:1994, p. 19 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 1.5 -class IFC_SCHEMA_API IfcAxis2Placement : public express::Select { +class IFC_SCHEMA_API IfcAxis2Placement : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAxis2Placement2D as() const { return express::Base::as(); } + // IfcAxis2Placement2D as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAxis2Placement3D as() const { return express::Base::as(); } + // IfcAxis2Placement3D as() const { return express::base::as(); } - IfcAxis2Placement(const IfcAxis2Placement2D& c) : express::Select(c) {}; + IfcAxis2Placement(const IfcAxis2Placement2D& c) : express::select(c) {}; - IfcAxis2Placement(const IfcAxis2Placement3D& c) : express::Select(c) {}; + IfcAxis2Placement(const IfcAxis2Placement3D& c) : express::select(c) {}; }; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// /// HISTORY New type in IFC Release 2x4 -class IFC_SCHEMA_API IfcBendingParameterSelect : public express::Select { +class IFC_SCHEMA_API IfcBendingParameterSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } - IfcBendingParameterSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcBendingParameterSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcBendingParameterSelect(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcBendingParameterSelect(const IfcPlaneAngleMeasure& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies @@ -853,40 +853,40 @@ public: /// (IfcSolidModel) are defined for being valid Boolean operands. /// /// HISTORY: New Type in IFC Release 1.5.1 -class IFC_SCHEMA_API IfcBooleanOperand : public express::Select { +class IFC_SCHEMA_API IfcBooleanOperand : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBooleanResult as() const { return express::Base::as(); } + // IfcBooleanResult as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCsgPrimitive3D as() const { return express::Base::as(); } + // IfcCsgPrimitive3D as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHalfSpaceSolid as() const { return express::Base::as(); } + // IfcHalfSpaceSolid as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidModel as() const { return express::Base::as(); } + // IfcSolidModel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTessellatedFaceSet as() const { return express::Base::as(); } + // IfcTessellatedFaceSet as() const { return express::base::as(); } - IfcBooleanOperand(const IfcBooleanResult& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcBooleanResult& c) : express::select(c) {}; - IfcBooleanOperand(const IfcCsgPrimitive3D& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcCsgPrimitive3D& c) : express::select(c) {}; - IfcBooleanOperand(const IfcHalfSpaceSolid& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcHalfSpaceSolid& c) : express::select(c) {}; - IfcBooleanOperand(const IfcSolidModel& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcSolidModel& c) : express::select(c) {}; - IfcBooleanOperand(const IfcTessellatedFaceSet& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcTessellatedFaceSet& c) : express::select(c) {}; }; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. @@ -897,22 +897,22 @@ public: /// /// IfcClassification (for classification information) /// IfcClassificationReference (for reference into a classification source) -class IFC_SCHEMA_API IfcClassificationReferenceSelect : public express::Select { +class IFC_SCHEMA_API IfcClassificationReferenceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassification as() const { return express::Base::as(); } + // IfcClassification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassificationReference as() const { return express::Base::as(); } + // IfcClassificationReference as() const { return express::base::as(); } - IfcClassificationReferenceSelect(const IfcClassification& c) : express::Select(c) {}; + IfcClassificationReferenceSelect(const IfcClassification& c) : express::select(c) {}; - IfcClassificationReferenceSelect(const IfcClassificationReference& c) : express::Select(c) {}; + IfcClassificationReferenceSelect(const IfcClassificationReference& c) : express::select(c) {}; }; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. @@ -928,22 +928,22 @@ public: /// /// IfcClassification (for referencing a classification system) /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) -class IFC_SCHEMA_API IfcClassificationSelect : public express::Select { +class IFC_SCHEMA_API IfcClassificationSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassification as() const { return express::Base::as(); } + // IfcClassification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassificationReference as() const { return express::Base::as(); } + // IfcClassificationReference as() const { return express::base::as(); } - IfcClassificationSelect(const IfcClassification& c) : express::Select(c) {}; + IfcClassificationSelect(const IfcClassification& c) : express::select(c) {}; - IfcClassificationSelect(const IfcClassificationReference& c) : express::Select(c) {}; + IfcClassificationSelect(const IfcClassificationReference& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. @@ -951,64 +951,64 @@ public: /// NOTE  Corresponding STEP name: colour. It has been made into a SELECT type in IFC to avoid multiple inheritance for pre defined colour. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_SCHEMA_API IfcColour : public express::Select { +class IFC_SCHEMA_API IfcColour : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColourSpecification as() const { return express::Base::as(); } + // IfcColourSpecification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedColour as() const { return express::Base::as(); } + // IfcPreDefinedColour as() const { return express::base::as(); } - IfcColour(const IfcColourSpecification& c) : express::Select(c) {}; + IfcColour(const IfcColourSpecification& c) : express::select(c) {}; - IfcColour(const IfcPreDefinedColour& c) : express::Select(c) {}; + IfcColour(const IfcPreDefinedColour& c) : express::select(c) {}; }; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcColourOrFactor : public express::Select { +class IFC_SCHEMA_API IfcColourOrFactor : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColourRgb as() const { return express::Base::as(); } + // IfcColourRgb as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } - IfcColourOrFactor(const IfcColourRgb& c) : express::Select(c) {}; + IfcColourOrFactor(const IfcColourRgb& c) : express::select(c) {}; - IfcColourOrFactor(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcColourOrFactor(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; }; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// /// HISTORY  New select type in IFC2x4. -class IFC_SCHEMA_API IfcCoordinateReferenceSystemSelect : public express::Select { +class IFC_SCHEMA_API IfcCoordinateReferenceSystemSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCoordinateReferenceSystem as() const { return express::Base::as(); } + // IfcCoordinateReferenceSystem as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcGeometricRepresentationContext as() const { return express::Base::as(); } + // IfcGeometricRepresentationContext as() const { return express::base::as(); } - IfcCoordinateReferenceSystemSelect(const IfcCoordinateReferenceSystem& c) : express::Select(c) {}; + IfcCoordinateReferenceSystemSelect(const IfcCoordinateReferenceSystem& c) : express::select(c) {}; - IfcCoordinateReferenceSystemSelect(const IfcGeometricRepresentationContext& c) : express::Select(c) {}; + IfcCoordinateReferenceSystemSelect(const IfcGeometricRepresentationContext& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. @@ -1017,22 +1017,22 @@ public: /// NOTE Corresponding ISO 10303-42 type: csg_select, please refer to ISO/IS 10303-42:1994, p.168 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcCsgSelect : public express::Select { +class IFC_SCHEMA_API IfcCsgSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBooleanResult as() const { return express::Base::as(); } + // IfcBooleanResult as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCsgPrimitive3D as() const { return express::Base::as(); } + // IfcCsgPrimitive3D as() const { return express::base::as(); } - IfcCsgSelect(const IfcBooleanResult& c) : express::Select(c) {}; + IfcCsgSelect(const IfcBooleanResult& c) : express::select(c) {}; - IfcCsgSelect(const IfcCsgPrimitive3D& c) : express::Select(c) {}; + IfcCsgSelect(const IfcCsgPrimitive3D& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. @@ -1040,59 +1040,59 @@ public: /// NOTE Corresponding ISO 10303 name: curve_font_or_scaled_curve_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_SCHEMA_API IfcCurveFontOrScaledCurveFontSelect : public express::Select { +class IFC_SCHEMA_API IfcCurveFontOrScaledCurveFontSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFontAndScaling as() const { return express::Base::as(); } + // IfcCurveStyleFontAndScaling as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFontSelect as() const { return express::Base::as(); } + // IfcCurveStyleFontSelect as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFont as() const { return express::Base::as(); } + // IfcCurveStyleFont as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedCurveFont as() const { return express::Base::as(); } + // IfcPreDefinedCurveFont as() const { return express::base::as(); } - IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontAndScaling& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontAndScaling& c) : express::select(c) {}; - IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontSelect& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontSelect& c) : express::select(c) {}; - IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFont& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFont& c) : express::select(c) {}; - IfcCurveFontOrScaledCurveFontSelect(const IfcPreDefinedCurveFont& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcPreDefinedCurveFont& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcCurveOnSurface : public express::Select { +class IFC_SCHEMA_API IfcCurveOnSurface : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompositeCurveOnSurface as() const { return express::Base::as(); } + // IfcCompositeCurveOnSurface as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPcurve as() const { return express::Base::as(); } + // IfcPcurve as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceCurve as() const { return express::Base::as(); } + // IfcSurfaceCurve as() const { return express::base::as(); } - IfcCurveOnSurface(const IfcCompositeCurveOnSurface& c) : express::Select(c) {}; + IfcCurveOnSurface(const IfcCompositeCurveOnSurface& c) : express::select(c) {}; - IfcCurveOnSurface(const IfcPcurve& c) : express::Select(c) {}; + IfcCurveOnSurface(const IfcPcurve& c) : express::select(c) {}; - IfcCurveOnSurface(const IfcSurfaceCurve& c) : express::Select(c) {}; + IfcCurveOnSurface(const IfcSurfaceCurve& c) : express::select(c) {}; }; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve @@ -1103,22 +1103,22 @@ public: /// IfcEdgeCurve /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_SCHEMA_API IfcCurveOrEdgeCurve : public express::Select { +class IFC_SCHEMA_API IfcCurveOrEdgeCurve : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoundedCurve as() const { return express::Base::as(); } + // IfcBoundedCurve as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEdgeCurve as() const { return express::Base::as(); } + // IfcEdgeCurve as() const { return express::base::as(); } - IfcCurveOrEdgeCurve(const IfcBoundedCurve& c) : express::Select(c) {}; + IfcCurveOrEdgeCurve(const IfcBoundedCurve& c) : express::select(c) {}; - IfcCurveOrEdgeCurve(const IfcEdgeCurve& c) : express::Select(c) {}; + IfcCurveOrEdgeCurve(const IfcEdgeCurve& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. @@ -1126,22 +1126,22 @@ public: /// NOTE Corresponding ISO 10303 name: curve_style_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_SCHEMA_API IfcCurveStyleFontSelect : public express::Select { +class IFC_SCHEMA_API IfcCurveStyleFontSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFont as() const { return express::Base::as(); } + // IfcCurveStyleFont as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedCurveFont as() const { return express::Base::as(); } + // IfcPreDefinedCurveFont as() const { return express::base::as(); } - IfcCurveStyleFontSelect(const IfcCurveStyleFont& c) : express::Select(c) {}; + IfcCurveStyleFontSelect(const IfcCurveStyleFont& c) : express::select(c) {}; - IfcCurveStyleFontSelect(const IfcPreDefinedCurveFont& c) : express::Select(c) {}; + IfcCurveStyleFontSelect(const IfcPreDefinedCurveFont& c) : express::select(c) {}; }; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. @@ -1151,22 +1151,22 @@ public: /// IfcPropertyDefinition /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcDefinitionSelect : public express::Select { +class IFC_SCHEMA_API IfcDefinitionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcObjectDefinition as() const { return express::Base::as(); } + // IfcObjectDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertyDefinition as() const { return express::Base::as(); } + // IfcPropertyDefinition as() const { return express::base::as(); } - IfcDefinitionSelect(const IfcObjectDefinition& c) : express::Select(c) {}; + IfcDefinitionSelect(const IfcObjectDefinition& c) : express::select(c) {}; - IfcDefinitionSelect(const IfcPropertyDefinition& c) : express::Select(c) {}; + IfcDefinitionSelect(const IfcPropertyDefinition& c) : express::select(c) {}; }; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. @@ -1243,436 +1243,436 @@ public: /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. -class IFC_SCHEMA_API IfcDerivedMeasureValue : public express::Select { +class IFC_SCHEMA_API IfcDerivedMeasureValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } - IfcDerivedMeasureValue(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcForceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcForceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPHMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPHMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPowerMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPressureMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcWarpingMomentMeasure& c) : express::select(c) {}; }; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. @@ -1683,22 +1683,22 @@ public: /// /// IfcDocumentInformation (for "metadata" of an external document) /// IfcDocumentReference (for reference within a document) -class IFC_SCHEMA_API IfcDocumentSelect : public express::Select { +class IFC_SCHEMA_API IfcDocumentSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDocumentInformation as() const { return express::Base::as(); } + // IfcDocumentInformation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDocumentReference as() const { return express::Base::as(); } + // IfcDocumentReference as() const { return express::base::as(); } - IfcDocumentSelect(const IfcDocumentInformation& c) : express::Select(c) {}; + IfcDocumentSelect(const IfcDocumentInformation& c) : express::select(c) {}; - IfcDocumentSelect(const IfcDocumentReference& c) : express::Select(c) {}; + IfcDocumentSelect(const IfcDocumentReference& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. @@ -1707,46 +1707,46 @@ public: /// the final definition of the formal standard. /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcFillStyleSelect : public express::Select { +class IFC_SCHEMA_API IfcFillStyleSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColour as() const { return express::Base::as(); } + // IfcColour as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColourSpecification as() const { return express::Base::as(); } + // IfcColourSpecification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedColour as() const { return express::Base::as(); } + // IfcPreDefinedColour as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternallyDefinedHatchStyle as() const { return express::Base::as(); } + // IfcExternallyDefinedHatchStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFillAreaStyleHatching as() const { return express::Base::as(); } + // IfcFillAreaStyleHatching as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFillAreaStyleTiles as() const { return express::Base::as(); } + // IfcFillAreaStyleTiles as() const { return express::base::as(); } - IfcFillStyleSelect(const IfcColour& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcColour& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcColourSpecification& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcColourSpecification& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcPreDefinedColour& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcPreDefinedColour& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcExternallyDefinedHatchStyle& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcExternallyDefinedHatchStyle& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcFillAreaStyleHatching& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcFillAreaStyleHatching& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcFillAreaStyleTiles& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcFillAreaStyleTiles& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. @@ -1754,28 +1754,28 @@ public: /// NOTE: Corresponding ISO 10303 type: geometric_set_select. Please refer to ISO/IS 10303-42:1994, p. 169 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 2x. -class IFC_SCHEMA_API IfcGeometricSetSelect : public express::Select { +class IFC_SCHEMA_API IfcGeometricSetSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurve as() const { return express::Base::as(); } + // IfcCurve as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPoint as() const { return express::Base::as(); } + // IfcPoint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurface as() const { return express::Base::as(); } + // IfcSurface as() const { return express::base::as(); } - IfcGeometricSetSelect(const IfcCurve& c) : express::Select(c) {}; + IfcGeometricSetSelect(const IfcCurve& c) : express::select(c) {}; - IfcGeometricSetSelect(const IfcPoint& c) : express::Select(c) {}; + IfcGeometricSetSelect(const IfcPoint& c) : express::select(c) {}; - IfcGeometricSetSelect(const IfcSurface& c) : express::Select(c) {}; + IfcGeometricSetSelect(const IfcSurface& c) : express::select(c) {}; }; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. @@ -1786,43 +1786,43 @@ public: /// IfcVirtualGridIntersection /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcGridPlacementDirectionSelect : public express::Select { +class IFC_SCHEMA_API IfcGridPlacementDirectionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDirection as() const { return express::Base::as(); } + // IfcDirection as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVirtualGridIntersection as() const { return express::Base::as(); } + // IfcVirtualGridIntersection as() const { return express::base::as(); } - IfcGridPlacementDirectionSelect(const IfcDirection& c) : express::Select(c) {}; + IfcGridPlacementDirectionSelect(const IfcDirection& c) : express::select(c) {}; - IfcGridPlacementDirectionSelect(const IfcVirtualGridIntersection& c) : express::Select(c) {}; + IfcGridPlacementDirectionSelect(const IfcVirtualGridIntersection& c) : express::select(c) {}; }; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcHatchLineDistanceSelect : public express::Select { +class IFC_SCHEMA_API IfcHatchLineDistanceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVector as() const { return express::Base::as(); } + // IfcVector as() const { return express::base::as(); } - IfcHatchLineDistanceSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcHatchLineDistanceSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcHatchLineDistanceSelect(const IfcVector& c) : express::Select(c) {}; + IfcHatchLineDistanceSelect(const IfcVector& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. @@ -1832,22 +1832,22 @@ public: /// NOTE: Corresponding ISO 10303 name: layered_item. It was called layered_things in the ISO/CD version and had been renamed to layered_item in the ISO/IS final version. Please refer to ISO/IS 10303-46:1994, p. 13 for the final definition of the formal standard. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcLayeredItem : public express::Select { +class IFC_SCHEMA_API IfcLayeredItem : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRepresentation as() const { return express::Base::as(); } + // IfcRepresentation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRepresentationItem as() const { return express::Base::as(); } + // IfcRepresentationItem as() const { return express::base::as(); } - IfcLayeredItem(const IfcRepresentation& c) : express::Select(c) {}; + IfcLayeredItem(const IfcRepresentation& c) : express::select(c) {}; - IfcLayeredItem(const IfcRepresentationItem& c) : express::Select(c) {}; + IfcLayeredItem(const IfcRepresentationItem& c) : express::select(c) {}; }; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. @@ -1860,22 +1860,22 @@ public: /// IfcLibraryReference (for reference into a library of information by location) /// /// 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_SCHEMA_API IfcLibrarySelect : public express::Select { +class IFC_SCHEMA_API IfcLibrarySelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLibraryInformation as() const { return express::Base::as(); } + // IfcLibraryInformation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLibraryReference as() const { return express::Base::as(); } + // IfcLibraryReference as() const { return express::base::as(); } - IfcLibrarySelect(const IfcLibraryInformation& c) : express::Select(c) {}; + IfcLibrarySelect(const IfcLibraryInformation& c) : express::select(c) {}; - IfcLibrarySelect(const IfcLibraryReference& c) : express::Select(c) {}; + IfcLibrarySelect(const IfcLibraryReference& c) : express::select(c) {}; }; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. @@ -1900,22 +1900,22 @@ public: /// directions covers all cases. /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcLightDistributionDataSourceSelect : public express::Select { +class IFC_SCHEMA_API IfcLightDistributionDataSourceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalReference as() const { return express::Base::as(); } + // IfcExternalReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLightIntensityDistribution as() const { return express::Base::as(); } + // IfcLightIntensityDistribution as() const { return express::base::as(); } - IfcLightDistributionDataSourceSelect(const IfcExternalReference& c) : express::Select(c) {}; + IfcLightDistributionDataSourceSelect(const IfcExternalReference& c) : express::select(c) {}; - IfcLightDistributionDataSourceSelect(const IfcLightIntensityDistribution& c) : express::Select(c) {}; + IfcLightDistributionDataSourceSelect(const IfcLightIntensityDistribution& c) : express::select(c) {}; }; /// IfcMaterialSelect provides selection of either a material @@ -1944,28 +1944,28 @@ public: /// /// IFC2x4 CHANGE The select now includes two new abstract entities IfcMaterialDefinition /// and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards. -class IFC_SCHEMA_API IfcMaterialSelect : public express::Select { +class IFC_SCHEMA_API IfcMaterialSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialDefinition as() const { return express::Base::as(); } + // IfcMaterialDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialList as() const { return express::Base::as(); } + // IfcMaterialList as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialUsageDefinition as() const { return express::Base::as(); } + // IfcMaterialUsageDefinition as() const { return express::base::as(); } - IfcMaterialSelect(const IfcMaterialDefinition& c) : express::Select(c) {}; + IfcMaterialSelect(const IfcMaterialDefinition& c) : express::select(c) {}; - IfcMaterialSelect(const IfcMaterialList& c) : express::Select(c) {}; + IfcMaterialSelect(const IfcMaterialList& c) : express::select(c) {}; - IfcMaterialSelect(const IfcMaterialUsageDefinition& c) : express::Select(c) {}; + IfcMaterialSelect(const IfcMaterialUsageDefinition& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). @@ -1977,148 +1977,148 @@ public: /// HISTORY New type in IFC Release 1.5.1. /// /// IFC 2x4 change: added IfcNonNegativeLengthMeasure -class IFC_SCHEMA_API IfcMeasureValue : public express::Select { +class IFC_SCHEMA_API IfcMeasureValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } - IfcMeasureValue(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcAreaMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcComplexNumber& c) : express::Select(c) {}; + IfcMeasureValue(const IfcComplexNumber& c) : express::select(c) {}; - IfcMeasureValue(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcCountMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcCountMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcLengthMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcMassMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcMassMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcNumericMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcParameterValue& c) : express::Select(c) {}; + IfcMeasureValue(const IfcParameterValue& c) : express::select(c) {}; - IfcMeasureValue(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcRatioMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcTimeMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcVolumeMeasure& c) : express::select(c) {}; }; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. @@ -2133,838 +2133,838 @@ public: /// IfcTable /// IfcText /// IfcTimeSeries -class IFC_SCHEMA_API IfcMetricValueSelect : public express::Select { +class IFC_SCHEMA_API IfcMetricValueSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAppliedValue as() const { return express::Base::as(); } + // IfcAppliedValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureWithUnit as() const { return express::Base::as(); } + // IfcMeasureWithUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReference as() const { return express::Base::as(); } + // IfcReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTable as() const { return express::Base::as(); } + // IfcTable as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeSeries as() const { return express::Base::as(); } + // IfcTimeSeries as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcValue as() const { return express::Base::as(); } + // IfcValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedMeasureValue as() const { return express::Base::as(); } + // IfcDerivedMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureValue as() const { return express::Base::as(); } + // IfcMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSimpleValue as() const { return express::Base::as(); } + // IfcSimpleValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } - IfcMetricValueSelect(const IfcAppliedValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAppliedValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMeasureWithUnit& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMeasureWithUnit& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcReference& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcReference& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTable& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTable& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTimeSeries& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTimeSeries& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDerivedMeasureValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDerivedMeasureValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcForceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcForceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPHMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPHMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPowerMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPressureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcWarpingMomentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMeasureValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMeasureValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAreaMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcComplexNumber& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcComplexNumber& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcCountMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcCountMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcNumericMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcParameterValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcParameterValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRatioMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTimeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcVolumeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSimpleValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSimpleValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcBinary& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcBinary& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcBoolean& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDate& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDate& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDateTime& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDateTime& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDuration& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDuration& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIdentifier& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIdentifier& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcInteger& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcInteger& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLabel& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLabel& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLogical& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLogical& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositiveInteger& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcReal& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcReal& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcText& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcText& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTime& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTime& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTimeStamp& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTimeStamp& c) : express::select(c) {}; }; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionSelect : public express::Select { +class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } - IfcModulusOfRotationalSubgradeReactionSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcModulusOfRotationalSubgradeReactionSelect(const IfcBoolean& c) : express::select(c) {}; - IfcModulusOfRotationalSubgradeReactionSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcModulusOfRotationalSubgradeReactionSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; }; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcModulusOfSubgradeReactionSelect : public express::Select { +class IFC_SCHEMA_API IfcModulusOfSubgradeReactionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } - IfcModulusOfSubgradeReactionSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcModulusOfSubgradeReactionSelect(const IfcBoolean& c) : express::select(c) {}; - IfcModulusOfSubgradeReactionSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcModulusOfSubgradeReactionSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; }; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcModulusOfTranslationalSubgradeReactionSelect : public express::Select { +class IFC_SCHEMA_API IfcModulusOfTranslationalSubgradeReactionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } - IfcModulusOfTranslationalSubgradeReactionSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcModulusOfTranslationalSubgradeReactionSelect(const IfcBoolean& c) : express::select(c) {}; - IfcModulusOfTranslationalSubgradeReactionSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcModulusOfTranslationalSubgradeReactionSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; }; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// /// HISTORY  New select type in IFC Release 2.0. -class IFC_SCHEMA_API IfcObjectReferenceSelect : public express::Select { +class IFC_SCHEMA_API IfcObjectReferenceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAddress as() const { return express::Base::as(); } + // IfcAddress as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAppliedValue as() const { return express::Base::as(); } + // IfcAppliedValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalReference as() const { return express::Base::as(); } + // IfcExternalReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialDefinition as() const { return express::Base::as(); } + // IfcMaterialDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOrganization as() const { return express::Base::as(); } + // IfcOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPerson as() const { return express::Base::as(); } + // IfcPerson as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPersonAndOrganization as() const { return express::Base::as(); } + // IfcPersonAndOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTable as() const { return express::Base::as(); } + // IfcTable as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeSeries as() const { return express::Base::as(); } + // IfcTimeSeries as() const { return express::base::as(); } - IfcObjectReferenceSelect(const IfcAddress& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcAddress& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcAppliedValue& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcAppliedValue& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcExternalReference& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcExternalReference& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcMaterialDefinition& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcMaterialDefinition& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcOrganization& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcOrganization& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcPerson& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcPerson& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcPersonAndOrganization& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcPersonAndOrganization& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcTable& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcTable& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcTimeSeries& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcTimeSeries& c) : express::select(c) {}; }; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. @@ -2974,22 +2974,22 @@ public: /// IfcVertexPoint /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_SCHEMA_API IfcPointOrVertexPoint : public express::Select { +class IFC_SCHEMA_API IfcPointOrVertexPoint : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPoint as() const { return express::Base::as(); } + // IfcPoint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVertexPoint as() const { return express::Base::as(); } + // IfcVertexPoint as() const { return express::base::as(); } - IfcPointOrVertexPoint(const IfcPoint& c) : express::Select(c) {}; + IfcPointOrVertexPoint(const IfcPoint& c) : express::select(c) {}; - IfcPointOrVertexPoint(const IfcVertexPoint& c) : express::Select(c) {}; + IfcPointOrVertexPoint(const IfcVertexPoint& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The presentation style select is a selection of one of many kinds of styles, a different one for each kind of geometric representation item to be styled. @@ -3000,40 +3000,40 @@ public: /// HISTORY New type in IFC2x2. /// /// IFC2x4 CHANGE The select type has been deprecated. -class IFC_SCHEMA_API IfcPresentationStyleSelect : public express::Select { +class IFC_SCHEMA_API IfcPresentationStyleSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyle as() const { return express::Base::as(); } + // IfcCurveStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFillAreaStyle as() const { return express::Base::as(); } + // IfcFillAreaStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNullStyle as() const { return express::Base::as(); } + // IfcNullStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyle as() const { return express::Base::as(); } + // IfcSurfaceStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTextStyle as() const { return express::Base::as(); } + // IfcTextStyle as() const { return express::base::as(); } - IfcPresentationStyleSelect(const IfcCurveStyle& c) : express::Select(c) {}; + IfcPresentationStyleSelect(const IfcCurveStyle& c) : express::select(c) {}; - IfcPresentationStyleSelect(const IfcFillAreaStyle& c) : express::Select(c) {}; + IfcPresentationStyleSelect(const IfcFillAreaStyle& c) : express::select(c) {}; - IfcPresentationStyleSelect(const IfcNullStyle& c) : express::Select(c) {}; + IfcPresentationStyleSelect(const IfcNullStyle& c) : express::select(c) {}; - IfcPresentationStyleSelect(const IfcSurfaceStyle& c) : express::Select(c) {}; + IfcPresentationStyleSelect(const IfcSurfaceStyle& c) : express::select(c) {}; - IfcPresentationStyleSelect(const IfcTextStyle& c) : express::Select(c) {}; + IfcPresentationStyleSelect(const IfcTextStyle& c) : express::select(c) {}; }; /// IfcProcessSelectprovides the option to either @@ -3046,41 +3046,41 @@ public: /// IfcTypeProcess /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcProcessSelect : public express::Select { +class IFC_SCHEMA_API IfcProcessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProcess as() const { return express::Base::as(); } + // IfcProcess as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTypeProcess as() const { return express::Base::as(); } + // IfcTypeProcess as() const { return express::base::as(); } - IfcProcessSelect(const IfcProcess& c) : express::Select(c) {}; + IfcProcessSelect(const IfcProcess& c) : express::select(c) {}; - IfcProcessSelect(const IfcTypeProcess& c) : express::Select(c) {}; + IfcProcessSelect(const IfcTypeProcess& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcProductRepresentationSelect : public express::Select { +class IFC_SCHEMA_API IfcProductRepresentationSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProductDefinitionShape as() const { return express::Base::as(); } + // IfcProductDefinitionShape as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRepresentationMap as() const { return express::Base::as(); } + // IfcRepresentationMap as() const { return express::base::as(); } - IfcProductRepresentationSelect(const IfcProductDefinitionShape& c) : express::Select(c) {}; + IfcProductRepresentationSelect(const IfcProductDefinitionShape& c) : express::select(c) {}; - IfcProductRepresentationSelect(const IfcRepresentationMap& c) : express::Select(c) {}; + IfcProductRepresentationSelect(const IfcRepresentationMap& c) : express::select(c) {}; }; /// IfcProductSelectprovides the option to either select a @@ -3092,152 +3092,152 @@ public: /// IfcTypeProduct /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcProductSelect : public express::Select { +class IFC_SCHEMA_API IfcProductSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProduct as() const { return express::Base::as(); } + // IfcProduct as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTypeProduct as() const { return express::Base::as(); } + // IfcTypeProduct as() const { return express::base::as(); } - IfcProductSelect(const IfcProduct& c) : express::Select(c) {}; + IfcProductSelect(const IfcProduct& c) : express::select(c) {}; - IfcProductSelect(const IfcTypeProduct& c) : express::Select(c) {}; + IfcProductSelect(const IfcTypeProduct& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcPropertySetDefinitionSelect : public express::Select { +class IFC_SCHEMA_API IfcPropertySetDefinitionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertySetDefinition as() const { return express::Base::as(); } + // IfcPropertySetDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertySetDefinitionSet as() const { return express::Base::as(); } + // IfcPropertySetDefinitionSet as() const { return express::base::as(); } - IfcPropertySetDefinitionSelect(const IfcPropertySetDefinition& c) : express::Select(c) {}; + IfcPropertySetDefinitionSelect(const IfcPropertySetDefinition& c) : express::select(c) {}; - IfcPropertySetDefinitionSelect(const IfcPropertySetDefinitionSet& c) : express::Select(c) {}; + IfcPropertySetDefinitionSelect(const IfcPropertySetDefinitionSet& c) : express::select(c) {}; }; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// /// HISTORY  New Select type in IFC2x4. -class IFC_SCHEMA_API IfcResourceObjectSelect : public express::Select { +class IFC_SCHEMA_API IfcResourceObjectSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcActorRole as() const { return express::Base::as(); } + // IfcActorRole as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAppliedValue as() const { return express::Base::as(); } + // IfcAppliedValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcApproval as() const { return express::Base::as(); } + // IfcApproval as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcConstraint as() const { return express::Base::as(); } + // IfcConstraint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentUnit as() const { return express::Base::as(); } + // IfcContextDependentUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcConversionBasedUnit as() const { return express::Base::as(); } + // IfcConversionBasedUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalInformation as() const { return express::Base::as(); } + // IfcExternalInformation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalReference as() const { return express::Base::as(); } + // IfcExternalReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialDefinition as() const { return express::Base::as(); } + // IfcMaterialDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOrganization as() const { return express::Base::as(); } + // IfcOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPerson as() const { return express::Base::as(); } + // IfcPerson as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPersonAndOrganization as() const { return express::Base::as(); } + // IfcPersonAndOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPhysicalQuantity as() const { return express::Base::as(); } + // IfcPhysicalQuantity as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProfileDef as() const { return express::Base::as(); } + // IfcProfileDef as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertyAbstraction as() const { return express::Base::as(); } + // IfcPropertyAbstraction as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShapeAspect as() const { return express::Base::as(); } + // IfcShapeAspect as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeSeries as() const { return express::Base::as(); } + // IfcTimeSeries as() const { return express::base::as(); } - IfcResourceObjectSelect(const IfcActorRole& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcActorRole& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcAppliedValue& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcAppliedValue& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcApproval& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcApproval& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcConstraint& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcConstraint& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcContextDependentUnit& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcContextDependentUnit& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcConversionBasedUnit& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcConversionBasedUnit& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcExternalInformation& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcExternalInformation& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcExternalReference& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcExternalReference& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcMaterialDefinition& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcMaterialDefinition& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcOrganization& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcOrganization& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPerson& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPerson& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPersonAndOrganization& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPersonAndOrganization& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPhysicalQuantity& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPhysicalQuantity& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcProfileDef& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcProfileDef& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPropertyAbstraction& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPropertyAbstraction& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcShapeAspect& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcShapeAspect& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcTimeSeries& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcTimeSeries& c) : express::select(c) {}; }; /// IfcResourceSelectprovides the option to either select a @@ -3249,62 +3249,62 @@ public: /// IfcTypeResource /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcResourceSelect : public express::Select { +class IFC_SCHEMA_API IfcResourceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcResource as() const { return express::Base::as(); } + // IfcResource as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTypeResource as() const { return express::Base::as(); } + // IfcTypeResource as() const { return express::base::as(); } - IfcResourceSelect(const IfcResource& c) : express::Select(c) {}; + IfcResourceSelect(const IfcResource& c) : express::select(c) {}; - IfcResourceSelect(const IfcTypeResource& c) : express::Select(c) {}; + IfcResourceSelect(const IfcTypeResource& c) : express::select(c) {}; }; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcRotationalStiffnessSelect : public express::Select { +class IFC_SCHEMA_API IfcRotationalStiffnessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } - IfcRotationalStiffnessSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcRotationalStiffnessSelect(const IfcBoolean& c) : express::select(c) {}; - IfcRotationalStiffnessSelect(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcRotationalStiffnessSelect(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcSegmentIndexSelect : public express::Select { +class IFC_SCHEMA_API IfcSegmentIndexSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcArcIndex as() const { return express::Base::as(); } + // IfcArcIndex as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLineIndex as() const { return express::Base::as(); } + // IfcLineIndex as() const { return express::base::as(); } - IfcSegmentIndexSelect(const IfcArcIndex& c) : express::Select(c) {}; + IfcSegmentIndexSelect(const IfcArcIndex& c) : express::select(c) {}; - IfcSegmentIndexSelect(const IfcLineIndex& c) : express::Select(c) {}; + IfcSegmentIndexSelect(const IfcLineIndex& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. @@ -3318,22 +3318,22 @@ public: /// NOTE  Corresponding ISO 10303 type: shell. Please refer to ISO/IS 10303-42:1994, p. 127 for the final definition of the formal standard. Only the select items closed_shell (IfcClosedShell) and open_shell (IfcOpenShell) have been incorporated in the current IFC release. /// /// HISTORY  New type in IFC2x. -class IFC_SCHEMA_API IfcShell : public express::Select { +class IFC_SCHEMA_API IfcShell : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClosedShell as() const { return express::Base::as(); } + // IfcClosedShell as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOpenShell as() const { return express::Base::as(); } + // IfcOpenShell as() const { return express::base::as(); } - IfcShell(const IfcClosedShell& c) : express::Select(c) {}; + IfcShell(const IfcClosedShell& c) : express::select(c) {}; - IfcShell(const IfcOpenShell& c) : express::Select(c) {}; + IfcShell(const IfcOpenShell& c) : express::select(c) {}; }; /// IfcSimpleValue is a select type for selecting between simple value types. @@ -3355,94 +3355,94 @@ public: /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. -class IFC_SCHEMA_API IfcSimpleValue : public express::Select { +class IFC_SCHEMA_API IfcSimpleValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } - IfcSimpleValue(const IfcBinary& c) : express::Select(c) {}; + IfcSimpleValue(const IfcBinary& c) : express::select(c) {}; - IfcSimpleValue(const IfcBoolean& c) : express::Select(c) {}; + IfcSimpleValue(const IfcBoolean& c) : express::select(c) {}; - IfcSimpleValue(const IfcDate& c) : express::Select(c) {}; + IfcSimpleValue(const IfcDate& c) : express::select(c) {}; - IfcSimpleValue(const IfcDateTime& c) : express::Select(c) {}; + IfcSimpleValue(const IfcDateTime& c) : express::select(c) {}; - IfcSimpleValue(const IfcDuration& c) : express::Select(c) {}; + IfcSimpleValue(const IfcDuration& c) : express::select(c) {}; - IfcSimpleValue(const IfcIdentifier& c) : express::Select(c) {}; + IfcSimpleValue(const IfcIdentifier& c) : express::select(c) {}; - IfcSimpleValue(const IfcInteger& c) : express::Select(c) {}; + IfcSimpleValue(const IfcInteger& c) : express::select(c) {}; - IfcSimpleValue(const IfcLabel& c) : express::Select(c) {}; + IfcSimpleValue(const IfcLabel& c) : express::select(c) {}; - IfcSimpleValue(const IfcLogical& c) : express::Select(c) {}; + IfcSimpleValue(const IfcLogical& c) : express::select(c) {}; - IfcSimpleValue(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcSimpleValue(const IfcPositiveInteger& c) : express::select(c) {}; - IfcSimpleValue(const IfcReal& c) : express::Select(c) {}; + IfcSimpleValue(const IfcReal& c) : express::select(c) {}; - IfcSimpleValue(const IfcText& c) : express::Select(c) {}; + IfcSimpleValue(const IfcText& c) : express::select(c) {}; - IfcSimpleValue(const IfcTime& c) : express::Select(c) {}; + IfcSimpleValue(const IfcTime& c) : express::select(c) {}; - IfcSimpleValue(const IfcTimeStamp& c) : express::Select(c) {}; + IfcSimpleValue(const IfcTimeStamp& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. @@ -3457,46 +3457,46 @@ public: /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. -class IFC_SCHEMA_API IfcSizeSelect : public express::Select { +class IFC_SCHEMA_API IfcSizeSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } - IfcSizeSelect(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcRatioMeasure& c) : express::select(c) {}; }; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. @@ -3506,22 +3506,22 @@ public: /// IfcClosedShell /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcSolidOrShell : public express::Select { +class IFC_SCHEMA_API IfcSolidOrShell : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClosedShell as() const { return express::Base::as(); } + // IfcClosedShell as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidModel as() const { return express::Base::as(); } + // IfcSolidModel as() const { return express::base::as(); } - IfcSolidOrShell(const IfcClosedShell& c) : express::Select(c) {}; + IfcSolidOrShell(const IfcClosedShell& c) : express::select(c) {}; - IfcSolidOrShell(const IfcSolidModel& c) : express::Select(c) {}; + IfcSolidOrShell(const IfcSolidModel& c) : express::select(c) {}; }; /// Definition from IAI: The @@ -3536,22 +3536,22 @@ public: /// /// HISTORY New select type /// in IFC2x4. -class IFC_SCHEMA_API IfcSpaceBoundarySelect : public express::Select { +class IFC_SCHEMA_API IfcSpaceBoundarySelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalSpatialElement as() const { return express::Base::as(); } + // IfcExternalSpatialElement as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpace as() const { return express::Base::as(); } + // IfcSpace as() const { return express::base::as(); } - IfcSpaceBoundarySelect(const IfcExternalSpatialElement& c) : express::Select(c) {}; + IfcSpaceBoundarySelect(const IfcExternalSpatialElement& c) : express::select(c) {}; - IfcSpaceBoundarySelect(const IfcSpace& c) : express::Select(c) {}; + IfcSpaceBoundarySelect(const IfcSpace& c) : express::select(c) {}; }; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. @@ -3564,22 +3564,22 @@ public: /// For each surface side style only one of the two methods is needed for calculating the specular part of the equation. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcSpecularHighlightSelect : public express::Select { +class IFC_SCHEMA_API IfcSpecularHighlightSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecularExponent as() const { return express::Base::as(); } + // IfcSpecularExponent as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecularRoughness as() const { return express::Base::as(); } + // IfcSpecularRoughness as() const { return express::base::as(); } - IfcSpecularHighlightSelect(const IfcSpecularExponent& c) : express::Select(c) {}; + IfcSpecularHighlightSelect(const IfcSpecularExponent& c) : express::select(c) {}; - IfcSpecularHighlightSelect(const IfcSpecularRoughness& c) : express::Select(c) {}; + IfcSpecularHighlightSelect(const IfcSpecularRoughness& c) : express::select(c) {}; }; /// Definition from IAI: This type definition shall be used to @@ -3591,22 +3591,22 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcStructuralActivityAssignmentSelect : public express::Select { +class IFC_SCHEMA_API IfcStructuralActivityAssignmentSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElement as() const { return express::Base::as(); } + // IfcElement as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcStructuralItem as() const { return express::Base::as(); } + // IfcStructuralItem as() const { return express::base::as(); } - IfcStructuralActivityAssignmentSelect(const IfcElement& c) : express::Select(c) {}; + IfcStructuralActivityAssignmentSelect(const IfcElement& c) : express::select(c) {}; - IfcStructuralActivityAssignmentSelect(const IfcStructuralItem& c) : express::Select(c) {}; + IfcStructuralActivityAssignmentSelect(const IfcStructuralItem& c) : express::select(c) {}; }; /// The style assignment select is a selection of two wasy of assigning presentation styles to an IfcStyledItem. @@ -3619,22 +3619,22 @@ public: /// NOTE The select type has been introduced to provide an upward compatible improvement for assigning styles to a styled items. /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcStyleAssignmentSelect : public express::Select { +class IFC_SCHEMA_API IfcStyleAssignmentSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPresentationStyle as() const { return express::Base::as(); } + // IfcPresentationStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPresentationStyleAssignment as() const { return express::Base::as(); } + // IfcPresentationStyleAssignment as() const { return express::base::as(); } - IfcStyleAssignmentSelect(const IfcPresentationStyle& c) : express::Select(c) {}; + IfcStyleAssignmentSelect(const IfcPresentationStyle& c) : express::select(c) {}; - IfcStyleAssignmentSelect(const IfcPresentationStyleAssignment& c) : express::Select(c) {}; + IfcStyleAssignmentSelect(const IfcPresentationStyleAssignment& c) : express::select(c) {}; }; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface @@ -3646,28 +3646,28 @@ public: /// IfcFaceBasedSurfaceModel (a connected face set, representing a faceted surface as an approximation of a non planar, non rectangular bounded surface) /// /// HISTORY  New select type in IFC2x3. -class IFC_SCHEMA_API IfcSurfaceOrFaceSurface : public express::Select { +class IFC_SCHEMA_API IfcSurfaceOrFaceSurface : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFaceBasedSurfaceModel as() const { return express::Base::as(); } + // IfcFaceBasedSurfaceModel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFaceSurface as() const { return express::Base::as(); } + // IfcFaceSurface as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurface as() const { return express::Base::as(); } + // IfcSurface as() const { return express::base::as(); } - IfcSurfaceOrFaceSurface(const IfcFaceBasedSurfaceModel& c) : express::Select(c) {}; + IfcSurfaceOrFaceSurface(const IfcFaceBasedSurfaceModel& c) : express::select(c) {}; - IfcSurfaceOrFaceSurface(const IfcFaceSurface& c) : express::Select(c) {}; + IfcSurfaceOrFaceSurface(const IfcFaceSurface& c) : express::select(c) {}; - IfcSurfaceOrFaceSurface(const IfcSurface& c) : express::Select(c) {}; + IfcSurfaceOrFaceSurface(const IfcSurface& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. @@ -3679,40 +3679,40 @@ public: /// NOTE: Corresponding ISO 10303 type: surface_style_element_select. Please refer to ISO/IS 10303-46:1994, p. 85 for the final definition of the formal standard. /// /// HISTORY: New Select type in IFC2x2. -class IFC_SCHEMA_API IfcSurfaceStyleElementSelect : public express::Select { +class IFC_SCHEMA_API IfcSurfaceStyleElementSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternallyDefinedSurfaceStyle as() const { return express::Base::as(); } + // IfcExternallyDefinedSurfaceStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleLighting as() const { return express::Base::as(); } + // IfcSurfaceStyleLighting as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleRefraction as() const { return express::Base::as(); } + // IfcSurfaceStyleRefraction as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleShading as() const { return express::Base::as(); } + // IfcSurfaceStyleShading as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleWithTextures as() const { return express::Base::as(); } + // IfcSurfaceStyleWithTextures as() const { return express::base::as(); } - IfcSurfaceStyleElementSelect(const IfcExternallyDefinedSurfaceStyle& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcExternallyDefinedSurfaceStyle& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleLighting& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleLighting& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleRefraction& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleRefraction& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleShading& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleShading& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleWithTextures& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleWithTextures& c) : express::select(c) {}; }; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. @@ -3722,63 +3722,63 @@ public: /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. -class IFC_SCHEMA_API IfcTextFontSelect : public express::Select { +class IFC_SCHEMA_API IfcTextFontSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternallyDefinedTextFont as() const { return express::Base::as(); } + // IfcExternallyDefinedTextFont as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedTextFont as() const { return express::Base::as(); } + // IfcPreDefinedTextFont as() const { return express::base::as(); } - IfcTextFontSelect(const IfcExternallyDefinedTextFont& c) : express::Select(c) {}; + IfcTextFontSelect(const IfcExternallyDefinedTextFont& c) : express::select(c) {}; - IfcTextFontSelect(const IfcPreDefinedTextFont& c) : express::Select(c) {}; + IfcTextFontSelect(const IfcPreDefinedTextFont& c) : express::select(c) {}; }; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 -class IFC_SCHEMA_API IfcTimeOrRatioSelect : public express::Select { +class IFC_SCHEMA_API IfcTimeOrRatioSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } - IfcTimeOrRatioSelect(const IfcDuration& c) : express::Select(c) {}; + IfcTimeOrRatioSelect(const IfcDuration& c) : express::select(c) {}; - IfcTimeOrRatioSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcTimeOrRatioSelect(const IfcRatioMeasure& c) : express::select(c) {}; }; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcTranslationalStiffnessSelect : public express::Select { +class IFC_SCHEMA_API IfcTranslationalStiffnessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } - IfcTranslationalStiffnessSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcTranslationalStiffnessSelect(const IfcBoolean& c) : express::select(c) {}; - IfcTranslationalStiffnessSelect(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcTranslationalStiffnessSelect(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. @@ -3786,22 +3786,22 @@ public: /// NOTE Corresponding ISO 10303 type: trimming_select, please refer to ISO/IS 10303-42:1994, p. 20 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.0 -class IFC_SCHEMA_API IfcTrimmingSelect : public express::Select { +class IFC_SCHEMA_API IfcTrimmingSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCartesianPoint as() const { return express::Base::as(); } + // IfcCartesianPoint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } - IfcTrimmingSelect(const IfcCartesianPoint& c) : express::Select(c) {}; + IfcTrimmingSelect(const IfcCartesianPoint& c) : express::select(c) {}; - IfcTrimmingSelect(const IfcParameterValue& c) : express::Select(c) {}; + IfcTrimmingSelect(const IfcParameterValue& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. @@ -3817,28 +3817,28 @@ public: /// IfcMonetaryUnit: A unit for defining currencies. /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcUnit : public express::Select { +class IFC_SCHEMA_API IfcUnit : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedUnit as() const { return express::Base::as(); } + // IfcDerivedUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryUnit as() const { return express::Base::as(); } + // IfcMonetaryUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNamedUnit as() const { return express::Base::as(); } + // IfcNamedUnit as() const { return express::base::as(); } - IfcUnit(const IfcDerivedUnit& c) : express::Select(c) {}; + IfcUnit(const IfcDerivedUnit& c) : express::select(c) {}; - IfcUnit(const IfcMonetaryUnit& c) : express::Select(c) {}; + IfcUnit(const IfcMonetaryUnit& c) : express::select(c) {}; - IfcUnit(const IfcNamedUnit& c) : express::Select(c) {}; + IfcUnit(const IfcNamedUnit& c) : express::select(c) {}; }; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, @@ -3851,676 +3851,676 @@ public: /// IfcDerivedMeasureValue A select type for derived measure types. /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcValue : public express::Select { +class IFC_SCHEMA_API IfcValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedMeasureValue as() const { return express::Base::as(); } + // IfcDerivedMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureValue as() const { return express::Base::as(); } + // IfcMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSimpleValue as() const { return express::Base::as(); } + // IfcSimpleValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } - IfcValue(const IfcDerivedMeasureValue& c) : express::Select(c) {}; + IfcValue(const IfcDerivedMeasureValue& c) : express::select(c) {}; - IfcValue(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcValue(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcValue(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcValue(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcValue(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcValue(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcValue(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcValue(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcValue(const IfcForceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcForceMeasure& c) : express::select(c) {}; - IfcValue(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcValue(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcValue(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcValue(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcValue(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcValue(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcValue(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcValue(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcValue(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcValue(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcValue(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcValue(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcValue(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcValue(const IfcPHMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPHMeasure& c) : express::select(c) {}; - IfcValue(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcValue(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPowerMeasure& c) : express::select(c) {}; - IfcValue(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPressureMeasure& c) : express::select(c) {}; - IfcValue(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcValue(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcValue(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcValue(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcValue(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcValue(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcValue(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcValue(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcValue(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcValue(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcValue(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcValue(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcValue(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcValue(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcValue(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcValue(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcValue(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcWarpingMomentMeasure& c) : express::select(c) {}; - IfcValue(const IfcMeasureValue& c) : express::Select(c) {}; + IfcValue(const IfcMeasureValue& c) : express::select(c) {}; - IfcValue(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAreaMeasure& c) : express::select(c) {}; - IfcValue(const IfcComplexNumber& c) : express::Select(c) {}; + IfcValue(const IfcComplexNumber& c) : express::select(c) {}; - IfcValue(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcValue(const IfcCountMeasure& c) : express::Select(c) {}; + IfcValue(const IfcCountMeasure& c) : express::select(c) {}; - IfcValue(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcValue(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcValue(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassMeasure& c) : express::select(c) {}; - IfcValue(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcValue(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcValue(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcValue(const IfcNumericMeasure& c) : express::select(c) {}; - IfcValue(const IfcParameterValue& c) : express::Select(c) {}; + IfcValue(const IfcParameterValue& c) : express::select(c) {}; - IfcValue(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcValue(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRatioMeasure& c) : express::select(c) {}; - IfcValue(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcValue(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTimeMeasure& c) : express::select(c) {}; - IfcValue(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcVolumeMeasure& c) : express::select(c) {}; - IfcValue(const IfcSimpleValue& c) : express::Select(c) {}; + IfcValue(const IfcSimpleValue& c) : express::select(c) {}; - IfcValue(const IfcBinary& c) : express::Select(c) {}; + IfcValue(const IfcBinary& c) : express::select(c) {}; - IfcValue(const IfcBoolean& c) : express::Select(c) {}; + IfcValue(const IfcBoolean& c) : express::select(c) {}; - IfcValue(const IfcDate& c) : express::Select(c) {}; + IfcValue(const IfcDate& c) : express::select(c) {}; - IfcValue(const IfcDateTime& c) : express::Select(c) {}; + IfcValue(const IfcDateTime& c) : express::select(c) {}; - IfcValue(const IfcDuration& c) : express::Select(c) {}; + IfcValue(const IfcDuration& c) : express::select(c) {}; - IfcValue(const IfcIdentifier& c) : express::Select(c) {}; + IfcValue(const IfcIdentifier& c) : express::select(c) {}; - IfcValue(const IfcInteger& c) : express::Select(c) {}; + IfcValue(const IfcInteger& c) : express::select(c) {}; - IfcValue(const IfcLabel& c) : express::Select(c) {}; + IfcValue(const IfcLabel& c) : express::select(c) {}; - IfcValue(const IfcLogical& c) : express::Select(c) {}; + IfcValue(const IfcLogical& c) : express::select(c) {}; - IfcValue(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcValue(const IfcPositiveInteger& c) : express::select(c) {}; - IfcValue(const IfcReal& c) : express::Select(c) {}; + IfcValue(const IfcReal& c) : express::select(c) {}; - IfcValue(const IfcText& c) : express::Select(c) {}; + IfcValue(const IfcText& c) : express::select(c) {}; - IfcValue(const IfcTime& c) : express::Select(c) {}; + IfcValue(const IfcTime& c) : express::select(c) {}; - IfcValue(const IfcTimeStamp& c) : express::Select(c) {}; + IfcValue(const IfcTimeStamp& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This type is used to @@ -4531,43 +4531,43 @@ public: /// definition of the formal standard. /// HISTORY New Type in IFC Release /// 1.5 -class IFC_SCHEMA_API IfcVectorOrDirection : public express::Select { +class IFC_SCHEMA_API IfcVectorOrDirection : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDirection as() const { return express::Base::as(); } + // IfcDirection as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVector as() const { return express::Base::as(); } + // IfcVector as() const { return express::base::as(); } - IfcVectorOrDirection(const IfcDirection& c) : express::Select(c) {}; + IfcVectorOrDirection(const IfcDirection& c) : express::select(c) {}; - IfcVectorOrDirection(const IfcVector& c) : express::Select(c) {}; + IfcVectorOrDirection(const IfcVector& c) : express::select(c) {}; }; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcWarpingStiffnessSelect : public express::Select { +class IFC_SCHEMA_API IfcWarpingStiffnessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } - IfcWarpingStiffnessSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcWarpingStiffnessSelect(const IfcBoolean& c) : express::select(c) {}; - IfcWarpingStiffnessSelect(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcWarpingStiffnessSelect(const IfcWarpingMomentMeasure& c) : express::select(c) {}; }; /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. @@ -4581,9 +4581,9 @@ public: /// VERBAL: Request was made verbally in person. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcActionRequestTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActionRequestTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcActionRequestType_EMAIL, IfcActionRequestType_FAX, IfcActionRequestType_PHONE, IfcActionRequestType_POST, IfcActionRequestType_VERBAL, IfcActionRequestType_USERDEFINED, IfcActionRequestType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4599,9 +4599,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcActionSourceTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActionSourceTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4619,9 +4619,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcActionTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActionTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcActionType_PERMANENT_G, IfcActionType_VARIABLE_Q, IfcActionType_EXTRAORDINARY_A, IfcActionType_USERDEFINED, IfcActionType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4648,9 +4648,9 @@ public: /// /// See property set of actuator common attributes for specification of /// properties for hand operated actuators. -class IFC_SCHEMA_API IfcActuatorTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActuatorTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcActuatorType_ELECTRICACTUATOR, IfcActuatorType_HANDOPERATEDACTUATOR, IfcActuatorType_HYDRAULICACTUATOR, IfcActuatorType_PNEUMATICACTUATOR, IfcActuatorType_THERMOSTATICACTUATOR, IfcActuatorType_USERDEFINED, IfcActuatorType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4672,9 +4672,9 @@ public: /// HOME A home address. /// DISTRIBUTIONPOINT A postal distribution point address. /// USERDEFINED A user defined address type to be provided. -class IFC_SCHEMA_API IfcAddressTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAddressTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAddressType_OFFICE, IfcAddressType_SITE, IfcAddressType_HOME, IfcAddressType_DISTRIBUTIONPOINT, IfcAddressType_USERDEFINED} Value; static const char* ToString(Value v); @@ -4696,9 +4696,9 @@ public: /// NOTDEFINED: Undefined terminal box. /// /// HISTORY: New enumeration in IFC R2.0 -class IFC_SCHEMA_API IfcAirTerminalBoxTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAirTerminalBoxTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAirTerminalBoxType_CONSTANTFLOW, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREDEPENDANT, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREINDEPENDANT, IfcAirTerminalBoxType_USERDEFINED, IfcAirTerminalBoxType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4722,9 +4722,9 @@ public: /// NOTE: Architectural louvres within doors or windows are defined by IfcPermeableCoveringProperties. /// /// HISTORY: New enumeration in IFC R2x2. Modified in IFC R2x4 to add LOUVRE and remove EYEBALL, IRIS, LINEARGRILLE, LINEARDIFFUSER -class IFC_SCHEMA_API IfcAirTerminalTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAirTerminalTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAirTerminalType_DIFFUSER, IfcAirTerminalType_GRILLE, IfcAirTerminalType_LOUVRE, IfcAirTerminalType_REGISTER, IfcAirTerminalType_USERDEFINED, IfcAirTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4751,9 +4751,9 @@ public: /// NOTDEFINED: Undefined air to air heat recovery type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcAirToAirHeatRecoveryTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAirToAirHeatRecoveryTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4778,9 +4778,9 @@ public: /// WHISTLE: An audible alarm. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcAlarmTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAlarmTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4792,9 +4792,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcAlignmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAlignmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAlignmentType_USERDEFINED, IfcAlignmentType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4811,9 +4811,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcAnalysisModelTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAnalysisModelTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4831,9 +4831,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcAnalysisTheoryTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAnalysisTheoryTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4856,9 +4856,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcArithmeticOperatorEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcArithmeticOperatorEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcArithmeticOperator_ADD, IfcArithmeticOperator_DIVIDE, IfcArithmeticOperator_MULTIPLY, IfcArithmeticOperator_SUBTRACT} Value; static const char* ToString(Value v); @@ -4881,9 +4881,9 @@ public: /// SITE - this assembly is assembled at site /// /// FACTORY - this assembly is assembled in a factory -class IFC_SCHEMA_API IfcAssemblyPlaceEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAssemblyPlaceEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAssemblyPlace_SITE, IfcAssemblyPlace_FACTORY, IfcAssemblyPlace_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4908,9 +4908,9 @@ public: /// SWITCHER: A device that receives audio and/or video signals, switches sources, and transmits signals to downstream devices. /// TELEPHONE: A telecommunications device that is used to transmit and receive sound, and optionally video. /// TUNER: An electronic receiver that detects, demodulates, and amplifies transmitted signals. -class IFC_SCHEMA_API IfcAudioVisualApplianceTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAudioVisualApplianceTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4935,9 +4935,9 @@ public: /// NOTE Corresponding ISO 10303 type: b_spline_curve_form. Please refer to ISO/IS 10303-42:1994, p. 15 for the final definition of the formal standard. /// /// HISTORY New type in Release IFC2x2. -class IFC_SCHEMA_API IfcBSplineCurveForm : public express::DeclaredType { +class IFC_SCHEMA_API IfcBSplineCurveForm : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4949,9 +4949,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBSplineSurfaceForm : public express::DeclaredType { +class IFC_SCHEMA_API IfcBSplineSurfaceForm : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5001,9 +5001,9 @@ public: /// IFC2x4 CHANGE The enumerators /// HOLLOWCORE and SPANDREL have been /// added. -class IFC_SCHEMA_API IfcBeamTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBeamTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5054,9 +5054,9 @@ public: /// /// NOTINCLUDEDIN /// 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_SCHEMA_API IfcBenchmarkEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBenchmarkEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5076,9 +5076,9 @@ public: /// NOTDEFINED: Undefined Boiler type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcBoilerTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBoilerTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBoilerType_WATER, IfcBoilerType_STEAM, IfcBoilerType_USERDEFINED, IfcBoilerType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5098,9 +5098,9 @@ public: /// NOTE Corresponding STEP type: boolean_operator, please refer to ISO/IS 10303-42:1994, p.167 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcBooleanOperator : public express::DeclaredType { +class IFC_SCHEMA_API IfcBooleanOperator : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBooleanOperator_UNION, IfcBooleanOperator_INTERSECTION, IfcBooleanOperator_DIFFERENCE} Value; static const char* ToString(Value v); @@ -5119,9 +5119,9 @@ public: /// NOTDEFINED: Undefined accessory /// /// HISTORY New Enumeration in IFC 2x4. -class IFC_SCHEMA_API IfcBuildingElementPartTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBuildingElementPartTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBuildingElementPartType_INSULATION, IfcBuildingElementPartType_PRECASTPANEL, IfcBuildingElementPartType_USERDEFINED, IfcBuildingElementPartType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5143,9 +5143,9 @@ public: /// USERDEFINED /// /// NOTDEFINED -class IFC_SCHEMA_API IfcBuildingElementProxyTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBuildingElementProxyTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBuildingElementProxyType_COMPLEX, IfcBuildingElementProxyType_ELEMENT, IfcBuildingElementProxyType_PARTIAL, IfcBuildingElementProxyType_PROVISIONFORVOID, IfcBuildingElementProxyType_PROVISIONFORSPACE, IfcBuildingElementProxyType_USERDEFINED, IfcBuildingElementProxyType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5170,9 +5170,9 @@ public: /// natural sun light, /// TRANSPORT: System of all transport elements in a /// building that enables the transport of people or goods. -class IFC_SCHEMA_API IfcBuildingSystemTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBuildingSystemTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5190,9 +5190,9 @@ public: /// NOTDEFINED: Undefined burner type. /// /// HISTORY: New enumeration in IFC R2x4. -class IFC_SCHEMA_API IfcBurnerTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBurnerTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBurnerType_USERDEFINED, IfcBurnerType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5213,9 +5213,9 @@ public: /// TEE: A fitting at which a branch is taken from the main route of the cable carrier. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableCarrierFittingTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableCarrierFittingTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcCableCarrierFittingType_BEND, IfcCableCarrierFittingType_CROSS, IfcCableCarrierFittingType_REDUCER, IfcCableCarrierFittingType_TEE, IfcCableCarrierFittingType_USERDEFINED, IfcCableCarrierFittingType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5236,9 +5236,9 @@ public: /// CONDUITSEGMENT: An enclosed tubular carrier segment through which cables are pulled. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableCarrierSegmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableCarrierSegmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcCableCarrierSegmentType_CABLELADDERSEGMENT, IfcCableCarrierSegmentType_CABLETRAYSEGMENT, IfcCableCarrierSegmentType_CABLETRUNKINGSEGMENT, IfcCableCarrierSegmentType_CONDUITSEGMENT, IfcCableCarrierSegmentType_USERDEFINED, IfcCableCarrierSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5260,9 +5260,9 @@ public: /// TRANSITION: A fitting that joins two cable segments of different connector types. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableFittingTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableFittingTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcCableFittingType_CONNECTOR, IfcCableFittingType_ENTRY, IfcCableFittingType_EXIT, IfcCableFittingType_JUNCTION, IfcCableFittingType_TRANSITION, IfcCableFittingType_USERDEFINED, IfcCableFittingType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5285,9 +5285,9 @@ public: /// CORESEGMENT: A self contained element of a cable that comprises one or more conductors and sheathing.The core of one lead is normally single wired or multiwired which are intertwined. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableSegmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableSegmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcCableSegmentType_BUSBARSEGMENT, IfcCableSegmentType_CABLESEGMENT, IfcCableSegmentType_CONDUCTORSEGMENT, IfcCableSegmentType_CORESEGMENT, IfcCableSegmentType_USERDEFINED, IfcCableSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5309,9 +5309,9 @@ public: /// Consider Application A will create an IFC dataset that it wants to publish to others for modification and have the ability to subsequently merge these changes back into the original model. Before publication, it may want to set the IfcChangeActionEnum to NOCHANGE to establish a baseline so that other application changes can be easily identified. Application B then receives this IFC dataset and adds a new object and sets IfcChangeActionEnum to ADDED with Application B defined as the OwningApplication. Application B then modifies an existing object and (re)defines the LastModifiedDate to the time of the modification, LastModifyingUser to the IfcPersonAndOrganization making the change, and sets the LastModifyingApplication to Application B. When Application A receives this modified dataset, it can determine which objects have been added and modified by Application B and either merge or reject these changes as necessary. Consequently, the intent is that an application only modifies the value of IfcChangeActionEnum when it does something to the object, with the further intent that a model server is responsible for clearing the IfcChangeActionEnum back to NOCHANGE when it is ready to be republished. /// /// HISTORY: New enumeration in IFC R2.0. Modified in IFC2x4. -class IFC_SCHEMA_API IfcChangeActionEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcChangeActionEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcChangeAction_NOCHANGE, IfcChangeAction_MODIFIED, IfcChangeAction_ADDED, IfcChangeAction_DELETED, IfcChangeAction_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5332,9 +5332,9 @@ public: /// NOTDEFINED: Undefined chiller type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcChillerTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcChillerTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcChillerType_AIRCOOLED, IfcChillerType_WATERCOOLED, IfcChillerType_HEATRECOVERY, IfcChillerType_USERDEFINED, IfcChillerType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5355,9 +5355,9 @@ public: /// NOTE Currently there are no specific enumerators /// defined, the IfcChimneyTypeEnum has been added /// for future extensions. -class IFC_SCHEMA_API IfcChimneyTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcChimneyTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcChimneyType_USERDEFINED, IfcChimneyType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5390,9 +5390,9 @@ public: /// NOTDEFINED: Undefined coil type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcCoilTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCoilTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5417,9 +5417,9 @@ public: /// future releases of IFC. /// HISTORY New Enumeration /// in Release IFC2x Edition 2. -class IFC_SCHEMA_API IfcColumnTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcColumnTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcColumnType_COLUMN, IfcColumnType_PILASTER, IfcColumnType_USERDEFINED, IfcColumnType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5446,9 +5446,9 @@ public: /// REPEATER: A repeater is an electronic device that receives a signal and retransmits it at a higher level and/or higher power, or onto the other side of an obstruction, so that the signal can cover longer distances without degradation. /// ROUTER: A router is a networking device whose software and hardware are usually tailored to the tasks of routing and forwarding information. For example, on the Internet, information is directed to various paths by routers. /// 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_SCHEMA_API IfcCommunicationsApplianceTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCommunicationsApplianceTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5467,9 +5467,9 @@ public: /// /// P_COMPLEX: the properties defined by this IfcComplexPropertyTemplate are of type IfcComplexProperty. /// Q_COMPLEX: the properties defined by this IfcComplexPropertyTemplate are of type IfcPhysicalComplexQuantity. -class IFC_SCHEMA_API IfcComplexPropertyTemplateTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcComplexPropertyTemplateTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcComplexPropertyTemplateType_P_COMPLEX, IfcComplexPropertyTemplateType_Q_COMPLEX} Value; static const char* ToString(Value v); @@ -5502,9 +5502,9 @@ public: /// NOTDEFINED: Undefined compressor type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcCompressorTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCompressorTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5528,9 +5528,9 @@ public: /// NOTDEFINED: Undefined condenser type. /// /// HISTORY: New enumeration in IFC 2x2. WATERCOOLED added in IFC 2x4. -class IFC_SCHEMA_API IfcCondenserTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCondenserTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5561,9 +5561,9 @@ public: /// RelatedConnectionType: AtStart /// /// Figure 65 — Connection types /*[3:3]*/ v); operator std::vector< int64_t > /*[3:3]*/() const; }; -class IFC_SCHEMA_API IfcAreaDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcAreaDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcAreaDensityMeasure initialize(double v); @@ -11428,18 +11428,18 @@ public: /// NOTE Corresponding ISO 10303 name: area_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcAreaMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcAreaMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcAreaMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcBinary : public express::DeclaredType { +class IFC_SCHEMA_API IfcBinary : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcBinary initialize(boost::dynamic_bitset<> v); @@ -11450,9 +11450,9 @@ public: /// Type: BOOLEAN /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcBoolean : public express::DeclaredType { +class IFC_SCHEMA_API IfcBoolean : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcBoolean initialize(bool v); @@ -11501,9 +11501,9 @@ public: /// Figure 284 illustrates an example extrusion shape with arbitrary profile (IfcArbitraryClosedProfileDef), aligned "mid-depth right" on the member axis. The line of sight follows the extrusion direction Z which points into the drawing plane of above illustration. Hence, "left" is in the positive X direction of the IfcProfileDef. "Top" is in the positive Y direction of the IfcProfileDef. /// /// Figure 284 — Cardinal point extrusion -class IFC_SCHEMA_API IfcCardinalPointReference : public express::DeclaredType { +class IFC_SCHEMA_API IfcCardinalPointReference : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCardinalPointReference initialize(int64_t v); @@ -11520,9 +11520,9 @@ public: /// Type: ARRAY [1:2] OF REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_SCHEMA_API IfcComplexNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcComplexNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcComplexNumber initialize(std::vector< double > /*[1:2]*/ v); @@ -11576,9 +11576,9 @@ public: ///      + FORMAT(ABS(c[4]), '##');  -- -50° 58' 33" 110400 /// /// 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_SCHEMA_API IfcCompoundPlaneAngleMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcCompoundPlaneAngleMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCompoundPlaneAngleMeasure initialize(std::vector< int64_t > /*[3:4]*/ v); @@ -11590,9 +11590,9 @@ public: /// NOTE Corresponding ISO 10303 name: context_dependent_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcContextDependentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcContextDependentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcContextDependentMeasure initialize(double v); @@ -11604,9 +11604,9 @@ public: /// NOTE Corresponding ISO 10303 name: count_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcCountMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcCountMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCountMeasure initialize(double v); @@ -11619,9 +11619,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcCurvatureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcCurvatureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCurvatureMeasure initialize(double v); @@ -11633,9 +11633,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcDate : public express::DeclaredType { +class IFC_SCHEMA_API IfcDate : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDate initialize(std::string v); @@ -11659,9 +11659,9 @@ public: /// otherwise they are forbidden. The year 0000 is prohibited. /// /// HISTORY: New type in IFC2x4 -class IFC_SCHEMA_API IfcDateTime : public express::DeclaredType { +class IFC_SCHEMA_API IfcDateTime : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDateTime initialize(std::string v); @@ -11679,9 +11679,9 @@ public: /// Release 1.5.1. /// IFC2x4 CHANGE Where rule /// ValidRange added. -class IFC_SCHEMA_API IfcDayInMonthNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcDayInMonthNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDayInMonthNumber initialize(int64_t v); @@ -11721,9 +11721,9 @@ public: /// Type: INTEGER /// HISTORY New type in /// IFC2x4. -class IFC_SCHEMA_API IfcDayInWeekNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcDayInWeekNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDayInWeekNumber initialize(int64_t v); @@ -11735,9 +11735,9 @@ public: /// NOTE Corresponding ISO 10303 name:descriptive_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDescriptiveMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcDescriptiveMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDescriptiveMeasure initialize(std::string v); @@ -11750,9 +11750,9 @@ public: /// NOTE Corresponding ISO 10303 type: dimension_count, please refer to ISO/IS 10303-42:1994, p. 14 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5 -class IFC_SCHEMA_API IfcDimensionCount : public express::DeclaredType { +class IFC_SCHEMA_API IfcDimensionCount : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDimensionCount initialize(int64_t v); @@ -11763,9 +11763,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcDoseEquivalentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcDoseEquivalentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDoseEquivalentMeasure initialize(double v); @@ -11776,9 +11776,9 @@ public: /// EXAMPLE: P0002-10-15T10:30:20 (duration of two years, 10 months, 15 days, 10 hours, 30 minutes and 20 seconds). /// /// HISTORY: New type in IFC2x4 -class IFC_SCHEMA_API IfcDuration : public express::DeclaredType { +class IFC_SCHEMA_API IfcDuration : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDuration initialize(std::string v); @@ -11790,9 +11790,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcDynamicViscosityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcDynamicViscosityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDynamicViscosityMeasure initialize(double v); @@ -11803,9 +11803,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricCapacitanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricCapacitanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricCapacitanceMeasure initialize(double v); @@ -11816,9 +11816,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricChargeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricChargeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricChargeMeasure initialize(double v); @@ -11829,9 +11829,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricConductanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricConductanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricConductanceMeasure initialize(double v); @@ -11844,9 +11844,9 @@ public: /// NOTE Corresponding ISO 10303 name: electric_current_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcElectricCurrentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricCurrentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricCurrentMeasure initialize(double v); @@ -11857,9 +11857,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricResistanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricResistanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricResistanceMeasure initialize(double v); @@ -11870,9 +11870,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcElectricVoltageMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricVoltageMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricVoltageMeasure initialize(double v); @@ -11883,9 +11883,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcEnergyMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcEnergyMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcEnergyMeasure initialize(double v); @@ -11905,9 +11905,9 @@ public: /// NOTE  Corresponding CSS1 definitions is font-style. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcFontStyle : public express::DeclaredType { +class IFC_SCHEMA_API IfcFontStyle : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFontStyle initialize(std::string v); @@ -11925,9 +11925,9 @@ public: /// NOTE  Corresponding CSS1 definitions is font-variant. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcFontVariant : public express::DeclaredType { +class IFC_SCHEMA_API IfcFontVariant : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFontVariant initialize(std::string v); @@ -11956,9 +11956,9 @@ public: /// NOTE  Corresponding CSS1 definitions is font-weight. /// /// HISTORY  New type in IFC2x2 Addendum 2. -class IFC_SCHEMA_API IfcFontWeight : public express::DeclaredType { +class IFC_SCHEMA_API IfcFontWeight : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFontWeight initialize(std::string v); @@ -11969,9 +11969,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcForceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcForceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcForceMeasure initialize(double v); @@ -11982,9 +11982,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcFrequencyMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcFrequencyMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFrequencyMeasure initialize(double v); @@ -12003,9 +12003,9 @@ public: /// Refer to the BuildingSMART website (www.buildingsmart-tech.org) for more information and sample encoding algorithms. /// /// HISTORY  New type in IFC R1.5.1. -class IFC_SCHEMA_API IfcGloballyUniqueId : public express::DeclaredType { +class IFC_SCHEMA_API IfcGloballyUniqueId : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcGloballyUniqueId initialize(std::string v); @@ -12016,9 +12016,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcHeatFluxDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcHeatFluxDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcHeatFluxDensityMeasure initialize(double v); @@ -12027,9 +12027,9 @@ public: /// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. /// /// HISTORY: This is new type in IFC2x2. -class IFC_SCHEMA_API IfcHeatingValueMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcHeatingValueMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcHeatingValueMeasure initialize(double v); @@ -12049,9 +12049,9 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// 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_SCHEMA_API IfcIdentifier : public express::DeclaredType { +class IFC_SCHEMA_API IfcIdentifier : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIdentifier initialize(std::string v); @@ -12062,9 +12062,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcIlluminanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIlluminanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIlluminanceMeasure initialize(double v); @@ -12075,9 +12075,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcInductanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcInductanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcInductanceMeasure initialize(double v); @@ -12090,9 +12090,9 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcInteger : public express::DeclaredType { +class IFC_SCHEMA_API IfcInteger : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcInteger initialize(int64_t v); @@ -12105,9 +12105,9 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcIntegerCountRateMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIntegerCountRateMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIntegerCountRateMeasure initialize(int64_t v); @@ -12116,9 +12116,9 @@ public: /// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcIonConcentrationMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIonConcentrationMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIonConcentrationMeasure initialize(double v); @@ -12129,9 +12129,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcIsothermalMoistureCapacityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIsothermalMoistureCapacityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIsothermalMoistureCapacityMeasure initialize(double v); @@ -12142,9 +12142,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcKinematicViscosityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcKinematicViscosityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcKinematicViscosityMeasure initialize(double v); @@ -12164,9 +12164,9 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// 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_SCHEMA_API IfcLabel : public express::DeclaredType { +class IFC_SCHEMA_API IfcLabel : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLabel initialize(std::string v); @@ -12197,18 +12197,18 @@ public: /// NOTE Corresponding ISO 10303 name: length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcLengthMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLengthMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLengthMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcLineIndex : public express::DeclaredType { +class IFC_SCHEMA_API IfcLineIndex : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLineIndex initialize(std::vector< int64_t > /*[2:?]*/ v); @@ -12219,9 +12219,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLinearForceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearForceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearForceMeasure initialize(double v); @@ -12232,9 +12232,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLinearMomentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearMomentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearMomentMeasure initialize(double v); @@ -12245,9 +12245,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLinearStiffnessMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearStiffnessMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearStiffnessMeasure initialize(double v); @@ -12258,9 +12258,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcLinearVelocityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearVelocityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearVelocityMeasure initialize(double v); @@ -12271,9 +12271,9 @@ public: /// Type: LOGICAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLogical : public express::DeclaredType { +class IFC_SCHEMA_API IfcLogical : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLogical initialize(boost::logic::tribool v); @@ -12284,9 +12284,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLuminousFluxMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLuminousFluxMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLuminousFluxMeasure initialize(double v); @@ -12299,9 +12299,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcLuminousIntensityDistributionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLuminousIntensityDistributionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLuminousIntensityDistributionMeasure initialize(double v); @@ -12314,9 +12314,9 @@ public: /// NOTE Corresponding ISO 10303 name: luminous_intensity_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcLuminousIntensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLuminousIntensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLuminousIntensityMeasure initialize(double v); @@ -12327,9 +12327,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMagneticFluxDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMagneticFluxDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMagneticFluxDensityMeasure initialize(double v); @@ -12340,9 +12340,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMagneticFluxMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMagneticFluxMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMagneticFluxMeasure initialize(double v); @@ -12353,9 +12353,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcMassDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassDensityMeasure initialize(double v); @@ -12366,9 +12366,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcMassFlowRateMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassFlowRateMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassFlowRateMeasure initialize(double v); @@ -12381,9 +12381,9 @@ public: /// NOTE Corresponding ISO 10303 name: mass_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcMassMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassMeasure initialize(double v); @@ -12396,9 +12396,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcMassPerLengthMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassPerLengthMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassPerLengthMeasure initialize(double v); @@ -12409,9 +12409,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcModulusOfElasticityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfElasticityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfElasticityMeasure initialize(double v); @@ -12422,9 +12422,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_SCHEMA_API IfcModulusOfLinearSubgradeReactionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfLinearSubgradeReactionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfLinearSubgradeReactionMeasure initialize(double v); @@ -12435,9 +12435,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfRotationalSubgradeReactionMeasure initialize(double v); @@ -12452,9 +12452,9 @@ public: /// Figure 290 illustrates elastic support of a planar member. /// /// Figure 290 — Modulus of subgrade reaction measure -class IFC_SCHEMA_API IfcModulusOfSubgradeReactionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfSubgradeReactionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfSubgradeReactionMeasure initialize(double v); @@ -12465,9 +12465,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMoistureDiffusivityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMoistureDiffusivityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMoistureDiffusivityMeasure initialize(double v); @@ -12478,9 +12478,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMolecularWeightMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMolecularWeightMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMolecularWeightMeasure initialize(double v); @@ -12491,9 +12491,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMomentOfInertiaMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMomentOfInertiaMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMomentOfInertiaMeasure initialize(double v); @@ -12503,9 +12503,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcMonetaryMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMonetaryMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMonetaryMeasure initialize(double v); @@ -12567,9 +12567,9 @@ public: /// standard. /// HISTORY New type in IFC /// Release 1.5.1. -class IFC_SCHEMA_API IfcMonthInYearNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcMonthInYearNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMonthInYearNumber initialize(int64_t v); @@ -12594,9 +12594,9 @@ public: /// NOTE Corresponding ISO 10303 name: numeric_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcNumericMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcNumericMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcNumericMeasure initialize(double v); @@ -12605,9 +12605,9 @@ public: /// 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. /// /// HISTORY: New type in IFC 2x2. -class IFC_SCHEMA_API IfcPHMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPHMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPHMeasure initialize(double v); @@ -12620,9 +12620,9 @@ public: /// NOTE Corresponding STEP name: parameter_value, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcParameterValue : public express::DeclaredType { +class IFC_SCHEMA_API IfcParameterValue : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcParameterValue initialize(double v); @@ -12633,9 +12633,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcPlanarForceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPlanarForceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPlanarForceMeasure initialize(double v); @@ -12652,9 +12652,9 @@ public: /// NOTE Corresponding ISO 10303 name: plane_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcPlaneAngleMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPlaneAngleMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPlaneAngleMeasure initialize(double v); @@ -12702,9 +12702,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcPowerMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPowerMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPowerMeasure initialize(double v); @@ -12719,9 +12719,9 @@ public: /// NOTE  Corresponding ISO 10303 name: presentable_text. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. /// /// HISTORY  New type in IFC2x2. -class IFC_SCHEMA_API IfcPresentableText : public express::DeclaredType { +class IFC_SCHEMA_API IfcPresentableText : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPresentableText initialize(std::string v); @@ -12732,18 +12732,18 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcPressureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPressureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPressureMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcPropertySetDefinitionSet : public express::DeclaredType { +class IFC_SCHEMA_API IfcPropertySetDefinitionSet : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPropertySetDefinitionSet initialize(std::vector< ::Ifc4x1::IfcPropertySetDefinition > v); @@ -12754,9 +12754,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcRadioActivityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRadioActivityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRadioActivityMeasure initialize(double v); @@ -12772,9 +12772,9 @@ public: /// NOTE Corresponding STEP name: ratio_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcRatioMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRatioMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRatioMeasure initialize(double v); @@ -12787,9 +12787,9 @@ public: /// Type: REAL /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcReal : public express::DeclaredType { +class IFC_SCHEMA_API IfcReal : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcReal initialize(double v); @@ -12800,9 +12800,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcRotationalFrequencyMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRotationalFrequencyMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRotationalFrequencyMeasure initialize(double v); @@ -12814,9 +12814,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcRotationalMassMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRotationalMassMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRotationalMassMeasure initialize(double v); @@ -12827,9 +12827,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcRotationalStiffnessMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRotationalStiffnessMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRotationalStiffnessMeasure initialize(double v); @@ -12840,9 +12840,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_SCHEMA_API IfcSectionModulusMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSectionModulusMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSectionModulusMeasure initialize(double v); @@ -12853,9 +12853,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcSectionalAreaIntegralMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSectionalAreaIntegralMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSectionalAreaIntegralMeasure initialize(double v); @@ -12866,9 +12866,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcShearModulusMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcShearModulusMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcShearModulusMeasure initialize(double v); @@ -12881,18 +12881,18 @@ public: /// NOTE Corresponding ISO 10303 name: solid_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcSolidAngleMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSolidAngleMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSolidAngleMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcSoundPowerLevelMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPowerLevelMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPowerLevelMeasure initialize(double v); @@ -12903,18 +12903,18 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcSoundPowerMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPowerMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPowerMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcSoundPressureLevelMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPressureLevelMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPressureLevelMeasure initialize(double v); @@ -12925,9 +12925,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcSoundPressureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPressureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPressureMeasure initialize(double v); @@ -12938,9 +12938,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcSpecificHeatCapacityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSpecificHeatCapacityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSpecificHeatCapacityMeasure initialize(double v); @@ -12953,9 +12953,9 @@ public: /// NOTE: The datatype relates to the definition of specular_exponent in ISO 10303-46 entity surface_style_reflectance_ambient_diffuse_specular. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcSpecularExponent : public express::DeclaredType { +class IFC_SCHEMA_API IfcSpecularExponent : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSpecularExponent initialize(double v); @@ -12970,9 +12970,9 @@ public: /// NOTE: The datatype relates to the definition of "shiness" in VRML97, which is the reciprocate value to the specular roughness. /// /// HISTORY: New type in Release IFC2x2. -class IFC_SCHEMA_API IfcSpecularRoughness : public express::DeclaredType { +class IFC_SCHEMA_API IfcSpecularRoughness : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSpecularRoughness initialize(double v); @@ -12983,9 +12983,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcTemperatureGradientMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTemperatureGradientMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTemperatureGradientMeasure initialize(double v); @@ -12996,9 +12996,9 @@ public: /// Type: REAL /// /// HISTORY  New type in IFC2x4. -class IFC_SCHEMA_API IfcTemperatureRateOfChangeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTemperatureRateOfChangeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTemperatureRateOfChangeMeasure initialize(double v); @@ -13015,9 +13015,9 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// 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_SCHEMA_API IfcText : public express::DeclaredType { +class IFC_SCHEMA_API IfcText : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcText initialize(std::string v); @@ -13033,9 +13033,9 @@ public: /// NOTE  Corresponding CSS1 definition is text-align. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcTextAlignment : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextAlignment : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextAlignment initialize(std::string v); @@ -13054,9 +13054,9 @@ public: /// NOTE  Corresponding CSS1 definition is text-decoration. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcTextDecoration : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextDecoration : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextDecoration initialize(std::string v); @@ -13081,9 +13081,9 @@ public: /// HISTORY  New type in IFC2x2 Addendum 2. /// /// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. -class IFC_SCHEMA_API IfcTextFontName : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextFontName : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextFontName initialize(std::string v); @@ -13099,9 +13099,9 @@ public: /// NOTE  Corresponding CSS1 definition is text-transform. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcTextTransformation : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextTransformation : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextTransformation initialize(std::string v); @@ -13112,9 +13112,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcThermalAdmittanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalAdmittanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalAdmittanceMeasure initialize(double v); @@ -13125,9 +13125,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcThermalConductivityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalConductivityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalConductivityMeasure initialize(double v); @@ -13137,9 +13137,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcThermalExpansionCoefficientMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalExpansionCoefficientMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalExpansionCoefficientMeasure initialize(double v); @@ -13149,9 +13149,9 @@ public: /// Usually measured in m2 Kelvin/Watt. /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcThermalResistanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalResistanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalResistanceMeasure initialize(double v); @@ -13162,9 +13162,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcThermalTransmittanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalTransmittanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalTransmittanceMeasure initialize(double v); @@ -13177,9 +13177,9 @@ public: /// NOTE Corresponding ISO 10303 name: thermodynamic_temperature_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcThermodynamicTemperatureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermodynamicTemperatureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermodynamicTemperatureMeasure initialize(double v); @@ -13193,9 +13193,9 @@ public: /// 13:20:00-05:00. /// /// HISTORY: New type in IFC2x4 -class IFC_SCHEMA_API IfcTime : public express::DeclaredType { +class IFC_SCHEMA_API IfcTime : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTime initialize(std::string v); @@ -13208,9 +13208,9 @@ public: /// NOTE Corresponding ISO 10303 name: time_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcTimeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTimeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTimeMeasure initialize(double v); @@ -13220,9 +13220,9 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcTimeStamp : public express::DeclaredType { +class IFC_SCHEMA_API IfcTimeStamp : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTimeStamp initialize(int64_t v); @@ -13233,9 +13233,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcTorqueMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTorqueMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTorqueMeasure initialize(double v); @@ -13248,9 +13248,9 @@ public: /// designed to make it easy to map other namespaces (that share the properties of URNs) into URN-space. /// /// HISTORY New defined datatype in IFC 2x4. -class IFC_SCHEMA_API IfcURIReference : public express::DeclaredType { +class IFC_SCHEMA_API IfcURIReference : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcURIReference initialize(std::string v); @@ -13261,9 +13261,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcVaporPermeabilityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcVaporPermeabilityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcVaporPermeabilityMeasure initialize(double v); @@ -13276,9 +13276,9 @@ public: /// NOTE Corresponding ISO 10303 name: volume_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcVolumeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcVolumeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcVolumeMeasure initialize(double v); @@ -13289,9 +13289,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcVolumetricFlowRateMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcVolumetricFlowRateMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcVolumetricFlowRateMeasure initialize(double v); @@ -13302,9 +13302,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcWarpingConstantMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcWarpingConstantMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcWarpingConstantMeasure initialize(double v); @@ -13315,9 +13315,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcWarpingMomentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcWarpingMomentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcWarpingMomentMeasure initialize(double v); @@ -13395,9 +13395,9 @@ public: /// Corresponds to the following entity in ISO-10303-41: organization_role and person_role. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_SCHEMA_API IfcActorRole : public express::Entity { +class IFC_SCHEMA_API IfcActorRole : public express::entity { public: - using express::Entity::Entity; + 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. @@ -13422,9 +13422,9 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: address. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcAddress : public express::Entity { +class IFC_SCHEMA_API IfcAddress : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Identifies the logical location of the address. std::optional< ::Ifc4x1::IfcAddressTypeEnum::Value > Purpose() const; @@ -13447,9 +13447,9 @@ public: /// 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_SCHEMA_API IfcApplication : public express::Entity { +class IFC_SCHEMA_API IfcApplication : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Name of the application developer, being requested to be member of the IAI. ::Ifc4x1::IfcOrganization ApplicationDeveloper() const; @@ -13481,9 +13481,9 @@ public: /// An instance of IfcAppliedValue may have a unit basis asserted. This is defined as an IfcMeasureWithUnit that determines the extent of the unit value for application purposes. It is assumed that when this attribute is asserted, then the value given to IfcAppliedValue is that for unit quantity. This is not enforced within the IFC schema and thus needs to be controlled within an application. /// /// 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_SCHEMA_API IfcAppliedValue : public express::Entity { +class IFC_SCHEMA_API IfcAppliedValue : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A name or additional clarification given to a cost value. std::optional< std::string > Name() const; @@ -13529,9 +13529,9 @@ public: /// HISTORY New Entity in IFC Release 2.0 /// /// 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_SCHEMA_API IfcApproval : public express::Entity { +class IFC_SCHEMA_API IfcApproval : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A computer interpretable identifier by which the approval is known. std::optional< std::string > Identifier() const; @@ -13590,9 +13590,9 @@ public: /// HISTORY: New entity /// in Release IFC2x Edition /// 2. -class IFC_SCHEMA_API IfcBoundaryCondition : public express::Entity { +class IFC_SCHEMA_API IfcBoundaryCondition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optionally defines a name for this boundary condition. std::optional< std::string > Name() const; @@ -13734,9 +13734,9 @@ public: /// HISTORY  New entity in IFC Release 1.5. /// /// 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_SCHEMA_API IfcConnectionGeometry : public express::Entity { +class IFC_SCHEMA_API IfcConnectionGeometry : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; static const ifcopenshell::entity& Class(); @@ -13826,9 +13826,9 @@ public: /// A constraint must have a name applied through the IfcConstraint.Name attribute and optionally, a description through IfcConstraint.Description. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade or IfcConstraint.UserDefinedGrade whilst the source, creating actor and time at which the constraint is created may be optionally asserted through IfcConstraint.ConstraintSource, IfcConstraint.CreatingActor and IfcConstraint.CreationTime. /// /// 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_SCHEMA_API IfcConstraint : public express::Entity { +class IFC_SCHEMA_API IfcConstraint : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; @@ -13906,9 +13906,9 @@ public: /// and any map or other coordinate reference system. /// /// HISTORY  New entity in IFC2x4. -class IFC_SCHEMA_API IfcCoordinateOperation : public express::Entity { +class IFC_SCHEMA_API IfcCoordinateOperation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Source coordinate reference system for the operation. ::Ifc4x1::IfcCoordinateReferenceSystemSelect SourceCRS() const; @@ -13942,9 +13942,9 @@ public: /// Specifications. /// /// HISTORY  New entity in IFC2x4. -class IFC_SCHEMA_API IfcCoordinateReferenceSystem : public express::Entity { +class IFC_SCHEMA_API IfcCoordinateReferenceSystem : public express::entity { public: - using express::Entity::Entity; + 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. @@ -14028,9 +14028,9 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDerivedUnit : public express::Entity { +class IFC_SCHEMA_API IfcDerivedUnit : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The group of units and their exponents that define the derived unit. std::vector< ::Ifc4x1::IfcDerivedUnitElement > Elements() const; @@ -14053,9 +14053,9 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit_element, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDerivedUnitElement : public express::Entity { +class IFC_SCHEMA_API IfcDerivedUnitElement : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The fixed quantity which is used as the mathematical factor. ::Ifc4x1::IfcNamedUnit Unit() const; @@ -14084,9 +14084,9 @@ public: /// for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDimensionalExponents : public express::Entity { +class IFC_SCHEMA_API IfcDimensionalExponents : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The power of the length base quantity. int64_t LengthExponent() const; @@ -14119,9 +14119,9 @@ public: /// all external information entities. /// /// HISTORY New entity in IFC2x4. -class IFC_SCHEMA_API IfcExternalInformation : public express::Entity { +class IFC_SCHEMA_API IfcExternalInformation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; static const ifcopenshell::entity& Class(); @@ -14136,9 +14136,9 @@ public: /// IfcExternalReference is an abstract supertype of all external reference entities. /// /// HISTORY New entity in IFC2x. -class IFC_SCHEMA_API IfcExternalReference : public express::Entity { +class IFC_SCHEMA_API IfcExternalReference : public express::entity { public: - using express::Entity::Entity; + 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. /// @@ -14233,9 +14233,9 @@ public: /// underlying AxisCurve supports this concept. /// /// Figure 242 — Grid axis -class IFC_SCHEMA_API IfcGridAxis : public express::Entity { +class IFC_SCHEMA_API IfcGridAxis : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The tag or name for this grid axis. std::optional< std::string > AxisTag() const; @@ -14257,9 +14257,9 @@ public: /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// /// HISTORY: New entity in IFC 2x2. -class IFC_SCHEMA_API IfcIrregularTimeSeriesValue : public express::Entity { +class IFC_SCHEMA_API IfcIrregularTimeSeriesValue : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The specification of the time point. std::string TimeStamp() const; @@ -14354,9 +14354,9 @@ public: /// For each pair of MainPlaneAngle and SecondaryPlaneAngle the LuminousIntensity is provided (the unit is given by the IfcUnitAssignment referring to the LuminousIntensityDistributionUnit, normally cd/klm). /// /// HISTORY: New entity in IFC2x2. -class IFC_SCHEMA_API IfcLightDistributionData : public express::Entity { +class IFC_SCHEMA_API IfcLightDistributionData : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; @@ -14376,9 +14376,9 @@ public: /// 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_SCHEMA_API IfcLightIntensityDistribution : public express::Entity { +class IFC_SCHEMA_API IfcLightIntensityDistribution : public express::entity { public: - using express::Entity::Entity; + 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; @@ -14439,9 +14439,9 @@ public: /// HISTORY New entity in IFC2x. /// /// IFC2x4 CHANGE The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. -class IFC_SCHEMA_API IfcMaterialClassificationRelationship : public express::Entity { +class IFC_SCHEMA_API IfcMaterialClassificationRelationship : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The material classifications identifying the type of material. std::vector< ::Ifc4x1::IfcClassificationSelect > MaterialClassifications() const; @@ -14477,9 +14477,9 @@ public: /// IfcRelAssociatesMaterial. /// /// HISTORY New entity in IFC2x4 -class IFC_SCHEMA_API IfcMaterialDefinition : public express::Entity { +class IFC_SCHEMA_API IfcMaterialDefinition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects @@ -14675,9 +14675,9 @@ public: /// /// IFC2x4 CHANGE The entity IfcMaterialList is deprecated and shall no longer /// be used. Use IfcMaterialConstituentSet instead. -class IFC_SCHEMA_API IfcMaterialList : public express::Entity { +class IFC_SCHEMA_API IfcMaterialList : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Materials used in a composition of substances. std::vector< ::Ifc4x1::IfcMaterial > Materials() const; @@ -14793,9 +14793,9 @@ public: /// IfcMaterialUsageDefinition to a subtype of /// IfcElementType, it shall only be assigned to an element /// occurrence. -class IFC_SCHEMA_API IfcMaterialUsageDefinition : public express::Entity { +class IFC_SCHEMA_API IfcMaterialUsageDefinition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial @@ -14812,9 +14812,9 @@ public: /// NOTE Corresponding ISO 10303 name: measure_with_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcMeasureWithUnit : public express::Entity { +class IFC_SCHEMA_API IfcMeasureWithUnit : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The value of the physical quantity when expressed in the specified units. ::Ifc4x1::IfcValue ValueComponent() const; @@ -14902,9 +14902,9 @@ public: /// HISTORY: New entity in IFC Release 2x. /// /// IFC2x4 CHANGE: Type of the attribute Currency changed. -class IFC_SCHEMA_API IfcMonetaryUnit : public express::Entity { +class IFC_SCHEMA_API IfcMonetaryUnit : public express::entity { public: - using express::Entity::Entity; + 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; @@ -14918,9 +14918,9 @@ public: /// NOTE Corresponding ISO 10303 name: named_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcNamedUnit : public express::Entity { +class IFC_SCHEMA_API IfcNamedUnit : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The dimensional exponents of the SI base units by which the named unit is defined. ::Ifc4x1::IfcDimensionalExponents Dimensions() const; @@ -14943,9 +14943,9 @@ public: /// In any case the object placement has to unambiguously define the object coordinate system as either two-dimensional axis placement (IfcAxis2Placement2D) or three-dimensional axis placement (IfcAxis2Placement3D). The axis placement may have to be calculated. /// /// HISTORY New entity in IFC Release 2x. -class IFC_SCHEMA_API IfcObjectPlacement : public express::Entity { +class IFC_SCHEMA_API IfcObjectPlacement : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcProduct > PlacesObject() const; // INVERSE IfcProduct::ObjectPlacement std::vector< IfcLocalPlacement > ReferencedByPlacements() const; // INVERSE IfcLocalPlacement::PlacementRelTo @@ -14989,9 +14989,9 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. -class IFC_SCHEMA_API IfcOrganization : public express::Entity { +class IFC_SCHEMA_API IfcOrganization : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Identification of the organization. std::optional< std::string > Identification() const; @@ -15026,9 +15026,9 @@ public: /// /// If LastModifiedDate is defined but ChangeAction is not asserted, then the state of ChangeAction is assumed to be UNDEFINED. /// If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate. -class IFC_SCHEMA_API IfcOwnerHistory : public express::Entity { +class IFC_SCHEMA_API IfcOwnerHistory : public express::entity { public: - using express::Entity::Entity; + 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; @@ -15067,9 +15067,9 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. -class IFC_SCHEMA_API IfcPerson : public express::Entity { +class IFC_SCHEMA_API IfcPerson : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Identification of the person. std::optional< std::string > Identification() const; @@ -15111,9 +15111,9 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: person_and_organization. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_SCHEMA_API IfcPersonAndOrganization : public express::Entity { +class IFC_SCHEMA_API IfcPersonAndOrganization : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The person who is related to the organization. ::Ifc4x1::IfcPerson ThePerson() const; @@ -15133,9 +15133,9 @@ public: /// The Name attribute defines the actual usage or kind of measure. The interpretation of the name label has to be established within the actual exchange context. In addition an informative text may be associated to each quantity by the Description attribute. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_SCHEMA_API IfcPhysicalQuantity : public express::Entity { +class IFC_SCHEMA_API IfcPhysicalQuantity : public express::entity { public: - using express::Entity::Entity; + 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; @@ -15208,9 +15208,9 @@ public: 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_SCHEMA_API IfcPresentationItem : public express::Entity { +class IFC_SCHEMA_API IfcPresentationItem : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; static const ifcopenshell::entity& Class(); @@ -15231,9 +15231,9 @@ public: /// Figure 305 illustrates assignment of items by shape representation or representation item. The set of AssignedItems can either include a whole shape representation, or individual geometric representation items. If both, the IfcShapeRepresentation has a layer assignment, and an individual geometric representation item in the set of IfcShapeRepresentation.Items, then the layer assignment of the IfcGeometricRepresentationItem overides the layer assignment of the IfcShapeRepresentation. /// /// Figure 305 — Presentation layer assignment -class IFC_SCHEMA_API IfcPresentationLayerAssignment : public express::Entity { +class IFC_SCHEMA_API IfcPresentationLayerAssignment : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Name of the layer. std::string Name() const; @@ -15293,9 +15293,9 @@ public: /// Each subtype of  IfcPresentationStyle can be assigned to IfcGeometricRepresentationItem's via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or one of its subtypes. /// /// HISTORY  New entity in IFC2x3. -class IFC_SCHEMA_API IfcPresentationStyle : public express::Entity { +class IFC_SCHEMA_API IfcPresentationStyle : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Name of the presentation style. std::optional< std::string > Name() const; @@ -15309,9 +15309,9 @@ public: /// NOTE Corresponding ISO 10303 name: presentation_style_assignment. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in Release IFC2x2. -class IFC_SCHEMA_API IfcPresentationStyleAssignment : public express::Entity { +class IFC_SCHEMA_API IfcPresentationStyleAssignment : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A set of presentation styles that are assigned to styled items. std::vector< ::Ifc4x1::IfcPresentationStyleSelect > Styles() const; @@ -15337,9 +15337,9 @@ public: /// IFC2x3 NOTE Users should not instantiate the entity from IFC2x Edition 3 onwards. /// /// IFC2x4 CHANGE  Entity made abstract. -class IFC_SCHEMA_API IfcProductRepresentation : public express::Entity { +class IFC_SCHEMA_API IfcProductRepresentation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The word or group of words by which the product representation is known. std::optional< std::string > Name() const; @@ -15524,9 +15524,9 @@ public: /// possible to directly instantiate IfcProfileDef and further specify /// the profile only by external reference or by profile properties. The latter /// are tracked by the inverse attribute HasProperties. -class IFC_SCHEMA_API IfcProfileDef : public express::Entity { +class IFC_SCHEMA_API IfcProfileDef : public express::entity { public: - using express::Entity::Entity; + 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; @@ -15588,9 +15588,9 @@ public: 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_SCHEMA_API IfcPropertyAbstraction : public express::Entity { +class IFC_SCHEMA_API IfcPropertyAbstraction : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects @@ -15792,9 +15792,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcRecurrencePattern : public express::Entity { +class IFC_SCHEMA_API IfcRecurrencePattern : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Defines the recurrence type that gives meaning to the used /// attributes and decides about possible attribute @@ -15838,9 +15838,9 @@ public: IfcRecurrencePattern initialize(::Ifc4x1::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int64_t > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v4_MonthComponent, std::optional< int64_t > v5_Position, std::optional< int64_t > v6_Interval, std::optional< int64_t > v7_Occurrences, std::optional< std::vector< ::Ifc4x1::IfcTimePeriod > > v8_TimePeriods); }; -class IFC_SCHEMA_API IfcReference : public express::Entity { +class IFC_SCHEMA_API IfcReference : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::optional< std::string > TypeIdentifier() const; void setTypeIdentifier(const std::optional< std::string >& v); @@ -15902,9 +15902,9 @@ public: /// IFC2x4 CHANGE  Entity /// IfcRepresentation has been changed into an ABSTRACT /// supertype. -class IFC_SCHEMA_API IfcRepresentation : public express::Entity { +class IFC_SCHEMA_API IfcRepresentation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Definition of the representation context for which the different subtypes of representation are valid. ::Ifc4x1::IfcRepresentationContext ContextOfItems() const; @@ -15936,9 +15936,9 @@ public: /// /// IFC2x4 CHANGE Entity made abstract, had been deprecated from instantiation since /// IFC2x2. -class IFC_SCHEMA_API IfcRepresentationContext : public express::Entity { +class IFC_SCHEMA_API IfcRepresentationContext : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The optional identifier of the representation context as used within a project. std::optional< std::string > ContextIdentifier() const; @@ -15983,9 +15983,9 @@ public: /// HISTORY  New entity in IFC Release 2x. /// /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. -class IFC_SCHEMA_API IfcRepresentationItem : public express::Entity { +class IFC_SCHEMA_API IfcRepresentationItem : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcPresentationLayerAssignment > LayerAssignment() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems std::vector< IfcStyledItem > StyledByItem() const; // INVERSE IfcStyledItem::Item @@ -16004,9 +16004,9 @@ public: /// NOTE  The definition of a mapping which is used to specify a new representation item comprises a representation map and a mapped item entity. Without both entities, the mapping is not fully defined. Two entities are specified to allow the same source representation to be mapped into multiple new representations. /// /// HISTORY  New entity in IFC Release 2x. -class IFC_SCHEMA_API IfcRepresentationMap : public express::Entity { +class IFC_SCHEMA_API IfcRepresentationMap : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// An axis2 placement that defines the position about which the mapped /// representation is mapped. @@ -16024,9 +16024,9 @@ public: /// IfcResourceLevelRelationship is an abstract base class for relationships between resource-level entities. /// /// HISTORY New Entity in IFC 2x4 -class IFC_SCHEMA_API IfcResourceLevelRelationship : public express::Entity { +class IFC_SCHEMA_API IfcResourceLevelRelationship : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A name used to identify or qualify the relationship. std::optional< std::string > Name() const; @@ -16047,9 +16047,9 @@ public: /// HISTORY New entity in IFC Release 1.0 /// /// IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL. -class IFC_SCHEMA_API IfcRoot : public express::Entity { +class IFC_SCHEMA_API IfcRoot : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; @@ -16097,9 +16097,9 @@ public: /// IfcSchedulingTime is the abstract supertype of entities that capture time-related information of processes. /// /// HISTORY: New entity in IFC2x4. -class IFC_SCHEMA_API IfcSchedulingTime : public express::Entity { +class IFC_SCHEMA_API IfcSchedulingTime : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optional name for the time definition. std::optional< std::string > Name() const; @@ -16152,9 +16152,9 @@ public: /// IfcRepresentationMap's that are used by an /// IfcTypeProduct through the /// RepresentationMaps attribute. -class IFC_SCHEMA_API IfcShapeAspect : public express::Entity { +class IFC_SCHEMA_API IfcShapeAspect : public express::entity { public: - using express::Entity::Entity; + 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 @@ -16353,9 +16353,9 @@ public: /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. -class IFC_SCHEMA_API IfcStructuralConnectionCondition : public express::Entity { +class IFC_SCHEMA_API IfcStructuralConnectionCondition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optionally defines a name for this connection condition. std::optional< std::string > Name() const; @@ -16367,9 +16367,9 @@ public: /// 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_SCHEMA_API IfcStructuralLoad : public express::Entity { +class IFC_SCHEMA_API IfcStructuralLoad : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optionally defines a name for this load. std::optional< std::string > Name() const; @@ -16822,9 +16822,9 @@ public: /// HISTORY  New entity in IFC R1.5. /// /// IFC2x4 CHANGE  Columns attribute added. -class IFC_SCHEMA_API IfcTable : public express::Entity { +class IFC_SCHEMA_API IfcTable : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A unique name which is intended to describe the usage of the Table. std::optional< std::string > Name() const; @@ -16844,9 +16844,9 @@ public: /// The use of IfcTableColumn supercedes the IsHeading flag associated with IfcTableRow. /// /// HISTORY  New entity in IFC2x4. -class IFC_SCHEMA_API IfcTableColumn : public express::Entity { +class IFC_SCHEMA_API IfcTableColumn : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Table column identifier. std::optional< std::string > Identifier() const; @@ -16879,9 +16879,9 @@ public: /// Figure 338 — Table row use alternative /// /// HISTORY  New entity in IFC R1.5. -class IFC_SCHEMA_API IfcTableRow : public express::Entity { +class IFC_SCHEMA_API IfcTableRow : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The data value of the table cell.. std::optional< std::vector< ::Ifc4x1::IfcValue > > RowCells() const; @@ -17375,9 +17375,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcTimePeriod : public express::Entity { +class IFC_SCHEMA_API IfcTimePeriod : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Start time of the time period. std::string StartTime() const; @@ -17394,9 +17394,9 @@ public: /// The modeling of buildings and their performance involves data that are generated and recorded over a period of time. Such data cover a large spectrum, from weather data to schedules of all kinds to status measurements to reporting to everything else that has a time related aspect. Their correct placement in time is essential for their proper understanding and use, and the IfcTimeSeries subtypes provide the appropriate data structures to accommodate these types of data. /// /// HISTORY: New entity in IFC 2x2. -class IFC_SCHEMA_API IfcTimeSeries : public express::Entity { +class IFC_SCHEMA_API IfcTimeSeries : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// An unique name for the time series. std::string Name() const; @@ -17436,9 +17436,9 @@ public: /// Figure 241 — Time series value /// /// HISTORY  New entity in IFC2x2. -class IFC_SCHEMA_API IfcTimeSeriesValue : public express::Entity { +class IFC_SCHEMA_API IfcTimeSeriesValue : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A list of time-series values. At least one value is required. std::vector< ::Ifc4x1::IfcValue > ListValues() const; @@ -17507,9 +17507,9 @@ public: /// NOTE  A project (IfcProject) has a unit assignment which establishes a set of units which will be used globally within the project, if not otherwise defined. Other objects may have local unit assignments if there is a requirement for them to make use of units which do not fall within the project unit assignment. /// /// HISTORY  New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcUnitAssignment : public express::Entity { +class IFC_SCHEMA_API IfcUnitAssignment : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Units to be included within a unit assignment. std::vector< ::Ifc4x1::IfcUnit > Units() const; @@ -17615,9 +17615,9 @@ public: /// OffsetDistances[1] is a negative length measure /// /// Figure 248 — Virtual grid intersection negative offset -class IFC_SCHEMA_API IfcVirtualGridIntersection : public express::Entity { +class IFC_SCHEMA_API IfcVirtualGridIntersection : public express::entity { public: - using express::Entity::Entity; + 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; diff --git a/src/ifcparse/schemas/Ifc4x2.cpp b/src/ifcparse/schemas/Ifc4x2.cpp index 2f19d0c8a7..61303f4500 100644 --- a/src/ifcparse/schemas/Ifc4x2.cpp +++ b/src/ifcparse/schemas/Ifc4x2.cpp @@ -44,7 +44,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcActionRequestTypeEnum::Class() /* Ifc4x2::IfcActionRequestTypeEnum::IfcActionRequestTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcActionRequestTypeEnum::IfcActionRequestTypeEnum(Value v) { @@ -73,7 +73,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcActionSourceTypeEnum::Class() { /* Ifc4x2::IfcActionSourceTypeEnum::IfcActionSourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcActionSourceTypeEnum::IfcActionSourceTypeEnum(Value v) { @@ -102,7 +102,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcActionTypeEnum::Class() { retur /* Ifc4x2::IfcActionTypeEnum::IfcActionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcActionTypeEnum::IfcActionTypeEnum(Value v) { @@ -131,7 +131,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcActuatorTypeEnum::Class() { ret /* Ifc4x2::IfcActuatorTypeEnum::IfcActuatorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcActuatorTypeEnum::IfcActuatorTypeEnum(Value v) { @@ -160,7 +160,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcAddressTypeEnum::Class() { retu /* Ifc4x2::IfcAddressTypeEnum::IfcAddressTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcAddressTypeEnum::IfcAddressTypeEnum(Value v) { @@ -189,7 +189,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcAirTerminalBoxTypeEnum::Class() /* Ifc4x2::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum(Value v) { @@ -218,7 +218,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcAirTerminalTypeEnum::Class() { /* Ifc4x2::IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum(Value v) { @@ -247,7 +247,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::C /* Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum(Value v) { @@ -276,7 +276,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcAlarmTypeEnum::Class() { return /* Ifc4x2::IfcAlarmTypeEnum::IfcAlarmTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcAlarmTypeEnum::IfcAlarmTypeEnum(Value v) { @@ -305,7 +305,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcAlignmentTypeEnum::Class() { re /* Ifc4x2::IfcAlignmentTypeEnum::IfcAlignmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcAlignmentTypeEnum::IfcAlignmentTypeEnum(Value v) { @@ -334,7 +334,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcAnalysisModelTypeEnum::Class() /* Ifc4x2::IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum(Value v) { @@ -363,7 +363,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcAnalysisTheoryTypeEnum::Class() /* Ifc4x2::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum(Value v) { @@ -392,7 +392,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcArithmeticOperatorEnum::Class() /* Ifc4x2::IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum(Value v) { @@ -421,7 +421,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcAssemblyPlaceEnum::Class() { re /* Ifc4x2::IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum(Value v) { @@ -450,7 +450,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcAudioVisualApplianceTypeEnum::C /* Ifc4x2::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum(Value v) { @@ -479,7 +479,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcBSplineCurveForm::Class() { ret /* Ifc4x2::IfcBSplineCurveForm::IfcBSplineCurveForm(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcBSplineCurveForm::IfcBSplineCurveForm(Value v) { @@ -508,7 +508,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcBSplineSurfaceForm::Class() { r /* Ifc4x2::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm(Value v) { @@ -537,7 +537,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcBeamTypeEnum::Class() { return /* Ifc4x2::IfcBeamTypeEnum::IfcBeamTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcBeamTypeEnum::IfcBeamTypeEnum(Value v) { @@ -566,7 +566,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcBearingTypeDisplacementEnum::Cl /* Ifc4x2::IfcBearingTypeDisplacementEnum::IfcBearingTypeDisplacementEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcBearingTypeDisplacementEnum::IfcBearingTypeDisplacementEnum(Value v) { @@ -595,7 +595,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcBearingTypeEnum::Class() { retu /* Ifc4x2::IfcBearingTypeEnum::IfcBearingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcBearingTypeEnum::IfcBearingTypeEnum(Value v) { @@ -624,7 +624,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcBenchmarkEnum::Class() { return /* Ifc4x2::IfcBenchmarkEnum::IfcBenchmarkEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcBenchmarkEnum::IfcBenchmarkEnum(Value v) { @@ -653,7 +653,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcBoilerTypeEnum::Class() { retur /* Ifc4x2::IfcBoilerTypeEnum::IfcBoilerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcBoilerTypeEnum::IfcBoilerTypeEnum(Value v) { @@ -682,7 +682,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcBooleanOperator::Class() { retu /* Ifc4x2::IfcBooleanOperator::IfcBooleanOperator(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcBooleanOperator::IfcBooleanOperator(Value v) { @@ -711,7 +711,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcBridgePartTypeEnum::Class() { r /* Ifc4x2::IfcBridgePartTypeEnum::IfcBridgePartTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcBridgePartTypeEnum::IfcBridgePartTypeEnum(Value v) { @@ -740,7 +740,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcBridgeTypeEnum::Class() { retur /* Ifc4x2::IfcBridgeTypeEnum::IfcBridgeTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcBridgeTypeEnum::IfcBridgeTypeEnum(Value v) { @@ -769,7 +769,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcBuildingElementPartTypeEnum::Cl /* Ifc4x2::IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum(Value v) { @@ -798,7 +798,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcBuildingElementProxyTypeEnum::C /* Ifc4x2::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum(Value v) { @@ -827,7 +827,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcBuildingSystemTypeEnum::Class() /* Ifc4x2::IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum(Value v) { @@ -856,7 +856,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcBurnerTypeEnum::Class() { retur /* Ifc4x2::IfcBurnerTypeEnum::IfcBurnerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcBurnerTypeEnum::IfcBurnerTypeEnum(Value v) { @@ -885,7 +885,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcCableCarrierFittingTypeEnum::Cl /* Ifc4x2::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum(Value v) { @@ -914,7 +914,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcCableCarrierSegmentTypeEnum::Cl /* Ifc4x2::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum(Value v) { @@ -943,7 +943,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcCableFittingTypeEnum::Class() { /* Ifc4x2::IfcCableFittingTypeEnum::IfcCableFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcCableFittingTypeEnum::IfcCableFittingTypeEnum(Value v) { @@ -972,7 +972,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcCableSegmentTypeEnum::Class() { /* Ifc4x2::IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum(Value v) { @@ -1001,7 +1001,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcCaissonFoundationTypeEnum::Clas /* Ifc4x2::IfcCaissonFoundationTypeEnum::IfcCaissonFoundationTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcCaissonFoundationTypeEnum::IfcCaissonFoundationTypeEnum(Value v) { @@ -1030,7 +1030,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcChangeActionEnum::Class() { ret /* Ifc4x2::IfcChangeActionEnum::IfcChangeActionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcChangeActionEnum::IfcChangeActionEnum(Value v) { @@ -1059,7 +1059,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcChillerTypeEnum::Class() { retu /* Ifc4x2::IfcChillerTypeEnum::IfcChillerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcChillerTypeEnum::IfcChillerTypeEnum(Value v) { @@ -1088,7 +1088,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcChimneyTypeEnum::Class() { retu /* Ifc4x2::IfcChimneyTypeEnum::IfcChimneyTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcChimneyTypeEnum::IfcChimneyTypeEnum(Value v) { @@ -1117,7 +1117,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcCoilTypeEnum::Class() { return /* Ifc4x2::IfcCoilTypeEnum::IfcCoilTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcCoilTypeEnum::IfcCoilTypeEnum(Value v) { @@ -1146,7 +1146,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcColumnTypeEnum::Class() { retur /* Ifc4x2::IfcColumnTypeEnum::IfcColumnTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcColumnTypeEnum::IfcColumnTypeEnum(Value v) { @@ -1175,7 +1175,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcCommunicationsApplianceTypeEnum /* Ifc4x2::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum(Value v) { @@ -1204,7 +1204,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcComplexPropertyTemplateTypeEnum /* Ifc4x2::IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum(Value v) { @@ -1233,7 +1233,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcCompressorTypeEnum::Class() { r /* Ifc4x2::IfcCompressorTypeEnum::IfcCompressorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcCompressorTypeEnum::IfcCompressorTypeEnum(Value v) { @@ -1262,7 +1262,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcCondenserTypeEnum::Class() { re /* Ifc4x2::IfcCondenserTypeEnum::IfcCondenserTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcCondenserTypeEnum::IfcCondenserTypeEnum(Value v) { @@ -1291,7 +1291,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcConnectionTypeEnum::Class() { r /* Ifc4x2::IfcConnectionTypeEnum::IfcConnectionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcConnectionTypeEnum::IfcConnectionTypeEnum(Value v) { @@ -1320,7 +1320,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcConstraintEnum::Class() { retur /* Ifc4x2::IfcConstraintEnum::IfcConstraintEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcConstraintEnum::IfcConstraintEnum(Value v) { @@ -1349,7 +1349,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcConstructionEquipmentResourceTy /* Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum(Value v) { @@ -1378,7 +1378,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcConstructionMaterialResourceTyp /* Ifc4x2::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum(Value v) { @@ -1407,7 +1407,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcConstructionProductResourceType /* Ifc4x2::IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum(Value v) { @@ -1436,7 +1436,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcControllerTypeEnum::Class() { r /* Ifc4x2::IfcControllerTypeEnum::IfcControllerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcControllerTypeEnum::IfcControllerTypeEnum(Value v) { @@ -1465,7 +1465,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcCooledBeamTypeEnum::Class() { r /* Ifc4x2::IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum(Value v) { @@ -1494,7 +1494,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcCoolingTowerTypeEnum::Class() { /* Ifc4x2::IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum(Value v) { @@ -1523,7 +1523,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcCostItemTypeEnum::Class() { ret /* Ifc4x2::IfcCostItemTypeEnum::IfcCostItemTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcCostItemTypeEnum::IfcCostItemTypeEnum(Value v) { @@ -1552,7 +1552,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcCostScheduleTypeEnum::Class() { /* Ifc4x2::IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum(Value v) { @@ -1581,7 +1581,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcCoveringTypeEnum::Class() { ret /* Ifc4x2::IfcCoveringTypeEnum::IfcCoveringTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcCoveringTypeEnum::IfcCoveringTypeEnum(Value v) { @@ -1610,7 +1610,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcCrewResourceTypeEnum::Class() { /* Ifc4x2::IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum(Value v) { @@ -1639,7 +1639,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcCurtainWallTypeEnum::Class() { /* Ifc4x2::IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum(Value v) { @@ -1668,7 +1668,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcCurveInterpolationEnum::Class() /* Ifc4x2::IfcCurveInterpolationEnum::IfcCurveInterpolationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcCurveInterpolationEnum::IfcCurveInterpolationEnum(Value v) { @@ -1697,7 +1697,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcDamperTypeEnum::Class() { retur /* Ifc4x2::IfcDamperTypeEnum::IfcDamperTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcDamperTypeEnum::IfcDamperTypeEnum(Value v) { @@ -1726,7 +1726,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcDataOriginEnum::Class() { retur /* Ifc4x2::IfcDataOriginEnum::IfcDataOriginEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcDataOriginEnum::IfcDataOriginEnum(Value v) { @@ -1755,7 +1755,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcDerivedUnitEnum::Class() { retu /* Ifc4x2::IfcDerivedUnitEnum::IfcDerivedUnitEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcDerivedUnitEnum::IfcDerivedUnitEnum(Value v) { @@ -1784,7 +1784,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcDirectionSenseEnum::Class() { r /* Ifc4x2::IfcDirectionSenseEnum::IfcDirectionSenseEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcDirectionSenseEnum::IfcDirectionSenseEnum(Value v) { @@ -1813,7 +1813,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcDiscreteAccessoryTypeEnum::Clas /* Ifc4x2::IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum(Value v) { @@ -1842,7 +1842,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcDistributionChamberElementTypeE /* Ifc4x2::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum(Value v) { @@ -1871,7 +1871,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcDistributionPortTypeEnum::Class /* Ifc4x2::IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum(Value v) { @@ -1900,7 +1900,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcDistributionSystemEnum::Class() /* Ifc4x2::IfcDistributionSystemEnum::IfcDistributionSystemEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcDistributionSystemEnum::IfcDistributionSystemEnum(Value v) { @@ -1929,7 +1929,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcDocumentConfidentialityEnum::Cl /* Ifc4x2::IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum(Value v) { @@ -1958,7 +1958,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcDocumentStatusEnum::Class() { r /* Ifc4x2::IfcDocumentStatusEnum::IfcDocumentStatusEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcDocumentStatusEnum::IfcDocumentStatusEnum(Value v) { @@ -1987,7 +1987,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcDoorPanelOperationEnum::Class() /* Ifc4x2::IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum(Value v) { @@ -2016,7 +2016,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcDoorPanelPositionEnum::Class() /* Ifc4x2::IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum(Value v) { @@ -2045,7 +2045,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcDoorStyleConstructionEnum::Clas /* Ifc4x2::IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum(Value v) { @@ -2074,7 +2074,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcDoorStyleOperationEnum::Class() /* Ifc4x2::IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum(Value v) { @@ -2103,7 +2103,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcDoorTypeEnum::Class() { return /* Ifc4x2::IfcDoorTypeEnum::IfcDoorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcDoorTypeEnum::IfcDoorTypeEnum(Value v) { @@ -2132,7 +2132,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcDoorTypeOperationEnum::Class() /* Ifc4x2::IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum(Value v) { @@ -2161,7 +2161,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcDuctFittingTypeEnum::Class() { /* Ifc4x2::IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum(Value v) { @@ -2190,7 +2190,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcDuctSegmentTypeEnum::Class() { /* Ifc4x2::IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum(Value v) { @@ -2219,7 +2219,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcDuctSilencerTypeEnum::Class() { /* Ifc4x2::IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum(Value v) { @@ -2248,7 +2248,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcElectricApplianceTypeEnum::Clas /* Ifc4x2::IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum(Value v) { @@ -2277,7 +2277,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcElectricDistributionBoardTypeEn /* Ifc4x2::IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum(Value v) { @@ -2306,7 +2306,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcElectricFlowStorageDeviceTypeEn /* Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum(Value v) { @@ -2335,7 +2335,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcElectricGeneratorTypeEnum::Clas /* Ifc4x2::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum(Value v) { @@ -2364,7 +2364,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcElectricMotorTypeEnum::Class() /* Ifc4x2::IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum(Value v) { @@ -2393,7 +2393,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcElectricTimeControlTypeEnum::Cl /* Ifc4x2::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum(Value v) { @@ -2422,7 +2422,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcElementAssemblyTypeEnum::Class( /* Ifc4x2::IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum(Value v) { @@ -2451,7 +2451,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcElementCompositionEnum::Class() /* Ifc4x2::IfcElementCompositionEnum::IfcElementCompositionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcElementCompositionEnum::IfcElementCompositionEnum(Value v) { @@ -2480,7 +2480,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcEngineTypeEnum::Class() { retur /* Ifc4x2::IfcEngineTypeEnum::IfcEngineTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcEngineTypeEnum::IfcEngineTypeEnum(Value v) { @@ -2509,7 +2509,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcEvaporativeCoolerTypeEnum::Clas /* Ifc4x2::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum(Value v) { @@ -2538,7 +2538,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcEvaporatorTypeEnum::Class() { r /* Ifc4x2::IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum(Value v) { @@ -2567,7 +2567,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcEventTriggerTypeEnum::Class() { /* Ifc4x2::IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum(Value v) { @@ -2596,7 +2596,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcEventTypeEnum::Class() { return /* Ifc4x2::IfcEventTypeEnum::IfcEventTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcEventTypeEnum::IfcEventTypeEnum(Value v) { @@ -2625,7 +2625,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcExternalSpatialElementTypeEnum: /* Ifc4x2::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum(Value v) { @@ -2654,7 +2654,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcFanTypeEnum::Class() { return * /* Ifc4x2::IfcFanTypeEnum::IfcFanTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcFanTypeEnum::IfcFanTypeEnum(Value v) { @@ -2683,7 +2683,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcFastenerTypeEnum::Class() { ret /* Ifc4x2::IfcFastenerTypeEnum::IfcFastenerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcFastenerTypeEnum::IfcFastenerTypeEnum(Value v) { @@ -2712,7 +2712,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcFilterTypeEnum::Class() { retur /* Ifc4x2::IfcFilterTypeEnum::IfcFilterTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcFilterTypeEnum::IfcFilterTypeEnum(Value v) { @@ -2741,7 +2741,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcFireSuppressionTerminalTypeEnum /* Ifc4x2::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum(Value v) { @@ -2770,7 +2770,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcFlowDirectionEnum::Class() { re /* Ifc4x2::IfcFlowDirectionEnum::IfcFlowDirectionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcFlowDirectionEnum::IfcFlowDirectionEnum(Value v) { @@ -2799,7 +2799,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcFlowInstrumentTypeEnum::Class() /* Ifc4x2::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum(Value v) { @@ -2828,7 +2828,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcFlowMeterTypeEnum::Class() { re /* Ifc4x2::IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum(Value v) { @@ -2857,7 +2857,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcFootingTypeEnum::Class() { retu /* Ifc4x2::IfcFootingTypeEnum::IfcFootingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcFootingTypeEnum::IfcFootingTypeEnum(Value v) { @@ -2886,7 +2886,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcFurnitureTypeEnum::Class() { re /* Ifc4x2::IfcFurnitureTypeEnum::IfcFurnitureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcFurnitureTypeEnum::IfcFurnitureTypeEnum(Value v) { @@ -2915,7 +2915,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcGeographicElementTypeEnum::Clas /* Ifc4x2::IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum(Value v) { @@ -2944,7 +2944,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcGeometricProjectionEnum::Class( /* Ifc4x2::IfcGeometricProjectionEnum::IfcGeometricProjectionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcGeometricProjectionEnum::IfcGeometricProjectionEnum(Value v) { @@ -2973,7 +2973,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcGlobalOrLocalEnum::Class() { re /* Ifc4x2::IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum(Value v) { @@ -3002,7 +3002,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcGridTypeEnum::Class() { return /* Ifc4x2::IfcGridTypeEnum::IfcGridTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcGridTypeEnum::IfcGridTypeEnum(Value v) { @@ -3031,7 +3031,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcHeatExchangerTypeEnum::Class() /* Ifc4x2::IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum(Value v) { @@ -3060,7 +3060,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcHumidifierTypeEnum::Class() { r /* Ifc4x2::IfcHumidifierTypeEnum::IfcHumidifierTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcHumidifierTypeEnum::IfcHumidifierTypeEnum(Value v) { @@ -3089,7 +3089,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcInterceptorTypeEnum::Class() { /* Ifc4x2::IfcInterceptorTypeEnum::IfcInterceptorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcInterceptorTypeEnum::IfcInterceptorTypeEnum(Value v) { @@ -3118,7 +3118,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcInternalOrExternalEnum::Class() /* Ifc4x2::IfcInternalOrExternalEnum::IfcInternalOrExternalEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcInternalOrExternalEnum::IfcInternalOrExternalEnum(Value v) { @@ -3147,7 +3147,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcInventoryTypeEnum::Class() { re /* Ifc4x2::IfcInventoryTypeEnum::IfcInventoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcInventoryTypeEnum::IfcInventoryTypeEnum(Value v) { @@ -3176,7 +3176,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcJunctionBoxTypeEnum::Class() { /* Ifc4x2::IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum(Value v) { @@ -3205,7 +3205,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcKnotType::Class() { return *((i /* Ifc4x2::IfcKnotType::IfcKnotType(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcKnotType::IfcKnotType(Value v) { @@ -3234,7 +3234,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcLaborResourceTypeEnum::Class() /* Ifc4x2::IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum(Value v) { @@ -3263,7 +3263,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcLampTypeEnum::Class() { return /* Ifc4x2::IfcLampTypeEnum::IfcLampTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcLampTypeEnum::IfcLampTypeEnum(Value v) { @@ -3292,7 +3292,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcLayerSetDirectionEnum::Class() /* Ifc4x2::IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum(Value v) { @@ -3321,7 +3321,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcLightDistributionCurveEnum::Cla /* Ifc4x2::IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum(Value v) { @@ -3350,7 +3350,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcLightEmissionSourceEnum::Class( /* Ifc4x2::IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum(Value v) { @@ -3379,7 +3379,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcLightFixtureTypeEnum::Class() { /* Ifc4x2::IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum(Value v) { @@ -3408,7 +3408,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcLoadGroupTypeEnum::Class() { re /* Ifc4x2::IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum(Value v) { @@ -3437,7 +3437,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcLogicalOperatorEnum::Class() { /* Ifc4x2::IfcLogicalOperatorEnum::IfcLogicalOperatorEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcLogicalOperatorEnum::IfcLogicalOperatorEnum(Value v) { @@ -3466,7 +3466,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcMechanicalFastenerTypeEnum::Cla /* Ifc4x2::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum(Value v) { @@ -3495,7 +3495,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcMedicalDeviceTypeEnum::Class() /* Ifc4x2::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum(Value v) { @@ -3524,7 +3524,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcMemberTypeEnum::Class() { retur /* Ifc4x2::IfcMemberTypeEnum::IfcMemberTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcMemberTypeEnum::IfcMemberTypeEnum(Value v) { @@ -3553,7 +3553,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcMotorConnectionTypeEnum::Class( /* Ifc4x2::IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum(Value v) { @@ -3582,7 +3582,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcNullStyle::Class() { return *(( /* Ifc4x2::IfcNullStyle::IfcNullStyle(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcNullStyle::IfcNullStyle(Value v) { @@ -3611,7 +3611,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcObjectTypeEnum::Class() { retur /* Ifc4x2::IfcObjectTypeEnum::IfcObjectTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcObjectTypeEnum::IfcObjectTypeEnum(Value v) { @@ -3640,7 +3640,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcObjectiveEnum::Class() { return /* Ifc4x2::IfcObjectiveEnum::IfcObjectiveEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcObjectiveEnum::IfcObjectiveEnum(Value v) { @@ -3669,7 +3669,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcOccupantTypeEnum::Class() { ret /* Ifc4x2::IfcOccupantTypeEnum::IfcOccupantTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcOccupantTypeEnum::IfcOccupantTypeEnum(Value v) { @@ -3698,7 +3698,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcOpeningElementTypeEnum::Class() /* Ifc4x2::IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum(Value v) { @@ -3727,7 +3727,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcOutletTypeEnum::Class() { retur /* Ifc4x2::IfcOutletTypeEnum::IfcOutletTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcOutletTypeEnum::IfcOutletTypeEnum(Value v) { @@ -3756,7 +3756,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcPerformanceHistoryTypeEnum::Cla /* Ifc4x2::IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum(Value v) { @@ -3785,7 +3785,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcPermeableCoveringOperationEnum: /* Ifc4x2::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum(Value v) { @@ -3814,7 +3814,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcPermitTypeEnum::Class() { retur /* Ifc4x2::IfcPermitTypeEnum::IfcPermitTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcPermitTypeEnum::IfcPermitTypeEnum(Value v) { @@ -3843,7 +3843,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcPhysicalOrVirtualEnum::Class() /* Ifc4x2::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum(Value v) { @@ -3872,7 +3872,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcPileConstructionEnum::Class() { /* Ifc4x2::IfcPileConstructionEnum::IfcPileConstructionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcPileConstructionEnum::IfcPileConstructionEnum(Value v) { @@ -3901,7 +3901,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcPileTypeEnum::Class() { return /* Ifc4x2::IfcPileTypeEnum::IfcPileTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcPileTypeEnum::IfcPileTypeEnum(Value v) { @@ -3930,7 +3930,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcPipeFittingTypeEnum::Class() { /* Ifc4x2::IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum(Value v) { @@ -3959,7 +3959,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcPipeSegmentTypeEnum::Class() { /* Ifc4x2::IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum(Value v) { @@ -3988,7 +3988,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcPlateTypeEnum::Class() { return /* Ifc4x2::IfcPlateTypeEnum::IfcPlateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcPlateTypeEnum::IfcPlateTypeEnum(Value v) { @@ -4017,7 +4017,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcPreferredSurfaceCurveRepresenta /* Ifc4x2::IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation(Value v) { @@ -4046,7 +4046,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcProcedureTypeEnum::Class() { re /* Ifc4x2::IfcProcedureTypeEnum::IfcProcedureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcProcedureTypeEnum::IfcProcedureTypeEnum(Value v) { @@ -4075,7 +4075,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcProfileTypeEnum::Class() { retu /* Ifc4x2::IfcProfileTypeEnum::IfcProfileTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcProfileTypeEnum::IfcProfileTypeEnum(Value v) { @@ -4104,7 +4104,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcProjectOrderTypeEnum::Class() { /* Ifc4x2::IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum(Value v) { @@ -4133,7 +4133,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcProjectedOrTrueLengthEnum::Clas /* Ifc4x2::IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum(Value v) { @@ -4162,7 +4162,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcProjectionElementTypeEnum::Clas /* Ifc4x2::IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum(Value v) { @@ -4191,7 +4191,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcPropertySetTemplateTypeEnum::Cl /* Ifc4x2::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum(Value v) { @@ -4220,7 +4220,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcProtectiveDeviceTrippingUnitTyp /* Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum(Value v) { @@ -4249,7 +4249,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcProtectiveDeviceTypeEnum::Class /* Ifc4x2::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum(Value v) { @@ -4278,7 +4278,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcPumpTypeEnum::Class() { return /* Ifc4x2::IfcPumpTypeEnum::IfcPumpTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcPumpTypeEnum::IfcPumpTypeEnum(Value v) { @@ -4307,7 +4307,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcRailingTypeEnum::Class() { retu /* Ifc4x2::IfcRailingTypeEnum::IfcRailingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcRailingTypeEnum::IfcRailingTypeEnum(Value v) { @@ -4336,7 +4336,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcRampFlightTypeEnum::Class() { r /* Ifc4x2::IfcRampFlightTypeEnum::IfcRampFlightTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcRampFlightTypeEnum::IfcRampFlightTypeEnum(Value v) { @@ -4365,7 +4365,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcRampTypeEnum::Class() { return /* Ifc4x2::IfcRampTypeEnum::IfcRampTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcRampTypeEnum::IfcRampTypeEnum(Value v) { @@ -4394,7 +4394,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcRecurrenceTypeEnum::Class() { r /* Ifc4x2::IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum(Value v) { @@ -4423,7 +4423,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcReferentTypeEnum::Class() { ret /* Ifc4x2::IfcReferentTypeEnum::IfcReferentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcReferentTypeEnum::IfcReferentTypeEnum(Value v) { @@ -4452,7 +4452,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcReflectanceMethodEnum::Class() /* Ifc4x2::IfcReflectanceMethodEnum::IfcReflectanceMethodEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcReflectanceMethodEnum::IfcReflectanceMethodEnum(Value v) { @@ -4481,7 +4481,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcReinforcingBarRoleEnum::Class() /* Ifc4x2::IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum(Value v) { @@ -4510,7 +4510,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcReinforcingBarSurfaceEnum::Clas /* Ifc4x2::IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum(Value v) { @@ -4539,7 +4539,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcReinforcingBarTypeEnum::Class() /* Ifc4x2::IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum(Value v) { @@ -4568,7 +4568,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcReinforcingMeshTypeEnum::Class( /* Ifc4x2::IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum(Value v) { @@ -4597,7 +4597,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcRoleEnum::Class() { return *((i /* Ifc4x2::IfcRoleEnum::IfcRoleEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcRoleEnum::IfcRoleEnum(Value v) { @@ -4626,7 +4626,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcRoofTypeEnum::Class() { return /* Ifc4x2::IfcRoofTypeEnum::IfcRoofTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcRoofTypeEnum::IfcRoofTypeEnum(Value v) { @@ -4655,7 +4655,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcSIPrefix::Class() { return *((i /* Ifc4x2::IfcSIPrefix::IfcSIPrefix(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcSIPrefix::IfcSIPrefix(Value v) { @@ -4684,7 +4684,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcSIUnitName::Class() { return *( /* Ifc4x2::IfcSIUnitName::IfcSIUnitName(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcSIUnitName::IfcSIUnitName(Value v) { @@ -4713,7 +4713,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcSanitaryTerminalTypeEnum::Class /* Ifc4x2::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum(Value v) { @@ -4742,7 +4742,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcSectionTypeEnum::Class() { retu /* Ifc4x2::IfcSectionTypeEnum::IfcSectionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcSectionTypeEnum::IfcSectionTypeEnum(Value v) { @@ -4771,7 +4771,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcSensorTypeEnum::Class() { retur /* Ifc4x2::IfcSensorTypeEnum::IfcSensorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcSensorTypeEnum::IfcSensorTypeEnum(Value v) { @@ -4800,7 +4800,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcSequenceEnum::Class() { return /* Ifc4x2::IfcSequenceEnum::IfcSequenceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcSequenceEnum::IfcSequenceEnum(Value v) { @@ -4829,7 +4829,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcShadingDeviceTypeEnum::Class() /* Ifc4x2::IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum(Value v) { @@ -4858,7 +4858,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcSimplePropertyTemplateTypeEnum: /* Ifc4x2::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum(Value v) { @@ -4887,7 +4887,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcSlabTypeEnum::Class() { return /* Ifc4x2::IfcSlabTypeEnum::IfcSlabTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcSlabTypeEnum::IfcSlabTypeEnum(Value v) { @@ -4916,7 +4916,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcSolarDeviceTypeEnum::Class() { /* Ifc4x2::IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum(Value v) { @@ -4945,7 +4945,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcSpaceHeaterTypeEnum::Class() { /* Ifc4x2::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum(Value v) { @@ -4974,7 +4974,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcSpaceTypeEnum::Class() { return /* Ifc4x2::IfcSpaceTypeEnum::IfcSpaceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcSpaceTypeEnum::IfcSpaceTypeEnum(Value v) { @@ -5003,7 +5003,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcSpatialZoneTypeEnum::Class() { /* Ifc4x2::IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum(Value v) { @@ -5032,7 +5032,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcStackTerminalTypeEnum::Class() /* Ifc4x2::IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum(Value v) { @@ -5061,7 +5061,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcStairFlightTypeEnum::Class() { /* Ifc4x2::IfcStairFlightTypeEnum::IfcStairFlightTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcStairFlightTypeEnum::IfcStairFlightTypeEnum(Value v) { @@ -5090,7 +5090,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcStairTypeEnum::Class() { return /* Ifc4x2::IfcStairTypeEnum::IfcStairTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcStairTypeEnum::IfcStairTypeEnum(Value v) { @@ -5119,7 +5119,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcStateEnum::Class() { return *(( /* Ifc4x2::IfcStateEnum::IfcStateEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcStateEnum::IfcStateEnum(Value v) { @@ -5148,7 +5148,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcStructuralCurveActivityTypeEnum /* Ifc4x2::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum(Value v) { @@ -5177,7 +5177,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcStructuralCurveMemberTypeEnum:: /* Ifc4x2::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum(Value v) { @@ -5206,7 +5206,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcStructuralSurfaceActivityTypeEn /* Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum(Value v) { @@ -5235,7 +5235,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcStructuralSurfaceMemberTypeEnum /* Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum(Value v) { @@ -5264,7 +5264,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcSubContractResourceTypeEnum::Cl /* Ifc4x2::IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum(Value v) { @@ -5293,7 +5293,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcSurfaceFeatureTypeEnum::Class() /* Ifc4x2::IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum(Value v) { @@ -5322,7 +5322,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcSurfaceSide::Class() { return * /* Ifc4x2::IfcSurfaceSide::IfcSurfaceSide(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcSurfaceSide::IfcSurfaceSide(Value v) { @@ -5351,7 +5351,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcSwitchingDeviceTypeEnum::Class( /* Ifc4x2::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum(Value v) { @@ -5380,7 +5380,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcSystemFurnitureElementTypeEnum: /* Ifc4x2::IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum(Value v) { @@ -5409,7 +5409,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcTankTypeEnum::Class() { return /* Ifc4x2::IfcTankTypeEnum::IfcTankTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcTankTypeEnum::IfcTankTypeEnum(Value v) { @@ -5438,7 +5438,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcTaskDurationEnum::Class() { ret /* Ifc4x2::IfcTaskDurationEnum::IfcTaskDurationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcTaskDurationEnum::IfcTaskDurationEnum(Value v) { @@ -5467,7 +5467,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcTaskTypeEnum::Class() { return /* Ifc4x2::IfcTaskTypeEnum::IfcTaskTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcTaskTypeEnum::IfcTaskTypeEnum(Value v) { @@ -5496,7 +5496,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcTendonAnchorTypeEnum::Class() { /* Ifc4x2::IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum(Value v) { @@ -5525,7 +5525,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcTendonConduitTypeEnum::Class() /* Ifc4x2::IfcTendonConduitTypeEnum::IfcTendonConduitTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcTendonConduitTypeEnum::IfcTendonConduitTypeEnum(Value v) { @@ -5554,7 +5554,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcTendonTypeEnum::Class() { retur /* Ifc4x2::IfcTendonTypeEnum::IfcTendonTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcTendonTypeEnum::IfcTendonTypeEnum(Value v) { @@ -5583,7 +5583,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcTextPath::Class() { return *((i /* Ifc4x2::IfcTextPath::IfcTextPath(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcTextPath::IfcTextPath(Value v) { @@ -5612,7 +5612,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcTimeSeriesDataTypeEnum::Class() /* Ifc4x2::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum(Value v) { @@ -5641,7 +5641,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcTransformerTypeEnum::Class() { /* Ifc4x2::IfcTransformerTypeEnum::IfcTransformerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcTransformerTypeEnum::IfcTransformerTypeEnum(Value v) { @@ -5670,7 +5670,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcTransitionCode::Class() { retur /* Ifc4x2::IfcTransitionCode::IfcTransitionCode(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcTransitionCode::IfcTransitionCode(Value v) { @@ -5699,7 +5699,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcTransitionCurveType::Class() { /* Ifc4x2::IfcTransitionCurveType::IfcTransitionCurveType(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcTransitionCurveType::IfcTransitionCurveType(Value v) { @@ -5728,7 +5728,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcTransportElementTypeEnum::Class /* Ifc4x2::IfcTransportElementTypeEnum::IfcTransportElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcTransportElementTypeEnum::IfcTransportElementTypeEnum(Value v) { @@ -5757,7 +5757,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcTrimmingPreference::Class() { r /* Ifc4x2::IfcTrimmingPreference::IfcTrimmingPreference(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcTrimmingPreference::IfcTrimmingPreference(Value v) { @@ -5786,7 +5786,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcTubeBundleTypeEnum::Class() { r /* Ifc4x2::IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum(Value v) { @@ -5815,7 +5815,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcUnitEnum::Class() { return *((i /* Ifc4x2::IfcUnitEnum::IfcUnitEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcUnitEnum::IfcUnitEnum(Value v) { @@ -5844,7 +5844,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcUnitaryControlElementTypeEnum:: /* Ifc4x2::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum(Value v) { @@ -5873,7 +5873,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcUnitaryEquipmentTypeEnum::Class /* Ifc4x2::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum(Value v) { @@ -5902,7 +5902,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcValveTypeEnum::Class() { return /* Ifc4x2::IfcValveTypeEnum::IfcValveTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcValveTypeEnum::IfcValveTypeEnum(Value v) { @@ -5931,7 +5931,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcVibrationDamperTypeEnum::Class( /* Ifc4x2::IfcVibrationDamperTypeEnum::IfcVibrationDamperTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcVibrationDamperTypeEnum::IfcVibrationDamperTypeEnum(Value v) { @@ -5960,7 +5960,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcVibrationIsolatorTypeEnum::Clas /* Ifc4x2::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum(Value v) { @@ -5989,7 +5989,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcVoidingFeatureTypeEnum::Class() /* Ifc4x2::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum(Value v) { @@ -6018,7 +6018,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcWallTypeEnum::Class() { return /* Ifc4x2::IfcWallTypeEnum::IfcWallTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcWallTypeEnum::IfcWallTypeEnum(Value v) { @@ -6047,7 +6047,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcWasteTerminalTypeEnum::Class() /* Ifc4x2::IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum(Value v) { @@ -6076,7 +6076,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcWindowPanelOperationEnum::Class /* Ifc4x2::IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum(Value v) { @@ -6105,7 +6105,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcWindowPanelPositionEnum::Class( /* Ifc4x2::IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum(Value v) { @@ -6134,7 +6134,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcWindowStyleConstructionEnum::Cl /* Ifc4x2::IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum(Value v) { @@ -6163,7 +6163,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcWindowStyleOperationEnum::Class /* Ifc4x2::IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum(Value v) { @@ -6192,7 +6192,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcWindowTypeEnum::Class() { retur /* Ifc4x2::IfcWindowTypeEnum::IfcWindowTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcWindowTypeEnum::IfcWindowTypeEnum(Value v) { @@ -6221,7 +6221,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcWindowTypePartitioningEnum::Cla /* Ifc4x2::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum(Value v) { @@ -6250,7 +6250,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcWorkCalendarTypeEnum::Class() { /* Ifc4x2::IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum(Value v) { @@ -6279,7 +6279,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcWorkPlanTypeEnum::Class() { ret /* Ifc4x2::IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum(Value v) { @@ -6308,7 +6308,7 @@ const ifcopenshell::enumeration_type& Ifc4x2::IfcWorkScheduleTypeEnum::Class() { /* Ifc4x2::IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x2::IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum(Value v) { @@ -6900,8 +6900,8 @@ Ifc4x2::IfcPressureMeasure::operator double() const { return get_attribute_value // Function implementations for IfcPropertySetDefinitionSet const ifcopenshell::type_declaration& Ifc4x2::IfcPropertySetDefinitionSet::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[774]); } -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); } +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]); } @@ -7117,7 +7117,7 @@ const ifcopenshell::entity& Ifc4x2::IfcActionRequest::Class() { return *((ifcope 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>(); } +::Ifc4x2::IfcActorSelect Ifc4x2::IfcActor::TheActor() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcActorSelect>(); } void Ifc4x2::IfcActor::setTheActor(const ::Ifc4x2::IfcActorSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } std::vector<::Ifc4x2::IfcRelAssignsToActor> Ifc4x2::IfcActor::IsActingUpon() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[837], 6)); } @@ -7152,7 +7152,7 @@ void Ifc4x2::IfcActuatorType::setPredefinedType(const ::Ifc4x2::IfcActuatorTypeE const ifcopenshell::entity& Ifc4x2::IfcActuatorType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[10]); } -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; } +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)); } @@ -7175,18 +7175,18 @@ const ifcopenshell::entity& Ifc4x2::IfcAdvancedBrep::Class() { return *((ifcopen 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); } -void Ifc4x2::IfcAdvancedBrepWithVoids::setVoids(const std::vector< ::Ifc4x2::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x2::IfcClosedShell > Ifc4x2::IfcAdvancedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcClosedShell>(es); } +void Ifc4x2::IfcAdvancedBrepWithVoids::setVoids(const std::vector< ::Ifc4x2::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x2::IfcAdvancedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X2_types[15]); } -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; } +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]); } -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; } +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)); } @@ -7210,7 +7210,7 @@ void Ifc4x2::IfcAirTerminalBoxType::setPredefinedType(const ::Ifc4x2::IfcAirTerm const ifcopenshell::entity& Ifc4x2::IfcAirTerminalBoxType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[19]); } -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; } +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]); } -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; } +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)); } @@ -7234,7 +7234,7 @@ void Ifc4x2::IfcAirToAirHeatRecoveryType::setPredefinedType(const ::Ifc4x2::IfcA const ifcopenshell::entity& Ifc4x2::IfcAirToAirHeatRecoveryType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[24]); } -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; } +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)); } @@ -7250,7 +7250,7 @@ void Ifc4x2::IfcAlarmType::setPredefinedType(const ::Ifc4x2::IfcAlarmTypeEnum::V const ifcopenshell::entity& Ifc4x2::IfcAlarmType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[27]); } -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; } +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)); } @@ -7263,16 +7263,16 @@ Ifc4x2::IfcAlignment Ifc4x2::IfcAlignment::initialize(std::string v1_GlobalId, : // 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; } void Ifc4x2::IfcAlignment2DHorizontal::setStartDistAlong(const std::optional< double >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::vector< ::Ifc4x2::IfcAlignment2DHorizontalSegment > Ifc4x2::IfcAlignment2DHorizontal::Segments() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcAlignment2DHorizontalSegment>(es); } -void Ifc4x2::IfcAlignment2DHorizontal::setSegments(const std::vector< ::Ifc4x2::IfcAlignment2DHorizontalSegment >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x2::IfcAlignment2DHorizontalSegment > Ifc4x2::IfcAlignment2DHorizontal::Segments() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcAlignment2DHorizontalSegment>(es); } +void Ifc4x2::IfcAlignment2DHorizontal::setSegments(const std::vector< ::Ifc4x2::IfcAlignment2DHorizontalSegment >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } 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]); } -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; } +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>(); } +::Ifc4x2::IfcCurveSegment2D Ifc4x2::IfcAlignment2DHorizontalSegment::CurveGeometry() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcCurveSegment2D>(); } void Ifc4x2::IfcAlignment2DHorizontalSegment::setCurveGeometry(const ::Ifc4x2::IfcCurveSegment2D& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::vector<::Ifc4x2::IfcAlignment2DHorizontal> Ifc4x2::IfcAlignment2DHorizontalSegment::ToHorizontal() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[30], 1)); } @@ -7319,13 +7319,13 @@ const ifcopenshell::entity& Ifc4x2::IfcAlignment2DVerSegParabolicArc::Class() { 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); } -void Ifc4x2::IfcAlignment2DVertical::setSegments(const std::vector< ::Ifc4x2::IfcAlignment2DVerticalSegment >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x2::IfcAlignment2DVerticalSegment > Ifc4x2::IfcAlignment2DVertical::Segments() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcAlignment2DVerticalSegment>(es); } +void Ifc4x2::IfcAlignment2DVertical::setSegments(const std::vector< ::Ifc4x2::IfcAlignment2DVerticalSegment >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } 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]); } -Ifc4x2::IfcAlignment2DVertical Ifc4x2::IfcAlignment2DVertical::initialize(std::vector< ::Ifc4x2::IfcAlignment2DVerticalSegment > v1_Segments) { set_attribute_value(0, cast_vector(v1_Segments));; return *this; } +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; } @@ -7343,9 +7343,9 @@ const ifcopenshell::entity& Ifc4x2::IfcAlignment2DVerticalSegment::Class() { ret 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>(); } +::Ifc4x2::IfcAlignment2DHorizontal Ifc4x2::IfcAlignmentCurve::Horizontal() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcAlignment2DHorizontal>(); } void Ifc4x2::IfcAlignmentCurve::setHorizontal(const ::Ifc4x2::IfcAlignment2DHorizontal& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcAlignment2DVertical Ifc4x2::IfcAlignmentCurve::Vertical() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x2::IfcAlignment2DVertical{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcAlignment2DVertical>(); } +::Ifc4x2::IfcAlignment2DVertical Ifc4x2::IfcAlignmentCurve::Vertical() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x2::IfcAlignment2DVertical{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcAlignment2DVertical>(); } void Ifc4x2::IfcAlignmentCurve::setVertical(const ::Ifc4x2::IfcAlignment2DVertical& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x2::IfcAlignmentCurve::Tag() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcAlignmentCurve::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } @@ -7362,17 +7362,17 @@ const ifcopenshell::entity& Ifc4x2::IfcAnnotation::Class() { return *((ifcopensh 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>(); } +::Ifc4x2::IfcCurve Ifc4x2::IfcAnnotationFillArea::OuterBoundary() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcCurve>(); } void Ifc4x2::IfcAnnotationFillArea::setOuterBoundary(const ::Ifc4x2::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::optional< std::vector< ::Ifc4x2::IfcCurve > > Ifc4x2::IfcAnnotationFillArea::InnerBoundaries() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcCurve>(es); } -void Ifc4x2::IfcAnnotationFillArea::setInnerBoundaries(const std::optional< std::vector< ::Ifc4x2::IfcCurve > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } +std::optional< std::vector< ::Ifc4x2::IfcCurve > > Ifc4x2::IfcAnnotationFillArea::InnerBoundaries() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcCurve>(es); } +void Ifc4x2::IfcAnnotationFillArea::setInnerBoundaries(const std::optional< std::vector< ::Ifc4x2::IfcCurve > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } const ifcopenshell::entity& Ifc4x2::IfcAnnotationFillArea::Class() { return *((ifcopenshell::entity*)IFC4X2_types[45]); } -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; } +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>(); } +::Ifc4x2::IfcOrganization Ifc4x2::IfcApplication::ApplicationDeveloper() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcOrganization>(); } void Ifc4x2::IfcApplication::setApplicationDeveloper(const ::Ifc4x2::IfcOrganization& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::string Ifc4x2::IfcApplication::Version() const { std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcApplication::setVersion(const std::string& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -7390,9 +7390,9 @@ std::optional< std::string > Ifc4x2::IfcAppliedValue::Name() const { if(get_attr void Ifc4x2::IfcAppliedValue::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x2::IfcAppliedValue::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcAppliedValue::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x2::IfcAppliedValueSelect Ifc4x2::IfcAppliedValue::AppliedValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x2::IfcAppliedValueSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcAppliedValueSelect>(); } +::Ifc4x2::IfcAppliedValueSelect Ifc4x2::IfcAppliedValue::AppliedValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x2::IfcAppliedValueSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcAppliedValueSelect>(); } void Ifc4x2::IfcAppliedValue::setAppliedValue(const ::Ifc4x2::IfcAppliedValueSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcMeasureWithUnit Ifc4x2::IfcAppliedValue::UnitBasis() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcMeasureWithUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcMeasureWithUnit>(); } +::Ifc4x2::IfcMeasureWithUnit Ifc4x2::IfcAppliedValue::UnitBasis() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcMeasureWithUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcMeasureWithUnit>(); } void Ifc4x2::IfcAppliedValue::setUnitBasis(const ::Ifc4x2::IfcMeasureWithUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x2::IfcAppliedValue::ApplicableDate() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcAppliedValue::setApplicableDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -7404,13 +7404,13 @@ std::optional< std::string > Ifc4x2::IfcAppliedValue::Condition() const { if(get void Ifc4x2::IfcAppliedValue::setCondition(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } std::optional< ::Ifc4x2::IfcArithmeticOperatorEnum::Value > Ifc4x2::IfcAppliedValue::ArithmeticOperator() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcArithmeticOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcAppliedValue::setArithmeticOperator(const std::optional< ::Ifc4x2::IfcArithmeticOperatorEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x2::IfcArithmeticOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > Ifc4x2::IfcAppliedValue::Components() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x2::IfcAppliedValue>(es); } -void Ifc4x2::IfcAppliedValue::setComponents(const std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > Ifc4x2::IfcAppliedValue::Components() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x2::IfcAppliedValue>(es); } +void Ifc4x2::IfcAppliedValue::setComponents(const std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } 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]); } -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; } +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; } @@ -7427,9 +7427,9 @@ std::optional< std::string > Ifc4x2::IfcApproval::Level() const { if(get_attribu void Ifc4x2::IfcApproval::setLevel(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< std::string > Ifc4x2::IfcApproval::Qualifier() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x2::IfcApproval::setQualifier(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x2::IfcActorSelect Ifc4x2::IfcApproval::RequestingApproval() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x2::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x2::IfcActorSelect>(); } +::Ifc4x2::IfcActorSelect Ifc4x2::IfcApproval::RequestingApproval() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x2::IfcActorSelect{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x2::IfcActorSelect>(); } void Ifc4x2::IfcApproval::setRequestingApproval(const ::Ifc4x2::IfcActorSelect& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4x2::IfcActorSelect Ifc4x2::IfcApproval::GivingApproval() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x2::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x2::IfcActorSelect>(); } +::Ifc4x2::IfcActorSelect Ifc4x2::IfcApproval::GivingApproval() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x2::IfcActorSelect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x2::IfcActorSelect>(); } void Ifc4x2::IfcApproval::setGivingApproval(const ::Ifc4x2::IfcActorSelect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcApproval::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[407], 3)); } @@ -7442,17 +7442,17 @@ const ifcopenshell::entity& Ifc4x2::IfcApproval::Class() { return *((ifcopenshel 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>(); } +::Ifc4x2::IfcApproval Ifc4x2::IfcApprovalRelationship::RelatingApproval() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcApproval>(); } void Ifc4x2::IfcApprovalRelationship::setRelatingApproval(const ::Ifc4x2::IfcApproval& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x2::IfcApproval > Ifc4x2::IfcApprovalRelationship::RelatedApprovals() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x2::IfcApproval>(es); } -void Ifc4x2::IfcApprovalRelationship::setRelatedApprovals(const std::vector< ::Ifc4x2::IfcApproval >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x2::IfcApproval > Ifc4x2::IfcApprovalRelationship::RelatedApprovals() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x2::IfcApproval>(es); } +void Ifc4x2::IfcApprovalRelationship::setRelatedApprovals(const std::vector< ::Ifc4x2::IfcApproval >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x2::IfcApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X2_types[50]); } -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; } +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>(); } +::Ifc4x2::IfcCurve Ifc4x2::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcCurve>(); } void Ifc4x2::IfcArbitraryClosedProfileDef::setOuterCurve(const ::Ifc4x2::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -7460,7 +7460,7 @@ const ifcopenshell::entity& Ifc4x2::IfcArbitraryClosedProfileDef::Class() { retu 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>(); } +::Ifc4x2::IfcBoundedCurve Ifc4x2::IfcArbitraryOpenProfileDef::Curve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcBoundedCurve>(); } void Ifc4x2::IfcArbitraryOpenProfileDef::setCurve(const ::Ifc4x2::IfcBoundedCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -7468,31 +7468,31 @@ const ifcopenshell::entity& Ifc4x2::IfcArbitraryOpenProfileDef::Class() { return 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); } -void Ifc4x2::IfcArbitraryProfileDefWithVoids::setInnerCurves(const std::vector< ::Ifc4x2::IfcCurve >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x2::IfcCurve > Ifc4x2::IfcArbitraryProfileDefWithVoids::InnerCurves() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x2::IfcCurve>(es); } +void Ifc4x2::IfcArbitraryProfileDefWithVoids::setInnerCurves(const std::vector< ::Ifc4x2::IfcCurve >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x2::IfcArbitraryProfileDefWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X2_types[53]); } -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; } +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; } void Ifc4x2::IfcAsset::setIdentification(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x2::IfcCostValue Ifc4x2::IfcAsset::OriginalValue() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcCostValue{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x2::IfcCostValue>(); } +::Ifc4x2::IfcCostValue Ifc4x2::IfcAsset::OriginalValue() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcCostValue{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x2::IfcCostValue>(); } void Ifc4x2::IfcAsset::setOriginalValue(const ::Ifc4x2::IfcCostValue& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x2::IfcCostValue Ifc4x2::IfcAsset::CurrentValue() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x2::IfcCostValue{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x2::IfcCostValue>(); } +::Ifc4x2::IfcCostValue Ifc4x2::IfcAsset::CurrentValue() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x2::IfcCostValue{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x2::IfcCostValue>(); } void Ifc4x2::IfcAsset::setCurrentValue(const ::Ifc4x2::IfcCostValue& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4x2::IfcCostValue Ifc4x2::IfcAsset::TotalReplacementCost() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x2::IfcCostValue{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x2::IfcCostValue>(); } +::Ifc4x2::IfcCostValue Ifc4x2::IfcAsset::TotalReplacementCost() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x2::IfcCostValue{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x2::IfcCostValue>(); } void Ifc4x2::IfcAsset::setTotalReplacementCost(const ::Ifc4x2::IfcCostValue& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc4x2::IfcActorSelect Ifc4x2::IfcAsset::Owner() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x2::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x2::IfcActorSelect>(); } +::Ifc4x2::IfcActorSelect Ifc4x2::IfcAsset::Owner() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x2::IfcActorSelect{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x2::IfcActorSelect>(); } void Ifc4x2::IfcAsset::setOwner(const ::Ifc4x2::IfcActorSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -::Ifc4x2::IfcActorSelect Ifc4x2::IfcAsset::User() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x2::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x2::IfcActorSelect>(); } +::Ifc4x2::IfcActorSelect Ifc4x2::IfcAsset::User() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x2::IfcActorSelect{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x2::IfcActorSelect>(); } void Ifc4x2::IfcAsset::setUser(const ::Ifc4x2::IfcActorSelect& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -::Ifc4x2::IfcPerson Ifc4x2::IfcAsset::ResponsiblePerson() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x2::IfcPerson{}; } return ((express::Base)(get_attribute_value(11))).as<::Ifc4x2::IfcPerson>(); } +::Ifc4x2::IfcPerson Ifc4x2::IfcAsset::ResponsiblePerson() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x2::IfcPerson{}; } return ((express::base)(get_attribute_value(11))).as<::Ifc4x2::IfcPerson>(); } void Ifc4x2::IfcAsset::setResponsiblePerson(const ::Ifc4x2::IfcPerson& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } std::optional< std::string > Ifc4x2::IfcAsset::IncorporationDate() const { if(get_attribute_value(12).isNull()) { return std::nullopt; } std::string v = get_attribute_value(12); return v; } void Ifc4x2::IfcAsset::setIncorporationDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x2::IfcCostValue Ifc4x2::IfcAsset::DepreciatedValue() const { if(get_attribute_value(13).isNull()) { return ::Ifc4x2::IfcCostValue{}; } return ((express::Base)(get_attribute_value(13))).as<::Ifc4x2::IfcCostValue>(); } +::Ifc4x2::IfcCostValue Ifc4x2::IfcAsset::DepreciatedValue() const { if(get_attribute_value(13).isNull()) { return ::Ifc4x2::IfcCostValue{}; } return ((express::base)(get_attribute_value(13))).as<::Ifc4x2::IfcCostValue>(); } void Ifc4x2::IfcAsset::setDepreciatedValue(const ::Ifc4x2::IfcCostValue& v) { set_attribute_value(13, v);if constexpr (false)unset_attribute_value(13); } @@ -7543,10 +7543,10 @@ void Ifc4x2::IfcAudioVisualApplianceType::setPredefinedType(const ::Ifc4x2::IfcA const ifcopenshell::entity& Ifc4x2::IfcAudioVisualApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[62]); } -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; } +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>(); } +::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>(); } void Ifc4x2::IfcAxis1Placement::setAxis(const ::Ifc4x2::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -7554,7 +7554,7 @@ const ifcopenshell::entity& Ifc4x2::IfcAxis1Placement::Class() { return *((ifcop 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>(); } +::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>(); } void Ifc4x2::IfcAxis2Placement2D::setRefDirection(const ::Ifc4x2::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -7562,9 +7562,9 @@ const ifcopenshell::entity& Ifc4x2::IfcAxis2Placement2D::Class() { return *((ifc 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>(); } +::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>(); } void Ifc4x2::IfcAxis2Placement3D::setAxis(const ::Ifc4x2::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcDirection Ifc4x2::IfcAxis2Placement3D::RefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x2::IfcDirection{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcDirection>(); } +::Ifc4x2::IfcDirection Ifc4x2::IfcAxis2Placement3D::RefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x2::IfcDirection{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcDirection>(); } void Ifc4x2::IfcAxis2Placement3D::setRefDirection(const ::Ifc4x2::IfcDirection& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -7574,8 +7574,8 @@ Ifc4x2::IfcAxis2Placement3D Ifc4x2::IfcAxis2Placement3D::initialize(::Ifc4x2::If // Function implementations for IfcBSplineCurve int64_t Ifc4x2::IfcBSplineCurve::Degree() const { int64_t v = get_attribute_value(0); return v; } void Ifc4x2::IfcBSplineCurve::setDegree(const int64_t& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x2::IfcCartesianPoint > Ifc4x2::IfcBSplineCurve::ControlPointsList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcCartesianPoint>(es); } -void Ifc4x2::IfcBSplineCurve::setControlPointsList(const std::vector< ::Ifc4x2::IfcCartesianPoint >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x2::IfcCartesianPoint > Ifc4x2::IfcBSplineCurve::ControlPointsList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcCartesianPoint>(es); } +void Ifc4x2::IfcBSplineCurve::setControlPointsList(const std::vector< ::Ifc4x2::IfcCartesianPoint >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } ::Ifc4x2::IfcBSplineCurveForm::Value Ifc4x2::IfcBSplineCurve::CurveForm() const { return ::Ifc4x2::IfcBSplineCurveForm::FromString(get_attribute_value(2)); } void Ifc4x2::IfcBSplineCurve::setCurveForm(const ::Ifc4x2::IfcBSplineCurveForm::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4x2::IfcBSplineCurveForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } boost::logic::tribool Ifc4x2::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = get_attribute_value(3); 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]); } -Ifc4x2::IfcBSplineCurve Ifc4x2::IfcBSplineCurve::initialize(int64_t 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; } +Ifc4x2::IfcBSplineCurve Ifc4x2::IfcBSplineCurve::initialize(int64_t 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< int64_t > /*[2:?]*/ Ifc4x2::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int64_t > /*[2:?]*/ v = get_attribute_value(5); return v; } @@ -7597,15 +7597,15 @@ void Ifc4x2::IfcBSplineCurveWithKnots::setKnotSpec(const ::Ifc4x2::IfcKnotType:: const ifcopenshell::entity& Ifc4x2::IfcBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X2_types[106]); } -Ifc4x2::IfcBSplineCurveWithKnots Ifc4x2::IfcBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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; } +Ifc4x2::IfcBSplineCurveWithKnots Ifc4x2::IfcBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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 int64_t Ifc4x2::IfcBSplineSurface::UDegree() const { int64_t v = get_attribute_value(0); return v; } void Ifc4x2::IfcBSplineSurface::setUDegree(const int64_t& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } int64_t Ifc4x2::IfcBSplineSurface::VDegree() const { int64_t v = get_attribute_value(1); return v; } void Ifc4x2::IfcBSplineSurface::setVDegree(const int64_t& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector< std::vector< ::Ifc4x2::IfcCartesianPoint > > Ifc4x2::IfcBSplineSurface::ControlPointsList() const { std::vector> es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcCartesianPoint>(es); } -void Ifc4x2::IfcBSplineSurface::setControlPointsList(const std::vector< std::vector< ::Ifc4x2::IfcCartesianPoint > >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< std::vector< ::Ifc4x2::IfcCartesianPoint > > Ifc4x2::IfcBSplineSurface::ControlPointsList() const { std::vector> es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcCartesianPoint>(es); } +void Ifc4x2::IfcBSplineSurface::setControlPointsList(const std::vector< std::vector< ::Ifc4x2::IfcCartesianPoint > >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } ::Ifc4x2::IfcBSplineSurfaceForm::Value Ifc4x2::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4x2::IfcBSplineSurfaceForm::FromString(get_attribute_value(3)); } void Ifc4x2::IfcBSplineSurface::setSurfaceForm(const ::Ifc4x2::IfcBSplineSurfaceForm::Value& v) { set_attribute_value(3, enumeration_reference(&::Ifc4x2::IfcBSplineSurfaceForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } boost::logic::tribool Ifc4x2::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = get_attribute_value(4); 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]); } -Ifc4x2::IfcBSplineSurface Ifc4x2::IfcBSplineSurface::initialize(int64_t v1_UDegree, int64_t 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; } +Ifc4x2::IfcBSplineSurface Ifc4x2::IfcBSplineSurface::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ Ifc4x2::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int64_t > /*[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]); } -Ifc4x2::IfcBSplineSurfaceWithKnots Ifc4x2::IfcBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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; } +Ifc4x2::IfcBSplineSurfaceWithKnots Ifc4x2::IfcBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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)); } @@ -7655,7 +7655,7 @@ void Ifc4x2::IfcBeamType::setPredefinedType(const ::Ifc4x2::IfcBeamTypeEnum::Val const ifcopenshell::entity& Ifc4x2::IfcBeamType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[70]); } -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; } +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)); } @@ -7671,7 +7671,7 @@ void Ifc4x2::IfcBearingType::setPredefinedType(const ::Ifc4x2::IfcBearingTypeEnu const ifcopenshell::entity& Ifc4x2::IfcBearingType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[73]); } -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; } +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; } @@ -7709,7 +7709,7 @@ void Ifc4x2::IfcBoilerType::setPredefinedType(const ::Ifc4x2::IfcBoilerTypeEnum: const ifcopenshell::entity& Ifc4x2::IfcBoilerType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[82]); } -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; } +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 @@ -7720,9 +7720,9 @@ Ifc4x2::IfcBooleanClippingResult Ifc4x2::IfcBooleanClippingResult::initialize(:: // Function implementations for IfcBooleanResult ::Ifc4x2::IfcBooleanOperator::Value Ifc4x2::IfcBooleanResult::Operator() const { return ::Ifc4x2::IfcBooleanOperator::FromString(get_attribute_value(0)); } void Ifc4x2::IfcBooleanResult::setOperator(const ::Ifc4x2::IfcBooleanOperator::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc4x2::IfcBooleanOperator::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcBooleanOperand Ifc4x2::IfcBooleanResult::FirstOperand() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcBooleanOperand>(); } +::Ifc4x2::IfcBooleanOperand Ifc4x2::IfcBooleanResult::FirstOperand() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcBooleanOperand>(); } void Ifc4x2::IfcBooleanResult::setFirstOperand(const ::Ifc4x2::IfcBooleanOperand& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcBooleanOperand Ifc4x2::IfcBooleanResult::SecondOperand() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcBooleanOperand>(); } +::Ifc4x2::IfcBooleanOperand Ifc4x2::IfcBooleanResult::SecondOperand() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcBooleanOperand>(); } void Ifc4x2::IfcBooleanResult::setSecondOperand(const ::Ifc4x2::IfcBooleanOperand& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -7741,20 +7741,20 @@ Ifc4x2::IfcBoundaryCondition Ifc4x2::IfcBoundaryCondition::initialize(std::optio const ifcopenshell::entity& Ifc4x2::IfcBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X2_types[90]); } -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; } +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>(); } +::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>(); } void Ifc4x2::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(const ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect>(); } void Ifc4x2::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(const ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect>(); } void Ifc4x2::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(const ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect>(); } void Ifc4x2::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(const ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect>(); } void Ifc4x2::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(const ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect>(); } void Ifc4x2::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(const ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -7762,11 +7762,11 @@ const ifcopenshell::entity& Ifc4x2::IfcBoundaryEdgeCondition::Class() { return * 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>(); } +::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>(); } void Ifc4x2::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(const ::Ifc4x2::IfcModulusOfSubgradeReactionSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcModulusOfSubgradeReactionSelect Ifc4x2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x2::IfcModulusOfSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x2::IfcModulusOfSubgradeReactionSelect Ifc4x2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x2::IfcModulusOfSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcModulusOfSubgradeReactionSelect>(); } void Ifc4x2::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(const ::Ifc4x2::IfcModulusOfSubgradeReactionSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcModulusOfSubgradeReactionSelect Ifc4x2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcModulusOfSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x2::IfcModulusOfSubgradeReactionSelect Ifc4x2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcModulusOfSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcModulusOfSubgradeReactionSelect>(); } void Ifc4x2::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(const ::Ifc4x2::IfcModulusOfSubgradeReactionSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -7774,17 +7774,17 @@ const ifcopenshell::entity& Ifc4x2::IfcBoundaryFaceCondition::Class() { return * 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>(); } +::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>(); } void Ifc4x2::IfcBoundaryNodeCondition::setTranslationalStiffnessX(const ::Ifc4x2::IfcTranslationalStiffnessSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcTranslationalStiffnessSelect Ifc4x2::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x2::IfcTranslationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcTranslationalStiffnessSelect>(); } +::Ifc4x2::IfcTranslationalStiffnessSelect Ifc4x2::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x2::IfcTranslationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcTranslationalStiffnessSelect>(); } void Ifc4x2::IfcBoundaryNodeCondition::setTranslationalStiffnessY(const ::Ifc4x2::IfcTranslationalStiffnessSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcTranslationalStiffnessSelect Ifc4x2::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcTranslationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcTranslationalStiffnessSelect>(); } +::Ifc4x2::IfcTranslationalStiffnessSelect Ifc4x2::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcTranslationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcTranslationalStiffnessSelect>(); } void Ifc4x2::IfcBoundaryNodeCondition::setTranslationalStiffnessZ(const ::Ifc4x2::IfcTranslationalStiffnessSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x2::IfcRotationalStiffnessSelect Ifc4x2::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x2::IfcRotationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcRotationalStiffnessSelect>(); } +::Ifc4x2::IfcRotationalStiffnessSelect Ifc4x2::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x2::IfcRotationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcRotationalStiffnessSelect>(); } void Ifc4x2::IfcBoundaryNodeCondition::setRotationalStiffnessX(const ::Ifc4x2::IfcRotationalStiffnessSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcRotationalStiffnessSelect Ifc4x2::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x2::IfcRotationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcRotationalStiffnessSelect>(); } +::Ifc4x2::IfcRotationalStiffnessSelect Ifc4x2::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x2::IfcRotationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcRotationalStiffnessSelect>(); } void Ifc4x2::IfcBoundaryNodeCondition::setRotationalStiffnessY(const ::Ifc4x2::IfcRotationalStiffnessSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x2::IfcRotationalStiffnessSelect Ifc4x2::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcRotationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x2::IfcRotationalStiffnessSelect>(); } +::Ifc4x2::IfcRotationalStiffnessSelect Ifc4x2::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcRotationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x2::IfcRotationalStiffnessSelect>(); } void Ifc4x2::IfcBoundaryNodeCondition::setRotationalStiffnessZ(const ::Ifc4x2::IfcRotationalStiffnessSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -7792,7 +7792,7 @@ const ifcopenshell::entity& Ifc4x2::IfcBoundaryNodeCondition::Class() { return * 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>(); } +::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>(); } void Ifc4x2::IfcBoundaryNodeConditionWarping::setWarpingStiffness(const ::Ifc4x2::IfcWarpingStiffnessSelect& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -7813,7 +7813,7 @@ const ifcopenshell::entity& Ifc4x2::IfcBoundedSurface::Class() { return *((ifcop 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>(); } +::Ifc4x2::IfcCartesianPoint Ifc4x2::IfcBoundingBox::Corner() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcCartesianPoint>(); } void Ifc4x2::IfcBoundingBox::setCorner(const ::Ifc4x2::IfcCartesianPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x2::IfcBoundingBox::XDim() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcBoundingBox::setXDim(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -7827,7 +7827,7 @@ const ifcopenshell::entity& Ifc4x2::IfcBoundingBox::Class() { return *((ifcopens 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>(); } +::Ifc4x2::IfcBoundingBox Ifc4x2::IfcBoxedHalfSpace::Enclosure() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcBoundingBox>(); } void Ifc4x2::IfcBoxedHalfSpace::setEnclosure(const ::Ifc4x2::IfcBoundingBox& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -7855,7 +7855,7 @@ std::optional< double > Ifc4x2::IfcBuilding::ElevationOfRefHeight() const { if(g void Ifc4x2::IfcBuilding::setElevationOfRefHeight(const std::optional< double >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } std::optional< double > Ifc4x2::IfcBuilding::ElevationOfTerrain() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc4x2::IfcBuilding::setElevationOfTerrain(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x2::IfcPostalAddress Ifc4x2::IfcBuilding::BuildingAddress() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x2::IfcPostalAddress{}; } return ((express::Base)(get_attribute_value(11))).as<::Ifc4x2::IfcPostalAddress>(); } +::Ifc4x2::IfcPostalAddress Ifc4x2::IfcBuilding::BuildingAddress() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x2::IfcPostalAddress{}; } return ((express::base)(get_attribute_value(11))).as<::Ifc4x2::IfcPostalAddress>(); } void Ifc4x2::IfcBuilding::setBuildingAddress(const ::Ifc4x2::IfcPostalAddress& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } @@ -7882,7 +7882,7 @@ void Ifc4x2::IfcBuildingElementPartType::setPredefinedType(const ::Ifc4x2::IfcBu const ifcopenshell::entity& Ifc4x2::IfcBuildingElementPartType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[113]); } -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; } +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)); } @@ -7898,13 +7898,13 @@ void Ifc4x2::IfcBuildingElementProxyType::setPredefinedType(const ::Ifc4x2::IfcB const ifcopenshell::entity& Ifc4x2::IfcBuildingElementProxyType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[116]); } -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; } +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]); } -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; } +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; } @@ -7938,7 +7938,7 @@ void Ifc4x2::IfcBurnerType::setPredefinedType(const ::Ifc4x2::IfcBurnerTypeEnum: const ifcopenshell::entity& Ifc4x2::IfcBurnerType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[123]); } -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; } +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; } @@ -7970,7 +7970,7 @@ void Ifc4x2::IfcCableCarrierFittingType::setPredefinedType(const ::Ifc4x2::IfcCa const ifcopenshell::entity& Ifc4x2::IfcCableCarrierFittingType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[126]); } -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; } +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)); } @@ -7986,7 +7986,7 @@ void Ifc4x2::IfcCableCarrierSegmentType::setPredefinedType(const ::Ifc4x2::IfcCa const ifcopenshell::entity& Ifc4x2::IfcCableCarrierSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[129]); } -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; } +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)); } @@ -8002,7 +8002,7 @@ void Ifc4x2::IfcCableFittingType::setPredefinedType(const ::Ifc4x2::IfcCableFitt const ifcopenshell::entity& Ifc4x2::IfcCableFittingType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[132]); } -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; } +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)); } @@ -8018,7 +8018,7 @@ void Ifc4x2::IfcCableSegmentType::setPredefinedType(const ::Ifc4x2::IfcCableSegm const ifcopenshell::entity& Ifc4x2::IfcCableSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[135]); } -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; } +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)); } @@ -8034,7 +8034,7 @@ void Ifc4x2::IfcCaissonFoundationType::setPredefinedType(const ::Ifc4x2::IfcCais const ifcopenshell::entity& Ifc4x2::IfcCaissonFoundationType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[138]); } -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; } +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; } @@ -8071,11 +8071,11 @@ const ifcopenshell::entity& Ifc4x2::IfcCartesianPointList3D::Class() { return *( 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>(); } +::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>(); } void Ifc4x2::IfcCartesianTransformationOperator::setAxis1(const ::Ifc4x2::IfcDirection& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcDirection Ifc4x2::IfcCartesianTransformationOperator::Axis2() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x2::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcDirection>(); } +::Ifc4x2::IfcDirection Ifc4x2::IfcCartesianTransformationOperator::Axis2() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x2::IfcDirection{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcDirection>(); } void Ifc4x2::IfcCartesianTransformationOperator::setAxis2(const ::Ifc4x2::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcCartesianPoint Ifc4x2::IfcCartesianTransformationOperator::LocalOrigin() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcCartesianPoint>(); } +::Ifc4x2::IfcCartesianPoint Ifc4x2::IfcCartesianTransformationOperator::LocalOrigin() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcCartesianPoint>(); } void Ifc4x2::IfcCartesianTransformationOperator::setLocalOrigin(const ::Ifc4x2::IfcCartesianPoint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc4x2::IfcCartesianTransformationOperator::Scale() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4x2::IfcCartesianTransformationOperator::setScale(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } @@ -8099,7 +8099,7 @@ const ifcopenshell::entity& Ifc4x2::IfcCartesianTransformationOperator2DnonUnifo 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>(); } +::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>(); } void Ifc4x2::IfcCartesianTransformationOperator3D::setAxis3(const ::Ifc4x2::IfcDirection& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -8138,7 +8138,7 @@ void Ifc4x2::IfcChillerType::setPredefinedType(const ::Ifc4x2::IfcChillerTypeEnu const ifcopenshell::entity& Ifc4x2::IfcChillerType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[153]); } -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; } +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)); } @@ -8154,7 +8154,7 @@ void Ifc4x2::IfcChimneyType::setPredefinedType(const ::Ifc4x2::IfcChimneyTypeEnu const ifcopenshell::entity& Ifc4x2::IfcChimneyType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[156]); } -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; } +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; } @@ -8200,7 +8200,7 @@ Ifc4x2::IfcCivilElement Ifc4x2::IfcCivilElement::initialize(std::string v1_Globa const ifcopenshell::entity& Ifc4x2::IfcCivilElementType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[163]); } -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; } +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; } @@ -8225,7 +8225,7 @@ const ifcopenshell::entity& Ifc4x2::IfcClassification::Class() { return *((ifcop 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>(); } +::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>(); } void Ifc4x2::IfcClassificationReference::setReferencedSource(const ::Ifc4x2::IfcClassificationReferenceSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x2::IfcClassificationReference::Description() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcClassificationReference::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -8242,7 +8242,7 @@ Ifc4x2::IfcClassificationReference Ifc4x2::IfcClassificationReference::initializ const ifcopenshell::entity& Ifc4x2::IfcClosedShell::Class() { return *((ifcopenshell::entity*)IFC4X2_types[168]); } -Ifc4x2::IfcClosedShell Ifc4x2::IfcClosedShell::initialize(std::vector< ::Ifc4x2::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } +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)); } @@ -8258,7 +8258,7 @@ void Ifc4x2::IfcCoilType::setPredefinedType(const ::Ifc4x2::IfcCoilTypeEnum::Val const ifcopenshell::entity& Ifc4x2::IfcCoilType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[170]); } -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; } +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; } @@ -8308,7 +8308,7 @@ void Ifc4x2::IfcColumnType::setPredefinedType(const ::Ifc4x2::IfcColumnTypeEnum: const ifcopenshell::entity& Ifc4x2::IfcColumnType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[179]); } -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; } +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)); } @@ -8324,52 +8324,52 @@ void Ifc4x2::IfcCommunicationsApplianceType::setPredefinedType(const ::Ifc4x2::I const ifcopenshell::entity& Ifc4x2::IfcCommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[182]); } -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; } +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; } void Ifc4x2::IfcComplexProperty::setUsageName(const std::string& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x2::IfcProperty > Ifc4x2::IfcComplexProperty::HasProperties() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x2::IfcProperty>(es); } -void Ifc4x2::IfcComplexProperty::setHasProperties(const std::vector< ::Ifc4x2::IfcProperty >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x2::IfcProperty > Ifc4x2::IfcComplexProperty::HasProperties() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x2::IfcProperty>(es); } +void Ifc4x2::IfcComplexProperty::setHasProperties(const std::vector< ::Ifc4x2::IfcProperty >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x2::IfcComplexProperty::Class() { return *((ifcopenshell::entity*)IFC4X2_types[185]); } -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; } +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; } void Ifc4x2::IfcComplexPropertyTemplate::setUsageName(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } std::optional< ::Ifc4x2::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x2::IfcComplexPropertyTemplate::TemplateType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcComplexPropertyTemplateTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x2::IfcComplexPropertyTemplate::setTemplateType(const std::optional< ::Ifc4x2::IfcComplexPropertyTemplateTypeEnum::Value >& v) { if (v) {set_attribute_value(5, enumeration_reference(&::Ifc4x2::IfcComplexPropertyTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -std::optional< std::vector< ::Ifc4x2::IfcPropertyTemplate > > Ifc4x2::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x2::IfcPropertyTemplate>(es); } -void Ifc4x2::IfcComplexPropertyTemplate::setHasPropertyTemplates(const std::optional< std::vector< ::Ifc4x2::IfcPropertyTemplate > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +std::optional< std::vector< ::Ifc4x2::IfcPropertyTemplate > > Ifc4x2::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x2::IfcPropertyTemplate>(es); } +void Ifc4x2::IfcComplexPropertyTemplate::setHasPropertyTemplates(const std::optional< std::vector< ::Ifc4x2::IfcPropertyTemplate > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } const ifcopenshell::entity& Ifc4x2::IfcComplexPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X2_types[186]); } -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; } +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); } -void Ifc4x2::IfcCompositeCurve::setSegments(const std::vector< ::Ifc4x2::IfcCompositeCurveSegment >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x2::IfcCompositeCurveSegment > Ifc4x2::IfcCompositeCurve::Segments() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcCompositeCurveSegment>(es); } +void Ifc4x2::IfcCompositeCurve::setSegments(const std::vector< ::Ifc4x2::IfcCompositeCurveSegment >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } boost::logic::tribool Ifc4x2::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(1); return v; } void Ifc4x2::IfcCompositeCurve::setSelfIntersect(const boost::logic::tribool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x2::IfcCompositeCurve::Class() { return *((ifcopenshell::entity*)IFC4X2_types[188]); } -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; } +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]); } -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; } +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)); } void Ifc4x2::IfcCompositeCurveSegment::setTransition(const ::Ifc4x2::IfcTransitionCode::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc4x2::IfcTransitionCode::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } bool Ifc4x2::IfcCompositeCurveSegment::SameSense() const { bool v = get_attribute_value(1); return v; } void Ifc4x2::IfcCompositeCurveSegment::setSameSense(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcCurve Ifc4x2::IfcCompositeCurveSegment::ParentCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcCurve>(); } +::Ifc4x2::IfcCurve Ifc4x2::IfcCompositeCurveSegment::ParentCurve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcCurve>(); } void Ifc4x2::IfcCompositeCurveSegment::setParentCurve(const ::Ifc4x2::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::vector<::Ifc4x2::IfcCompositeCurve> Ifc4x2::IfcCompositeCurveSegment::UsingCurves() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[188], 0)); } @@ -8378,14 +8378,14 @@ const ifcopenshell::entity& Ifc4x2::IfcCompositeCurveSegment::Class() { return * 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); } -void Ifc4x2::IfcCompositeProfileDef::setProfiles(const std::vector< ::Ifc4x2::IfcProfileDef >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x2::IfcProfileDef > Ifc4x2::IfcCompositeProfileDef::Profiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcProfileDef>(es); } +void Ifc4x2::IfcCompositeProfileDef::setProfiles(const std::vector< ::Ifc4x2::IfcProfileDef >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4x2::IfcCompositeProfileDef::Label() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x2::IfcCompositeProfileDef::setLabel(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const ifcopenshell::entity& Ifc4x2::IfcCompositeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X2_types[191]); } -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; } +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)); } @@ -8401,7 +8401,7 @@ void Ifc4x2::IfcCompressorType::setPredefinedType(const ::Ifc4x2::IfcCompressorT const ifcopenshell::entity& Ifc4x2::IfcCompressorType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[194]); } -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; } +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)); } @@ -8417,10 +8417,10 @@ void Ifc4x2::IfcCondenserType::setPredefinedType(const ::Ifc4x2::IfcCondenserTyp const ifcopenshell::entity& Ifc4x2::IfcCondenserType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[197]); } -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; } +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>(); } +::Ifc4x2::IfcAxis2Placement Ifc4x2::IfcConic::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcAxis2Placement>(); } void Ifc4x2::IfcConic::setPosition(const ::Ifc4x2::IfcAxis2Placement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -8428,17 +8428,17 @@ const ifcopenshell::entity& Ifc4x2::IfcConic::Class() { return *((ifcopenshell:: 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); } -void Ifc4x2::IfcConnectedFaceSet::setCfsFaces(const std::vector< ::Ifc4x2::IfcFace >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x2::IfcFace > Ifc4x2::IfcConnectedFaceSet::CfsFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcFace>(es); } +void Ifc4x2::IfcConnectedFaceSet::setCfsFaces(const std::vector< ::Ifc4x2::IfcFace >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x2::IfcConnectedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X2_types[200]); } -Ifc4x2::IfcConnectedFaceSet Ifc4x2::IfcConnectedFaceSet::initialize(std::vector< ::Ifc4x2::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } +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>(); } +::Ifc4x2::IfcCurveOrEdgeCurve Ifc4x2::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcCurveOrEdgeCurve>(); } void Ifc4x2::IfcConnectionCurveGeometry::setCurveOnRelatingElement(const ::Ifc4x2::IfcCurveOrEdgeCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcCurveOrEdgeCurve Ifc4x2::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x2::IfcCurveOrEdgeCurve{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcCurveOrEdgeCurve>(); } +::Ifc4x2::IfcCurveOrEdgeCurve Ifc4x2::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x2::IfcCurveOrEdgeCurve{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcCurveOrEdgeCurve>(); } void Ifc4x2::IfcConnectionCurveGeometry::setCurveOnRelatedElement(const ::Ifc4x2::IfcCurveOrEdgeCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8464,9 +8464,9 @@ const ifcopenshell::entity& Ifc4x2::IfcConnectionPointEccentricity::Class() { re 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>(); } +::Ifc4x2::IfcPointOrVertexPoint Ifc4x2::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcPointOrVertexPoint>(); } void Ifc4x2::IfcConnectionPointGeometry::setPointOnRelatingElement(const ::Ifc4x2::IfcPointOrVertexPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcPointOrVertexPoint Ifc4x2::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x2::IfcPointOrVertexPoint{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcPointOrVertexPoint>(); } +::Ifc4x2::IfcPointOrVertexPoint Ifc4x2::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x2::IfcPointOrVertexPoint{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcPointOrVertexPoint>(); } void Ifc4x2::IfcConnectionPointGeometry::setPointOnRelatedElement(const ::Ifc4x2::IfcPointOrVertexPoint& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8474,9 +8474,9 @@ const ifcopenshell::entity& Ifc4x2::IfcConnectionPointGeometry::Class() { return 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>(); } +::Ifc4x2::IfcSurfaceOrFaceSurface Ifc4x2::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcSurfaceOrFaceSurface>(); } void Ifc4x2::IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(const ::Ifc4x2::IfcSurfaceOrFaceSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcSurfaceOrFaceSurface Ifc4x2::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x2::IfcSurfaceOrFaceSurface{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcSurfaceOrFaceSurface>(); } +::Ifc4x2::IfcSurfaceOrFaceSurface Ifc4x2::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x2::IfcSurfaceOrFaceSurface{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcSurfaceOrFaceSurface>(); } void Ifc4x2::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(const ::Ifc4x2::IfcSurfaceOrFaceSurface& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8484,9 +8484,9 @@ const ifcopenshell::entity& Ifc4x2::IfcConnectionSurfaceGeometry::Class() { retu 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>(); } +::Ifc4x2::IfcSolidOrShell Ifc4x2::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcSolidOrShell>(); } void Ifc4x2::IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(const ::Ifc4x2::IfcSolidOrShell& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcSolidOrShell Ifc4x2::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x2::IfcSolidOrShell{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcSolidOrShell>(); } +::Ifc4x2::IfcSolidOrShell Ifc4x2::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x2::IfcSolidOrShell{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcSolidOrShell>(); } void Ifc4x2::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(const ::Ifc4x2::IfcSolidOrShell& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8502,7 +8502,7 @@ void Ifc4x2::IfcConstraint::setDescription(const std::optional< std::string >& v void Ifc4x2::IfcConstraint::setConstraintGrade(const ::Ifc4x2::IfcConstraintEnum::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4x2::IfcConstraintEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4x2::IfcConstraint::ConstraintSource() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x2::IfcConstraint::setConstraintSource(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x2::IfcActorSelect Ifc4x2::IfcConstraint::CreatingActor() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x2::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcActorSelect>(); } +::Ifc4x2::IfcActorSelect Ifc4x2::IfcConstraint::CreatingActor() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x2::IfcActorSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcActorSelect>(); } void Ifc4x2::IfcConstraint::setCreatingActor(const ::Ifc4x2::IfcActorSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::optional< std::string > Ifc4x2::IfcConstraint::CreationTime() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcConstraint::setCreationTime(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } @@ -8521,7 +8521,7 @@ void Ifc4x2::IfcConstructionEquipmentResource::setPredefinedType(const std::opti const ifcopenshell::entity& Ifc4x2::IfcConstructionEquipmentResource::Class() { return *((ifcopenshell::entity*)IFC4X2_types[210]); } -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; } +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]); } -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; } +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]); } -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; } +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]); } -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; } +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]); } -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; } +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,29 +8561,29 @@ void Ifc4x2::IfcConstructionProductResourceType::setPredefinedType(const ::Ifc4x const ifcopenshell::entity& Ifc4x2::IfcConstructionProductResourceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[217]); } -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; } +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>(); } +::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>(); } void Ifc4x2::IfcConstructionResource::setUsage(const ::Ifc4x2::IfcResourceTime& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > Ifc4x2::IfcConstructionResource::BaseCosts() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x2::IfcAppliedValue>(es); } -void Ifc4x2::IfcConstructionResource::setBaseCosts(const std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } -::Ifc4x2::IfcPhysicalQuantity Ifc4x2::IfcConstructionResource::BaseQuantity() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x2::IfcPhysicalQuantity{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x2::IfcPhysicalQuantity>(); } +std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > Ifc4x2::IfcConstructionResource::BaseCosts() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x2::IfcAppliedValue>(es); } +void Ifc4x2::IfcConstructionResource::setBaseCosts(const std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } +::Ifc4x2::IfcPhysicalQuantity Ifc4x2::IfcConstructionResource::BaseQuantity() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x2::IfcPhysicalQuantity{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x2::IfcPhysicalQuantity>(); } void Ifc4x2::IfcConstructionResource::setBaseQuantity(const ::Ifc4x2::IfcPhysicalQuantity& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } const ifcopenshell::entity& Ifc4x2::IfcConstructionResource::Class() { return *((ifcopenshell::entity*)IFC4X2_types[219]); } -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; } +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); } -void Ifc4x2::IfcConstructionResourceType::setBaseCosts(const std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } -::Ifc4x2::IfcPhysicalQuantity Ifc4x2::IfcConstructionResourceType::BaseQuantity() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x2::IfcPhysicalQuantity{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x2::IfcPhysicalQuantity>(); } +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); } +void Ifc4x2::IfcConstructionResourceType::setBaseCosts(const std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +::Ifc4x2::IfcPhysicalQuantity Ifc4x2::IfcConstructionResourceType::BaseQuantity() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x2::IfcPhysicalQuantity{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x2::IfcPhysicalQuantity>(); } void Ifc4x2::IfcConstructionResourceType::setBaseQuantity(const ::Ifc4x2::IfcPhysicalQuantity& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } const ifcopenshell::entity& Ifc4x2::IfcConstructionResourceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[220]); } -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; } +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; } @@ -8592,16 +8592,16 @@ std::optional< std::string > Ifc4x2::IfcContext::LongName() const { if(get_attri void Ifc4x2::IfcContext::setLongName(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< std::string > Ifc4x2::IfcContext::Phase() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x2::IfcContext::setPhase(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x2::IfcRepresentationContext > > Ifc4x2::IfcContext::RepresentationContexts() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x2::IfcRepresentationContext>(es); } -void Ifc4x2::IfcContext::setRepresentationContexts(const std::optional< std::vector< ::Ifc4x2::IfcRepresentationContext > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } -::Ifc4x2::IfcUnitAssignment Ifc4x2::IfcContext::UnitsInContext() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x2::IfcUnitAssignment{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x2::IfcUnitAssignment>(); } +std::optional< std::vector< ::Ifc4x2::IfcRepresentationContext > > Ifc4x2::IfcContext::RepresentationContexts() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x2::IfcRepresentationContext>(es); } +void Ifc4x2::IfcContext::setRepresentationContexts(const std::optional< std::vector< ::Ifc4x2::IfcRepresentationContext > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +::Ifc4x2::IfcUnitAssignment Ifc4x2::IfcContext::UnitsInContext() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x2::IfcUnitAssignment{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x2::IfcUnitAssignment>(); } void Ifc4x2::IfcContext::setUnitsInContext(const ::Ifc4x2::IfcUnitAssignment& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } std::vector<::Ifc4x2::IfcRelDefinesByProperties> Ifc4x2::IfcContext::IsDefinedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[868], 4)); } 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]); } -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; } +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; } @@ -8635,12 +8635,12 @@ void Ifc4x2::IfcControllerType::setPredefinedType(const ::Ifc4x2::IfcControllerT const ifcopenshell::entity& Ifc4x2::IfcControllerType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[226]); } -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; } +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; } void Ifc4x2::IfcConversionBasedUnit::setName(const std::string& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcMeasureWithUnit Ifc4x2::IfcConversionBasedUnit::ConversionFactor() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcMeasureWithUnit>(); } +::Ifc4x2::IfcMeasureWithUnit Ifc4x2::IfcConversionBasedUnit::ConversionFactor() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcMeasureWithUnit>(); } void Ifc4x2::IfcConversionBasedUnit::setConversionFactor(const ::Ifc4x2::IfcMeasureWithUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[407], 3)); } @@ -8670,7 +8670,7 @@ void Ifc4x2::IfcCooledBeamType::setPredefinedType(const ::Ifc4x2::IfcCooledBeamT const ifcopenshell::entity& Ifc4x2::IfcCooledBeamType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[231]); } -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; } +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)); } @@ -8686,12 +8686,12 @@ void Ifc4x2::IfcCoolingTowerType::setPredefinedType(const ::Ifc4x2::IfcCoolingTo const ifcopenshell::entity& Ifc4x2::IfcCoolingTowerType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[234]); } -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; } +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>(); } +::Ifc4x2::IfcCoordinateReferenceSystemSelect Ifc4x2::IfcCoordinateOperation::SourceCRS() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcCoordinateReferenceSystemSelect>(); } void Ifc4x2::IfcCoordinateOperation::setSourceCRS(const ::Ifc4x2::IfcCoordinateReferenceSystemSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcCoordinateReferenceSystem Ifc4x2::IfcCoordinateOperation::TargetCRS() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcCoordinateReferenceSystem>(); } +::Ifc4x2::IfcCoordinateReferenceSystem Ifc4x2::IfcCoordinateOperation::TargetCRS() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcCoordinateReferenceSystem>(); } void Ifc4x2::IfcCoordinateOperation::setTargetCRS(const ::Ifc4x2::IfcCoordinateReferenceSystem& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8716,14 +8716,14 @@ Ifc4x2::IfcCoordinateReferenceSystem Ifc4x2::IfcCoordinateReferenceSystem::initi // 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)); } void Ifc4x2::IfcCostItem::setPredefinedType(const std::optional< ::Ifc4x2::IfcCostItemTypeEnum::Value >& v) { if (v) {set_attribute_value(6, enumeration_reference(&::Ifc4x2::IfcCostItemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x2::IfcCostValue > > Ifc4x2::IfcCostItem::CostValues() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x2::IfcCostValue>(es); } -void Ifc4x2::IfcCostItem::setCostValues(const std::optional< std::vector< ::Ifc4x2::IfcCostValue > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } -std::optional< std::vector< ::Ifc4x2::IfcPhysicalQuantity > > Ifc4x2::IfcCostItem::CostQuantities() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x2::IfcPhysicalQuantity>(es); } -void Ifc4x2::IfcCostItem::setCostQuantities(const std::optional< std::vector< ::Ifc4x2::IfcPhysicalQuantity > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } +std::optional< std::vector< ::Ifc4x2::IfcCostValue > > Ifc4x2::IfcCostItem::CostValues() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x2::IfcCostValue>(es); } +void Ifc4x2::IfcCostItem::setCostValues(const std::optional< std::vector< ::Ifc4x2::IfcCostValue > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x2::IfcPhysicalQuantity > > Ifc4x2::IfcCostItem::CostQuantities() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x2::IfcPhysicalQuantity>(es); } +void Ifc4x2::IfcCostItem::setCostQuantities(const std::optional< std::vector< ::Ifc4x2::IfcPhysicalQuantity > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } const ifcopenshell::entity& Ifc4x2::IfcCostItem::Class() { return *((ifcopenshell::entity*)IFC4X2_types[239]); } -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; } +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)); } @@ -8743,7 +8743,7 @@ Ifc4x2::IfcCostSchedule Ifc4x2::IfcCostSchedule::initialize(std::string v1_Globa const ifcopenshell::entity& Ifc4x2::IfcCostValue::Class() { return *((ifcopenshell::entity*)IFC4X2_types[243]); } -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; } +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)); } @@ -8761,7 +8761,7 @@ void Ifc4x2::IfcCoveringType::setPredefinedType(const ::Ifc4x2::IfcCoveringTypeE const ifcopenshell::entity& Ifc4x2::IfcCoveringType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[246]); } -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; } +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]); } -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; } +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,10 +8777,10 @@ void Ifc4x2::IfcCrewResourceType::setPredefinedType(const ::Ifc4x2::IfcCrewResou const ifcopenshell::entity& Ifc4x2::IfcCrewResourceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[249]); } -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; } +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>(); } +::Ifc4x2::IfcAxis2Placement3D Ifc4x2::IfcCsgPrimitive3D::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcAxis2Placement3D>(); } void Ifc4x2::IfcCsgPrimitive3D::setPosition(const ::Ifc4x2::IfcAxis2Placement3D& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -8788,7 +8788,7 @@ const ifcopenshell::entity& Ifc4x2::IfcCsgPrimitive3D::Class() { return *((ifcop 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>(); } +::Ifc4x2::IfcCsgSelect Ifc4x2::IfcCsgSolid::TreeRootExpression() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcCsgSelect>(); } void Ifc4x2::IfcCsgSolid::setTreeRootExpression(const ::Ifc4x2::IfcCsgSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -8796,15 +8796,15 @@ const ifcopenshell::entity& Ifc4x2::IfcCsgSolid::Class() { return *((ifcopenshel 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>(); } +::Ifc4x2::IfcMonetaryUnit Ifc4x2::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcMonetaryUnit>(); } void Ifc4x2::IfcCurrencyRelationship::setRelatingMonetaryUnit(const ::Ifc4x2::IfcMonetaryUnit& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcMonetaryUnit Ifc4x2::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcMonetaryUnit>(); } +::Ifc4x2::IfcMonetaryUnit Ifc4x2::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcMonetaryUnit>(); } void Ifc4x2::IfcCurrencyRelationship::setRelatedMonetaryUnit(const ::Ifc4x2::IfcMonetaryUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } double Ifc4x2::IfcCurrencyRelationship::ExchangeRate() const { double v = get_attribute_value(4); return v; } void Ifc4x2::IfcCurrencyRelationship::setExchangeRate(const double& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::optional< std::string > Ifc4x2::IfcCurrencyRelationship::RateDateTime() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcCurrencyRelationship::setRateDateTime(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x2::IfcLibraryInformation Ifc4x2::IfcCurrencyRelationship::RateSource() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcLibraryInformation{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x2::IfcLibraryInformation>(); } +::Ifc4x2::IfcLibraryInformation Ifc4x2::IfcCurrencyRelationship::RateSource() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcLibraryInformation{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x2::IfcLibraryInformation>(); } void Ifc4x2::IfcCurrencyRelationship::setRateSource(const ::Ifc4x2::IfcLibraryInformation& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -8825,7 +8825,7 @@ void Ifc4x2::IfcCurtainWallType::setPredefinedType(const ::Ifc4x2::IfcCurtainWal const ifcopenshell::entity& Ifc4x2::IfcCurtainWallType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[257]); } -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; } +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 @@ -8834,31 +8834,31 @@ const ifcopenshell::entity& Ifc4x2::IfcCurve::Class() { return *((ifcopenshell:: 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>(); } +::Ifc4x2::IfcPlane Ifc4x2::IfcCurveBoundedPlane::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcPlane>(); } void Ifc4x2::IfcCurveBoundedPlane::setBasisSurface(const ::Ifc4x2::IfcPlane& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcCurve Ifc4x2::IfcCurveBoundedPlane::OuterBoundary() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcCurve>(); } +::Ifc4x2::IfcCurve Ifc4x2::IfcCurveBoundedPlane::OuterBoundary() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcCurve>(); } void Ifc4x2::IfcCurveBoundedPlane::setOuterBoundary(const ::Ifc4x2::IfcCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x2::IfcCurve > Ifc4x2::IfcCurveBoundedPlane::InnerBoundaries() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcCurve>(es); } -void Ifc4x2::IfcCurveBoundedPlane::setInnerBoundaries(const std::vector< ::Ifc4x2::IfcCurve >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x2::IfcCurve > Ifc4x2::IfcCurveBoundedPlane::InnerBoundaries() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcCurve>(es); } +void Ifc4x2::IfcCurveBoundedPlane::setInnerBoundaries(const std::vector< ::Ifc4x2::IfcCurve >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x2::IfcCurveBoundedPlane::Class() { return *((ifcopenshell::entity*)IFC4X2_types[261]); } -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; } +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>(); } +::Ifc4x2::IfcSurface Ifc4x2::IfcCurveBoundedSurface::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcSurface>(); } void Ifc4x2::IfcCurveBoundedSurface::setBasisSurface(const ::Ifc4x2::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x2::IfcBoundaryCurve > Ifc4x2::IfcCurveBoundedSurface::Boundaries() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcBoundaryCurve>(es); } -void Ifc4x2::IfcCurveBoundedSurface::setBoundaries(const std::vector< ::Ifc4x2::IfcBoundaryCurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x2::IfcBoundaryCurve > Ifc4x2::IfcCurveBoundedSurface::Boundaries() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcBoundaryCurve>(es); } +void Ifc4x2::IfcCurveBoundedSurface::setBoundaries(const std::vector< ::Ifc4x2::IfcBoundaryCurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } bool Ifc4x2::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = get_attribute_value(2); return v; } void Ifc4x2::IfcCurveBoundedSurface::setImplicitOuter(const bool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x2::IfcCurveBoundedSurface::Class() { return *((ifcopenshell::entity*)IFC4X2_types[262]); } -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; } +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>(); } +::Ifc4x2::IfcCartesianPoint Ifc4x2::IfcCurveSegment2D::StartPoint() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcCartesianPoint>(); } void Ifc4x2::IfcCurveSegment2D::setStartPoint(const ::Ifc4x2::IfcCartesianPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x2::IfcCurveSegment2D::StartDirection() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcCurveSegment2D::setStartDirection(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8870,11 +8870,11 @@ const ifcopenshell::entity& Ifc4x2::IfcCurveSegment2D::Class() { return *((ifcop 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>(); } +::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>(); } void Ifc4x2::IfcCurveStyle::setCurveFont(const ::Ifc4x2::IfcCurveFontOrScaledCurveFontSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcSizeSelect Ifc4x2::IfcCurveStyle::CurveWidth() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x2::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcSizeSelect>(); } +::Ifc4x2::IfcSizeSelect Ifc4x2::IfcCurveStyle::CurveWidth() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x2::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcSizeSelect>(); } void Ifc4x2::IfcCurveStyle::setCurveWidth(const ::Ifc4x2::IfcSizeSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcColour Ifc4x2::IfcCurveStyle::CurveColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcColour{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcColour>(); } +::Ifc4x2::IfcColour Ifc4x2::IfcCurveStyle::CurveColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcColour{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcColour>(); } void Ifc4x2::IfcCurveStyle::setCurveColour(const ::Ifc4x2::IfcColour& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< bool > Ifc4x2::IfcCurveStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } bool v = get_attribute_value(4); return v; } void Ifc4x2::IfcCurveStyle::setModelOrDraughting(const std::optional< bool >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -8886,17 +8886,17 @@ Ifc4x2::IfcCurveStyle Ifc4x2::IfcCurveStyle::initialize(std::optional< std::stri // 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; } void Ifc4x2::IfcCurveStyleFont::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::vector< ::Ifc4x2::IfcCurveStyleFontPattern > Ifc4x2::IfcCurveStyleFont::PatternList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcCurveStyleFontPattern>(es); } -void Ifc4x2::IfcCurveStyleFont::setPatternList(const std::vector< ::Ifc4x2::IfcCurveStyleFontPattern >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x2::IfcCurveStyleFontPattern > Ifc4x2::IfcCurveStyleFont::PatternList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcCurveStyleFontPattern>(es); } +void Ifc4x2::IfcCurveStyleFont::setPatternList(const std::vector< ::Ifc4x2::IfcCurveStyleFontPattern >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x2::IfcCurveStyleFont::Class() { return *((ifcopenshell::entity*)IFC4X2_types[269]); } -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; } +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; } void Ifc4x2::IfcCurveStyleFontAndScaling::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x2::IfcCurveStyleFontSelect Ifc4x2::IfcCurveStyleFontAndScaling::CurveFont() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcCurveStyleFontSelect>(); } +::Ifc4x2::IfcCurveStyleFontSelect Ifc4x2::IfcCurveStyleFontAndScaling::CurveFont() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcCurveStyleFontSelect>(); } void Ifc4x2::IfcCurveStyleFontAndScaling::setCurveFont(const ::Ifc4x2::IfcCurveStyleFontSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } double Ifc4x2::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = get_attribute_value(2); return v; } void Ifc4x2::IfcCurveStyleFontAndScaling::setCurveFontScaling(const double& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8937,7 +8937,7 @@ void Ifc4x2::IfcDamperType::setPredefinedType(const ::Ifc4x2::IfcDamperTypeEnum: const ifcopenshell::entity& Ifc4x2::IfcDamperType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[275]); } -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; } +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 @@ -8949,12 +8949,12 @@ Ifc4x2::IfcDeepFoundation Ifc4x2::IfcDeepFoundation::initialize(std::string v1_G const ifcopenshell::entity& Ifc4x2::IfcDeepFoundationType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[283]); } -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; } +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>(); } +::Ifc4x2::IfcProfileDef Ifc4x2::IfcDerivedProfileDef::ParentProfile() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcProfileDef>(); } void Ifc4x2::IfcDerivedProfileDef::setParentProfile(const ::Ifc4x2::IfcProfileDef& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcCartesianTransformationOperator2D Ifc4x2::IfcDerivedProfileDef::Operator() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcCartesianTransformationOperator2D>(); } +::Ifc4x2::IfcCartesianTransformationOperator2D Ifc4x2::IfcDerivedProfileDef::Operator() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcCartesianTransformationOperator2D>(); } void Ifc4x2::IfcDerivedProfileDef::setOperator(const ::Ifc4x2::IfcCartesianTransformationOperator2D& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x2::IfcDerivedProfileDef::Label() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcDerivedProfileDef::setLabel(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -8964,8 +8964,8 @@ const ifcopenshell::entity& Ifc4x2::IfcDerivedProfileDef::Class() { return *((if 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); } -void Ifc4x2::IfcDerivedUnit::setElements(const std::vector< ::Ifc4x2::IfcDerivedUnitElement >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x2::IfcDerivedUnitElement > Ifc4x2::IfcDerivedUnit::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcDerivedUnitElement>(es); } +void Ifc4x2::IfcDerivedUnit::setElements(const std::vector< ::Ifc4x2::IfcDerivedUnitElement >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } ::Ifc4x2::IfcDerivedUnitEnum::Value Ifc4x2::IfcDerivedUnit::UnitType() const { return ::Ifc4x2::IfcDerivedUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x2::IfcDerivedUnit::setUnitType(const ::Ifc4x2::IfcDerivedUnitEnum::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4x2::IfcDerivedUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x2::IfcDerivedUnit::UserDefinedType() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } @@ -8973,10 +8973,10 @@ void Ifc4x2::IfcDerivedUnit::setUserDefinedType(const std::optional< std::string const ifcopenshell::entity& Ifc4x2::IfcDerivedUnit::Class() { return *((ifcopenshell::entity*)IFC4X2_types[287]); } -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; } +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>(); } +::Ifc4x2::IfcNamedUnit Ifc4x2::IfcDerivedUnitElement::Unit() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcNamedUnit>(); } void Ifc4x2::IfcDerivedUnitElement::setUnit(const ::Ifc4x2::IfcNamedUnit& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } int64_t Ifc4x2::IfcDerivedUnitElement::Exponent() const { int64_t v = get_attribute_value(1); return v; } void Ifc4x2::IfcDerivedUnitElement::setExponent(const int64_t& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9027,7 +9027,7 @@ void Ifc4x2::IfcDiscreteAccessoryType::setPredefinedType(const ::Ifc4x2::IfcDisc const ifcopenshell::entity& Ifc4x2::IfcDiscreteAccessoryType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[296]); } -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; } +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; } @@ -9059,7 +9059,7 @@ void Ifc4x2::IfcDistributionChamberElementType::setPredefinedType(const ::Ifc4x2 const ifcopenshell::entity& Ifc4x2::IfcDistributionChamberElementType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[300]); } -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; } +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 @@ -9078,7 +9078,7 @@ Ifc4x2::IfcDistributionControlElement Ifc4x2::IfcDistributionControlElement::ini const ifcopenshell::entity& Ifc4x2::IfcDistributionControlElementType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[304]); } -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; } +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 @@ -9091,7 +9091,7 @@ Ifc4x2::IfcDistributionElement Ifc4x2::IfcDistributionElement::initialize(std::s const ifcopenshell::entity& Ifc4x2::IfcDistributionElementType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[306]); } -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; } +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 @@ -9104,7 +9104,7 @@ Ifc4x2::IfcDistributionFlowElement Ifc4x2::IfcDistributionFlowElement::initializ const ifcopenshell::entity& Ifc4x2::IfcDistributionFlowElementType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[308]); } -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; } +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)); } @@ -9145,10 +9145,10 @@ std::optional< std::string > Ifc4x2::IfcDocumentInformation::Scope() const { if( void Ifc4x2::IfcDocumentInformation::setScope(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } std::optional< std::string > Ifc4x2::IfcDocumentInformation::Revision() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4x2::IfcDocumentInformation::setRevision(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x2::IfcActorSelect Ifc4x2::IfcDocumentInformation::DocumentOwner() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x2::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x2::IfcActorSelect>(); } +::Ifc4x2::IfcActorSelect Ifc4x2::IfcDocumentInformation::DocumentOwner() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x2::IfcActorSelect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x2::IfcActorSelect>(); } void Ifc4x2::IfcDocumentInformation::setDocumentOwner(const ::Ifc4x2::IfcActorSelect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::optional< std::vector< ::Ifc4x2::IfcActorSelect > > Ifc4x2::IfcDocumentInformation::Editors() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x2::IfcActorSelect>(es); } -void Ifc4x2::IfcDocumentInformation::setEditors(const std::optional< std::vector< ::Ifc4x2::IfcActorSelect > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +std::optional< std::vector< ::Ifc4x2::IfcActorSelect > > Ifc4x2::IfcDocumentInformation::Editors() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x2::IfcActorSelect>(es); } +void Ifc4x2::IfcDocumentInformation::setEditors(const std::optional< std::vector< ::Ifc4x2::IfcActorSelect > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } std::optional< std::string > Ifc4x2::IfcDocumentInformation::CreationTime() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } std::string v = get_attribute_value(10); return v; } void Ifc4x2::IfcDocumentInformation::setCreationTime(const std::optional< std::string >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } std::optional< std::string > Ifc4x2::IfcDocumentInformation::LastRevisionTime() const { if(get_attribute_value(11).isNull()) { return std::nullopt; } std::string v = get_attribute_value(11); return v; } @@ -9170,24 +9170,24 @@ 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]); } -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; } +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>(); } +::Ifc4x2::IfcDocumentInformation Ifc4x2::IfcDocumentInformationRelationship::RelatingDocument() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcDocumentInformation>(); } void Ifc4x2::IfcDocumentInformationRelationship::setRelatingDocument(const ::Ifc4x2::IfcDocumentInformation& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x2::IfcDocumentInformation > Ifc4x2::IfcDocumentInformationRelationship::RelatedDocuments() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x2::IfcDocumentInformation>(es); } -void Ifc4x2::IfcDocumentInformationRelationship::setRelatedDocuments(const std::vector< ::Ifc4x2::IfcDocumentInformation >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x2::IfcDocumentInformation > Ifc4x2::IfcDocumentInformationRelationship::RelatedDocuments() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x2::IfcDocumentInformation>(es); } +void Ifc4x2::IfcDocumentInformationRelationship::setRelatedDocuments(const std::vector< ::Ifc4x2::IfcDocumentInformation >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x2::IfcDocumentInformationRelationship::RelationshipType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcDocumentInformationRelationship::setRelationshipType(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const ifcopenshell::entity& Ifc4x2::IfcDocumentInformationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X2_types[315]); } -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; } +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; } void Ifc4x2::IfcDocumentReference::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x2::IfcDocumentInformation Ifc4x2::IfcDocumentReference::ReferencedDocument() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x2::IfcDocumentInformation{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcDocumentInformation>(); } +::Ifc4x2::IfcDocumentInformation Ifc4x2::IfcDocumentReference::ReferencedDocument() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x2::IfcDocumentInformation{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcDocumentInformation>(); } void Ifc4x2::IfcDocumentReference::setReferencedDocument(const ::Ifc4x2::IfcDocumentInformation& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::vector<::Ifc4x2::IfcRelAssociatesDocument> Ifc4x2::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[848], 5)); } @@ -9232,7 +9232,7 @@ std::optional< double > Ifc4x2::IfcDoorLiningProperties::CasingThickness() const void Ifc4x2::IfcDoorLiningProperties::setCasingThickness(const std::optional< double >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } std::optional< double > Ifc4x2::IfcDoorLiningProperties::CasingDepth() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } double v = get_attribute_value(13); return v; } void Ifc4x2::IfcDoorLiningProperties::setCasingDepth(const std::optional< double >& v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -::Ifc4x2::IfcShapeAspect Ifc4x2::IfcDoorLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(14).isNull()) { return ::Ifc4x2::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(14))).as<::Ifc4x2::IfcShapeAspect>(); } +::Ifc4x2::IfcShapeAspect Ifc4x2::IfcDoorLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(14).isNull()) { return ::Ifc4x2::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(14))).as<::Ifc4x2::IfcShapeAspect>(); } void Ifc4x2::IfcDoorLiningProperties::setShapeAspectStyle(const ::Ifc4x2::IfcShapeAspect& v) { set_attribute_value(14, v);if constexpr (false)unset_attribute_value(14); } std::optional< double > Ifc4x2::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(get_attribute_value(15).isNull()) { return std::nullopt; } double v = get_attribute_value(15); return v; } void Ifc4x2::IfcDoorLiningProperties::setLiningToPanelOffsetX(const std::optional< double >& v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } @@ -9252,7 +9252,7 @@ std::optional< double > Ifc4x2::IfcDoorPanelProperties::PanelWidth() const { if( void Ifc4x2::IfcDoorPanelProperties::setPanelWidth(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x2::IfcDoorPanelPositionEnum::Value Ifc4x2::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x2::IfcDoorPanelPositionEnum::FromString(get_attribute_value(7)); } void Ifc4x2::IfcDoorPanelProperties::setPanelPosition(const ::Ifc4x2::IfcDoorPanelPositionEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4x2::IfcDoorPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x2::IfcShapeAspect Ifc4x2::IfcDoorPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x2::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x2::IfcShapeAspect>(); } +::Ifc4x2::IfcShapeAspect Ifc4x2::IfcDoorPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x2::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x2::IfcShapeAspect>(); } void Ifc4x2::IfcDoorPanelProperties::setShapeAspectStyle(const ::Ifc4x2::IfcShapeAspect& v) { set_attribute_value(8, v);if constexpr (false)unset_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]); } -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; } +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,7 +9291,7 @@ void Ifc4x2::IfcDoorType::setUserDefinedOperationType(const std::optional< std:: const ifcopenshell::entity& Ifc4x2::IfcDoorType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[328]); } -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; } +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 @@ -9319,7 +9319,7 @@ void Ifc4x2::IfcDuctFittingType::setPredefinedType(const ::Ifc4x2::IfcDuctFittin const ifcopenshell::entity& Ifc4x2::IfcDuctFittingType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[335]); } -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; } +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)); } @@ -9335,7 +9335,7 @@ void Ifc4x2::IfcDuctSegmentType::setPredefinedType(const ::Ifc4x2::IfcDuctSegmen const ifcopenshell::entity& Ifc4x2::IfcDuctSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[338]); } -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; } +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)); } @@ -9351,12 +9351,12 @@ void Ifc4x2::IfcDuctSilencerType::setPredefinedType(const ::Ifc4x2::IfcDuctSilen const ifcopenshell::entity& Ifc4x2::IfcDuctSilencerType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[341]); } -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; } +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>(); } +::Ifc4x2::IfcVertex Ifc4x2::IfcEdge::EdgeStart() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcVertex>(); } void Ifc4x2::IfcEdge::setEdgeStart(const ::Ifc4x2::IfcVertex& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcVertex Ifc4x2::IfcEdge::EdgeEnd() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcVertex>(); } +::Ifc4x2::IfcVertex Ifc4x2::IfcEdge::EdgeEnd() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcVertex>(); } void Ifc4x2::IfcEdge::setEdgeEnd(const ::Ifc4x2::IfcVertex& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9364,7 +9364,7 @@ const ifcopenshell::entity& Ifc4x2::IfcEdge::Class() { return *((ifcopenshell::e 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>(); } +::Ifc4x2::IfcCurve Ifc4x2::IfcEdgeCurve::EdgeGeometry() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcCurve>(); } void Ifc4x2::IfcEdgeCurve::setEdgeGeometry(const ::Ifc4x2::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } bool Ifc4x2::IfcEdgeCurve::SameSense() const { bool v = get_attribute_value(3); return v; } void Ifc4x2::IfcEdgeCurve::setSameSense(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -9374,12 +9374,12 @@ const ifcopenshell::entity& Ifc4x2::IfcEdgeCurve::Class() { return *((ifcopenshe 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); } -void Ifc4x2::IfcEdgeLoop::setEdgeList(const std::vector< ::Ifc4x2::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x2::IfcOrientedEdge > Ifc4x2::IfcEdgeLoop::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcOrientedEdge>(es); } +void Ifc4x2::IfcEdgeLoop::setEdgeList(const std::vector< ::Ifc4x2::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x2::IfcEdgeLoop::Class() { return *((ifcopenshell::entity*)IFC4X2_types[347]); } -Ifc4x2::IfcEdgeLoop Ifc4x2::IfcEdgeLoop::initialize(std::vector< ::Ifc4x2::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } +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)); } @@ -9395,7 +9395,7 @@ void Ifc4x2::IfcElectricApplianceType::setPredefinedType(const ::Ifc4x2::IfcElec const ifcopenshell::entity& Ifc4x2::IfcElectricApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[349]); } -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; } +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)); } @@ -9411,7 +9411,7 @@ void Ifc4x2::IfcElectricDistributionBoardType::setPredefinedType(const ::Ifc4x2: const ifcopenshell::entity& Ifc4x2::IfcElectricDistributionBoardType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[356]); } -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; } +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)); } @@ -9427,7 +9427,7 @@ void Ifc4x2::IfcElectricFlowStorageDeviceType::setPredefinedType(const ::Ifc4x2: const ifcopenshell::entity& Ifc4x2::IfcElectricFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[359]); } -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; } +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)); } @@ -9443,7 +9443,7 @@ void Ifc4x2::IfcElectricGeneratorType::setPredefinedType(const ::Ifc4x2::IfcElec const ifcopenshell::entity& Ifc4x2::IfcElectricGeneratorType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[362]); } -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; } +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)); } @@ -9459,7 +9459,7 @@ void Ifc4x2::IfcElectricMotorType::setPredefinedType(const ::Ifc4x2::IfcElectric const ifcopenshell::entity& Ifc4x2::IfcElectricMotorType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[365]); } -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; } +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)); } @@ -9475,7 +9475,7 @@ void Ifc4x2::IfcElectricTimeControlType::setPredefinedType(const ::Ifc4x2::IfcEl const ifcopenshell::entity& Ifc4x2::IfcElectricTimeControlType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[369]); } -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; } +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; } @@ -9513,7 +9513,7 @@ void Ifc4x2::IfcElementAssemblyType::setPredefinedType(const ::Ifc4x2::IfcElemen const ifcopenshell::entity& Ifc4x2::IfcElementAssemblyType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[375]); } -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; } +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 @@ -9525,17 +9525,17 @@ Ifc4x2::IfcElementComponent Ifc4x2::IfcElementComponent::initialize(std::string const ifcopenshell::entity& Ifc4x2::IfcElementComponentType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[378]); } -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; } +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; } void Ifc4x2::IfcElementQuantity::setMethodOfMeasurement(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector< ::Ifc4x2::IfcPhysicalQuantity > Ifc4x2::IfcElementQuantity::Quantities() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x2::IfcPhysicalQuantity>(es); } -void Ifc4x2::IfcElementQuantity::setQuantities(const std::vector< ::Ifc4x2::IfcPhysicalQuantity >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x2::IfcPhysicalQuantity > Ifc4x2::IfcElementQuantity::Quantities() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x2::IfcPhysicalQuantity>(es); } +void Ifc4x2::IfcElementQuantity::setQuantities(const std::vector< ::Ifc4x2::IfcPhysicalQuantity >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x2::IfcElementQuantity::Class() { return *((ifcopenshell::entity*)IFC4X2_types[380]); } -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; } +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,10 +9543,10 @@ void Ifc4x2::IfcElementType::setElementType(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x2::IfcElementType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[381]); } -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; } +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>(); } +::Ifc4x2::IfcAxis2Placement3D Ifc4x2::IfcElementarySurface::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcAxis2Placement3D>(); } void Ifc4x2::IfcElementarySurface::setPosition(const ::Ifc4x2::IfcAxis2Placement3D& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -9583,7 +9583,7 @@ Ifc4x2::IfcEnergyConversionDevice Ifc4x2::IfcEnergyConversionDevice::initialize( const ifcopenshell::entity& Ifc4x2::IfcEnergyConversionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[385]); } -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; } +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)); } @@ -9599,7 +9599,7 @@ void Ifc4x2::IfcEngineType::setPredefinedType(const ::Ifc4x2::IfcEngineTypeEnum: const ifcopenshell::entity& Ifc4x2::IfcEngineType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[388]); } -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; } +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)); } @@ -9615,7 +9615,7 @@ void Ifc4x2::IfcEvaporativeCoolerType::setPredefinedType(const ::Ifc4x2::IfcEvap const ifcopenshell::entity& Ifc4x2::IfcEvaporativeCoolerType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[391]); } -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; } +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)); } @@ -9631,7 +9631,7 @@ void Ifc4x2::IfcEvaporatorType::setPredefinedType(const ::Ifc4x2::IfcEvaporatorT const ifcopenshell::entity& Ifc4x2::IfcEvaporatorType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[394]); } -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; } +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)); } @@ -9640,7 +9640,7 @@ std::optional< ::Ifc4x2::IfcEventTriggerTypeEnum::Value > Ifc4x2::IfcEvent::Even void Ifc4x2::IfcEvent::setEventTriggerType(const std::optional< ::Ifc4x2::IfcEventTriggerTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x2::IfcEventTriggerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } std::optional< std::string > Ifc4x2::IfcEvent::UserDefinedEventTriggerType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::string v = get_attribute_value(9); return v; } void Ifc4x2::IfcEvent::setUserDefinedEventTriggerType(const std::optional< std::string >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -::Ifc4x2::IfcEventTime Ifc4x2::IfcEvent::EventOccurenceTime() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x2::IfcEventTime{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x2::IfcEventTime>(); } +::Ifc4x2::IfcEventTime Ifc4x2::IfcEvent::EventOccurenceTime() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x2::IfcEventTime{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x2::IfcEventTime>(); } void Ifc4x2::IfcEvent::setEventOccurenceTime(const ::Ifc4x2::IfcEventTime& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } @@ -9671,19 +9671,19 @@ void Ifc4x2::IfcEventType::setUserDefinedEventTriggerType(const std::optional< s const ifcopenshell::entity& Ifc4x2::IfcEventType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[399]); } -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; } +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; } void Ifc4x2::IfcExtendedProperties::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x2::IfcExtendedProperties::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcExtendedProperties::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x2::IfcProperty > Ifc4x2::IfcExtendedProperties::Properties() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcProperty>(es); } -void Ifc4x2::IfcExtendedProperties::setProperties(const std::vector< ::Ifc4x2::IfcProperty >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x2::IfcProperty > Ifc4x2::IfcExtendedProperties::Properties() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcProperty>(es); } +void Ifc4x2::IfcExtendedProperties::setProperties(const std::vector< ::Ifc4x2::IfcProperty >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x2::IfcExtendedProperties::Class() { return *((ifcopenshell::entity*)IFC4X2_types[401]); } -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; } +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 @@ -9705,14 +9705,14 @@ const ifcopenshell::entity& Ifc4x2::IfcExternalReference::Class() { return *((if 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>(); } +::Ifc4x2::IfcExternalReference Ifc4x2::IfcExternalReferenceRelationship::RelatingReference() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcExternalReference>(); } void Ifc4x2::IfcExternalReferenceRelationship::setRelatingReference(const ::Ifc4x2::IfcExternalReference& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x2::IfcResourceObjectSelect > Ifc4x2::IfcExternalReferenceRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x2::IfcResourceObjectSelect>(es); } -void Ifc4x2::IfcExternalReferenceRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x2::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x2::IfcResourceObjectSelect > Ifc4x2::IfcExternalReferenceRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x2::IfcResourceObjectSelect>(es); } +void Ifc4x2::IfcExternalReferenceRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x2::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x2::IfcExternalReferenceRelationship::Class() { return *((ifcopenshell::entity*)IFC4X2_types[407]); } -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; } +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)); } @@ -9748,7 +9748,7 @@ const ifcopenshell::entity& Ifc4x2::IfcExternallyDefinedTextFont::Class() { retu 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>(); } +::Ifc4x2::IfcDirection Ifc4x2::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcDirection>(); } void Ifc4x2::IfcExtrudedAreaSolid::setExtrudedDirection(const ::Ifc4x2::IfcDirection& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc4x2::IfcExtrudedAreaSolid::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcExtrudedAreaSolid::setDepth(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -9758,7 +9758,7 @@ const ifcopenshell::entity& Ifc4x2::IfcExtrudedAreaSolid::Class() { return *((if 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>(); } +::Ifc4x2::IfcProfileDef Ifc4x2::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcProfileDef>(); } void Ifc4x2::IfcExtrudedAreaSolidTapered::setEndSweptArea(const ::Ifc4x2::IfcProfileDef& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -9766,24 +9766,24 @@ const ifcopenshell::entity& Ifc4x2::IfcExtrudedAreaSolidTapered::Class() { retur 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); } -void Ifc4x2::IfcFace::setBounds(const std::vector< ::Ifc4x2::IfcFaceBound >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x2::IfcFaceBound > Ifc4x2::IfcFace::Bounds() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcFaceBound>(es); } +void Ifc4x2::IfcFace::setBounds(const std::vector< ::Ifc4x2::IfcFaceBound >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } 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]); } -Ifc4x2::IfcFace Ifc4x2::IfcFace::initialize(std::vector< ::Ifc4x2::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds));; return *this; } +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); } -void Ifc4x2::IfcFaceBasedSurfaceModel::setFbsmFaces(const std::vector< ::Ifc4x2::IfcConnectedFaceSet >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x2::IfcConnectedFaceSet > Ifc4x2::IfcFaceBasedSurfaceModel::FbsmFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcConnectedFaceSet>(es); } +void Ifc4x2::IfcFaceBasedSurfaceModel::setFbsmFaces(const std::vector< ::Ifc4x2::IfcConnectedFaceSet >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x2::IfcFaceBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X2_types[414]); } -Ifc4x2::IfcFaceBasedSurfaceModel Ifc4x2::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc4x2::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces));; return *this; } +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>(); } +::Ifc4x2::IfcLoop Ifc4x2::IfcFaceBound::Bound() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcLoop>(); } void Ifc4x2::IfcFaceBound::setBound(const ::Ifc4x2::IfcLoop& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } bool Ifc4x2::IfcFaceBound::Orientation() const { bool v = get_attribute_value(1); return v; } void Ifc4x2::IfcFaceBound::setOrientation(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9799,14 +9799,14 @@ const ifcopenshell::entity& Ifc4x2::IfcFaceOuterBound::Class() { return *((ifcop 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>(); } +::Ifc4x2::IfcSurface Ifc4x2::IfcFaceSurface::FaceSurface() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcSurface>(); } void Ifc4x2::IfcFaceSurface::setFaceSurface(const ::Ifc4x2::IfcSurface& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } bool Ifc4x2::IfcFaceSurface::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x2::IfcFaceSurface::setSameSense(const bool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x2::IfcFaceSurface::Class() { return *((ifcopenshell::entity*)IFC4X2_types[417]); } -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; } +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 @@ -9815,12 +9815,12 @@ const ifcopenshell::entity& Ifc4x2::IfcFacetedBrep::Class() { return *((ifcopens 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); } -void Ifc4x2::IfcFacetedBrepWithVoids::setVoids(const std::vector< ::Ifc4x2::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x2::IfcClosedShell > Ifc4x2::IfcFacetedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcClosedShell>(es); } +void Ifc4x2::IfcFacetedBrepWithVoids::setVoids(const std::vector< ::Ifc4x2::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x2::IfcFacetedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X2_types[419]); } -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; } +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 @@ -9866,7 +9866,7 @@ void Ifc4x2::IfcFanType::setPredefinedType(const ::Ifc4x2::IfcFanTypeEnum::Value const ifcopenshell::entity& Ifc4x2::IfcFanType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[424]); } -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; } +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)); } @@ -9882,7 +9882,7 @@ void Ifc4x2::IfcFastenerType::setPredefinedType(const ::Ifc4x2::IfcFastenerTypeE const ifcopenshell::entity& Ifc4x2::IfcFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[427]); } -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; } +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 @@ -9905,23 +9905,23 @@ const ifcopenshell::entity& Ifc4x2::IfcFeatureElementSubtraction::Class() { retu 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); } -void Ifc4x2::IfcFillAreaStyle::setFillStyles(const std::vector< ::Ifc4x2::IfcFillStyleSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x2::IfcFillStyleSelect > Ifc4x2::IfcFillAreaStyle::FillStyles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcFillStyleSelect>(es); } +void Ifc4x2::IfcFillAreaStyle::setFillStyles(const std::vector< ::Ifc4x2::IfcFillStyleSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< bool > Ifc4x2::IfcFillAreaStyle::ModelorDraughting() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } bool v = get_attribute_value(2); return v; } void Ifc4x2::IfcFillAreaStyle::setModelorDraughting(const std::optional< bool >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x2::IfcFillAreaStyle::Class() { return *((ifcopenshell::entity*)IFC4X2_types[432]); } -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; } +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>(); } +::Ifc4x2::IfcCurveStyle Ifc4x2::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcCurveStyle>(); } void Ifc4x2::IfcFillAreaStyleHatching::setHatchLineAppearance(const ::Ifc4x2::IfcCurveStyle& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcHatchLineDistanceSelect Ifc4x2::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcHatchLineDistanceSelect>(); } +::Ifc4x2::IfcHatchLineDistanceSelect Ifc4x2::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcHatchLineDistanceSelect>(); } void Ifc4x2::IfcFillAreaStyleHatching::setStartOfNextHatchLine(const ::Ifc4x2::IfcHatchLineDistanceSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcCartesianPoint Ifc4x2::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x2::IfcCartesianPoint{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcCartesianPoint>(); } +::Ifc4x2::IfcCartesianPoint Ifc4x2::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x2::IfcCartesianPoint{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcCartesianPoint>(); } void Ifc4x2::IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(const ::Ifc4x2::IfcCartesianPoint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcCartesianPoint Ifc4x2::IfcFillAreaStyleHatching::PatternStart() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcCartesianPoint{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcCartesianPoint>(); } +::Ifc4x2::IfcCartesianPoint Ifc4x2::IfcFillAreaStyleHatching::PatternStart() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcCartesianPoint{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcCartesianPoint>(); } void Ifc4x2::IfcFillAreaStyleHatching::setPatternStart(const ::Ifc4x2::IfcCartesianPoint& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } double Ifc4x2::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = get_attribute_value(4); return v; } void Ifc4x2::IfcFillAreaStyleHatching::setHatchLineAngle(const double& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -9931,16 +9931,16 @@ const ifcopenshell::entity& Ifc4x2::IfcFillAreaStyleHatching::Class() { return * 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); } -void Ifc4x2::IfcFillAreaStyleTiles::setTilingPattern(const std::vector< ::Ifc4x2::IfcVector >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x2::IfcStyledItem > Ifc4x2::IfcFillAreaStyleTiles::Tiles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcStyledItem>(es); } -void Ifc4x2::IfcFillAreaStyleTiles::setTiles(const std::vector< ::Ifc4x2::IfcStyledItem >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x2::IfcVector > Ifc4x2::IfcFillAreaStyleTiles::TilingPattern() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcVector>(es); } +void Ifc4x2::IfcFillAreaStyleTiles::setTilingPattern(const std::vector< ::Ifc4x2::IfcVector >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x2::IfcStyledItem > Ifc4x2::IfcFillAreaStyleTiles::Tiles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcStyledItem>(es); } +void Ifc4x2::IfcFillAreaStyleTiles::setTiles(const std::vector< ::Ifc4x2::IfcStyledItem >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } double Ifc4x2::IfcFillAreaStyleTiles::TilingScale() const { double v = get_attribute_value(2); return v; } void Ifc4x2::IfcFillAreaStyleTiles::setTilingScale(const double& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x2::IfcFillAreaStyleTiles::Class() { return *((ifcopenshell::entity*)IFC4X2_types[434]); } -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; } +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)); } @@ -9956,7 +9956,7 @@ void Ifc4x2::IfcFilterType::setPredefinedType(const ::Ifc4x2::IfcFilterTypeEnum: const ifcopenshell::entity& Ifc4x2::IfcFilterType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[437]); } -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; } +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)); } @@ -9972,16 +9972,16 @@ void Ifc4x2::IfcFireSuppressionTerminalType::setPredefinedType(const ::Ifc4x2::I const ifcopenshell::entity& Ifc4x2::IfcFireSuppressionTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[440]); } -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; } +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>(); } +::Ifc4x2::IfcCurve Ifc4x2::IfcFixedReferenceSweptAreaSolid::Directrix() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcCurve>(); } void Ifc4x2::IfcFixedReferenceSweptAreaSolid::setDirectrix(const ::Ifc4x2::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc4x2::IfcFixedReferenceSweptAreaSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4x2::IfcFixedReferenceSweptAreaSolid::setStartParam(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } std::optional< double > Ifc4x2::IfcFixedReferenceSweptAreaSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } void Ifc4x2::IfcFixedReferenceSweptAreaSolid::setEndParam(const std::optional< double >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x2::IfcDirection Ifc4x2::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcDirection>(); } +::Ifc4x2::IfcDirection Ifc4x2::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcDirection>(); } void Ifc4x2::IfcFixedReferenceSweptAreaSolid::setFixedReference(const ::Ifc4x2::IfcDirection& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -9998,7 +9998,7 @@ Ifc4x2::IfcFlowController Ifc4x2::IfcFlowController::initialize(std::string v1_G const ifcopenshell::entity& Ifc4x2::IfcFlowControllerType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[444]); } -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; } +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 @@ -10010,7 +10010,7 @@ Ifc4x2::IfcFlowFitting Ifc4x2::IfcFlowFitting::initialize(std::string v1_GlobalI const ifcopenshell::entity& Ifc4x2::IfcFlowFittingType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[447]); } -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; } +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)); } @@ -10026,7 +10026,7 @@ void Ifc4x2::IfcFlowInstrumentType::setPredefinedType(const ::Ifc4x2::IfcFlowIns const ifcopenshell::entity& Ifc4x2::IfcFlowInstrumentType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[449]); } -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; } +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)); } @@ -10042,7 +10042,7 @@ void Ifc4x2::IfcFlowMeterType::setPredefinedType(const ::Ifc4x2::IfcFlowMeterTyp const ifcopenshell::entity& Ifc4x2::IfcFlowMeterType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[452]); } -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; } +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 @@ -10054,7 +10054,7 @@ Ifc4x2::IfcFlowMovingDevice Ifc4x2::IfcFlowMovingDevice::initialize(std::string const ifcopenshell::entity& Ifc4x2::IfcFlowMovingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[455]); } -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; } +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 @@ -10066,7 +10066,7 @@ Ifc4x2::IfcFlowSegment Ifc4x2::IfcFlowSegment::initialize(std::string v1_GlobalI const ifcopenshell::entity& Ifc4x2::IfcFlowSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[457]); } -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; } +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 @@ -10078,7 +10078,7 @@ Ifc4x2::IfcFlowStorageDevice Ifc4x2::IfcFlowStorageDevice::initialize(std::strin const ifcopenshell::entity& Ifc4x2::IfcFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[459]); } -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; } +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 @@ -10090,7 +10090,7 @@ Ifc4x2::IfcFlowTerminal Ifc4x2::IfcFlowTerminal::initialize(std::string v1_Globa const ifcopenshell::entity& Ifc4x2::IfcFlowTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[461]); } -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; } +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 @@ -10102,7 +10102,7 @@ Ifc4x2::IfcFlowTreatmentDevice Ifc4x2::IfcFlowTreatmentDevice::initialize(std::s const ifcopenshell::entity& Ifc4x2::IfcFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[463]); } -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; } +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)); } @@ -10118,7 +10118,7 @@ void Ifc4x2::IfcFootingType::setPredefinedType(const ::Ifc4x2::IfcFootingTypeEnu const ifcopenshell::entity& Ifc4x2::IfcFootingType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[468]); } -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; } +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 @@ -10130,7 +10130,7 @@ Ifc4x2::IfcFurnishingElement Ifc4x2::IfcFurnishingElement::initialize(std::strin const ifcopenshell::entity& Ifc4x2::IfcFurnishingElementType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[473]); } -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; } +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)); } @@ -10148,7 +10148,7 @@ void Ifc4x2::IfcFurnitureType::setPredefinedType(const std::optional< ::Ifc4x2:: const ifcopenshell::entity& Ifc4x2::IfcFurnitureType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[475]); } -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; } +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)); } @@ -10164,22 +10164,22 @@ void Ifc4x2::IfcGeographicElementType::setPredefinedType(const ::Ifc4x2::IfcGeog const ifcopenshell::entity& Ifc4x2::IfcGeographicElementType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[478]); } -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; } +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]); } -Ifc4x2::IfcGeometricCurveSet Ifc4x2::IfcGeometricCurveSet::initialize(std::vector< ::Ifc4x2::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } +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 int64_t Ifc4x2::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int64_t v = get_attribute_value(2); return v; } void Ifc4x2::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(const int64_t& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc4x2::IfcGeometricRepresentationContext::Precision() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4x2::IfcGeometricRepresentationContext::setPrecision(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x2::IfcAxis2Placement Ifc4x2::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcAxis2Placement>(); } +::Ifc4x2::IfcAxis2Placement Ifc4x2::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcAxis2Placement>(); } void Ifc4x2::IfcGeometricRepresentationContext::setWorldCoordinateSystem(const ::Ifc4x2::IfcAxis2Placement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcDirection Ifc4x2::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x2::IfcDirection{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcDirection>(); } +::Ifc4x2::IfcDirection Ifc4x2::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x2::IfcDirection{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcDirection>(); } void Ifc4x2::IfcGeometricRepresentationContext::setTrueNorth(const ::Ifc4x2::IfcDirection& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } std::vector<::Ifc4x2::IfcGeometricRepresentationSubContext> Ifc4x2::IfcGeometricRepresentationContext::HasSubContexts() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[484], 6)); } @@ -10195,7 +10195,7 @@ const ifcopenshell::entity& Ifc4x2::IfcGeometricRepresentationItem::Class() { re 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>(); } +::Ifc4x2::IfcGeometricRepresentationContext Ifc4x2::IfcGeometricRepresentationSubContext::ParentContext() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x2::IfcGeometricRepresentationContext>(); } void Ifc4x2::IfcGeometricRepresentationSubContext::setParentContext(const ::Ifc4x2::IfcGeometricRepresentationContext& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< double > Ifc4x2::IfcGeometricRepresentationSubContext::TargetScale() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } void Ifc4x2::IfcGeometricRepresentationSubContext::setTargetScale(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } @@ -10209,31 +10209,31 @@ const ifcopenshell::entity& Ifc4x2::IfcGeometricRepresentationSubContext::Class( 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); } -void Ifc4x2::IfcGeometricSet::setElements(const std::vector< ::Ifc4x2::IfcGeometricSetSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x2::IfcGeometricSetSelect > Ifc4x2::IfcGeometricSet::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcGeometricSetSelect>(es); } +void Ifc4x2::IfcGeometricSet::setElements(const std::vector< ::Ifc4x2::IfcGeometricSetSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x2::IfcGeometricSet::Class() { return *((ifcopenshell::entity*)IFC4X2_types[485]); } -Ifc4x2::IfcGeometricSet Ifc4x2::IfcGeometricSet::initialize(std::vector< ::Ifc4x2::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } +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); } -void Ifc4x2::IfcGrid::setUAxes(const std::vector< ::Ifc4x2::IfcGridAxis >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } -std::vector< ::Ifc4x2::IfcGridAxis > Ifc4x2::IfcGrid::VAxes() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x2::IfcGridAxis>(es); } -void Ifc4x2::IfcGrid::setVAxes(const std::vector< ::Ifc4x2::IfcGridAxis >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } -std::optional< std::vector< ::Ifc4x2::IfcGridAxis > > Ifc4x2::IfcGrid::WAxes() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x2::IfcGridAxis>(es); } -void Ifc4x2::IfcGrid::setWAxes(const std::optional< std::vector< ::Ifc4x2::IfcGridAxis > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +std::vector< ::Ifc4x2::IfcGridAxis > Ifc4x2::IfcGrid::UAxes() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x2::IfcGridAxis>(es); } +void Ifc4x2::IfcGrid::setUAxes(const std::vector< ::Ifc4x2::IfcGridAxis >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } +std::vector< ::Ifc4x2::IfcGridAxis > Ifc4x2::IfcGrid::VAxes() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x2::IfcGridAxis>(es); } +void Ifc4x2::IfcGrid::setVAxes(const std::vector< ::Ifc4x2::IfcGridAxis >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } +std::optional< std::vector< ::Ifc4x2::IfcGridAxis > > Ifc4x2::IfcGrid::WAxes() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x2::IfcGridAxis>(es); } +void Ifc4x2::IfcGrid::setWAxes(const std::optional< std::vector< ::Ifc4x2::IfcGridAxis > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } std::optional< ::Ifc4x2::IfcGridTypeEnum::Value > Ifc4x2::IfcGrid::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcGridTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x2::IfcGrid::setPredefinedType(const std::optional< ::Ifc4x2::IfcGridTypeEnum::Value >& v) { if (v) {set_attribute_value(10, enumeration_reference(&::Ifc4x2::IfcGridTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const ifcopenshell::entity& Ifc4x2::IfcGrid::Class() { return *((ifcopenshell::entity*)IFC4X2_types[489]); } -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; } +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; } void Ifc4x2::IfcGridAxis::setAxisTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x2::IfcCurve Ifc4x2::IfcGridAxis::AxisCurve() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcCurve>(); } +::Ifc4x2::IfcCurve Ifc4x2::IfcGridAxis::AxisCurve() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcCurve>(); } void Ifc4x2::IfcGridAxis::setAxisCurve(const ::Ifc4x2::IfcCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } bool Ifc4x2::IfcGridAxis::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x2::IfcGridAxis::setSameSense(const bool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -10247,9 +10247,9 @@ const ifcopenshell::entity& Ifc4x2::IfcGridAxis::Class() { return *((ifcopenshel 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>(); } +::Ifc4x2::IfcVirtualGridIntersection Ifc4x2::IfcGridPlacement::PlacementLocation() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcVirtualGridIntersection>(); } void Ifc4x2::IfcGridPlacement::setPlacementLocation(const ::Ifc4x2::IfcVirtualGridIntersection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcGridPlacementDirectionSelect Ifc4x2::IfcGridPlacement::PlacementRefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x2::IfcGridPlacementDirectionSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcGridPlacementDirectionSelect>(); } +::Ifc4x2::IfcGridPlacementDirectionSelect Ifc4x2::IfcGridPlacement::PlacementRefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x2::IfcGridPlacementDirectionSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcGridPlacementDirectionSelect>(); } void Ifc4x2::IfcGridPlacement::setPlacementRefDirection(const ::Ifc4x2::IfcGridPlacementDirectionSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -10264,7 +10264,7 @@ const ifcopenshell::entity& Ifc4x2::IfcGroup::Class() { return *((ifcopenshell:: 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>(); } +::Ifc4x2::IfcSurface Ifc4x2::IfcHalfSpaceSolid::BaseSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcSurface>(); } void Ifc4x2::IfcHalfSpaceSolid::setBaseSurface(const ::Ifc4x2::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } bool Ifc4x2::IfcHalfSpaceSolid::AgreementFlag() const { bool v = get_attribute_value(1); return v; } void Ifc4x2::IfcHalfSpaceSolid::setAgreementFlag(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -10287,7 +10287,7 @@ void Ifc4x2::IfcHeatExchangerType::setPredefinedType(const ::Ifc4x2::IfcHeatExch const ifcopenshell::entity& Ifc4x2::IfcHeatExchangerType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[498]); } -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; } +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)); } @@ -10303,7 +10303,7 @@ void Ifc4x2::IfcHumidifierType::setPredefinedType(const ::Ifc4x2::IfcHumidifierT const ifcopenshell::entity& Ifc4x2::IfcHumidifierType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[503]); } -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; } +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; } @@ -10334,11 +10334,11 @@ const ifcopenshell::entity& Ifc4x2::IfcImageTexture::Class() { return *((ifcopen 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>(); } +::Ifc4x2::IfcTessellatedFaceSet Ifc4x2::IfcIndexedColourMap::MappedTo() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcTessellatedFaceSet>(); } void Ifc4x2::IfcIndexedColourMap::setMappedTo(const ::Ifc4x2::IfcTessellatedFaceSet& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< double > Ifc4x2::IfcIndexedColourMap::Opacity() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } void Ifc4x2::IfcIndexedColourMap::setOpacity(const std::optional< double >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x2::IfcColourRgbList Ifc4x2::IfcIndexedColourMap::Colours() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcColourRgbList>(); } +::Ifc4x2::IfcColourRgbList Ifc4x2::IfcIndexedColourMap::Colours() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcColourRgbList>(); } void Ifc4x2::IfcIndexedColourMap::setColours(const ::Ifc4x2::IfcColourRgbList& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::vector< int64_t > /*[1:?]*/ Ifc4x2::IfcIndexedColourMap::ColourIndex() const { std::vector< int64_t > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x2::IfcIndexedColourMap::setColourIndex(const std::vector< int64_t > /*[1:?]*/& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -10348,16 +10348,16 @@ const ifcopenshell::entity& Ifc4x2::IfcIndexedColourMap::Class() { return *((ifc Ifc4x2::IfcIndexedColourMap Ifc4x2::IfcIndexedColourMap::initialize(::Ifc4x2::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x2::IfcColourRgbList v3_Colours, std::vector< int64_t > /*[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>(); } +::Ifc4x2::IfcCartesianPointList Ifc4x2::IfcIndexedPolyCurve::Points() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcCartesianPointList>(); } void Ifc4x2::IfcIndexedPolyCurve::setPoints(const ::Ifc4x2::IfcCartesianPointList& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::optional< std::vector< ::Ifc4x2::IfcSegmentIndexSelect > > Ifc4x2::IfcIndexedPolyCurve::Segments() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcSegmentIndexSelect>(es); } -void Ifc4x2::IfcIndexedPolyCurve::setSegments(const std::optional< std::vector< ::Ifc4x2::IfcSegmentIndexSelect > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } +std::optional< std::vector< ::Ifc4x2::IfcSegmentIndexSelect > > Ifc4x2::IfcIndexedPolyCurve::Segments() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcSegmentIndexSelect>(es); } +void Ifc4x2::IfcIndexedPolyCurve::setSegments(const std::optional< std::vector< ::Ifc4x2::IfcSegmentIndexSelect > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } std::optional< bool > Ifc4x2::IfcIndexedPolyCurve::SelfIntersect() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } bool v = get_attribute_value(2); return v; } void Ifc4x2::IfcIndexedPolyCurve::setSelfIntersect(const std::optional< bool >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x2::IfcIndexedPolyCurve::Class() { return *((ifcopenshell::entity*)IFC4X2_types[509]); } -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; } +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< int64_t > /*[3:?]*/ Ifc4x2::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int64_t > /*[3:?]*/ v = get_attribute_value(0); return v; } @@ -10377,14 +10377,14 @@ const ifcopenshell::entity& Ifc4x2::IfcIndexedPolygonalFaceWithVoids::Class() { Ifc4x2::IfcIndexedPolygonalFaceWithVoids Ifc4x2::IfcIndexedPolygonalFaceWithVoids::initialize(std::vector< int64_t > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int64_t > > 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>(); } +::Ifc4x2::IfcTessellatedFaceSet Ifc4x2::IfcIndexedTextureMap::MappedTo() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcTessellatedFaceSet>(); } void Ifc4x2::IfcIndexedTextureMap::setMappedTo(const ::Ifc4x2::IfcTessellatedFaceSet& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcTextureVertexList Ifc4x2::IfcIndexedTextureMap::TexCoords() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcTextureVertexList>(); } +::Ifc4x2::IfcTextureVertexList Ifc4x2::IfcIndexedTextureMap::TexCoords() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcTextureVertexList>(); } void Ifc4x2::IfcIndexedTextureMap::setTexCoords(const ::Ifc4x2::IfcTextureVertexList& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x2::IfcIndexedTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X2_types[512]); } -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; } +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< int64_t > > > Ifc4x2::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< std::vector< int64_t > > 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]); } -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< int64_t > > > 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; } +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< int64_t > > > 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)); } @@ -10408,49 +10408,49 @@ void Ifc4x2::IfcInterceptorType::setPredefinedType(const ::Ifc4x2::IfcIntercepto const ifcopenshell::entity& Ifc4x2::IfcInterceptorType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[518]); } -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; } +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]); } -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; } +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)); } void Ifc4x2::IfcInventory::setPredefinedType(const std::optional< ::Ifc4x2::IfcInventoryTypeEnum::Value >& v) { if (v) {set_attribute_value(5, enumeration_reference(&::Ifc4x2::IfcInventoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -::Ifc4x2::IfcActorSelect Ifc4x2::IfcInventory::Jurisdiction() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x2::IfcActorSelect>(); } +::Ifc4x2::IfcActorSelect Ifc4x2::IfcInventory::Jurisdiction() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcActorSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x2::IfcActorSelect>(); } void Ifc4x2::IfcInventory::setJurisdiction(const ::Ifc4x2::IfcActorSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::optional< std::vector< ::Ifc4x2::IfcPerson > > Ifc4x2::IfcInventory::ResponsiblePersons() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x2::IfcPerson>(es); } -void Ifc4x2::IfcInventory::setResponsiblePersons(const std::optional< std::vector< ::Ifc4x2::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x2::IfcPerson > > Ifc4x2::IfcInventory::ResponsiblePersons() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x2::IfcPerson>(es); } +void Ifc4x2::IfcInventory::setResponsiblePersons(const std::optional< std::vector< ::Ifc4x2::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< std::string > Ifc4x2::IfcInventory::LastUpdateDate() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x2::IfcInventory::setLastUpdateDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x2::IfcCostValue Ifc4x2::IfcInventory::CurrentValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x2::IfcCostValue{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x2::IfcCostValue>(); } +::Ifc4x2::IfcCostValue Ifc4x2::IfcInventory::CurrentValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x2::IfcCostValue{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x2::IfcCostValue>(); } void Ifc4x2::IfcInventory::setCurrentValue(const ::Ifc4x2::IfcCostValue& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -::Ifc4x2::IfcCostValue Ifc4x2::IfcInventory::OriginalValue() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x2::IfcCostValue{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x2::IfcCostValue>(); } +::Ifc4x2::IfcCostValue Ifc4x2::IfcInventory::OriginalValue() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x2::IfcCostValue{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x2::IfcCostValue>(); } void Ifc4x2::IfcInventory::setOriginalValue(const ::Ifc4x2::IfcCostValue& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } const ifcopenshell::entity& Ifc4x2::IfcInventory::Class() { return *((ifcopenshell::entity*)IFC4X2_types[522]); } -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; } +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); } -void Ifc4x2::IfcIrregularTimeSeries::setValues(const std::vector< ::Ifc4x2::IfcIrregularTimeSeriesValue >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } +std::vector< ::Ifc4x2::IfcIrregularTimeSeriesValue > Ifc4x2::IfcIrregularTimeSeries::Values() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x2::IfcIrregularTimeSeriesValue>(es); } +void Ifc4x2::IfcIrregularTimeSeries::setValues(const std::vector< ::Ifc4x2::IfcIrregularTimeSeriesValue >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } const ifcopenshell::entity& Ifc4x2::IfcIrregularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X2_types[525]); } -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; } +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; } void Ifc4x2::IfcIrregularTimeSeriesValue::setTimeStamp(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x2::IfcValue > Ifc4x2::IfcIrregularTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcValue>(es); } -void Ifc4x2::IfcIrregularTimeSeriesValue::setListValues(const std::vector< ::Ifc4x2::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x2::IfcValue > Ifc4x2::IfcIrregularTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcValue>(es); } +void Ifc4x2::IfcIrregularTimeSeriesValue::setListValues(const std::vector< ::Ifc4x2::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x2::IfcIrregularTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X2_types[526]); } -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; } +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)); } @@ -10466,7 +10466,7 @@ void Ifc4x2::IfcJunctionBoxType::setPredefinedType(const ::Ifc4x2::IfcJunctionBo const ifcopenshell::entity& Ifc4x2::IfcJunctionBoxType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[530]); } -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; } +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; } @@ -10492,7 +10492,7 @@ void Ifc4x2::IfcLaborResource::setPredefinedType(const std::optional< ::Ifc4x2:: const ifcopenshell::entity& Ifc4x2::IfcLaborResource::Class() { return *((ifcopenshell::entity*)IFC4X2_types[535]); } -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; } +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,10 +10500,10 @@ void Ifc4x2::IfcLaborResourceType::setPredefinedType(const ::Ifc4x2::IfcLaborRes const ifcopenshell::entity& Ifc4x2::IfcLaborResourceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[536]); } -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; } +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>(); } +::Ifc4x2::IfcTimeOrRatioSelect Ifc4x2::IfcLagTime::LagValue() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcTimeOrRatioSelect>(); } void Ifc4x2::IfcLagTime::setLagValue(const ::Ifc4x2::IfcTimeOrRatioSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } ::Ifc4x2::IfcTaskDurationEnum::Value Ifc4x2::IfcLagTime::DurationType() const { return ::Ifc4x2::IfcTaskDurationEnum::FromString(get_attribute_value(4)); } void Ifc4x2::IfcLagTime::setDurationType(const ::Ifc4x2::IfcTaskDurationEnum::Value& v) { set_attribute_value(4, enumeration_reference(&::Ifc4x2::IfcTaskDurationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } @@ -10526,14 +10526,14 @@ void Ifc4x2::IfcLampType::setPredefinedType(const ::Ifc4x2::IfcLampTypeEnum::Val const ifcopenshell::entity& Ifc4x2::IfcLampType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[540]); } -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; } +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; } void Ifc4x2::IfcLibraryInformation::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x2::IfcLibraryInformation::Version() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcLibraryInformation::setVersion(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x2::IfcActorSelect Ifc4x2::IfcLibraryInformation::Publisher() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x2::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcActorSelect>(); } +::Ifc4x2::IfcActorSelect Ifc4x2::IfcLibraryInformation::Publisher() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x2::IfcActorSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcActorSelect>(); } void Ifc4x2::IfcLibraryInformation::setPublisher(const ::Ifc4x2::IfcActorSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4x2::IfcLibraryInformation::VersionDate() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x2::IfcLibraryInformation::setVersionDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } @@ -10553,7 +10553,7 @@ std::optional< std::string > Ifc4x2::IfcLibraryReference::Description() const { void Ifc4x2::IfcLibraryReference::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } std::optional< std::string > Ifc4x2::IfcLibraryReference::Language() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcLibraryReference::setLanguage(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x2::IfcLibraryInformation Ifc4x2::IfcLibraryReference::ReferencedLibrary() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x2::IfcLibraryInformation{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcLibraryInformation>(); } +::Ifc4x2::IfcLibraryInformation Ifc4x2::IfcLibraryReference::ReferencedLibrary() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x2::IfcLibraryInformation{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcLibraryInformation>(); } void Ifc4x2::IfcLibraryReference::setReferencedLibrary(const ::Ifc4x2::IfcLibraryInformation& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } std::vector<::Ifc4x2::IfcRelAssociatesLibrary> Ifc4x2::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[849], 5)); } @@ -10587,22 +10587,22 @@ void Ifc4x2::IfcLightFixtureType::setPredefinedType(const ::Ifc4x2::IfcLightFixt const ifcopenshell::entity& Ifc4x2::IfcLightFixtureType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[554]); } -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; } +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)); } void Ifc4x2::IfcLightIntensityDistribution::setLightDistributionCurve(const ::Ifc4x2::IfcLightDistributionCurveEnum::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc4x2::IfcLightDistributionCurveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x2::IfcLightDistributionData > Ifc4x2::IfcLightIntensityDistribution::DistributionData() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcLightDistributionData>(es); } -void Ifc4x2::IfcLightIntensityDistribution::setDistributionData(const std::vector< ::Ifc4x2::IfcLightDistributionData >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x2::IfcLightDistributionData > Ifc4x2::IfcLightIntensityDistribution::DistributionData() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcLightDistributionData>(es); } +void Ifc4x2::IfcLightIntensityDistribution::setDistributionData(const std::vector< ::Ifc4x2::IfcLightDistributionData >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x2::IfcLightIntensityDistribution::Class() { return *((ifcopenshell::entity*)IFC4X2_types[556]); } -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; } +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; } void Ifc4x2::IfcLightSource::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x2::IfcColourRgb Ifc4x2::IfcLightSource::LightColour() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcColourRgb>(); } +::Ifc4x2::IfcColourRgb Ifc4x2::IfcLightSource::LightColour() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcColourRgb>(); } void Ifc4x2::IfcLightSource::setLightColour(const ::Ifc4x2::IfcColourRgb& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< double > Ifc4x2::IfcLightSource::AmbientIntensity() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } double v = get_attribute_value(2); return v; } void Ifc4x2::IfcLightSource::setAmbientIntensity(const std::optional< double >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } @@ -10620,7 +10620,7 @@ const ifcopenshell::entity& Ifc4x2::IfcLightSourceAmbient::Class() { return *((i 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>(); } +::Ifc4x2::IfcDirection Ifc4x2::IfcLightSourceDirectional::Orientation() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcDirection>(); } void Ifc4x2::IfcLightSourceDirectional::setOrientation(const ::Ifc4x2::IfcDirection& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -10628,9 +10628,9 @@ const ifcopenshell::entity& Ifc4x2::IfcLightSourceDirectional::Class() { return 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>(); } +::Ifc4x2::IfcAxis2Placement3D Ifc4x2::IfcLightSourceGoniometric::Position() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcAxis2Placement3D>(); } void Ifc4x2::IfcLightSourceGoniometric::setPosition(const ::Ifc4x2::IfcAxis2Placement3D& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcColourRgb Ifc4x2::IfcLightSourceGoniometric::ColourAppearance() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x2::IfcColourRgb{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcColourRgb>(); } +::Ifc4x2::IfcColourRgb Ifc4x2::IfcLightSourceGoniometric::ColourAppearance() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x2::IfcColourRgb{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcColourRgb>(); } void Ifc4x2::IfcLightSourceGoniometric::setColourAppearance(const ::Ifc4x2::IfcColourRgb& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } double Ifc4x2::IfcLightSourceGoniometric::ColourTemperature() const { double v = get_attribute_value(6); return v; } void Ifc4x2::IfcLightSourceGoniometric::setColourTemperature(const double& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -10638,7 +10638,7 @@ double Ifc4x2::IfcLightSourceGoniometric::LuminousFlux() const { double v = get void Ifc4x2::IfcLightSourceGoniometric::setLuminousFlux(const double& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4x2::IfcLightEmissionSourceEnum::Value Ifc4x2::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x2::IfcLightEmissionSourceEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcLightSourceGoniometric::setLightEmissionSource(const ::Ifc4x2::IfcLightEmissionSourceEnum::Value& v) { set_attribute_value(8, enumeration_reference(&::Ifc4x2::IfcLightEmissionSourceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4x2::IfcLightDistributionDataSourceSelect Ifc4x2::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc4x2::IfcLightDistributionDataSourceSelect>(); } +::Ifc4x2::IfcLightDistributionDataSourceSelect Ifc4x2::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((express::base)(get_attribute_value(9))).as<::Ifc4x2::IfcLightDistributionDataSourceSelect>(); } void Ifc4x2::IfcLightSourceGoniometric::setLightDistributionDataSource(const ::Ifc4x2::IfcLightDistributionDataSourceSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } @@ -10646,7 +10646,7 @@ const ifcopenshell::entity& Ifc4x2::IfcLightSourceGoniometric::Class() { return 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>(); } +::Ifc4x2::IfcCartesianPoint Ifc4x2::IfcLightSourcePositional::Position() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcCartesianPoint>(); } void Ifc4x2::IfcLightSourcePositional::setPosition(const ::Ifc4x2::IfcCartesianPoint& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } double Ifc4x2::IfcLightSourcePositional::Radius() const { double v = get_attribute_value(5); return v; } void Ifc4x2::IfcLightSourcePositional::setRadius(const double& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -10662,7 +10662,7 @@ const ifcopenshell::entity& Ifc4x2::IfcLightSourcePositional::Class() { return * 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>(); } +::Ifc4x2::IfcDirection Ifc4x2::IfcLightSourceSpot::Orientation() const { return ((express::base)(get_attribute_value(9))).as<::Ifc4x2::IfcDirection>(); } void Ifc4x2::IfcLightSourceSpot::setOrientation(const ::Ifc4x2::IfcDirection& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::optional< double > Ifc4x2::IfcLightSourceSpot::ConcentrationExponent() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc4x2::IfcLightSourceSpot::setConcentrationExponent(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } @@ -10676,9 +10676,9 @@ const ifcopenshell::entity& Ifc4x2::IfcLightSourceSpot::Class() { return *((ifco 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>(); } +::Ifc4x2::IfcCartesianPoint Ifc4x2::IfcLine::Pnt() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcCartesianPoint>(); } void Ifc4x2::IfcLine::setPnt(const ::Ifc4x2::IfcCartesianPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcVector Ifc4x2::IfcLine::Dir() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcVector>(); } +::Ifc4x2::IfcVector Ifc4x2::IfcLine::Dir() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcVector>(); } void Ifc4x2::IfcLine::setDir(const ::Ifc4x2::IfcVector& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -10692,13 +10692,13 @@ const ifcopenshell::entity& Ifc4x2::IfcLineSegment2D::Class() { return *((ifcope 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>(); } +::Ifc4x2::IfcCurve Ifc4x2::IfcLinearPlacement::PlacementMeasuredAlong() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcCurve>(); } void Ifc4x2::IfcLinearPlacement::setPlacementMeasuredAlong(const ::Ifc4x2::IfcCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcDistanceExpression Ifc4x2::IfcLinearPlacement::Distance() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcDistanceExpression>(); } +::Ifc4x2::IfcDistanceExpression Ifc4x2::IfcLinearPlacement::Distance() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcDistanceExpression>(); } void Ifc4x2::IfcLinearPlacement::setDistance(const ::Ifc4x2::IfcDistanceExpression& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcOrientationExpression Ifc4x2::IfcLinearPlacement::Orientation() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcOrientationExpression{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcOrientationExpression>(); } +::Ifc4x2::IfcOrientationExpression Ifc4x2::IfcLinearPlacement::Orientation() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcOrientationExpression{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcOrientationExpression>(); } void Ifc4x2::IfcLinearPlacement::setOrientation(const ::Ifc4x2::IfcOrientationExpression& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x2::IfcAxis2Placement3D Ifc4x2::IfcLinearPlacement::CartesianPosition() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x2::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcAxis2Placement3D>(); } +::Ifc4x2::IfcAxis2Placement3D Ifc4x2::IfcLinearPlacement::CartesianPosition() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x2::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcAxis2Placement3D>(); } void Ifc4x2::IfcLinearPlacement::setCartesianPosition(const ::Ifc4x2::IfcAxis2Placement3D& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -10706,7 +10706,7 @@ const ifcopenshell::entity& Ifc4x2::IfcLinearPlacement::Class() { return *((ifco 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>(); } +::Ifc4x2::IfcCurve Ifc4x2::IfcLinearPositioningElement::Axis() const { return ((express::base)(get_attribute_value(7))).as<::Ifc4x2::IfcCurve>(); } void Ifc4x2::IfcLinearPositioningElement::setAxis(const ::Ifc4x2::IfcCurve& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -10714,7 +10714,7 @@ const ifcopenshell::entity& Ifc4x2::IfcLinearPositioningElement::Class() { retur 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>(); } +::Ifc4x2::IfcAxis2Placement Ifc4x2::IfcLocalPlacement::RelativePlacement() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcAxis2Placement>(); } void Ifc4x2::IfcLocalPlacement::setRelativePlacement(const ::Ifc4x2::IfcAxis2Placement& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -10728,7 +10728,7 @@ const ifcopenshell::entity& Ifc4x2::IfcLoop::Class() { return *((ifcopenshell::e 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>(); } +::Ifc4x2::IfcClosedShell Ifc4x2::IfcManifoldSolidBrep::Outer() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcClosedShell>(); } void Ifc4x2::IfcManifoldSolidBrep::setOuter(const ::Ifc4x2::IfcClosedShell& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -10754,9 +10754,9 @@ const ifcopenshell::entity& Ifc4x2::IfcMapConversion::Class() { return *((ifcope 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>(); } +::Ifc4x2::IfcRepresentationMap Ifc4x2::IfcMappedItem::MappingSource() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcRepresentationMap>(); } void Ifc4x2::IfcMappedItem::setMappingSource(const ::Ifc4x2::IfcRepresentationMap& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcCartesianTransformationOperator Ifc4x2::IfcMappedItem::MappingTarget() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcCartesianTransformationOperator>(); } +::Ifc4x2::IfcCartesianTransformationOperator Ifc4x2::IfcMappedItem::MappingTarget() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcCartesianTransformationOperator>(); } void Ifc4x2::IfcMappedItem::setMappingTarget(const ::Ifc4x2::IfcCartesianTransformationOperator& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -10779,21 +10779,21 @@ const ifcopenshell::entity& Ifc4x2::IfcMaterial::Class() { return *((ifcopenshel 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); } -void Ifc4x2::IfcMaterialClassificationRelationship::setMaterialClassifications(const std::vector< ::Ifc4x2::IfcClassificationSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcMaterial Ifc4x2::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcMaterial>(); } +std::vector< ::Ifc4x2::IfcClassificationSelect > Ifc4x2::IfcMaterialClassificationRelationship::MaterialClassifications() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcClassificationSelect>(es); } +void Ifc4x2::IfcMaterialClassificationRelationship::setMaterialClassifications(const std::vector< ::Ifc4x2::IfcClassificationSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +::Ifc4x2::IfcMaterial Ifc4x2::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcMaterial>(); } void Ifc4x2::IfcMaterialClassificationRelationship::setClassifiedMaterial(const ::Ifc4x2::IfcMaterial& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x2::IfcMaterialClassificationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X2_types[591]); } -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; } +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; } void Ifc4x2::IfcMaterialConstituent::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x2::IfcMaterialConstituent::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcMaterialConstituent::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x2::IfcMaterial Ifc4x2::IfcMaterialConstituent::Material() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcMaterial>(); } +::Ifc4x2::IfcMaterial Ifc4x2::IfcMaterialConstituent::Material() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcMaterial>(); } void Ifc4x2::IfcMaterialConstituent::setMaterial(const ::Ifc4x2::IfcMaterial& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc4x2::IfcMaterialConstituent::Fraction() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4x2::IfcMaterialConstituent::setFraction(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } @@ -10810,12 +10810,12 @@ std::optional< std::string > Ifc4x2::IfcMaterialConstituentSet::Name() const { i void Ifc4x2::IfcMaterialConstituentSet::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x2::IfcMaterialConstituentSet::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcMaterialConstituentSet::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::optional< std::vector< ::Ifc4x2::IfcMaterialConstituent > > Ifc4x2::IfcMaterialConstituentSet::MaterialConstituents() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcMaterialConstituent>(es); } -void Ifc4x2::IfcMaterialConstituentSet::setMaterialConstituents(const std::optional< std::vector< ::Ifc4x2::IfcMaterialConstituent > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4x2::IfcMaterialConstituent > > Ifc4x2::IfcMaterialConstituentSet::MaterialConstituents() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcMaterialConstituent>(es); } +void Ifc4x2::IfcMaterialConstituentSet::setMaterialConstituents(const std::optional< std::vector< ::Ifc4x2::IfcMaterialConstituent > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x2::IfcMaterialConstituentSet::Class() { return *((ifcopenshell::entity*)IFC4X2_types[593]); } -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; } +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 @@ -10827,15 +10827,15 @@ const ifcopenshell::entity& Ifc4x2::IfcMaterialDefinition::Class() { return *((i 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>(); } +::Ifc4x2::IfcMaterial Ifc4x2::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcMaterial>(); } void Ifc4x2::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(const ::Ifc4x2::IfcMaterial& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x2::IfcMaterialDefinitionRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X2_types[595]); } -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; } +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>(); } +::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>(); } void Ifc4x2::IfcMaterialLayer::setMaterial(const ::Ifc4x2::IfcMaterial& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x2::IfcMaterialLayer::LayerThickness() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcMaterialLayer::setLayerThickness(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -10856,8 +10856,8 @@ const ifcopenshell::entity& Ifc4x2::IfcMaterialLayer::Class() { return *((ifcope 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< int64_t > 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); } -void Ifc4x2::IfcMaterialLayerSet::setMaterialLayers(const std::vector< ::Ifc4x2::IfcMaterialLayer >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x2::IfcMaterialLayer > Ifc4x2::IfcMaterialLayerSet::MaterialLayers() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcMaterialLayer>(es); } +void Ifc4x2::IfcMaterialLayerSet::setMaterialLayers(const std::vector< ::Ifc4x2::IfcMaterialLayer >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x2::IfcMaterialLayerSet::LayerSetName() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcMaterialLayerSet::setLayerSetName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x2::IfcMaterialLayerSet::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } @@ -10865,10 +10865,10 @@ void Ifc4x2::IfcMaterialLayerSet::setDescription(const std::optional< std::strin const ifcopenshell::entity& Ifc4x2::IfcMaterialLayerSet::Class() { return *((ifcopenshell::entity*)IFC4X2_types[597]); } -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; } +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>(); } +::Ifc4x2::IfcMaterialLayerSet Ifc4x2::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcMaterialLayerSet>(); } void Ifc4x2::IfcMaterialLayerSetUsage::setForLayerSet(const ::Ifc4x2::IfcMaterialLayerSet& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } ::Ifc4x2::IfcLayerSetDirectionEnum::Value Ifc4x2::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x2::IfcLayerSetDirectionEnum::FromString(get_attribute_value(1)); } void Ifc4x2::IfcMaterialLayerSetUsage::setLayerSetDirection(const ::Ifc4x2::IfcLayerSetDirectionEnum::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4x2::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } @@ -10894,21 +10894,21 @@ const ifcopenshell::entity& Ifc4x2::IfcMaterialLayerWithOffsets::Class() { retur 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< int64_t > 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); } -void Ifc4x2::IfcMaterialList::setMaterials(const std::vector< ::Ifc4x2::IfcMaterial >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x2::IfcMaterial > Ifc4x2::IfcMaterialList::Materials() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcMaterial>(es); } +void Ifc4x2::IfcMaterialList::setMaterials(const std::vector< ::Ifc4x2::IfcMaterial >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x2::IfcMaterialList::Class() { return *((ifcopenshell::entity*)IFC4X2_types[600]); } -Ifc4x2::IfcMaterialList Ifc4x2::IfcMaterialList::initialize(std::vector< ::Ifc4x2::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials));; return *this; } +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; } void Ifc4x2::IfcMaterialProfile::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x2::IfcMaterialProfile::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcMaterialProfile::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x2::IfcMaterial Ifc4x2::IfcMaterialProfile::Material() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x2::IfcMaterial{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcMaterial>(); } +::Ifc4x2::IfcMaterial Ifc4x2::IfcMaterialProfile::Material() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x2::IfcMaterial{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcMaterial>(); } void Ifc4x2::IfcMaterialProfile::setMaterial(const ::Ifc4x2::IfcMaterial& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcProfileDef Ifc4x2::IfcMaterialProfile::Profile() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcProfileDef>(); } +::Ifc4x2::IfcProfileDef Ifc4x2::IfcMaterialProfile::Profile() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcProfileDef>(); } void Ifc4x2::IfcMaterialProfile::setProfile(const ::Ifc4x2::IfcProfileDef& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< int64_t > Ifc4x2::IfcMaterialProfile::Priority() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(4); return v; } void Ifc4x2::IfcMaterialProfile::setPriority(const std::optional< int64_t >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -10925,17 +10925,17 @@ std::optional< std::string > Ifc4x2::IfcMaterialProfileSet::Name() const { if(ge void Ifc4x2::IfcMaterialProfileSet::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x2::IfcMaterialProfileSet::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcMaterialProfileSet::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x2::IfcMaterialProfile > Ifc4x2::IfcMaterialProfileSet::MaterialProfiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcMaterialProfile>(es); } -void Ifc4x2::IfcMaterialProfileSet::setMaterialProfiles(const std::vector< ::Ifc4x2::IfcMaterialProfile >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcCompositeProfileDef Ifc4x2::IfcMaterialProfileSet::CompositeProfile() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcCompositeProfileDef{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcCompositeProfileDef>(); } +std::vector< ::Ifc4x2::IfcMaterialProfile > Ifc4x2::IfcMaterialProfileSet::MaterialProfiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcMaterialProfile>(es); } +void Ifc4x2::IfcMaterialProfileSet::setMaterialProfiles(const std::vector< ::Ifc4x2::IfcMaterialProfile >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +::Ifc4x2::IfcCompositeProfileDef Ifc4x2::IfcMaterialProfileSet::CompositeProfile() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcCompositeProfileDef{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcCompositeProfileDef>(); } void Ifc4x2::IfcMaterialProfileSet::setCompositeProfile(const ::Ifc4x2::IfcCompositeProfileDef& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x2::IfcMaterialProfileSet::Class() { return *((ifcopenshell::entity*)IFC4X2_types[602]); } -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; } +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>(); } +::Ifc4x2::IfcMaterialProfileSet Ifc4x2::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcMaterialProfileSet>(); } void Ifc4x2::IfcMaterialProfileSetUsage::setForProfileSet(const ::Ifc4x2::IfcMaterialProfileSet& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< int64_t > Ifc4x2::IfcMaterialProfileSetUsage::CardinalPoint() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(1); return v; } void Ifc4x2::IfcMaterialProfileSetUsage::setCardinalPoint(const std::optional< int64_t >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } @@ -10947,7 +10947,7 @@ const ifcopenshell::entity& Ifc4x2::IfcMaterialProfileSetUsage::Class() { return Ifc4x2::IfcMaterialProfileSetUsage Ifc4x2::IfcMaterialProfileSetUsage::initialize(::Ifc4x2::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int64_t > 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>(); } +::Ifc4x2::IfcMaterialProfileSet Ifc4x2::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcMaterialProfileSet>(); } void Ifc4x2::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(const ::Ifc4x2::IfcMaterialProfileSet& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< int64_t > Ifc4x2::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(4); return v; } void Ifc4x2::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(const std::optional< int64_t >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -10965,24 +10965,24 @@ const ifcopenshell::entity& Ifc4x2::IfcMaterialProfileWithOffsets::Class() { ret 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< int64_t > 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>(); } +::Ifc4x2::IfcMaterialDefinition Ifc4x2::IfcMaterialProperties::Material() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcMaterialDefinition>(); } void Ifc4x2::IfcMaterialProperties::setMaterial(const ::Ifc4x2::IfcMaterialDefinition& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x2::IfcMaterialProperties::Class() { return *((ifcopenshell::entity*)IFC4X2_types[606]); } -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; } +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>(); } +::Ifc4x2::IfcMaterial Ifc4x2::IfcMaterialRelationship::RelatingMaterial() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcMaterial>(); } void Ifc4x2::IfcMaterialRelationship::setRelatingMaterial(const ::Ifc4x2::IfcMaterial& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x2::IfcMaterial > Ifc4x2::IfcMaterialRelationship::RelatedMaterials() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x2::IfcMaterial>(es); } -void Ifc4x2::IfcMaterialRelationship::setRelatedMaterials(const std::vector< ::Ifc4x2::IfcMaterial >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x2::IfcMaterial > Ifc4x2::IfcMaterialRelationship::RelatedMaterials() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x2::IfcMaterial>(es); } +void Ifc4x2::IfcMaterialRelationship::setRelatedMaterials(const std::vector< ::Ifc4x2::IfcMaterial >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x2::IfcMaterialRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcMaterialRelationship::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const ifcopenshell::entity& Ifc4x2::IfcMaterialRelationship::Class() { return *((ifcopenshell::entity*)IFC4X2_types[607]); } -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; } +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 @@ -10992,9 +10992,9 @@ const ifcopenshell::entity& Ifc4x2::IfcMaterialUsageDefinition::Class() { return 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>(); } +::Ifc4x2::IfcValue Ifc4x2::IfcMeasureWithUnit::ValueComponent() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcValue>(); } void Ifc4x2::IfcMeasureWithUnit::setValueComponent(const ::Ifc4x2::IfcValue& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcUnit Ifc4x2::IfcMeasureWithUnit::UnitComponent() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcUnit>(); } +::Ifc4x2::IfcUnit Ifc4x2::IfcMeasureWithUnit::UnitComponent() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcUnit>(); } void Ifc4x2::IfcMeasureWithUnit::setUnitComponent(const ::Ifc4x2::IfcUnit& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11023,7 +11023,7 @@ void Ifc4x2::IfcMechanicalFastenerType::setNominalLength(const std::optional< do const ifcopenshell::entity& Ifc4x2::IfcMechanicalFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[613]); } -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; } +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)); } @@ -11039,7 +11039,7 @@ void Ifc4x2::IfcMedicalDeviceType::setPredefinedType(const ::Ifc4x2::IfcMedicalD const ifcopenshell::entity& Ifc4x2::IfcMedicalDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[616]); } -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; } +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)); } @@ -11061,16 +11061,16 @@ void Ifc4x2::IfcMemberType::setPredefinedType(const ::Ifc4x2::IfcMemberTypeEnum: const ifcopenshell::entity& Ifc4x2::IfcMemberType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[620]); } -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; } +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)); } void Ifc4x2::IfcMetric::setBenchmark(const ::Ifc4x2::IfcBenchmarkEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4x2::IfcBenchmarkEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } std::optional< std::string > Ifc4x2::IfcMetric::ValueSource() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x2::IfcMetric::setValueSource(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x2::IfcMetricValueSelect Ifc4x2::IfcMetric::DataValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x2::IfcMetricValueSelect{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x2::IfcMetricValueSelect>(); } +::Ifc4x2::IfcMetricValueSelect Ifc4x2::IfcMetric::DataValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x2::IfcMetricValueSelect{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x2::IfcMetricValueSelect>(); } void Ifc4x2::IfcMetric::setDataValue(const ::Ifc4x2::IfcMetricValueSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -::Ifc4x2::IfcReference Ifc4x2::IfcMetric::ReferencePath() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x2::IfcReference{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x2::IfcReference>(); } +::Ifc4x2::IfcReference Ifc4x2::IfcMetric::ReferencePath() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x2::IfcReference{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x2::IfcReference>(); } void Ifc4x2::IfcMetric::setReferencePath(const ::Ifc4x2::IfcReference& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } @@ -11105,10 +11105,10 @@ void Ifc4x2::IfcMotorConnectionType::setPredefinedType(const ::Ifc4x2::IfcMotorC const ifcopenshell::entity& Ifc4x2::IfcMotorConnectionType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[639]); } -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; } +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>(); } +::Ifc4x2::IfcDimensionalExponents Ifc4x2::IfcNamedUnit::Dimensions() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcDimensionalExponents>(); } void Ifc4x2::IfcNamedUnit::setDimensions(const ::Ifc4x2::IfcDimensionalExponents& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } ::Ifc4x2::IfcUnitEnum::Value Ifc4x2::IfcNamedUnit::UnitType() const { return ::Ifc4x2::IfcUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x2::IfcNamedUnit::setUnitType(const ::Ifc4x2::IfcUnitEnum::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4x2::IfcUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } @@ -11143,7 +11143,7 @@ const ifcopenshell::entity& Ifc4x2::IfcObjectDefinition::Class() { return *((ifc 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>(); } +::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>(); } void Ifc4x2::IfcObjectPlacement::setPlacementRelTo(const ::Ifc4x2::IfcObjectPlacement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::vector<::Ifc4x2::IfcProduct> Ifc4x2::IfcObjectPlacement::PlacesObject() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[746], 5)); } @@ -11152,8 +11152,8 @@ const ifcopenshell::entity& Ifc4x2::IfcObjectPlacement::Class() { return *((ifco 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); } -void Ifc4x2::IfcObjective::setBenchmarkValues(const std::optional< std::vector< ::Ifc4x2::IfcConstraint > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +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); } +void Ifc4x2::IfcObjective::setBenchmarkValues(const std::optional< std::vector< ::Ifc4x2::IfcConstraint > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< ::Ifc4x2::IfcLogicalOperatorEnum::Value > Ifc4x2::IfcObjective::LogicalAggregator() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcLogicalOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcObjective::setLogicalAggregator(const std::optional< ::Ifc4x2::IfcLogicalOperatorEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x2::IfcLogicalOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x2::IfcObjectiveEnum::Value Ifc4x2::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x2::IfcObjectiveEnum::FromString(get_attribute_value(9)); } @@ -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]); } -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; } +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)); } @@ -11174,7 +11174,7 @@ const ifcopenshell::entity& Ifc4x2::IfcOccupant::Class() { return *((ifcopenshel 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>(); } +::Ifc4x2::IfcCurve Ifc4x2::IfcOffsetCurve::BasisCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcCurve>(); } void Ifc4x2::IfcOffsetCurve::setBasisCurve(const ::Ifc4x2::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -11196,7 +11196,7 @@ double Ifc4x2::IfcOffsetCurve3D::Distance() const { double v = get_attribute_va void Ifc4x2::IfcOffsetCurve3D::setDistance(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } boost::logic::tribool Ifc4x2::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x2::IfcOffsetCurve3D::setSelfIntersect(const boost::logic::tribool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcDirection Ifc4x2::IfcOffsetCurve3D::RefDirection() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcDirection>(); } +::Ifc4x2::IfcDirection Ifc4x2::IfcOffsetCurve3D::RefDirection() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcDirection>(); } void Ifc4x2::IfcOffsetCurve3D::setRefDirection(const ::Ifc4x2::IfcDirection& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -11204,20 +11204,20 @@ const ifcopenshell::entity& Ifc4x2::IfcOffsetCurve3D::Class() { return *((ifcope 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); } -void Ifc4x2::IfcOffsetCurveByDistances::setOffsetValues(const std::vector< ::Ifc4x2::IfcDistanceExpression >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x2::IfcDistanceExpression > Ifc4x2::IfcOffsetCurveByDistances::OffsetValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcDistanceExpression>(es); } +void Ifc4x2::IfcOffsetCurveByDistances::setOffsetValues(const std::vector< ::Ifc4x2::IfcDistanceExpression >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x2::IfcOffsetCurveByDistances::Tag() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcOffsetCurveByDistances::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x2::IfcOffsetCurveByDistances::Class() { return *((ifcopenshell::entity*)IFC4X2_types[658]); } -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; } +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]); } -Ifc4x2::IfcOpenShell Ifc4x2::IfcOpenShell::initialize(std::vector< ::Ifc4x2::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } +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)); } @@ -11241,32 +11241,32 @@ std::string Ifc4x2::IfcOrganization::Name() const { std::string v = get_attribu void Ifc4x2::IfcOrganization::setName(const std::string& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x2::IfcOrganization::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcOrganization::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::optional< std::vector< ::Ifc4x2::IfcActorRole > > Ifc4x2::IfcOrganization::Roles() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x2::IfcActorRole>(es); } -void Ifc4x2::IfcOrganization::setRoles(const std::optional< std::vector< ::Ifc4x2::IfcActorRole > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } -std::optional< std::vector< ::Ifc4x2::IfcAddress > > Ifc4x2::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x2::IfcAddress>(es); } -void Ifc4x2::IfcOrganization::setAddresses(const std::optional< std::vector< ::Ifc4x2::IfcAddress > >& v) { if (v) {set_attribute_value(4, cast_vector(*v));} else {unset_attribute_value(4);} } +std::optional< std::vector< ::Ifc4x2::IfcActorRole > > Ifc4x2::IfcOrganization::Roles() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x2::IfcActorRole>(es); } +void Ifc4x2::IfcOrganization::setRoles(const std::optional< std::vector< ::Ifc4x2::IfcActorRole > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } +std::optional< std::vector< ::Ifc4x2::IfcAddress > > Ifc4x2::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x2::IfcAddress>(es); } +void Ifc4x2::IfcOrganization::setAddresses(const std::optional< std::vector< ::Ifc4x2::IfcAddress > >& v) { if (v) {set_attribute_value(4, cast_vector(*v));} else {unset_attribute_value(4);} } std::vector<::Ifc4x2::IfcOrganizationRelationship> Ifc4x2::IfcOrganization::IsRelatedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[664], 3)); } std::vector<::Ifc4x2::IfcOrganizationRelationship> Ifc4x2::IfcOrganization::Relates() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[664], 2)); } 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]); } -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; } +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>(); } +::Ifc4x2::IfcOrganization Ifc4x2::IfcOrganizationRelationship::RelatingOrganization() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcOrganization>(); } void Ifc4x2::IfcOrganizationRelationship::setRelatingOrganization(const ::Ifc4x2::IfcOrganization& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x2::IfcOrganization > Ifc4x2::IfcOrganizationRelationship::RelatedOrganizations() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x2::IfcOrganization>(es); } -void Ifc4x2::IfcOrganizationRelationship::setRelatedOrganizations(const std::vector< ::Ifc4x2::IfcOrganization >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x2::IfcOrganization > Ifc4x2::IfcOrganizationRelationship::RelatedOrganizations() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x2::IfcOrganization>(es); } +void Ifc4x2::IfcOrganizationRelationship::setRelatedOrganizations(const std::vector< ::Ifc4x2::IfcOrganization >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x2::IfcOrganizationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X2_types[664]); } -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; } +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>(); } +::Ifc4x2::IfcDirection Ifc4x2::IfcOrientationExpression::LateralAxisDirection() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcDirection>(); } void Ifc4x2::IfcOrientationExpression::setLateralAxisDirection(const ::Ifc4x2::IfcDirection& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcDirection Ifc4x2::IfcOrientationExpression::VerticalAxisDirection() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcDirection>(); } +::Ifc4x2::IfcDirection Ifc4x2::IfcOrientationExpression::VerticalAxisDirection() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcDirection>(); } void Ifc4x2::IfcOrientationExpression::setVerticalAxisDirection(const ::Ifc4x2::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11274,7 +11274,7 @@ const ifcopenshell::entity& Ifc4x2::IfcOrientationExpression::Class() { return * 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>(); } +::Ifc4x2::IfcEdge Ifc4x2::IfcOrientedEdge::EdgeElement() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcEdge>(); } void Ifc4x2::IfcOrientedEdge::setEdgeElement(const ::Ifc4x2::IfcEdge& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } bool Ifc4x2::IfcOrientedEdge::Orientation() const { bool v = get_attribute_value(3); return v; } void Ifc4x2::IfcOrientedEdge::setOrientation(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -11287,7 +11287,7 @@ Ifc4x2::IfcOrientedEdge Ifc4x2::IfcOrientedEdge::initialize(::Ifc4x2::IfcEdge v3 const ifcopenshell::entity& Ifc4x2::IfcOuterBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X2_types[667]); } -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; } +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)); } @@ -11303,12 +11303,12 @@ void Ifc4x2::IfcOutletType::setPredefinedType(const ::Ifc4x2::IfcOutletTypeEnum: const ifcopenshell::entity& Ifc4x2::IfcOutletType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[669]); } -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; } +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>(); } +::Ifc4x2::IfcPersonAndOrganization Ifc4x2::IfcOwnerHistory::OwningUser() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcPersonAndOrganization>(); } void Ifc4x2::IfcOwnerHistory::setOwningUser(const ::Ifc4x2::IfcPersonAndOrganization& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcApplication Ifc4x2::IfcOwnerHistory::OwningApplication() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcApplication>(); } +::Ifc4x2::IfcApplication Ifc4x2::IfcOwnerHistory::OwningApplication() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcApplication>(); } void Ifc4x2::IfcOwnerHistory::setOwningApplication(const ::Ifc4x2::IfcApplication& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< ::Ifc4x2::IfcStateEnum::Value > Ifc4x2::IfcOwnerHistory::State() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcStateEnum::FromString(get_attribute_value(2)); } void Ifc4x2::IfcOwnerHistory::setState(const std::optional< ::Ifc4x2::IfcStateEnum::Value >& v) { if (v) {set_attribute_value(2, enumeration_reference(&::Ifc4x2::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } @@ -11316,9 +11316,9 @@ std::optional< ::Ifc4x2::IfcChangeActionEnum::Value > Ifc4x2::IfcOwnerHistory::C void Ifc4x2::IfcOwnerHistory::setChangeAction(const std::optional< ::Ifc4x2::IfcChangeActionEnum::Value >& v) { if (v) {set_attribute_value(3, enumeration_reference(&::Ifc4x2::IfcChangeActionEnum::Class(), (size_t) *v));} else {unset_attribute_value(3);} } std::optional< int64_t > Ifc4x2::IfcOwnerHistory::LastModifiedDate() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(4); return v; } void Ifc4x2::IfcOwnerHistory::setLastModifiedDate(const std::optional< int64_t >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x2::IfcPersonAndOrganization Ifc4x2::IfcOwnerHistory::LastModifyingUser() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x2::IfcPersonAndOrganization{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcPersonAndOrganization>(); } +::Ifc4x2::IfcPersonAndOrganization Ifc4x2::IfcOwnerHistory::LastModifyingUser() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x2::IfcPersonAndOrganization{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcPersonAndOrganization>(); } void Ifc4x2::IfcOwnerHistory::setLastModifyingUser(const ::Ifc4x2::IfcPersonAndOrganization& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x2::IfcApplication Ifc4x2::IfcOwnerHistory::LastModifyingApplication() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcApplication{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x2::IfcApplication>(); } +::Ifc4x2::IfcApplication Ifc4x2::IfcOwnerHistory::LastModifyingApplication() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcApplication{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x2::IfcApplication>(); } void Ifc4x2::IfcOwnerHistory::setLastModifyingApplication(const ::Ifc4x2::IfcApplication& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } int64_t Ifc4x2::IfcOwnerHistory::CreationDate() const { int64_t v = get_attribute_value(7); return v; } void Ifc4x2::IfcOwnerHistory::setCreationDate(const int64_t& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -11328,7 +11328,7 @@ const ifcopenshell::entity& Ifc4x2::IfcOwnerHistory::Class() { return *((ifcopen 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< int64_t > v5_LastModifiedDate, ::Ifc4x2::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x2::IfcApplication v7_LastModifyingApplication, int64_t 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>(); } +::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>(); } void Ifc4x2::IfcParameterizedProfileDef::setPosition(const ::Ifc4x2::IfcAxis2Placement2D& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -11336,17 +11336,17 @@ const ifcopenshell::entity& Ifc4x2::IfcParameterizedProfileDef::Class() { return 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); } -void Ifc4x2::IfcPath::setEdgeList(const std::vector< ::Ifc4x2::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x2::IfcOrientedEdge > Ifc4x2::IfcPath::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcOrientedEdge>(es); } +void Ifc4x2::IfcPath::setEdgeList(const std::vector< ::Ifc4x2::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x2::IfcPath::Class() { return *((ifcopenshell::entity*)IFC4X2_types[674]); } -Ifc4x2::IfcPath Ifc4x2::IfcPath::initialize(std::vector< ::Ifc4x2::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } +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>(); } +::Ifc4x2::IfcSurface Ifc4x2::IfcPcurve::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcSurface>(); } void Ifc4x2::IfcPcurve::setBasisSurface(const ::Ifc4x2::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcCurve Ifc4x2::IfcPcurve::ReferenceCurve() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcCurve>(); } +::Ifc4x2::IfcCurve Ifc4x2::IfcPcurve::ReferenceCurve() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcCurve>(); } void Ifc4x2::IfcPcurve::setReferenceCurve(const ::Ifc4x2::IfcCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11372,7 +11372,7 @@ std::optional< double > Ifc4x2::IfcPermeableCoveringProperties::FrameDepth() con void Ifc4x2::IfcPermeableCoveringProperties::setFrameDepth(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } std::optional< double > Ifc4x2::IfcPermeableCoveringProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } void Ifc4x2::IfcPermeableCoveringProperties::setFrameThickness(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x2::IfcShapeAspect Ifc4x2::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x2::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x2::IfcShapeAspect>(); } +::Ifc4x2::IfcShapeAspect Ifc4x2::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x2::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x2::IfcShapeAspect>(); } void Ifc4x2::IfcPermeableCoveringProperties::setShapeAspectStyle(const ::Ifc4x2::IfcShapeAspect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -11404,31 +11404,31 @@ std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcPerson::PrefixT void Ifc4x2::IfcPerson::setPrefixTitles(const std::optional< std::vector< std::string > /*[1:?]*/ >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcPerson::SuffixTitles() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(5); return v; } void Ifc4x2::IfcPerson::setSuffixTitles(const std::optional< std::vector< std::string > /*[1:?]*/ >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::optional< std::vector< ::Ifc4x2::IfcActorRole > > Ifc4x2::IfcPerson::Roles() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x2::IfcActorRole>(es); } -void Ifc4x2::IfcPerson::setRoles(const std::optional< std::vector< ::Ifc4x2::IfcActorRole > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x2::IfcAddress > > Ifc4x2::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x2::IfcAddress>(es); } -void Ifc4x2::IfcPerson::setAddresses(const std::optional< std::vector< ::Ifc4x2::IfcAddress > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x2::IfcActorRole > > Ifc4x2::IfcPerson::Roles() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x2::IfcActorRole>(es); } +void Ifc4x2::IfcPerson::setRoles(const std::optional< std::vector< ::Ifc4x2::IfcActorRole > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +std::optional< std::vector< ::Ifc4x2::IfcAddress > > Ifc4x2::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x2::IfcAddress>(es); } +void Ifc4x2::IfcPerson::setAddresses(const std::optional< std::vector< ::Ifc4x2::IfcAddress > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } 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]); } -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; } +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>(); } +::Ifc4x2::IfcPerson Ifc4x2::IfcPersonAndOrganization::ThePerson() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcPerson>(); } void Ifc4x2::IfcPersonAndOrganization::setThePerson(const ::Ifc4x2::IfcPerson& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcOrganization Ifc4x2::IfcPersonAndOrganization::TheOrganization() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcOrganization>(); } +::Ifc4x2::IfcOrganization Ifc4x2::IfcPersonAndOrganization::TheOrganization() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcOrganization>(); } void Ifc4x2::IfcPersonAndOrganization::setTheOrganization(const ::Ifc4x2::IfcOrganization& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::optional< std::vector< ::Ifc4x2::IfcActorRole > > Ifc4x2::IfcPersonAndOrganization::Roles() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcActorRole>(es); } -void Ifc4x2::IfcPersonAndOrganization::setRoles(const std::optional< std::vector< ::Ifc4x2::IfcActorRole > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4x2::IfcActorRole > > Ifc4x2::IfcPersonAndOrganization::Roles() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcActorRole>(es); } +void Ifc4x2::IfcPersonAndOrganization::setRoles(const std::optional< std::vector< ::Ifc4x2::IfcActorRole > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x2::IfcPersonAndOrganization::Class() { return *((ifcopenshell::entity*)IFC4X2_types[683]); } -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; } +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); } -void Ifc4x2::IfcPhysicalComplexQuantity::setHasQuantities(const std::vector< ::Ifc4x2::IfcPhysicalQuantity >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x2::IfcPhysicalQuantity > Ifc4x2::IfcPhysicalComplexQuantity::HasQuantities() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcPhysicalQuantity>(es); } +void Ifc4x2::IfcPhysicalComplexQuantity::setHasQuantities(const std::vector< ::Ifc4x2::IfcPhysicalQuantity >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::string Ifc4x2::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = get_attribute_value(3); return v; } void Ifc4x2::IfcPhysicalComplexQuantity::setDiscrimination(const std::string& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x2::IfcPhysicalComplexQuantity::Quality() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -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]); } -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; } +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; } @@ -11453,7 +11453,7 @@ const ifcopenshell::entity& Ifc4x2::IfcPhysicalQuantity::Class() { return *((ifc 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>(); } +::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>(); } void Ifc4x2::IfcPhysicalSimpleQuantity::setUnit(const ::Ifc4x2::IfcNamedUnit& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -11476,7 +11476,7 @@ void Ifc4x2::IfcPileType::setPredefinedType(const ::Ifc4x2::IfcPileTypeEnum::Val const ifcopenshell::entity& Ifc4x2::IfcPileType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[691]); } -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; } +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)); } @@ -11492,7 +11492,7 @@ void Ifc4x2::IfcPipeFittingType::setPredefinedType(const ::Ifc4x2::IfcPipeFittin const ifcopenshell::entity& Ifc4x2::IfcPipeFittingType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[694]); } -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; } +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)); } @@ -11508,7 +11508,7 @@ void Ifc4x2::IfcPipeSegmentType::setPredefinedType(const ::Ifc4x2::IfcPipeSegmen const ifcopenshell::entity& Ifc4x2::IfcPipeSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[697]); } -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; } +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 int64_t Ifc4x2::IfcPixelTexture::Width() const { int64_t v = get_attribute_value(5); return v; } @@ -11525,7 +11525,7 @@ const ifcopenshell::entity& Ifc4x2::IfcPixelTexture::Class() { return *((ifcopen 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, int64_t v6_Width, int64_t v7_Height, int64_t 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>(); } +::Ifc4x2::IfcCartesianPoint Ifc4x2::IfcPlacement::Location() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcCartesianPoint>(); } void Ifc4x2::IfcPlacement::setLocation(const ::Ifc4x2::IfcCartesianPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -11533,7 +11533,7 @@ const ifcopenshell::entity& Ifc4x2::IfcPlacement::Class() { return *((ifcopenshe 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>(); } +::Ifc4x2::IfcAxis2Placement Ifc4x2::IfcPlanarBox::Placement() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcAxis2Placement>(); } void Ifc4x2::IfcPlanarBox::setPlacement(const ::Ifc4x2::IfcAxis2Placement& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -11576,7 +11576,7 @@ void Ifc4x2::IfcPlateType::setPredefinedType(const ::Ifc4x2::IfcPlateTypeEnum::V const ifcopenshell::entity& Ifc4x2::IfcPlateType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[708]); } -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; } +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 @@ -11585,7 +11585,7 @@ const ifcopenshell::entity& Ifc4x2::IfcPoint::Class() { return *((ifcopenshell:: 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>(); } +::Ifc4x2::IfcCurve Ifc4x2::IfcPointOnCurve::BasisCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcCurve>(); } void Ifc4x2::IfcPointOnCurve::setBasisCurve(const ::Ifc4x2::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x2::IfcPointOnCurve::PointParameter() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcPointOnCurve::setPointParameter(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11595,7 +11595,7 @@ const ifcopenshell::entity& Ifc4x2::IfcPointOnCurve::Class() { return *((ifcopen 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>(); } +::Ifc4x2::IfcSurface Ifc4x2::IfcPointOnSurface::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcSurface>(); } void Ifc4x2::IfcPointOnSurface::setBasisSurface(const ::Ifc4x2::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x2::IfcPointOnSurface::PointParameterU() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcPointOnSurface::setPointParameterU(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11607,17 +11607,17 @@ const ifcopenshell::entity& Ifc4x2::IfcPointOnSurface::Class() { return *((ifcop 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); } -void Ifc4x2::IfcPolyLoop::setPolygon(const std::vector< ::Ifc4x2::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x2::IfcCartesianPoint > Ifc4x2::IfcPolyLoop::Polygon() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcCartesianPoint>(es); } +void Ifc4x2::IfcPolyLoop::setPolygon(const std::vector< ::Ifc4x2::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x2::IfcPolyLoop::Class() { return *((ifcopenshell::entity*)IFC4X2_types[717]); } -Ifc4x2::IfcPolyLoop Ifc4x2::IfcPolyLoop::initialize(std::vector< ::Ifc4x2::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon));; return *this; } +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>(); } +::Ifc4x2::IfcAxis2Placement3D Ifc4x2::IfcPolygonalBoundedHalfSpace::Position() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcAxis2Placement3D>(); } void Ifc4x2::IfcPolygonalBoundedHalfSpace::setPosition(const ::Ifc4x2::IfcAxis2Placement3D& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcBoundedCurve Ifc4x2::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcBoundedCurve>(); } +::Ifc4x2::IfcBoundedCurve Ifc4x2::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcBoundedCurve>(); } void Ifc4x2::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(const ::Ifc4x2::IfcBoundedCurve& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -11627,22 +11627,22 @@ Ifc4x2::IfcPolygonalBoundedHalfSpace Ifc4x2::IfcPolygonalBoundedHalfSpace::initi // 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; } void Ifc4x2::IfcPolygonalFaceSet::setClosed(const std::optional< bool >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x2::IfcIndexedPolygonalFace > Ifc4x2::IfcPolygonalFaceSet::Faces() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcIndexedPolygonalFace>(es); } -void Ifc4x2::IfcPolygonalFaceSet::setFaces(const std::vector< ::Ifc4x2::IfcIndexedPolygonalFace >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x2::IfcIndexedPolygonalFace > Ifc4x2::IfcPolygonalFaceSet::Faces() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcIndexedPolygonalFace>(es); } +void Ifc4x2::IfcPolygonalFaceSet::setFaces(const std::vector< ::Ifc4x2::IfcIndexedPolygonalFace >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::optional< std::vector< int64_t > /*[1:?]*/ > Ifc4x2::IfcPolygonalFaceSet::PnIndex() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< int64_t > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x2::IfcPolygonalFaceSet::setPnIndex(const std::optional< std::vector< int64_t > /*[1:?]*/ >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const ifcopenshell::entity& Ifc4x2::IfcPolygonalFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X2_types[715]); } -Ifc4x2::IfcPolygonalFaceSet Ifc4x2::IfcPolygonalFaceSet::initialize(::Ifc4x2::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x2::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int64_t > /*[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; } +Ifc4x2::IfcPolygonalFaceSet Ifc4x2::IfcPolygonalFaceSet::initialize(::Ifc4x2::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x2::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int64_t > /*[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); } -void Ifc4x2::IfcPolyline::setPoints(const std::vector< ::Ifc4x2::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x2::IfcCartesianPoint > Ifc4x2::IfcPolyline::Points() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcCartesianPoint>(es); } +void Ifc4x2::IfcPolyline::setPoints(const std::vector< ::Ifc4x2::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x2::IfcPolyline::Class() { return *((ifcopenshell::entity*)IFC4X2_types[716]); } -Ifc4x2::IfcPolyline Ifc4x2::IfcPolyline::initialize(std::vector< ::Ifc4x2::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points));; return *this; } +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 @@ -11730,14 +11730,14 @@ std::string Ifc4x2::IfcPresentationLayerAssignment::Name() const { std::string void Ifc4x2::IfcPresentationLayerAssignment::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x2::IfcPresentationLayerAssignment::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcPresentationLayerAssignment::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x2::IfcLayeredItem > Ifc4x2::IfcPresentationLayerAssignment::AssignedItems() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcLayeredItem>(es); } -void Ifc4x2::IfcPresentationLayerAssignment::setAssignedItems(const std::vector< ::Ifc4x2::IfcLayeredItem >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x2::IfcLayeredItem > Ifc4x2::IfcPresentationLayerAssignment::AssignedItems() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcLayeredItem>(es); } +void Ifc4x2::IfcPresentationLayerAssignment::setAssignedItems(const std::vector< ::Ifc4x2::IfcLayeredItem >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4x2::IfcPresentationLayerAssignment::Identifier() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x2::IfcPresentationLayerAssignment::setIdentifier(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const ifcopenshell::entity& Ifc4x2::IfcPresentationLayerAssignment::Class() { return *((ifcopenshell::entity*)IFC4X2_types[735]); } -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; } +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; } @@ -11746,12 +11746,12 @@ boost::logic::tribool Ifc4x2::IfcPresentationLayerWithStyle::LayerFrozen() const void Ifc4x2::IfcPresentationLayerWithStyle::setLayerFrozen(const boost::logic::tribool& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } boost::logic::tribool Ifc4x2::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc4x2::IfcPresentationLayerWithStyle::setLayerBlocked(const boost::logic::tribool& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::vector< ::Ifc4x2::IfcPresentationStyle > Ifc4x2::IfcPresentationLayerWithStyle::LayerStyles() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x2::IfcPresentationStyle>(es); } -void Ifc4x2::IfcPresentationLayerWithStyle::setLayerStyles(const std::vector< ::Ifc4x2::IfcPresentationStyle >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } +std::vector< ::Ifc4x2::IfcPresentationStyle > Ifc4x2::IfcPresentationLayerWithStyle::LayerStyles() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x2::IfcPresentationStyle>(es); } +void Ifc4x2::IfcPresentationLayerWithStyle::setLayerStyles(const std::vector< ::Ifc4x2::IfcPresentationStyle >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } const ifcopenshell::entity& Ifc4x2::IfcPresentationLayerWithStyle::Class() { return *((ifcopenshell::entity*)IFC4X2_types[736]); } -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; } +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; } @@ -11762,12 +11762,12 @@ const ifcopenshell::entity& Ifc4x2::IfcPresentationStyle::Class() { return *((if 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); } -void Ifc4x2::IfcPresentationStyleAssignment::setStyles(const std::vector< ::Ifc4x2::IfcPresentationStyleSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x2::IfcPresentationStyleSelect > Ifc4x2::IfcPresentationStyleAssignment::Styles() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcPresentationStyleSelect>(es); } +void Ifc4x2::IfcPresentationStyleAssignment::setStyles(const std::vector< ::Ifc4x2::IfcPresentationStyleSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x2::IfcPresentationStyleAssignment::Class() { return *((ifcopenshell::entity*)IFC4X2_types[738]); } -Ifc4x2::IfcPresentationStyleAssignment Ifc4x2::IfcPresentationStyleAssignment::initialize(std::vector< ::Ifc4x2::IfcPresentationStyleSelect > v1_Styles) { set_attribute_value(0, cast_vector(v1_Styles));; return *this; } +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)); } @@ -11783,7 +11783,7 @@ void Ifc4x2::IfcProcedureType::setPredefinedType(const ::Ifc4x2::IfcProcedureTyp const ifcopenshell::entity& Ifc4x2::IfcProcedureType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[742]); } -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; } +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; } @@ -11799,9 +11799,9 @@ const ifcopenshell::entity& Ifc4x2::IfcProcess::Class() { return *((ifcopenshell 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>(); } +::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>(); } void Ifc4x2::IfcProduct::setObjectPlacement(const ::Ifc4x2::IfcObjectPlacement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x2::IfcProductRepresentation Ifc4x2::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcProductRepresentation{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x2::IfcProductRepresentation>(); } +::Ifc4x2::IfcProductRepresentation Ifc4x2::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcProductRepresentation{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x2::IfcProductRepresentation>(); } void Ifc4x2::IfcProduct::setRepresentation(const ::Ifc4x2::IfcProductRepresentation& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::vector<::Ifc4x2::IfcRelAssignsToProduct> Ifc4x2::IfcProduct::ReferencedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[842], 6)); } @@ -11816,19 +11816,19 @@ 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]); } -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; } +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; } void Ifc4x2::IfcProductRepresentation::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x2::IfcProductRepresentation::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcProductRepresentation::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x2::IfcRepresentation > Ifc4x2::IfcProductRepresentation::Representations() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcRepresentation>(es); } -void Ifc4x2::IfcProductRepresentation::setRepresentations(const std::vector< ::Ifc4x2::IfcRepresentation >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x2::IfcRepresentation > Ifc4x2::IfcProductRepresentation::Representations() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcRepresentation>(es); } +void Ifc4x2::IfcProductRepresentation::setRepresentations(const std::vector< ::Ifc4x2::IfcRepresentation >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x2::IfcProductRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X2_types[748]); } -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; } +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)); } @@ -11843,24 +11843,24 @@ const ifcopenshell::entity& Ifc4x2::IfcProfileDef::Class() { return *((ifcopensh 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>(); } +::Ifc4x2::IfcProfileDef Ifc4x2::IfcProfileProperties::ProfileDefinition() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcProfileDef>(); } void Ifc4x2::IfcProfileProperties::setProfileDefinition(const ::Ifc4x2::IfcProfileDef& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x2::IfcProfileProperties::Class() { return *((ifcopenshell::entity*)IFC4X2_types[752]); } -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; } +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]); } -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; } +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]); } -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; } +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)); } @@ -11879,7 +11879,7 @@ std::optional< std::string > Ifc4x2::IfcProjectedCRS::MapProjection() const { if void Ifc4x2::IfcProjectedCRS::setMapProjection(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } std::optional< std::string > Ifc4x2::IfcProjectedCRS::MapZone() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcProjectedCRS::setMapZone(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x2::IfcNamedUnit Ifc4x2::IfcProjectedCRS::MapUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcNamedUnit{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x2::IfcNamedUnit>(); } +::Ifc4x2::IfcNamedUnit Ifc4x2::IfcProjectedCRS::MapUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcNamedUnit{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x2::IfcNamedUnit>(); } void Ifc4x2::IfcProjectedCRS::setMapUnit(const ::Ifc4x2::IfcNamedUnit& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -11918,13 +11918,13 @@ const ifcopenshell::entity& Ifc4x2::IfcPropertyAbstraction::Class() { return *(( 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>(); } +::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>(); } void Ifc4x2::IfcPropertyBoundedValue::setUpperBoundValue(const ::Ifc4x2::IfcValue& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcValue Ifc4x2::IfcPropertyBoundedValue::LowerBoundValue() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcValue{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcValue>(); } +::Ifc4x2::IfcValue Ifc4x2::IfcPropertyBoundedValue::LowerBoundValue() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcValue{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcValue>(); } void Ifc4x2::IfcPropertyBoundedValue::setLowerBoundValue(const ::Ifc4x2::IfcValue& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x2::IfcUnit Ifc4x2::IfcPropertyBoundedValue::Unit() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x2::IfcUnit{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcUnit>(); } +::Ifc4x2::IfcUnit Ifc4x2::IfcPropertyBoundedValue::Unit() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x2::IfcUnit{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcUnit>(); } void Ifc4x2::IfcPropertyBoundedValue::setUnit(const ::Ifc4x2::IfcUnit& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcValue Ifc4x2::IfcPropertyBoundedValue::SetPointValue() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x2::IfcValue{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcValue>(); } +::Ifc4x2::IfcValue Ifc4x2::IfcPropertyBoundedValue::SetPointValue() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x2::IfcValue{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcValue>(); } void Ifc4x2::IfcPropertyBoundedValue::setSetPointValue(const ::Ifc4x2::IfcValue& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -11940,9 +11940,9 @@ const ifcopenshell::entity& Ifc4x2::IfcPropertyDefinition::Class() { return *((i 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>(); } +::Ifc4x2::IfcProperty Ifc4x2::IfcPropertyDependencyRelationship::DependingProperty() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcProperty>(); } void Ifc4x2::IfcPropertyDependencyRelationship::setDependingProperty(const ::Ifc4x2::IfcProperty& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcProperty Ifc4x2::IfcPropertyDependencyRelationship::DependantProperty() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcProperty>(); } +::Ifc4x2::IfcProperty Ifc4x2::IfcPropertyDependencyRelationship::DependantProperty() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcProperty>(); } void Ifc4x2::IfcPropertyDependencyRelationship::setDependantProperty(const ::Ifc4x2::IfcProperty& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x2::IfcPropertyDependencyRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcPropertyDependencyRelationship::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -11952,41 +11952,41 @@ const ifcopenshell::entity& Ifc4x2::IfcPropertyDependencyRelationship::Class() { 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); } -void Ifc4x2::IfcPropertyEnumeratedValue::setEnumerationValues(const std::optional< std::vector< ::Ifc4x2::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } -::Ifc4x2::IfcPropertyEnumeration Ifc4x2::IfcPropertyEnumeratedValue::EnumerationReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcPropertyEnumeration{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcPropertyEnumeration>(); } +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); } +void Ifc4x2::IfcPropertyEnumeratedValue::setEnumerationValues(const std::optional< std::vector< ::Ifc4x2::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +::Ifc4x2::IfcPropertyEnumeration Ifc4x2::IfcPropertyEnumeratedValue::EnumerationReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcPropertyEnumeration{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcPropertyEnumeration>(); } void Ifc4x2::IfcPropertyEnumeratedValue::setEnumerationReference(const ::Ifc4x2::IfcPropertyEnumeration& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x2::IfcPropertyEnumeratedValue::Class() { return *((ifcopenshell::entity*)IFC4X2_types[767]); } -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; } +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; } void Ifc4x2::IfcPropertyEnumeration::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x2::IfcValue > Ifc4x2::IfcPropertyEnumeration::EnumerationValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcValue>(es); } -void Ifc4x2::IfcPropertyEnumeration::setEnumerationValues(const std::vector< ::Ifc4x2::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcUnit Ifc4x2::IfcPropertyEnumeration::Unit() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x2::IfcUnit{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcUnit>(); } +std::vector< ::Ifc4x2::IfcValue > Ifc4x2::IfcPropertyEnumeration::EnumerationValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcValue>(es); } +void Ifc4x2::IfcPropertyEnumeration::setEnumerationValues(const std::vector< ::Ifc4x2::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +::Ifc4x2::IfcUnit Ifc4x2::IfcPropertyEnumeration::Unit() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x2::IfcUnit{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcUnit>(); } void Ifc4x2::IfcPropertyEnumeration::setUnit(const ::Ifc4x2::IfcUnit& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x2::IfcPropertyEnumeration::Class() { return *((ifcopenshell::entity*)IFC4X2_types[768]); } -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; } +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); } -void Ifc4x2::IfcPropertyListValue::setListValues(const std::optional< std::vector< ::Ifc4x2::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } -::Ifc4x2::IfcUnit Ifc4x2::IfcPropertyListValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcUnit>(); } +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); } +void Ifc4x2::IfcPropertyListValue::setListValues(const std::optional< std::vector< ::Ifc4x2::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +::Ifc4x2::IfcUnit Ifc4x2::IfcPropertyListValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcUnit>(); } void Ifc4x2::IfcPropertyListValue::setUnit(const ::Ifc4x2::IfcUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x2::IfcPropertyListValue::Class() { return *((ifcopenshell::entity*)IFC4X2_types[769]); } -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; } +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; } void Ifc4x2::IfcPropertyReferenceValue::setUsageName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x2::IfcObjectReferenceSelect Ifc4x2::IfcPropertyReferenceValue::PropertyReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcObjectReferenceSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcObjectReferenceSelect>(); } +::Ifc4x2::IfcObjectReferenceSelect Ifc4x2::IfcPropertyReferenceValue::PropertyReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcObjectReferenceSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcObjectReferenceSelect>(); } void Ifc4x2::IfcPropertyReferenceValue::setPropertyReference(const ::Ifc4x2::IfcObjectReferenceSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -11994,12 +11994,12 @@ const ifcopenshell::entity& Ifc4x2::IfcPropertyReferenceValue::Class() { return 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); } -void Ifc4x2::IfcPropertySet::setHasProperties(const std::vector< ::Ifc4x2::IfcProperty >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +std::vector< ::Ifc4x2::IfcProperty > Ifc4x2::IfcPropertySet::HasProperties() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x2::IfcProperty>(es); } +void Ifc4x2::IfcPropertySet::setHasProperties(const std::vector< ::Ifc4x2::IfcProperty >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } const ifcopenshell::entity& Ifc4x2::IfcPropertySet::Class() { return *((ifcopenshell::entity*)IFC4X2_types[771]); } -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; } +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 @@ -12015,18 +12015,18 @@ std::optional< ::Ifc4x2::IfcPropertySetTemplateTypeEnum::Value > Ifc4x2::IfcProp void Ifc4x2::IfcPropertySetTemplate::setTemplateType(const std::optional< ::Ifc4x2::IfcPropertySetTemplateTypeEnum::Value >& v) { if (v) {set_attribute_value(4, enumeration_reference(&::Ifc4x2::IfcPropertySetTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } std::optional< std::string > Ifc4x2::IfcPropertySetTemplate::ApplicableEntity() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcPropertySetTemplate::setApplicableEntity(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector< ::Ifc4x2::IfcPropertyTemplate > Ifc4x2::IfcPropertySetTemplate::HasPropertyTemplates() const { std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x2::IfcPropertyTemplate>(es); } -void Ifc4x2::IfcPropertySetTemplate::setHasPropertyTemplates(const std::vector< ::Ifc4x2::IfcPropertyTemplate >& v) { set_attribute_value(6, cast_vector(v));if constexpr (false)unset_attribute_value(6); } +std::vector< ::Ifc4x2::IfcPropertyTemplate > Ifc4x2::IfcPropertySetTemplate::HasPropertyTemplates() const { std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x2::IfcPropertyTemplate>(es); } +void Ifc4x2::IfcPropertySetTemplate::setHasPropertyTemplates(const std::vector< ::Ifc4x2::IfcPropertyTemplate >& v) { set_attribute_value(6, cast_vector(v));if constexpr (false)unset_attribute_value(6); } 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]); } -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; } +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>(); } +::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>(); } void Ifc4x2::IfcPropertySingleValue::setNominalValue(const ::Ifc4x2::IfcValue& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcUnit Ifc4x2::IfcPropertySingleValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcUnit>(); } +::Ifc4x2::IfcUnit Ifc4x2::IfcPropertySingleValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcUnit>(); } void Ifc4x2::IfcPropertySingleValue::setUnit(const ::Ifc4x2::IfcUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -12034,22 +12034,22 @@ const ifcopenshell::entity& Ifc4x2::IfcPropertySingleValue::Class() { return *(( 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); } -void Ifc4x2::IfcPropertyTableValue::setDefiningValues(const std::optional< std::vector< ::Ifc4x2::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } -std::optional< std::vector< ::Ifc4x2::IfcValue > > Ifc4x2::IfcPropertyTableValue::DefinedValues() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x2::IfcValue>(es); } -void Ifc4x2::IfcPropertyTableValue::setDefinedValues(const std::optional< std::vector< ::Ifc4x2::IfcValue > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } +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); } +void Ifc4x2::IfcPropertyTableValue::setDefiningValues(const std::optional< std::vector< ::Ifc4x2::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4x2::IfcValue > > Ifc4x2::IfcPropertyTableValue::DefinedValues() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x2::IfcValue>(es); } +void Ifc4x2::IfcPropertyTableValue::setDefinedValues(const std::optional< std::vector< ::Ifc4x2::IfcValue > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } std::optional< std::string > Ifc4x2::IfcPropertyTableValue::Expression() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcPropertyTableValue::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x2::IfcUnit Ifc4x2::IfcPropertyTableValue::DefiningUnit() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x2::IfcUnit{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcUnit>(); } +::Ifc4x2::IfcUnit Ifc4x2::IfcPropertyTableValue::DefiningUnit() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x2::IfcUnit{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcUnit>(); } void Ifc4x2::IfcPropertyTableValue::setDefiningUnit(const ::Ifc4x2::IfcUnit& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x2::IfcUnit Ifc4x2::IfcPropertyTableValue::DefinedUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcUnit{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x2::IfcUnit>(); } +::Ifc4x2::IfcUnit Ifc4x2::IfcPropertyTableValue::DefinedUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcUnit{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x2::IfcUnit>(); } void Ifc4x2::IfcPropertyTableValue::setDefinedUnit(const ::Ifc4x2::IfcUnit& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< ::Ifc4x2::IfcCurveInterpolationEnum::Value > Ifc4x2::IfcPropertyTableValue::CurveInterpolation() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcCurveInterpolationEnum::FromString(get_attribute_value(7)); } void Ifc4x2::IfcPropertyTableValue::setCurveInterpolation(const std::optional< ::Ifc4x2::IfcCurveInterpolationEnum::Value >& v) { if (v) {set_attribute_value(7, enumeration_reference(&::Ifc4x2::IfcCurveInterpolationEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const ifcopenshell::entity& Ifc4x2::IfcPropertyTableValue::Class() { return *((ifcopenshell::entity*)IFC4X2_types[778]); } -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; } +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 @@ -12087,7 +12087,7 @@ void Ifc4x2::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(const ::Ifc4 const ifcopenshell::entity& Ifc4x2::IfcProtectiveDeviceTrippingUnitType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[783]); } -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; } +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]); } -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; } +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)); } @@ -12121,7 +12121,7 @@ void Ifc4x2::IfcPumpType::setPredefinedType(const ::Ifc4x2::IfcPumpTypeEnum::Val const ifcopenshell::entity& Ifc4x2::IfcPumpType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[789]); } -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; } +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; } @@ -12203,7 +12203,7 @@ void Ifc4x2::IfcRailingType::setPredefinedType(const ::Ifc4x2::IfcRailingTypeEnu const ifcopenshell::entity& Ifc4x2::IfcRailingType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[800]); } -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; } +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)); } @@ -12227,7 +12227,7 @@ void Ifc4x2::IfcRampFlightType::setPredefinedType(const ::Ifc4x2::IfcRampFlightT const ifcopenshell::entity& Ifc4x2::IfcRampFlightType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[804]); } -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; } +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]); } -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; } +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]); } -Ifc4x2::IfcRationalBSplineCurveWithKnots Ifc4x2::IfcRationalBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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; } +Ifc4x2::IfcRationalBSplineCurveWithKnots Ifc4x2::IfcRationalBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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]); } -Ifc4x2::IfcRationalBSplineSurfaceWithKnots Ifc4x2::IfcRationalBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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; } +Ifc4x2::IfcRationalBSplineSurfaceWithKnots Ifc4x2::IfcRationalBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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; } @@ -12288,7 +12288,7 @@ const ifcopenshell::entity& Ifc4x2::IfcRectangularPyramid::Class() { return *((i 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>(); } +::Ifc4x2::IfcSurface Ifc4x2::IfcRectangularTrimmedSurface::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcSurface>(); } void Ifc4x2::IfcRectangularTrimmedSurface::setBasisSurface(const ::Ifc4x2::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x2::IfcRectangularTrimmedSurface::U1() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcRectangularTrimmedSurface::setU1(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -12322,12 +12322,12 @@ std::optional< int64_t > Ifc4x2::IfcRecurrencePattern::Interval() const { if(get void Ifc4x2::IfcRecurrencePattern::setInterval(const std::optional< int64_t >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< int64_t > Ifc4x2::IfcRecurrencePattern::Occurrences() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(6); return v; } void Ifc4x2::IfcRecurrencePattern::setOccurrences(const std::optional< int64_t >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x2::IfcTimePeriod > > Ifc4x2::IfcRecurrencePattern::TimePeriods() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x2::IfcTimePeriod>(es); } -void Ifc4x2::IfcRecurrencePattern::setTimePeriods(const std::optional< std::vector< ::Ifc4x2::IfcTimePeriod > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x2::IfcTimePeriod > > Ifc4x2::IfcRecurrencePattern::TimePeriods() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x2::IfcTimePeriod>(es); } +void Ifc4x2::IfcRecurrencePattern::setTimePeriods(const std::optional< std::vector< ::Ifc4x2::IfcTimePeriod > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } const ifcopenshell::entity& Ifc4x2::IfcRecurrencePattern::Class() { return *((ifcopenshell::entity*)IFC4X2_types[816]); } -Ifc4x2::IfcRecurrencePattern Ifc4x2::IfcRecurrencePattern::initialize(::Ifc4x2::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int64_t > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v4_MonthComponent, std::optional< int64_t > v5_Position, std::optional< int64_t > v6_Interval, std::optional< int64_t > 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; } +Ifc4x2::IfcRecurrencePattern Ifc4x2::IfcRecurrencePattern::initialize(::Ifc4x2::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int64_t > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v4_MonthComponent, std::optional< int64_t > v5_Position, std::optional< int64_t > v6_Interval, std::optional< int64_t > 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; } @@ -12338,7 +12338,7 @@ std::optional< std::string > Ifc4x2::IfcReference::InstanceName() const { if(get void Ifc4x2::IfcReference::setInstanceName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } std::optional< std::vector< int64_t > /*[1:?]*/ > Ifc4x2::IfcReference::ListPositions() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< int64_t > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x2::IfcReference::setListPositions(const std::optional< std::vector< int64_t > /*[1:?]*/ >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x2::IfcReference Ifc4x2::IfcReference::InnerReference() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x2::IfcReference{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcReference>(); } +::Ifc4x2::IfcReference Ifc4x2::IfcReference::InnerReference() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x2::IfcReference{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcReference>(); } void Ifc4x2::IfcReference::setInnerReference(const ::Ifc4x2::IfcReference& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -12358,12 +12358,12 @@ Ifc4x2::IfcReferent Ifc4x2::IfcReferent::initialize(std::string v1_GlobalId, ::I // Function implementations for IfcRegularTimeSeries double Ifc4x2::IfcRegularTimeSeries::TimeStep() const { double v = get_attribute_value(8); return v; } void Ifc4x2::IfcRegularTimeSeries::setTimeStep(const double& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::vector< ::Ifc4x2::IfcTimeSeriesValue > Ifc4x2::IfcRegularTimeSeries::Values() const { std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x2::IfcTimeSeriesValue>(es); } -void Ifc4x2::IfcRegularTimeSeries::setValues(const std::vector< ::Ifc4x2::IfcTimeSeriesValue >& v) { set_attribute_value(9, cast_vector(v));if constexpr (false)unset_attribute_value(9); } +std::vector< ::Ifc4x2::IfcTimeSeriesValue > Ifc4x2::IfcRegularTimeSeries::Values() const { std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x2::IfcTimeSeriesValue>(es); } +void Ifc4x2::IfcRegularTimeSeries::setValues(const std::vector< ::Ifc4x2::IfcTimeSeriesValue >& v) { set_attribute_value(9, cast_vector(v));if constexpr (false)unset_attribute_value(9); } const ifcopenshell::entity& Ifc4x2::IfcRegularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X2_types[822]); } -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; } +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; } @@ -12386,12 +12386,12 @@ Ifc4x2::IfcReinforcementBarProperties Ifc4x2::IfcReinforcementBarProperties::ini // 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; } void Ifc4x2::IfcReinforcementDefinitionProperties::setDefinitionType(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector< ::Ifc4x2::IfcSectionReinforcementProperties > Ifc4x2::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x2::IfcSectionReinforcementProperties>(es); } -void Ifc4x2::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(const std::vector< ::Ifc4x2::IfcSectionReinforcementProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x2::IfcSectionReinforcementProperties > Ifc4x2::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x2::IfcSectionReinforcementProperties>(es); } +void Ifc4x2::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(const std::vector< ::Ifc4x2::IfcSectionReinforcementProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x2::IfcReinforcementDefinitionProperties::Class() { return *((ifcopenshell::entity*)IFC4X2_types[824]); } -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; } +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; } @@ -12422,12 +12422,12 @@ std::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > Ifc4x2::IfcReinfo void Ifc4x2::IfcReinforcingBarType::setBarSurface(const std::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value >& v) { if (v) {set_attribute_value(13, enumeration_reference(&::Ifc4x2::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } std::optional< std::string > Ifc4x2::IfcReinforcingBarType::BendingShapeCode() const { if(get_attribute_value(14).isNull()) { return std::nullopt; } std::string v = get_attribute_value(14); return v; } void Ifc4x2::IfcReinforcingBarType::setBendingShapeCode(const std::optional< std::string >& v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -std::optional< std::vector< ::Ifc4x2::IfcBendingParameterSelect > > Ifc4x2::IfcReinforcingBarType::BendingParameters() const { if(get_attribute_value(15).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(15); return cast_vector<::Ifc4x2::IfcBendingParameterSelect>(es); } -void Ifc4x2::IfcReinforcingBarType::setBendingParameters(const std::optional< std::vector< ::Ifc4x2::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(15, cast_vector(*v));} else {unset_attribute_value(15);} } +std::optional< std::vector< ::Ifc4x2::IfcBendingParameterSelect > > Ifc4x2::IfcReinforcingBarType::BendingParameters() const { if(get_attribute_value(15).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(15); return cast_vector<::Ifc4x2::IfcBendingParameterSelect>(es); } +void Ifc4x2::IfcReinforcingBarType::setBendingParameters(const std::optional< std::vector< ::Ifc4x2::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(15, cast_vector(*v));} else {unset_attribute_value(15);} } const ifcopenshell::entity& Ifc4x2::IfcReinforcingBarType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[828]); } -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; } +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; } @@ -12441,7 +12441,7 @@ Ifc4x2::IfcReinforcingElement Ifc4x2::IfcReinforcingElement::initialize(std::str const ifcopenshell::entity& Ifc4x2::IfcReinforcingElementType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[831]); } -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; } +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; } @@ -12488,58 +12488,58 @@ std::optional< double > Ifc4x2::IfcReinforcingMeshType::TransverseBarSpacing() c void Ifc4x2::IfcReinforcingMeshType::setTransverseBarSpacing(const std::optional< double >& v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } std::optional< std::string > Ifc4x2::IfcReinforcingMeshType::BendingShapeCode() const { if(get_attribute_value(18).isNull()) { return std::nullopt; } std::string v = get_attribute_value(18); return v; } void Ifc4x2::IfcReinforcingMeshType::setBendingShapeCode(const std::optional< std::string >& v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -std::optional< std::vector< ::Ifc4x2::IfcBendingParameterSelect > > Ifc4x2::IfcReinforcingMeshType::BendingParameters() const { if(get_attribute_value(19).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(19); return cast_vector<::Ifc4x2::IfcBendingParameterSelect>(es); } -void Ifc4x2::IfcReinforcingMeshType::setBendingParameters(const std::optional< std::vector< ::Ifc4x2::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(19, cast_vector(*v));} else {unset_attribute_value(19);} } +std::optional< std::vector< ::Ifc4x2::IfcBendingParameterSelect > > Ifc4x2::IfcReinforcingMeshType::BendingParameters() const { if(get_attribute_value(19).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(19); return cast_vector<::Ifc4x2::IfcBendingParameterSelect>(es); } +void Ifc4x2::IfcReinforcingMeshType::setBendingParameters(const std::optional< std::vector< ::Ifc4x2::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(19, cast_vector(*v));} else {unset_attribute_value(19);} } const ifcopenshell::entity& Ifc4x2::IfcReinforcingMeshType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[833]); } -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; } +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>(); } +::Ifc4x2::IfcObjectDefinition Ifc4x2::IfcRelAggregates::RelatingObject() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcObjectDefinition>(); } void Ifc4x2::IfcRelAggregates::setRelatingObject(const ::Ifc4x2::IfcObjectDefinition& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x2::IfcObjectDefinition > Ifc4x2::IfcRelAggregates::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x2::IfcObjectDefinition>(es); } -void Ifc4x2::IfcRelAggregates::setRelatedObjects(const std::vector< ::Ifc4x2::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x2::IfcObjectDefinition > Ifc4x2::IfcRelAggregates::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x2::IfcObjectDefinition>(es); } +void Ifc4x2::IfcRelAggregates::setRelatedObjects(const std::vector< ::Ifc4x2::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x2::IfcRelAggregates::Class() { return *((ifcopenshell::entity*)IFC4X2_types[835]); } -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; } +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); } -void Ifc4x2::IfcRelAssigns::setRelatedObjects(const std::vector< ::Ifc4x2::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +std::vector< ::Ifc4x2::IfcObjectDefinition > Ifc4x2::IfcRelAssigns::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x2::IfcObjectDefinition>(es); } +void Ifc4x2::IfcRelAssigns::setRelatedObjects(const std::vector< ::Ifc4x2::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > Ifc4x2::IfcRelAssigns::RelatedObjectsType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcObjectTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x2::IfcRelAssigns::setRelatedObjectsType(const std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value >& v) { if (v) {set_attribute_value(5, enumeration_reference(&::Ifc4x2::IfcObjectTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } const ifcopenshell::entity& Ifc4x2::IfcRelAssigns::Class() { return *((ifcopenshell::entity*)IFC4X2_types[836]); } -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; } +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>(); } +::Ifc4x2::IfcActor Ifc4x2::IfcRelAssignsToActor::RelatingActor() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x2::IfcActor>(); } void Ifc4x2::IfcRelAssignsToActor::setRelatingActor(const ::Ifc4x2::IfcActor& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x2::IfcActorRole Ifc4x2::IfcRelAssignsToActor::ActingRole() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x2::IfcActorRole{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x2::IfcActorRole>(); } +::Ifc4x2::IfcActorRole Ifc4x2::IfcRelAssignsToActor::ActingRole() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x2::IfcActorRole{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x2::IfcActorRole>(); } void Ifc4x2::IfcRelAssignsToActor::setActingRole(const ::Ifc4x2::IfcActorRole& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const ifcopenshell::entity& Ifc4x2::IfcRelAssignsToActor::Class() { return *((ifcopenshell::entity*)IFC4X2_types[837]); } -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; } +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>(); } +::Ifc4x2::IfcControl Ifc4x2::IfcRelAssignsToControl::RelatingControl() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x2::IfcControl>(); } void Ifc4x2::IfcRelAssignsToControl::setRelatingControl(const ::Ifc4x2::IfcControl& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4x2::IfcRelAssignsToControl::Class() { return *((ifcopenshell::entity*)IFC4X2_types[838]); } -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; } +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>(); } +::Ifc4x2::IfcGroup Ifc4x2::IfcRelAssignsToGroup::RelatingGroup() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x2::IfcGroup>(); } void Ifc4x2::IfcRelAssignsToGroup::setRelatingGroup(const ::Ifc4x2::IfcGroup& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4x2::IfcRelAssignsToGroup::Class() { return *((ifcopenshell::entity*)IFC4X2_types[839]); } -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; } +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,91 +12547,91 @@ void Ifc4x2::IfcRelAssignsToGroupByFactor::setFactor(const double& v) { set_attr const ifcopenshell::entity& Ifc4x2::IfcRelAssignsToGroupByFactor::Class() { return *((ifcopenshell::entity*)IFC4X2_types[840]); } -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; } +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>(); } +::Ifc4x2::IfcProcessSelect Ifc4x2::IfcRelAssignsToProcess::RelatingProcess() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x2::IfcProcessSelect>(); } void Ifc4x2::IfcRelAssignsToProcess::setRelatingProcess(const ::Ifc4x2::IfcProcessSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x2::IfcMeasureWithUnit Ifc4x2::IfcRelAssignsToProcess::QuantityInProcess() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x2::IfcMeasureWithUnit{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x2::IfcMeasureWithUnit>(); } +::Ifc4x2::IfcMeasureWithUnit Ifc4x2::IfcRelAssignsToProcess::QuantityInProcess() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x2::IfcMeasureWithUnit{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x2::IfcMeasureWithUnit>(); } void Ifc4x2::IfcRelAssignsToProcess::setQuantityInProcess(const ::Ifc4x2::IfcMeasureWithUnit& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const ifcopenshell::entity& Ifc4x2::IfcRelAssignsToProcess::Class() { return *((ifcopenshell::entity*)IFC4X2_types[841]); } -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; } +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>(); } +::Ifc4x2::IfcProductSelect Ifc4x2::IfcRelAssignsToProduct::RelatingProduct() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x2::IfcProductSelect>(); } void Ifc4x2::IfcRelAssignsToProduct::setRelatingProduct(const ::Ifc4x2::IfcProductSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4x2::IfcRelAssignsToProduct::Class() { return *((ifcopenshell::entity*)IFC4X2_types[842]); } -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; } +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>(); } +::Ifc4x2::IfcResourceSelect Ifc4x2::IfcRelAssignsToResource::RelatingResource() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x2::IfcResourceSelect>(); } void Ifc4x2::IfcRelAssignsToResource::setRelatingResource(const ::Ifc4x2::IfcResourceSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4x2::IfcRelAssignsToResource::Class() { return *((ifcopenshell::entity*)IFC4X2_types[843]); } -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; } +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); } -void Ifc4x2::IfcRelAssociates::setRelatedObjects(const std::vector< ::Ifc4x2::IfcDefinitionSelect >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +std::vector< ::Ifc4x2::IfcDefinitionSelect > Ifc4x2::IfcRelAssociates::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x2::IfcDefinitionSelect>(es); } +void Ifc4x2::IfcRelAssociates::setRelatedObjects(const std::vector< ::Ifc4x2::IfcDefinitionSelect >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } const ifcopenshell::entity& Ifc4x2::IfcRelAssociates::Class() { return *((ifcopenshell::entity*)IFC4X2_types[844]); } -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; } +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>(); } +::Ifc4x2::IfcApproval Ifc4x2::IfcRelAssociatesApproval::RelatingApproval() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcApproval>(); } void Ifc4x2::IfcRelAssociatesApproval::setRelatingApproval(const ::Ifc4x2::IfcApproval& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x2::IfcRelAssociatesApproval::Class() { return *((ifcopenshell::entity*)IFC4X2_types[845]); } -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; } +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>(); } +::Ifc4x2::IfcClassificationSelect Ifc4x2::IfcRelAssociatesClassification::RelatingClassification() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcClassificationSelect>(); } void Ifc4x2::IfcRelAssociatesClassification::setRelatingClassification(const ::Ifc4x2::IfcClassificationSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x2::IfcRelAssociatesClassification::Class() { return *((ifcopenshell::entity*)IFC4X2_types[846]); } -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; } +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; } void Ifc4x2::IfcRelAssociatesConstraint::setIntent(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x2::IfcConstraint Ifc4x2::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x2::IfcConstraint>(); } +::Ifc4x2::IfcConstraint Ifc4x2::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x2::IfcConstraint>(); } void Ifc4x2::IfcRelAssociatesConstraint::setRelatingConstraint(const ::Ifc4x2::IfcConstraint& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4x2::IfcRelAssociatesConstraint::Class() { return *((ifcopenshell::entity*)IFC4X2_types[847]); } -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; } +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>(); } +::Ifc4x2::IfcDocumentSelect Ifc4x2::IfcRelAssociatesDocument::RelatingDocument() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcDocumentSelect>(); } void Ifc4x2::IfcRelAssociatesDocument::setRelatingDocument(const ::Ifc4x2::IfcDocumentSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x2::IfcRelAssociatesDocument::Class() { return *((ifcopenshell::entity*)IFC4X2_types[848]); } -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; } +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>(); } +::Ifc4x2::IfcLibrarySelect Ifc4x2::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcLibrarySelect>(); } void Ifc4x2::IfcRelAssociatesLibrary::setRelatingLibrary(const ::Ifc4x2::IfcLibrarySelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x2::IfcRelAssociatesLibrary::Class() { return *((ifcopenshell::entity*)IFC4X2_types[849]); } -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; } +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>(); } +::Ifc4x2::IfcMaterialSelect Ifc4x2::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcMaterialSelect>(); } void Ifc4x2::IfcRelAssociatesMaterial::setRelatingMaterial(const ::Ifc4x2::IfcMaterialSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x2::IfcRelAssociatesMaterial::Class() { return *((ifcopenshell::entity*)IFC4X2_types[850]); } -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; } +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 @@ -12640,11 +12640,11 @@ const ifcopenshell::entity& Ifc4x2::IfcRelConnects::Class() { return *((ifcopens 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>(); } +::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>(); } void Ifc4x2::IfcRelConnectsElements::setConnectionGeometry(const ::Ifc4x2::IfcConnectionGeometry& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcElement Ifc4x2::IfcRelConnectsElements::RelatingElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcElement>(); } +::Ifc4x2::IfcElement Ifc4x2::IfcRelConnectsElements::RelatingElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcElement>(); } void Ifc4x2::IfcRelConnectsElements::setRelatingElement(const ::Ifc4x2::IfcElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x2::IfcElement Ifc4x2::IfcRelConnectsElements::RelatedElement() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x2::IfcElement>(); } +::Ifc4x2::IfcElement Ifc4x2::IfcRelConnectsElements::RelatedElement() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x2::IfcElement>(); } void Ifc4x2::IfcRelConnectsElements::setRelatedElement(const ::Ifc4x2::IfcElement& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -12666,9 +12666,9 @@ const ifcopenshell::entity& Ifc4x2::IfcRelConnectsPathElements::Class() { return 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< int64_t > /*[0:?]*/ v8_RelatingPriorities, std::vector< int64_t > /*[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>(); } +::Ifc4x2::IfcPort Ifc4x2::IfcRelConnectsPortToElement::RelatingPort() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcPort>(); } void Ifc4x2::IfcRelConnectsPortToElement::setRelatingPort(const ::Ifc4x2::IfcPort& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcDistributionElement Ifc4x2::IfcRelConnectsPortToElement::RelatedElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcDistributionElement>(); } +::Ifc4x2::IfcDistributionElement Ifc4x2::IfcRelConnectsPortToElement::RelatedElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcDistributionElement>(); } void Ifc4x2::IfcRelConnectsPortToElement::setRelatedElement(const ::Ifc4x2::IfcDistributionElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -12676,11 +12676,11 @@ const ifcopenshell::entity& Ifc4x2::IfcRelConnectsPortToElement::Class() { retur 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>(); } +::Ifc4x2::IfcPort Ifc4x2::IfcRelConnectsPorts::RelatingPort() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcPort>(); } void Ifc4x2::IfcRelConnectsPorts::setRelatingPort(const ::Ifc4x2::IfcPort& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcPort Ifc4x2::IfcRelConnectsPorts::RelatedPort() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcPort>(); } +::Ifc4x2::IfcPort Ifc4x2::IfcRelConnectsPorts::RelatedPort() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcPort>(); } void Ifc4x2::IfcRelConnectsPorts::setRelatedPort(const ::Ifc4x2::IfcPort& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x2::IfcElement Ifc4x2::IfcRelConnectsPorts::RealizingElement() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcElement{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x2::IfcElement>(); } +::Ifc4x2::IfcElement Ifc4x2::IfcRelConnectsPorts::RealizingElement() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcElement{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x2::IfcElement>(); } void Ifc4x2::IfcRelConnectsPorts::setRealizingElement(const ::Ifc4x2::IfcElement& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -12688,9 +12688,9 @@ const ifcopenshell::entity& Ifc4x2::IfcRelConnectsPorts::Class() { return *((ifc 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>(); } +::Ifc4x2::IfcStructuralActivityAssignmentSelect Ifc4x2::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcStructuralActivityAssignmentSelect>(); } void Ifc4x2::IfcRelConnectsStructuralActivity::setRelatingElement(const ::Ifc4x2::IfcStructuralActivityAssignmentSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcStructuralActivity Ifc4x2::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcStructuralActivity>(); } +::Ifc4x2::IfcStructuralActivity Ifc4x2::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcStructuralActivity>(); } void Ifc4x2::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(const ::Ifc4x2::IfcStructuralActivity& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -12698,17 +12698,17 @@ const ifcopenshell::entity& Ifc4x2::IfcRelConnectsStructuralActivity::Class() { 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>(); } +::Ifc4x2::IfcStructuralMember Ifc4x2::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcStructuralMember>(); } void Ifc4x2::IfcRelConnectsStructuralMember::setRelatingStructuralMember(const ::Ifc4x2::IfcStructuralMember& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcStructuralConnection Ifc4x2::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcStructuralConnection>(); } +::Ifc4x2::IfcStructuralConnection Ifc4x2::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcStructuralConnection>(); } void Ifc4x2::IfcRelConnectsStructuralMember::setRelatedStructuralConnection(const ::Ifc4x2::IfcStructuralConnection& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x2::IfcBoundaryCondition Ifc4x2::IfcRelConnectsStructuralMember::AppliedCondition() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcBoundaryCondition{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x2::IfcBoundaryCondition>(); } +::Ifc4x2::IfcBoundaryCondition Ifc4x2::IfcRelConnectsStructuralMember::AppliedCondition() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcBoundaryCondition{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x2::IfcBoundaryCondition>(); } void Ifc4x2::IfcRelConnectsStructuralMember::setAppliedCondition(const ::Ifc4x2::IfcBoundaryCondition& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x2::IfcStructuralConnectionCondition Ifc4x2::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x2::IfcStructuralConnectionCondition{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x2::IfcStructuralConnectionCondition>(); } +::Ifc4x2::IfcStructuralConnectionCondition Ifc4x2::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x2::IfcStructuralConnectionCondition{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x2::IfcStructuralConnectionCondition>(); } void Ifc4x2::IfcRelConnectsStructuralMember::setAdditionalConditions(const ::Ifc4x2::IfcStructuralConnectionCondition& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } std::optional< double > Ifc4x2::IfcRelConnectsStructuralMember::SupportedLength() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } void Ifc4x2::IfcRelConnectsStructuralMember::setSupportedLength(const std::optional< double >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x2::IfcAxis2Placement3D Ifc4x2::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x2::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x2::IfcAxis2Placement3D>(); } +::Ifc4x2::IfcAxis2Placement3D Ifc4x2::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x2::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x2::IfcAxis2Placement3D>(); } void Ifc4x2::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(const ::Ifc4x2::IfcAxis2Placement3D& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } @@ -12716,7 +12716,7 @@ const ifcopenshell::entity& Ifc4x2::IfcRelConnectsStructuralMember::Class() { re 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>(); } +::Ifc4x2::IfcConnectionGeometry Ifc4x2::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((express::base)(get_attribute_value(10))).as<::Ifc4x2::IfcConnectionGeometry>(); } void Ifc4x2::IfcRelConnectsWithEccentricity::setConnectionConstraint(const ::Ifc4x2::IfcConnectionGeometry& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } @@ -12724,54 +12724,54 @@ const ifcopenshell::entity& Ifc4x2::IfcRelConnectsWithEccentricity::Class() { re 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); } -void Ifc4x2::IfcRelConnectsWithRealizingElements::setRealizingElements(const std::vector< ::Ifc4x2::IfcElement >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } +std::vector< ::Ifc4x2::IfcElement > Ifc4x2::IfcRelConnectsWithRealizingElements::RealizingElements() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x2::IfcElement>(es); } +void Ifc4x2::IfcRelConnectsWithRealizingElements::setRealizingElements(const std::vector< ::Ifc4x2::IfcElement >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } std::optional< std::string > Ifc4x2::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x2::IfcRelConnectsWithRealizingElements::setConnectionType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const ifcopenshell::entity& Ifc4x2::IfcRelConnectsWithRealizingElements::Class() { return *((ifcopenshell::entity*)IFC4X2_types[860]); } -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; } +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); } -void Ifc4x2::IfcRelContainedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4x2::IfcProduct >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcSpatialElement Ifc4x2::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcSpatialElement>(); } +std::vector< ::Ifc4x2::IfcProduct > Ifc4x2::IfcRelContainedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x2::IfcProduct>(es); } +void Ifc4x2::IfcRelContainedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4x2::IfcProduct >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x2::IfcSpatialElement Ifc4x2::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcSpatialElement>(); } void Ifc4x2::IfcRelContainedInSpatialStructure::setRelatingStructure(const ::Ifc4x2::IfcSpatialElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x2::IfcRelContainedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X2_types[861]); } -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; } +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>(); } +::Ifc4x2::IfcElement Ifc4x2::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcElement>(); } void Ifc4x2::IfcRelCoversBldgElements::setRelatingBuildingElement(const ::Ifc4x2::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x2::IfcCovering > Ifc4x2::IfcRelCoversBldgElements::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x2::IfcCovering>(es); } -void Ifc4x2::IfcRelCoversBldgElements::setRelatedCoverings(const std::vector< ::Ifc4x2::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x2::IfcCovering > Ifc4x2::IfcRelCoversBldgElements::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x2::IfcCovering>(es); } +void Ifc4x2::IfcRelCoversBldgElements::setRelatedCoverings(const std::vector< ::Ifc4x2::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x2::IfcRelCoversBldgElements::Class() { return *((ifcopenshell::entity*)IFC4X2_types[862]); } -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; } +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>(); } +::Ifc4x2::IfcSpace Ifc4x2::IfcRelCoversSpaces::RelatingSpace() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcSpace>(); } void Ifc4x2::IfcRelCoversSpaces::setRelatingSpace(const ::Ifc4x2::IfcSpace& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x2::IfcCovering > Ifc4x2::IfcRelCoversSpaces::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x2::IfcCovering>(es); } -void Ifc4x2::IfcRelCoversSpaces::setRelatedCoverings(const std::vector< ::Ifc4x2::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x2::IfcCovering > Ifc4x2::IfcRelCoversSpaces::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x2::IfcCovering>(es); } +void Ifc4x2::IfcRelCoversSpaces::setRelatedCoverings(const std::vector< ::Ifc4x2::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x2::IfcRelCoversSpaces::Class() { return *((ifcopenshell::entity*)IFC4X2_types[863]); } -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; } +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>(); } +::Ifc4x2::IfcContext Ifc4x2::IfcRelDeclares::RelatingContext() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcContext>(); } void Ifc4x2::IfcRelDeclares::setRelatingContext(const ::Ifc4x2::IfcContext& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x2::IfcDefinitionSelect > Ifc4x2::IfcRelDeclares::RelatedDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x2::IfcDefinitionSelect>(es); } -void Ifc4x2::IfcRelDeclares::setRelatedDefinitions(const std::vector< ::Ifc4x2::IfcDefinitionSelect >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x2::IfcDefinitionSelect > Ifc4x2::IfcRelDeclares::RelatedDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x2::IfcDefinitionSelect>(es); } +void Ifc4x2::IfcRelDeclares::setRelatedDefinitions(const std::vector< ::Ifc4x2::IfcDefinitionSelect >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x2::IfcRelDeclares::Class() { return *((ifcopenshell::entity*)IFC4X2_types[864]); } -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; } +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 @@ -12786,49 +12786,49 @@ const ifcopenshell::entity& Ifc4x2::IfcRelDefines::Class() { return *((ifcopensh 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); } -void Ifc4x2::IfcRelDefinesByObject::setRelatedObjects(const std::vector< ::Ifc4x2::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcObject Ifc4x2::IfcRelDefinesByObject::RelatingObject() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcObject>(); } +std::vector< ::Ifc4x2::IfcObject > Ifc4x2::IfcRelDefinesByObject::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x2::IfcObject>(es); } +void Ifc4x2::IfcRelDefinesByObject::setRelatedObjects(const std::vector< ::Ifc4x2::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x2::IfcObject Ifc4x2::IfcRelDefinesByObject::RelatingObject() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcObject>(); } void Ifc4x2::IfcRelDefinesByObject::setRelatingObject(const ::Ifc4x2::IfcObject& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x2::IfcRelDefinesByObject::Class() { return *((ifcopenshell::entity*)IFC4X2_types[867]); } -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; } +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); } -void Ifc4x2::IfcRelDefinesByProperties::setRelatedObjects(const std::vector< ::Ifc4x2::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcPropertySetDefinitionSelect Ifc4x2::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcPropertySetDefinitionSelect>(); } +std::vector< ::Ifc4x2::IfcObjectDefinition > Ifc4x2::IfcRelDefinesByProperties::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x2::IfcObjectDefinition>(es); } +void Ifc4x2::IfcRelDefinesByProperties::setRelatedObjects(const std::vector< ::Ifc4x2::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x2::IfcPropertySetDefinitionSelect Ifc4x2::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcPropertySetDefinitionSelect>(); } void Ifc4x2::IfcRelDefinesByProperties::setRelatingPropertyDefinition(const ::Ifc4x2::IfcPropertySetDefinitionSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x2::IfcRelDefinesByProperties::Class() { return *((ifcopenshell::entity*)IFC4X2_types[868]); } -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; } +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); } -void Ifc4x2::IfcRelDefinesByTemplate::setRelatedPropertySets(const std::vector< ::Ifc4x2::IfcPropertySetDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcPropertySetTemplate Ifc4x2::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcPropertySetTemplate>(); } +std::vector< ::Ifc4x2::IfcPropertySetDefinition > Ifc4x2::IfcRelDefinesByTemplate::RelatedPropertySets() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x2::IfcPropertySetDefinition>(es); } +void Ifc4x2::IfcRelDefinesByTemplate::setRelatedPropertySets(const std::vector< ::Ifc4x2::IfcPropertySetDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x2::IfcPropertySetTemplate Ifc4x2::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcPropertySetTemplate>(); } void Ifc4x2::IfcRelDefinesByTemplate::setRelatingTemplate(const ::Ifc4x2::IfcPropertySetTemplate& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x2::IfcRelDefinesByTemplate::Class() { return *((ifcopenshell::entity*)IFC4X2_types[869]); } -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; } +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); } -void Ifc4x2::IfcRelDefinesByType::setRelatedObjects(const std::vector< ::Ifc4x2::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcTypeObject Ifc4x2::IfcRelDefinesByType::RelatingType() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcTypeObject>(); } +std::vector< ::Ifc4x2::IfcObject > Ifc4x2::IfcRelDefinesByType::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x2::IfcObject>(es); } +void Ifc4x2::IfcRelDefinesByType::setRelatedObjects(const std::vector< ::Ifc4x2::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x2::IfcTypeObject Ifc4x2::IfcRelDefinesByType::RelatingType() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcTypeObject>(); } void Ifc4x2::IfcRelDefinesByType::setRelatingType(const ::Ifc4x2::IfcTypeObject& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x2::IfcRelDefinesByType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[870]); } -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; } +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>(); } +::Ifc4x2::IfcOpeningElement Ifc4x2::IfcRelFillsElement::RelatingOpeningElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcOpeningElement>(); } void Ifc4x2::IfcRelFillsElement::setRelatingOpeningElement(const ::Ifc4x2::IfcOpeningElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcElement Ifc4x2::IfcRelFillsElement::RelatedBuildingElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcElement>(); } +::Ifc4x2::IfcElement Ifc4x2::IfcRelFillsElement::RelatedBuildingElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcElement>(); } void Ifc4x2::IfcRelFillsElement::setRelatedBuildingElement(const ::Ifc4x2::IfcElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -12836,21 +12836,21 @@ const ifcopenshell::entity& Ifc4x2::IfcRelFillsElement::Class() { return *((ifco 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); } -void Ifc4x2::IfcRelFlowControlElements::setRelatedControlElements(const std::vector< ::Ifc4x2::IfcDistributionControlElement >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcDistributionFlowElement Ifc4x2::IfcRelFlowControlElements::RelatingFlowElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcDistributionFlowElement>(); } +std::vector< ::Ifc4x2::IfcDistributionControlElement > Ifc4x2::IfcRelFlowControlElements::RelatedControlElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x2::IfcDistributionControlElement>(es); } +void Ifc4x2::IfcRelFlowControlElements::setRelatedControlElements(const std::vector< ::Ifc4x2::IfcDistributionControlElement >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x2::IfcDistributionFlowElement Ifc4x2::IfcRelFlowControlElements::RelatingFlowElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcDistributionFlowElement>(); } void Ifc4x2::IfcRelFlowControlElements::setRelatingFlowElement(const ::Ifc4x2::IfcDistributionFlowElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x2::IfcRelFlowControlElements::Class() { return *((ifcopenshell::entity*)IFC4X2_types[872]); } -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; } +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>(); } +::Ifc4x2::IfcElement Ifc4x2::IfcRelInterferesElements::RelatingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcElement>(); } void Ifc4x2::IfcRelInterferesElements::setRelatingElement(const ::Ifc4x2::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcElement Ifc4x2::IfcRelInterferesElements::RelatedElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcElement>(); } +::Ifc4x2::IfcElement Ifc4x2::IfcRelInterferesElements::RelatedElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcElement>(); } void Ifc4x2::IfcRelInterferesElements::setRelatedElement(const ::Ifc4x2::IfcElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x2::IfcConnectionGeometry Ifc4x2::IfcRelInterferesElements::InterferenceGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcConnectionGeometry{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x2::IfcConnectionGeometry>(); } +::Ifc4x2::IfcConnectionGeometry Ifc4x2::IfcRelInterferesElements::InterferenceGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcConnectionGeometry{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x2::IfcConnectionGeometry>(); } void Ifc4x2::IfcRelInterferesElements::setInterferenceGeometry(const ::Ifc4x2::IfcConnectionGeometry& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< std::string > Ifc4x2::IfcRelInterferesElements::InterferenceType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4x2::IfcRelInterferesElements::setInterferenceType(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } @@ -12862,29 +12862,29 @@ const ifcopenshell::entity& Ifc4x2::IfcRelInterferesElements::Class() { return * 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>(); } +::Ifc4x2::IfcObjectDefinition Ifc4x2::IfcRelNests::RelatingObject() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcObjectDefinition>(); } void Ifc4x2::IfcRelNests::setRelatingObject(const ::Ifc4x2::IfcObjectDefinition& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x2::IfcObjectDefinition > Ifc4x2::IfcRelNests::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x2::IfcObjectDefinition>(es); } -void Ifc4x2::IfcRelNests::setRelatedObjects(const std::vector< ::Ifc4x2::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x2::IfcObjectDefinition > Ifc4x2::IfcRelNests::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x2::IfcObjectDefinition>(es); } +void Ifc4x2::IfcRelNests::setRelatedObjects(const std::vector< ::Ifc4x2::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x2::IfcRelNests::Class() { return *((ifcopenshell::entity*)IFC4X2_types[874]); } -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; } +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>(); } +::Ifc4x2::IfcPositioningElement Ifc4x2::IfcRelPositions::RelatingPositioningElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcPositioningElement>(); } void Ifc4x2::IfcRelPositions::setRelatingPositioningElement(const ::Ifc4x2::IfcPositioningElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x2::IfcProduct > Ifc4x2::IfcRelPositions::RelatedProducts() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x2::IfcProduct>(es); } -void Ifc4x2::IfcRelPositions::setRelatedProducts(const std::vector< ::Ifc4x2::IfcProduct >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x2::IfcProduct > Ifc4x2::IfcRelPositions::RelatedProducts() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x2::IfcProduct>(es); } +void Ifc4x2::IfcRelPositions::setRelatedProducts(const std::vector< ::Ifc4x2::IfcProduct >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x2::IfcRelPositions::Class() { return *((ifcopenshell::entity*)IFC4X2_types[875]); } -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; } +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>(); } +::Ifc4x2::IfcElement Ifc4x2::IfcRelProjectsElement::RelatingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcElement>(); } void Ifc4x2::IfcRelProjectsElement::setRelatingElement(const ::Ifc4x2::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcFeatureElementAddition Ifc4x2::IfcRelProjectsElement::RelatedFeatureElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcFeatureElementAddition>(); } +::Ifc4x2::IfcFeatureElementAddition Ifc4x2::IfcRelProjectsElement::RelatedFeatureElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcFeatureElementAddition>(); } void Ifc4x2::IfcRelProjectsElement::setRelatedFeatureElement(const ::Ifc4x2::IfcFeatureElementAddition& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -12892,21 +12892,21 @@ const ifcopenshell::entity& Ifc4x2::IfcRelProjectsElement::Class() { return *((i 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); } -void Ifc4x2::IfcRelReferencedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4x2::IfcProduct >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcSpatialElement Ifc4x2::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcSpatialElement>(); } +std::vector< ::Ifc4x2::IfcProduct > Ifc4x2::IfcRelReferencedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x2::IfcProduct>(es); } +void Ifc4x2::IfcRelReferencedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4x2::IfcProduct >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x2::IfcSpatialElement Ifc4x2::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcSpatialElement>(); } void Ifc4x2::IfcRelReferencedInSpatialStructure::setRelatingStructure(const ::Ifc4x2::IfcSpatialElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x2::IfcRelReferencedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X2_types[877]); } -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; } +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>(); } +::Ifc4x2::IfcProcess Ifc4x2::IfcRelSequence::RelatingProcess() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcProcess>(); } void Ifc4x2::IfcRelSequence::setRelatingProcess(const ::Ifc4x2::IfcProcess& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcProcess Ifc4x2::IfcRelSequence::RelatedProcess() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcProcess>(); } +::Ifc4x2::IfcProcess Ifc4x2::IfcRelSequence::RelatedProcess() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcProcess>(); } void Ifc4x2::IfcRelSequence::setRelatedProcess(const ::Ifc4x2::IfcProcess& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x2::IfcLagTime Ifc4x2::IfcRelSequence::TimeLag() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcLagTime{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x2::IfcLagTime>(); } +::Ifc4x2::IfcLagTime Ifc4x2::IfcRelSequence::TimeLag() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcLagTime{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x2::IfcLagTime>(); } void Ifc4x2::IfcRelSequence::setTimeLag(const ::Ifc4x2::IfcLagTime& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< ::Ifc4x2::IfcSequenceEnum::Value > Ifc4x2::IfcRelSequence::SequenceType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcSequenceEnum::FromString(get_attribute_value(7)); } void Ifc4x2::IfcRelSequence::setSequenceType(const std::optional< ::Ifc4x2::IfcSequenceEnum::Value >& v) { if (v) {set_attribute_value(7, enumeration_reference(&::Ifc4x2::IfcSequenceEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } @@ -12918,21 +12918,21 @@ const ifcopenshell::entity& Ifc4x2::IfcRelSequence::Class() { return *((ifcopens 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>(); } +::Ifc4x2::IfcSystem Ifc4x2::IfcRelServicesBuildings::RelatingSystem() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcSystem>(); } void Ifc4x2::IfcRelServicesBuildings::setRelatingSystem(const ::Ifc4x2::IfcSystem& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x2::IfcSpatialElement > Ifc4x2::IfcRelServicesBuildings::RelatedBuildings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x2::IfcSpatialElement>(es); } -void Ifc4x2::IfcRelServicesBuildings::setRelatedBuildings(const std::vector< ::Ifc4x2::IfcSpatialElement >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x2::IfcSpatialElement > Ifc4x2::IfcRelServicesBuildings::RelatedBuildings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x2::IfcSpatialElement>(es); } +void Ifc4x2::IfcRelServicesBuildings::setRelatedBuildings(const std::vector< ::Ifc4x2::IfcSpatialElement >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x2::IfcRelServicesBuildings::Class() { return *((ifcopenshell::entity*)IFC4X2_types[879]); } -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; } +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>(); } +::Ifc4x2::IfcSpaceBoundarySelect Ifc4x2::IfcRelSpaceBoundary::RelatingSpace() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcSpaceBoundarySelect>(); } void Ifc4x2::IfcRelSpaceBoundary::setRelatingSpace(const ::Ifc4x2::IfcSpaceBoundarySelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcElement Ifc4x2::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcElement>(); } +::Ifc4x2::IfcElement Ifc4x2::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcElement>(); } void Ifc4x2::IfcRelSpaceBoundary::setRelatedBuildingElement(const ::Ifc4x2::IfcElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x2::IfcConnectionGeometry Ifc4x2::IfcRelSpaceBoundary::ConnectionGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcConnectionGeometry{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x2::IfcConnectionGeometry>(); } +::Ifc4x2::IfcConnectionGeometry Ifc4x2::IfcRelSpaceBoundary::ConnectionGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcConnectionGeometry{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x2::IfcConnectionGeometry>(); } void Ifc4x2::IfcRelSpaceBoundary::setConnectionGeometry(const ::Ifc4x2::IfcConnectionGeometry& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } ::Ifc4x2::IfcPhysicalOrVirtualEnum::Value Ifc4x2::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x2::IfcPhysicalOrVirtualEnum::FromString(get_attribute_value(7)); } void Ifc4x2::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(const ::Ifc4x2::IfcPhysicalOrVirtualEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4x2::IfcPhysicalOrVirtualEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } @@ -12944,7 +12944,7 @@ const ifcopenshell::entity& Ifc4x2::IfcRelSpaceBoundary::Class() { return *((ifc 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>(); } +::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>(); } void Ifc4x2::IfcRelSpaceBoundary1stLevel::setParentBoundary(const ::Ifc4x2::IfcRelSpaceBoundary1stLevel& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::vector<::Ifc4x2::IfcRelSpaceBoundary1stLevel> Ifc4x2::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[881], 9)); } @@ -12953,7 +12953,7 @@ const ifcopenshell::entity& Ifc4x2::IfcRelSpaceBoundary1stLevel::Class() { retur 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>(); } +::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>(); } void Ifc4x2::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(const ::Ifc4x2::IfcRelSpaceBoundary2ndLevel& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } std::vector<::Ifc4x2::IfcRelSpaceBoundary2ndLevel> Ifc4x2::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[882], 10)); } @@ -12962,9 +12962,9 @@ const ifcopenshell::entity& Ifc4x2::IfcRelSpaceBoundary2ndLevel::Class() { retur 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>(); } +::Ifc4x2::IfcElement Ifc4x2::IfcRelVoidsElement::RelatingBuildingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcElement>(); } void Ifc4x2::IfcRelVoidsElement::setRelatingBuildingElement(const ::Ifc4x2::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcFeatureElementSubtraction Ifc4x2::IfcRelVoidsElement::RelatedOpeningElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcFeatureElementSubtraction>(); } +::Ifc4x2::IfcFeatureElementSubtraction Ifc4x2::IfcRelVoidsElement::RelatedOpeningElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcFeatureElementSubtraction>(); } void Ifc4x2::IfcRelVoidsElement::setRelatedOpeningElement(const ::Ifc4x2::IfcFeatureElementSubtraction& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -12986,21 +12986,21 @@ const ifcopenshell::entity& Ifc4x2::IfcReparametrisedCompositeCurveSegment::Clas 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>(); } +::Ifc4x2::IfcRepresentationContext Ifc4x2::IfcRepresentation::ContextOfItems() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcRepresentationContext>(); } void Ifc4x2::IfcRepresentation::setContextOfItems(const ::Ifc4x2::IfcRepresentationContext& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x2::IfcRepresentation::RepresentationIdentifier() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcRepresentation::setRepresentationIdentifier(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x2::IfcRepresentation::RepresentationType() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcRepresentation::setRepresentationType(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector< ::Ifc4x2::IfcRepresentationItem > Ifc4x2::IfcRepresentation::Items() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x2::IfcRepresentationItem>(es); } -void Ifc4x2::IfcRepresentation::setItems(const std::vector< ::Ifc4x2::IfcRepresentationItem >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x2::IfcRepresentationItem > Ifc4x2::IfcRepresentation::Items() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x2::IfcRepresentationItem>(es); } +void Ifc4x2::IfcRepresentation::setItems(const std::vector< ::Ifc4x2::IfcRepresentationItem >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } std::vector<::Ifc4x2::IfcRepresentationMap> Ifc4x2::IfcRepresentation::RepresentationMap() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[888], 1)); } std::vector<::Ifc4x2::IfcPresentationLayerAssignment> Ifc4x2::IfcRepresentation::LayerAssignments() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[735], 2)); } 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]); } -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; } +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; } @@ -13022,9 +13022,9 @@ const ifcopenshell::entity& Ifc4x2::IfcRepresentationItem::Class() { return *((i 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>(); } +::Ifc4x2::IfcAxis2Placement Ifc4x2::IfcRepresentationMap::MappingOrigin() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcAxis2Placement>(); } void Ifc4x2::IfcRepresentationMap::setMappingOrigin(const ::Ifc4x2::IfcAxis2Placement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcRepresentation Ifc4x2::IfcRepresentationMap::MappedRepresentation() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcRepresentation>(); } +::Ifc4x2::IfcRepresentation Ifc4x2::IfcRepresentationMap::MappedRepresentation() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcRepresentation>(); } void Ifc4x2::IfcRepresentationMap::setMappedRepresentation(const ::Ifc4x2::IfcRepresentation& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::vector<::Ifc4x2::IfcShapeAspect> Ifc4x2::IfcRepresentationMap::HasShapeAspects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[931], 4)); } @@ -13045,24 +13045,24 @@ const ifcopenshell::entity& Ifc4x2::IfcResource::Class() { return *((ifcopenshel 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); } -void Ifc4x2::IfcResourceApprovalRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x2::IfcResourceObjectSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcApproval Ifc4x2::IfcResourceApprovalRelationship::RelatingApproval() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcApproval>(); } +std::vector< ::Ifc4x2::IfcResourceObjectSelect > Ifc4x2::IfcResourceApprovalRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcResourceObjectSelect>(es); } +void Ifc4x2::IfcResourceApprovalRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x2::IfcResourceObjectSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +::Ifc4x2::IfcApproval Ifc4x2::IfcResourceApprovalRelationship::RelatingApproval() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcApproval>(); } void Ifc4x2::IfcResourceApprovalRelationship::setRelatingApproval(const ::Ifc4x2::IfcApproval& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x2::IfcResourceApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X2_types[890]); } -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; } +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>(); } +::Ifc4x2::IfcConstraint Ifc4x2::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcConstraint>(); } void Ifc4x2::IfcResourceConstraintRelationship::setRelatingConstraint(const ::Ifc4x2::IfcConstraint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x2::IfcResourceObjectSelect > Ifc4x2::IfcResourceConstraintRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x2::IfcResourceObjectSelect>(es); } -void Ifc4x2::IfcResourceConstraintRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x2::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x2::IfcResourceObjectSelect > Ifc4x2::IfcResourceConstraintRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x2::IfcResourceObjectSelect>(es); } +void Ifc4x2::IfcResourceConstraintRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x2::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x2::IfcResourceConstraintRelationship::Class() { return *((ifcopenshell::entity*)IFC4X2_types[891]); } -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; } +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; } @@ -13111,7 +13111,7 @@ const ifcopenshell::entity& Ifc4x2::IfcResourceTime::Class() { return *((ifcopen 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>(); } +::Ifc4x2::IfcAxis1Placement Ifc4x2::IfcRevolvedAreaSolid::Axis() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcAxis1Placement>(); } void Ifc4x2::IfcRevolvedAreaSolid::setAxis(const ::Ifc4x2::IfcAxis1Placement& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc4x2::IfcRevolvedAreaSolid::Angle() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcRevolvedAreaSolid::setAngle(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -13121,7 +13121,7 @@ const ifcopenshell::entity& Ifc4x2::IfcRevolvedAreaSolid::Class() { return *((if 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>(); } +::Ifc4x2::IfcProfileDef Ifc4x2::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcProfileDef>(); } void Ifc4x2::IfcRevolvedAreaSolidTapered::setEndSweptArea(const ::Ifc4x2::IfcProfileDef& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -13162,12 +13162,12 @@ void Ifc4x2::IfcRoofType::setPredefinedType(const ::Ifc4x2::IfcRoofTypeEnum::Val const ifcopenshell::entity& Ifc4x2::IfcRoofType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[902]); } -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; } +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; } void Ifc4x2::IfcRoot::setGlobalId(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcOwnerHistory Ifc4x2::IfcRoot::OwnerHistory() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x2::IfcOwnerHistory{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcOwnerHistory>(); } +::Ifc4x2::IfcOwnerHistory Ifc4x2::IfcRoot::OwnerHistory() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x2::IfcOwnerHistory{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcOwnerHistory>(); } void Ifc4x2::IfcRoot::setOwnerHistory(const ::Ifc4x2::IfcOwnerHistory& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x2::IfcRoot::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcRoot::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } @@ -13210,7 +13210,7 @@ void Ifc4x2::IfcSanitaryTerminalType::setPredefinedType(const ::Ifc4x2::IfcSanit const ifcopenshell::entity& Ifc4x2::IfcSanitaryTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[911]); } -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; } +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; } @@ -13228,14 +13228,14 @@ Ifc4x2::IfcSchedulingTime Ifc4x2::IfcSchedulingTime::initialize(std::optional< s const ifcopenshell::entity& Ifc4x2::IfcSeamCurve::Class() { return *((ifcopenshell::entity*)IFC4X2_types[914]); } -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; } +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)); } void Ifc4x2::IfcSectionProperties::setSectionType(const ::Ifc4x2::IfcSectionTypeEnum::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc4x2::IfcSectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcProfileDef Ifc4x2::IfcSectionProperties::StartProfile() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcProfileDef>(); } +::Ifc4x2::IfcProfileDef Ifc4x2::IfcSectionProperties::StartProfile() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcProfileDef>(); } void Ifc4x2::IfcSectionProperties::setStartProfile(const ::Ifc4x2::IfcProfileDef& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcProfileDef Ifc4x2::IfcSectionProperties::EndProfile() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x2::IfcProfileDef{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcProfileDef>(); } +::Ifc4x2::IfcProfileDef Ifc4x2::IfcSectionProperties::EndProfile() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x2::IfcProfileDef{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcProfileDef>(); } void Ifc4x2::IfcSectionProperties::setEndProfile(const ::Ifc4x2::IfcProfileDef& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -13251,46 +13251,46 @@ std::optional< double > Ifc4x2::IfcSectionReinforcementProperties::TransversePos void Ifc4x2::IfcSectionReinforcementProperties::setTransversePosition(const std::optional< double >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x2::IfcReinforcingBarRoleEnum::Value Ifc4x2::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x2::IfcReinforcingBarRoleEnum::FromString(get_attribute_value(3)); } void Ifc4x2::IfcSectionReinforcementProperties::setReinforcementRole(const ::Ifc4x2::IfcReinforcingBarRoleEnum::Value& v) { set_attribute_value(3, enumeration_reference(&::Ifc4x2::IfcReinforcingBarRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -::Ifc4x2::IfcSectionProperties Ifc4x2::IfcSectionReinforcementProperties::SectionDefinition() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcSectionProperties>(); } +::Ifc4x2::IfcSectionProperties Ifc4x2::IfcSectionReinforcementProperties::SectionDefinition() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcSectionProperties>(); } void Ifc4x2::IfcSectionReinforcementProperties::setSectionDefinition(const ::Ifc4x2::IfcSectionProperties& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x2::IfcReinforcementBarProperties > Ifc4x2::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x2::IfcReinforcementBarProperties>(es); } -void Ifc4x2::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(const std::vector< ::Ifc4x2::IfcReinforcementBarProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x2::IfcReinforcementBarProperties > Ifc4x2::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x2::IfcReinforcementBarProperties>(es); } +void Ifc4x2::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(const std::vector< ::Ifc4x2::IfcReinforcementBarProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x2::IfcSectionReinforcementProperties::Class() { return *((ifcopenshell::entity*)IFC4X2_types[921]); } -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; } +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>(); } +::Ifc4x2::IfcCurve Ifc4x2::IfcSectionedSolid::Directrix() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcCurve>(); } void Ifc4x2::IfcSectionedSolid::setDirectrix(const ::Ifc4x2::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x2::IfcProfileDef > Ifc4x2::IfcSectionedSolid::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcProfileDef>(es); } -void Ifc4x2::IfcSectionedSolid::setCrossSections(const std::vector< ::Ifc4x2::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x2::IfcProfileDef > Ifc4x2::IfcSectionedSolid::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcProfileDef>(es); } +void Ifc4x2::IfcSectionedSolid::setCrossSections(const std::vector< ::Ifc4x2::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x2::IfcSectionedSolid::Class() { return *((ifcopenshell::entity*)IFC4X2_types[916]); } -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; } +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); } -void Ifc4x2::IfcSectionedSolidHorizontal::setCrossSectionPositions(const std::vector< ::Ifc4x2::IfcDistanceExpression >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x2::IfcDistanceExpression > Ifc4x2::IfcSectionedSolidHorizontal::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcDistanceExpression>(es); } +void Ifc4x2::IfcSectionedSolidHorizontal::setCrossSectionPositions(const std::vector< ::Ifc4x2::IfcDistanceExpression >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } bool Ifc4x2::IfcSectionedSolidHorizontal::FixedAxisVertical() const { bool v = get_attribute_value(3); return v; } void Ifc4x2::IfcSectionedSolidHorizontal::setFixedAxisVertical(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x2::IfcSectionedSolidHorizontal::Class() { return *((ifcopenshell::entity*)IFC4X2_types[917]); } -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; } +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>(); } +::Ifc4x2::IfcCompositeCurve Ifc4x2::IfcSectionedSpine::SpineCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcCompositeCurve>(); } void Ifc4x2::IfcSectionedSpine::setSpineCurve(const ::Ifc4x2::IfcCompositeCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x2::IfcProfileDef > Ifc4x2::IfcSectionedSpine::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcProfileDef>(es); } -void Ifc4x2::IfcSectionedSpine::setCrossSections(const std::vector< ::Ifc4x2::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x2::IfcAxis2Placement3D > Ifc4x2::IfcSectionedSpine::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcAxis2Placement3D>(es); } -void Ifc4x2::IfcSectionedSpine::setCrossSectionPositions(const std::vector< ::Ifc4x2::IfcAxis2Placement3D >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x2::IfcProfileDef > Ifc4x2::IfcSectionedSpine::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcProfileDef>(es); } +void Ifc4x2::IfcSectionedSpine::setCrossSections(const std::vector< ::Ifc4x2::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x2::IfcAxis2Placement3D > Ifc4x2::IfcSectionedSpine::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcAxis2Placement3D>(es); } +void Ifc4x2::IfcSectionedSpine::setCrossSectionPositions(const std::vector< ::Ifc4x2::IfcAxis2Placement3D >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x2::IfcSectionedSpine::Class() { return *((ifcopenshell::entity*)IFC4X2_types[918]); } -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; } +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)); } @@ -13306,7 +13306,7 @@ void Ifc4x2::IfcSensorType::setPredefinedType(const ::Ifc4x2::IfcSensorTypeEnum: const ifcopenshell::entity& Ifc4x2::IfcSensorType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[925]); } -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; } +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)); } @@ -13322,45 +13322,45 @@ void Ifc4x2::IfcShadingDeviceType::setPredefinedType(const ::Ifc4x2::IfcShadingD const ifcopenshell::entity& Ifc4x2::IfcShadingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[929]); } -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; } +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); } -void Ifc4x2::IfcShapeAspect::setShapeRepresentations(const std::vector< ::Ifc4x2::IfcShapeModel >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x2::IfcShapeModel > Ifc4x2::IfcShapeAspect::ShapeRepresentations() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcShapeModel>(es); } +void Ifc4x2::IfcShapeAspect::setShapeRepresentations(const std::vector< ::Ifc4x2::IfcShapeModel >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x2::IfcShapeAspect::Name() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcShapeAspect::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x2::IfcShapeAspect::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcShapeAspect::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } boost::logic::tribool Ifc4x2::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc4x2::IfcShapeAspect::setProductDefinitional(const boost::logic::tribool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x2::IfcProductRepresentationSelect Ifc4x2::IfcShapeAspect::PartOfProductDefinitionShape() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x2::IfcProductRepresentationSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcProductRepresentationSelect>(); } +::Ifc4x2::IfcProductRepresentationSelect Ifc4x2::IfcShapeAspect::PartOfProductDefinitionShape() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x2::IfcProductRepresentationSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcProductRepresentationSelect>(); } void Ifc4x2::IfcShapeAspect::setPartOfProductDefinitionShape(const ::Ifc4x2::IfcProductRepresentationSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } 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]); } -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; } +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]); } -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; } +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]); } -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; } +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); } -void Ifc4x2::IfcShellBasedSurfaceModel::setSbsmBoundary(const std::vector< ::Ifc4x2::IfcShell >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x2::IfcShell > Ifc4x2::IfcShellBasedSurfaceModel::SbsmBoundary() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcShell>(es); } +void Ifc4x2::IfcShellBasedSurfaceModel::setSbsmBoundary(const std::vector< ::Ifc4x2::IfcShell >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x2::IfcShellBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X2_types[936]); } -Ifc4x2::IfcShellBasedSurfaceModel Ifc4x2::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc4x2::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary));; return *this; } +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 @@ -13375,11 +13375,11 @@ std::optional< std::string > Ifc4x2::IfcSimplePropertyTemplate::PrimaryMeasureTy void Ifc4x2::IfcSimplePropertyTemplate::setPrimaryMeasureType(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< std::string > Ifc4x2::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x2::IfcSimplePropertyTemplate::setSecondaryMeasureType(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x2::IfcPropertyEnumeration Ifc4x2::IfcSimplePropertyTemplate::Enumerators() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x2::IfcPropertyEnumeration{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x2::IfcPropertyEnumeration>(); } +::Ifc4x2::IfcPropertyEnumeration Ifc4x2::IfcSimplePropertyTemplate::Enumerators() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x2::IfcPropertyEnumeration{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x2::IfcPropertyEnumeration>(); } void Ifc4x2::IfcSimplePropertyTemplate::setEnumerators(const ::Ifc4x2::IfcPropertyEnumeration& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4x2::IfcUnit Ifc4x2::IfcSimplePropertyTemplate::PrimaryUnit() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x2::IfcUnit{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x2::IfcUnit>(); } +::Ifc4x2::IfcUnit Ifc4x2::IfcSimplePropertyTemplate::PrimaryUnit() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x2::IfcUnit{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x2::IfcUnit>(); } void Ifc4x2::IfcSimplePropertyTemplate::setPrimaryUnit(const ::Ifc4x2::IfcUnit& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc4x2::IfcUnit Ifc4x2::IfcSimplePropertyTemplate::SecondaryUnit() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x2::IfcUnit{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x2::IfcUnit>(); } +::Ifc4x2::IfcUnit Ifc4x2::IfcSimplePropertyTemplate::SecondaryUnit() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x2::IfcUnit{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x2::IfcUnit>(); } void Ifc4x2::IfcSimplePropertyTemplate::setSecondaryUnit(const ::Ifc4x2::IfcUnit& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::optional< std::string > Ifc4x2::IfcSimplePropertyTemplate::Expression() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } std::string v = get_attribute_value(10); return v; } void Ifc4x2::IfcSimplePropertyTemplate::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } @@ -13399,7 +13399,7 @@ std::optional< double > Ifc4x2::IfcSite::RefElevation() const { if(get_attribute void Ifc4x2::IfcSite::setRefElevation(const std::optional< double >& v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } std::optional< std::string > Ifc4x2::IfcSite::LandTitleNumber() const { if(get_attribute_value(12).isNull()) { return std::nullopt; } std::string v = get_attribute_value(12); return v; } void Ifc4x2::IfcSite::setLandTitleNumber(const std::optional< std::string >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x2::IfcPostalAddress Ifc4x2::IfcSite::SiteAddress() const { if(get_attribute_value(13).isNull()) { return ::Ifc4x2::IfcPostalAddress{}; } return ((express::Base)(get_attribute_value(13))).as<::Ifc4x2::IfcPostalAddress>(); } +::Ifc4x2::IfcPostalAddress Ifc4x2::IfcSite::SiteAddress() const { if(get_attribute_value(13).isNull()) { return ::Ifc4x2::IfcPostalAddress{}; } return ((express::base)(get_attribute_value(13))).as<::Ifc4x2::IfcPostalAddress>(); } void Ifc4x2::IfcSite::setSiteAddress(const ::Ifc4x2::IfcPostalAddress& v) { set_attribute_value(13, v);if constexpr (false)unset_attribute_value(13); } @@ -13432,7 +13432,7 @@ void Ifc4x2::IfcSlabType::setPredefinedType(const ::Ifc4x2::IfcSlabTypeEnum::Val const ifcopenshell::entity& Ifc4x2::IfcSlabType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[949]); } -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; } +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; } @@ -13460,7 +13460,7 @@ void Ifc4x2::IfcSolarDeviceType::setPredefinedType(const ::Ifc4x2::IfcSolarDevic const ifcopenshell::entity& Ifc4x2::IfcSolarDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[953]); } -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; } +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 @@ -13494,7 +13494,7 @@ void Ifc4x2::IfcSpaceHeaterType::setPredefinedType(const ::Ifc4x2::IfcSpaceHeate const ifcopenshell::entity& Ifc4x2::IfcSpaceHeaterType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[965]); } -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; } +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]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -13537,7 +13537,7 @@ Ifc4x2::IfcSpatialStructureElement Ifc4x2::IfcSpatialStructureElement::initializ const ifcopenshell::entity& Ifc4x2::IfcSpatialStructureElementType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[972]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -13587,7 +13587,7 @@ void Ifc4x2::IfcStackTerminalType::setPredefinedType(const ::Ifc4x2::IfcStackTer const ifcopenshell::entity& Ifc4x2::IfcStackTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[983]); } -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; } +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)); } @@ -13619,7 +13619,7 @@ void Ifc4x2::IfcStairFlightType::setPredefinedType(const ::Ifc4x2::IfcStairFligh const ifcopenshell::entity& Ifc4x2::IfcStairFlightType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[987]); } -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; } +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]); } -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; } +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; } @@ -13638,7 +13638,7 @@ const ifcopenshell::entity& Ifc4x2::IfcStructuralAction::Class() { return *((ifc 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>(); } +::Ifc4x2::IfcStructuralLoad Ifc4x2::IfcStructuralActivity::AppliedLoad() const { return ((express::base)(get_attribute_value(7))).as<::Ifc4x2::IfcStructuralLoad>(); } void Ifc4x2::IfcStructuralActivity::setAppliedLoad(const ::Ifc4x2::IfcStructuralLoad& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4x2::IfcGlobalOrLocalEnum::Value Ifc4x2::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x2::IfcGlobalOrLocalEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcStructuralActivity::setGlobalOrLocal(const ::Ifc4x2::IfcGlobalOrLocalEnum::Value& v) { set_attribute_value(8, enumeration_reference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } @@ -13651,21 +13651,21 @@ Ifc4x2::IfcStructuralActivity Ifc4x2::IfcStructuralActivity::initialize(std::str // Function implementations for IfcStructuralAnalysisModel ::Ifc4x2::IfcAnalysisModelTypeEnum::Value Ifc4x2::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x2::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x2::IfcStructuralAnalysisModel::setPredefinedType(const ::Ifc4x2::IfcAnalysisModelTypeEnum::Value& v) { set_attribute_value(5, enumeration_reference(&::Ifc4x2::IfcAnalysisModelTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x2::IfcAxis2Placement3D Ifc4x2::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x2::IfcAxis2Placement3D>(); } +::Ifc4x2::IfcAxis2Placement3D Ifc4x2::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x2::IfcAxis2Placement3D>(); } void Ifc4x2::IfcStructuralAnalysisModel::setOrientationOf2DPlane(const ::Ifc4x2::IfcAxis2Placement3D& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::optional< std::vector< ::Ifc4x2::IfcStructuralLoadGroup > > Ifc4x2::IfcStructuralAnalysisModel::LoadedBy() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x2::IfcStructuralLoadGroup>(es); } -void Ifc4x2::IfcStructuralAnalysisModel::setLoadedBy(const std::optional< std::vector< ::Ifc4x2::IfcStructuralLoadGroup > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } -std::optional< std::vector< ::Ifc4x2::IfcStructuralResultGroup > > Ifc4x2::IfcStructuralAnalysisModel::HasResults() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x2::IfcStructuralResultGroup>(es); } -void Ifc4x2::IfcStructuralAnalysisModel::setHasResults(const std::optional< std::vector< ::Ifc4x2::IfcStructuralResultGroup > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } -::Ifc4x2::IfcObjectPlacement Ifc4x2::IfcStructuralAnalysisModel::SharedPlacement() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x2::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x2::IfcObjectPlacement>(); } +std::optional< std::vector< ::Ifc4x2::IfcStructuralLoadGroup > > Ifc4x2::IfcStructuralAnalysisModel::LoadedBy() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x2::IfcStructuralLoadGroup>(es); } +void Ifc4x2::IfcStructuralAnalysisModel::setLoadedBy(const std::optional< std::vector< ::Ifc4x2::IfcStructuralLoadGroup > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x2::IfcStructuralResultGroup > > Ifc4x2::IfcStructuralAnalysisModel::HasResults() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x2::IfcStructuralResultGroup>(es); } +void Ifc4x2::IfcStructuralAnalysisModel::setHasResults(const std::optional< std::vector< ::Ifc4x2::IfcStructuralResultGroup > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } +::Ifc4x2::IfcObjectPlacement Ifc4x2::IfcStructuralAnalysisModel::SharedPlacement() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x2::IfcObjectPlacement{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x2::IfcObjectPlacement>(); } void Ifc4x2::IfcStructuralAnalysisModel::setSharedPlacement(const ::Ifc4x2::IfcObjectPlacement& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } const ifcopenshell::entity& Ifc4x2::IfcStructuralAnalysisModel::Class() { return *((ifcopenshell::entity*)IFC4X2_types[995]); } -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; } +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>(); } +::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>(); } void Ifc4x2::IfcStructuralConnection::setAppliedCondition(const ::Ifc4x2::IfcBoundaryCondition& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } std::vector<::Ifc4x2::IfcRelConnectsStructuralMember> Ifc4x2::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[858], 5)); } @@ -13692,7 +13692,7 @@ const ifcopenshell::entity& Ifc4x2::IfcStructuralCurveAction::Class() { return * 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>(); } +::Ifc4x2::IfcDirection Ifc4x2::IfcStructuralCurveConnection::Axis() const { return ((express::base)(get_attribute_value(8))).as<::Ifc4x2::IfcDirection>(); } void Ifc4x2::IfcStructuralCurveConnection::setAxis(const ::Ifc4x2::IfcDirection& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -13702,7 +13702,7 @@ Ifc4x2::IfcStructuralCurveConnection Ifc4x2::IfcStructuralCurveConnection::initi // Function implementations for IfcStructuralCurveMember ::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Value Ifc4x2::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x2::IfcStructuralCurveMemberTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x2::IfcStructuralCurveMember::setPredefinedType(const ::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x2::IfcDirection Ifc4x2::IfcStructuralCurveMember::Axis() const { return ((express::Base)(get_attribute_value(8))).as<::Ifc4x2::IfcDirection>(); } +::Ifc4x2::IfcDirection Ifc4x2::IfcStructuralCurveMember::Axis() const { return ((express::base)(get_attribute_value(8))).as<::Ifc4x2::IfcDirection>(); } void Ifc4x2::IfcStructuralCurveMember::setAxis(const ::Ifc4x2::IfcDirection& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -13753,14 +13753,14 @@ const ifcopenshell::entity& Ifc4x2::IfcStructuralLoadCase::Class() { return *((i 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); } -void Ifc4x2::IfcStructuralLoadConfiguration::setValues(const std::vector< ::Ifc4x2::IfcStructuralLoadOrResult >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x2::IfcStructuralLoadOrResult > Ifc4x2::IfcStructuralLoadConfiguration::Values() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcStructuralLoadOrResult>(es); } +void Ifc4x2::IfcStructuralLoadConfiguration::setValues(const std::vector< ::Ifc4x2::IfcStructuralLoadOrResult >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< std::vector< std::vector< double > > > Ifc4x2::IfcStructuralLoadConfiguration::Locations() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector< std::vector< double > > v = get_attribute_value(2); return v; } void Ifc4x2::IfcStructuralLoadConfiguration::setLocations(const std::optional< std::vector< std::vector< double > > >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x2::IfcStructuralLoadConfiguration::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1009]); } -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; } +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)); } @@ -13906,7 +13906,7 @@ const ifcopenshell::entity& Ifc4x2::IfcStructuralPointAction::Class() { return * 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>(); } +::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>(); } void Ifc4x2::IfcStructuralPointConnection::setConditionCoordinateSystem(const ::Ifc4x2::IfcAxis2Placement3D& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -13928,7 +13928,7 @@ Ifc4x2::IfcStructuralReaction Ifc4x2::IfcStructuralReaction::initialize(std::str // Function implementations for IfcStructuralResultGroup ::Ifc4x2::IfcAnalysisTheoryTypeEnum::Value Ifc4x2::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x2::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x2::IfcStructuralResultGroup::setTheoryType(const ::Ifc4x2::IfcAnalysisTheoryTypeEnum::Value& v) { set_attribute_value(5, enumeration_reference(&::Ifc4x2::IfcAnalysisTheoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x2::IfcStructuralLoadGroup Ifc4x2::IfcStructuralResultGroup::ResultForLoadGroup() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcStructuralLoadGroup{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x2::IfcStructuralLoadGroup>(); } +::Ifc4x2::IfcStructuralLoadGroup Ifc4x2::IfcStructuralResultGroup::ResultForLoadGroup() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcStructuralLoadGroup{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x2::IfcStructuralLoadGroup>(); } void Ifc4x2::IfcStructuralResultGroup::setResultForLoadGroup(const ::Ifc4x2::IfcStructuralLoadGroup& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } bool Ifc4x2::IfcStructuralResultGroup::IsLinear() const { bool v = get_attribute_value(7); return v; } void Ifc4x2::IfcStructuralResultGroup::setIsLinear(const bool& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -13982,25 +13982,25 @@ Ifc4x2::IfcStructuralSurfaceReaction Ifc4x2::IfcStructuralSurfaceReaction::initi const ifcopenshell::entity& Ifc4x2::IfcStyleModel::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1037]); } -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; } +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>(); } +::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>(); } void Ifc4x2::IfcStyledItem::setItem(const ::Ifc4x2::IfcRepresentationItem& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x2::IfcStyleAssignmentSelect > Ifc4x2::IfcStyledItem::Styles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcStyleAssignmentSelect>(es); } -void Ifc4x2::IfcStyledItem::setStyles(const std::vector< ::Ifc4x2::IfcStyleAssignmentSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x2::IfcStyleAssignmentSelect > Ifc4x2::IfcStyledItem::Styles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcStyleAssignmentSelect>(es); } +void Ifc4x2::IfcStyledItem::setStyles(const std::vector< ::Ifc4x2::IfcStyleAssignmentSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x2::IfcStyledItem::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcStyledItem::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x2::IfcStyledItem::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1035]); } -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; } +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]); } -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; } +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]); } -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; } +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,10 +14016,10 @@ void Ifc4x2::IfcSubContractResourceType::setPredefinedType(const ::Ifc4x2::IfcSu const ifcopenshell::entity& Ifc4x2::IfcSubContractResourceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1039]); } -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; } +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>(); } +::Ifc4x2::IfcEdge Ifc4x2::IfcSubedge::ParentEdge() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcEdge>(); } void Ifc4x2::IfcSubedge::setParentEdge(const ::Ifc4x2::IfcEdge& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -14033,25 +14033,25 @@ const ifcopenshell::entity& Ifc4x2::IfcSurface::Class() { return *((ifcopenshell 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>(); } +::Ifc4x2::IfcCurve Ifc4x2::IfcSurfaceCurve::Curve3D() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcCurve>(); } void Ifc4x2::IfcSurfaceCurve::setCurve3D(const ::Ifc4x2::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x2::IfcPcurve > Ifc4x2::IfcSurfaceCurve::AssociatedGeometry() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcPcurve>(es); } -void Ifc4x2::IfcSurfaceCurve::setAssociatedGeometry(const std::vector< ::Ifc4x2::IfcPcurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x2::IfcPcurve > Ifc4x2::IfcSurfaceCurve::AssociatedGeometry() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcPcurve>(es); } +void Ifc4x2::IfcSurfaceCurve::setAssociatedGeometry(const std::vector< ::Ifc4x2::IfcPcurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } ::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x2::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::FromString(get_attribute_value(2)); } void Ifc4x2::IfcSurfaceCurve::setMasterRepresentation(const ::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x2::IfcSurfaceCurve::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1043]); } -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; } +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>(); } +::Ifc4x2::IfcCurve Ifc4x2::IfcSurfaceCurveSweptAreaSolid::Directrix() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcCurve>(); } void Ifc4x2::IfcSurfaceCurveSweptAreaSolid::setDirectrix(const ::Ifc4x2::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc4x2::IfcSurfaceCurveSweptAreaSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4x2::IfcSurfaceCurveSweptAreaSolid::setStartParam(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } std::optional< double > Ifc4x2::IfcSurfaceCurveSweptAreaSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } void Ifc4x2::IfcSurfaceCurveSweptAreaSolid::setEndParam(const std::optional< double >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x2::IfcSurface Ifc4x2::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcSurface>(); } +::Ifc4x2::IfcSurface Ifc4x2::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcSurface>(); } void Ifc4x2::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(const ::Ifc4x2::IfcSurface& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -14067,7 +14067,7 @@ const ifcopenshell::entity& Ifc4x2::IfcSurfaceFeature::Class() { return *((ifcop 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>(); } +::Ifc4x2::IfcDirection Ifc4x2::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcDirection>(); } void Ifc4x2::IfcSurfaceOfLinearExtrusion::setExtrudedDirection(const ::Ifc4x2::IfcDirection& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc4x2::IfcSurfaceOfLinearExtrusion::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcSurfaceOfLinearExtrusion::setDepth(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -14077,7 +14077,7 @@ const ifcopenshell::entity& Ifc4x2::IfcSurfaceOfLinearExtrusion::Class() { retur 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>(); } +::Ifc4x2::IfcAxis1Placement Ifc4x2::IfcSurfaceOfRevolution::AxisPosition() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcAxis1Placement>(); } void Ifc4x2::IfcSurfaceOfRevolution::setAxisPosition(const ::Ifc4x2::IfcAxis1Placement& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -14099,21 +14099,21 @@ Ifc4x2::IfcSurfaceReinforcementArea Ifc4x2::IfcSurfaceReinforcementArea::initial // Function implementations for IfcSurfaceStyle ::Ifc4x2::IfcSurfaceSide::Value Ifc4x2::IfcSurfaceStyle::Side() const { return ::Ifc4x2::IfcSurfaceSide::FromString(get_attribute_value(1)); } void Ifc4x2::IfcSurfaceStyle::setSide(const ::Ifc4x2::IfcSurfaceSide::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4x2::IfcSurfaceSide::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x2::IfcSurfaceStyleElementSelect > Ifc4x2::IfcSurfaceStyle::Styles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcSurfaceStyleElementSelect>(es); } -void Ifc4x2::IfcSurfaceStyle::setStyles(const std::vector< ::Ifc4x2::IfcSurfaceStyleElementSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x2::IfcSurfaceStyleElementSelect > Ifc4x2::IfcSurfaceStyle::Styles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcSurfaceStyleElementSelect>(es); } +void Ifc4x2::IfcSurfaceStyle::setStyles(const std::vector< ::Ifc4x2::IfcSurfaceStyleElementSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x2::IfcSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1052]); } -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; } +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>(); } +::Ifc4x2::IfcColourRgb Ifc4x2::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcColourRgb>(); } void Ifc4x2::IfcSurfaceStyleLighting::setDiffuseTransmissionColour(const ::Ifc4x2::IfcColourRgb& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcColourRgb Ifc4x2::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcColourRgb>(); } +::Ifc4x2::IfcColourRgb Ifc4x2::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcColourRgb>(); } void Ifc4x2::IfcSurfaceStyleLighting::setDiffuseReflectionColour(const ::Ifc4x2::IfcColourRgb& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcColourRgb Ifc4x2::IfcSurfaceStyleLighting::TransmissionColour() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcColourRgb>(); } +::Ifc4x2::IfcColourRgb Ifc4x2::IfcSurfaceStyleLighting::TransmissionColour() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcColourRgb>(); } void Ifc4x2::IfcSurfaceStyleLighting::setTransmissionColour(const ::Ifc4x2::IfcColourRgb& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcColourRgb Ifc4x2::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcColourRgb>(); } +::Ifc4x2::IfcColourRgb Ifc4x2::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcColourRgb>(); } void Ifc4x2::IfcSurfaceStyleLighting::setReflectanceColour(const ::Ifc4x2::IfcColourRgb& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -14131,17 +14131,17 @@ const ifcopenshell::entity& Ifc4x2::IfcSurfaceStyleRefraction::Class() { return 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>(); } +::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>(); } void Ifc4x2::IfcSurfaceStyleRendering::setDiffuseColour(const ::Ifc4x2::IfcColourOrFactor& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcColourOrFactor Ifc4x2::IfcSurfaceStyleRendering::TransmissionColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcColourOrFactor>(); } +::Ifc4x2::IfcColourOrFactor Ifc4x2::IfcSurfaceStyleRendering::TransmissionColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcColourOrFactor>(); } void Ifc4x2::IfcSurfaceStyleRendering::setTransmissionColour(const ::Ifc4x2::IfcColourOrFactor& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x2::IfcColourOrFactor Ifc4x2::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x2::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcColourOrFactor>(); } +::Ifc4x2::IfcColourOrFactor Ifc4x2::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x2::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcColourOrFactor>(); } void Ifc4x2::IfcSurfaceStyleRendering::setDiffuseTransmissionColour(const ::Ifc4x2::IfcColourOrFactor& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcColourOrFactor Ifc4x2::IfcSurfaceStyleRendering::ReflectionColour() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x2::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcColourOrFactor>(); } +::Ifc4x2::IfcColourOrFactor Ifc4x2::IfcSurfaceStyleRendering::ReflectionColour() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x2::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcColourOrFactor>(); } void Ifc4x2::IfcSurfaceStyleRendering::setReflectionColour(const ::Ifc4x2::IfcColourOrFactor& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x2::IfcColourOrFactor Ifc4x2::IfcSurfaceStyleRendering::SpecularColour() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x2::IfcColourOrFactor>(); } +::Ifc4x2::IfcColourOrFactor Ifc4x2::IfcSurfaceStyleRendering::SpecularColour() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x2::IfcColourOrFactor>(); } void Ifc4x2::IfcSurfaceStyleRendering::setSpecularColour(const ::Ifc4x2::IfcColourOrFactor& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x2::IfcSpecularHighlightSelect Ifc4x2::IfcSurfaceStyleRendering::SpecularHighlight() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x2::IfcSpecularHighlightSelect{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x2::IfcSpecularHighlightSelect>(); } +::Ifc4x2::IfcSpecularHighlightSelect Ifc4x2::IfcSurfaceStyleRendering::SpecularHighlight() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x2::IfcSpecularHighlightSelect{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x2::IfcSpecularHighlightSelect>(); } void Ifc4x2::IfcSurfaceStyleRendering::setSpecularHighlight(const ::Ifc4x2::IfcSpecularHighlightSelect& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4x2::IfcReflectanceMethodEnum::Value Ifc4x2::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x2::IfcReflectanceMethodEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcSurfaceStyleRendering::setReflectanceMethod(const ::Ifc4x2::IfcReflectanceMethodEnum::Value& v) { set_attribute_value(8, enumeration_reference(&::Ifc4x2::IfcReflectanceMethodEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } @@ -14151,7 +14151,7 @@ const ifcopenshell::entity& Ifc4x2::IfcSurfaceStyleRendering::Class() { return * 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>(); } +::Ifc4x2::IfcColourRgb Ifc4x2::IfcSurfaceStyleShading::SurfaceColour() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcColourRgb>(); } void Ifc4x2::IfcSurfaceStyleShading::setSurfaceColour(const ::Ifc4x2::IfcColourRgb& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< double > Ifc4x2::IfcSurfaceStyleShading::Transparency() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } void Ifc4x2::IfcSurfaceStyleShading::setTransparency(const std::optional< double >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } @@ -14161,12 +14161,12 @@ const ifcopenshell::entity& Ifc4x2::IfcSurfaceStyleShading::Class() { return *(( 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); } -void Ifc4x2::IfcSurfaceStyleWithTextures::setTextures(const std::vector< ::Ifc4x2::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x2::IfcSurfaceTexture > Ifc4x2::IfcSurfaceStyleWithTextures::Textures() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcSurfaceTexture>(es); } +void Ifc4x2::IfcSurfaceStyleWithTextures::setTextures(const std::vector< ::Ifc4x2::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x2::IfcSurfaceStyleWithTextures::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1058]); } -Ifc4x2::IfcSurfaceStyleWithTextures Ifc4x2::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc4x2::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures));; return *this; } +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; } @@ -14175,7 +14175,7 @@ bool Ifc4x2::IfcSurfaceTexture::RepeatT() const { bool v = get_attribute_value( void Ifc4x2::IfcSurfaceTexture::setRepeatT(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x2::IfcSurfaceTexture::Mode() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcSurfaceTexture::setMode(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x2::IfcCartesianTransformationOperator2D Ifc4x2::IfcSurfaceTexture::TextureTransform() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcCartesianTransformationOperator2D{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcCartesianTransformationOperator2D>(); } +::Ifc4x2::IfcCartesianTransformationOperator2D Ifc4x2::IfcSurfaceTexture::TextureTransform() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcCartesianTransformationOperator2D{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcCartesianTransformationOperator2D>(); } void Ifc4x2::IfcSurfaceTexture::setTextureTransform(const ::Ifc4x2::IfcCartesianTransformationOperator2D& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcSurfaceTexture::Parameter() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x2::IfcSurfaceTexture::setParameter(const std::optional< std::vector< std::string > /*[1:?]*/ >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -14187,9 +14187,9 @@ const ifcopenshell::entity& Ifc4x2::IfcSurfaceTexture::Class() { return *((ifcop 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>(); } +::Ifc4x2::IfcProfileDef Ifc4x2::IfcSweptAreaSolid::SweptArea() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcProfileDef>(); } void Ifc4x2::IfcSweptAreaSolid::setSweptArea(const ::Ifc4x2::IfcProfileDef& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcAxis2Placement3D Ifc4x2::IfcSweptAreaSolid::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x2::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcAxis2Placement3D>(); } +::Ifc4x2::IfcAxis2Placement3D Ifc4x2::IfcSweptAreaSolid::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x2::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcAxis2Placement3D>(); } void Ifc4x2::IfcSweptAreaSolid::setPosition(const ::Ifc4x2::IfcAxis2Placement3D& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -14197,7 +14197,7 @@ const ifcopenshell::entity& Ifc4x2::IfcSweptAreaSolid::Class() { return *((ifcop 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>(); } +::Ifc4x2::IfcCurve Ifc4x2::IfcSweptDiskSolid::Directrix() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcCurve>(); } void Ifc4x2::IfcSweptDiskSolid::setDirectrix(const ::Ifc4x2::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x2::IfcSweptDiskSolid::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcSweptDiskSolid::setRadius(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -14221,9 +14221,9 @@ const ifcopenshell::entity& Ifc4x2::IfcSweptDiskSolidPolygonal::Class() { return 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>(); } +::Ifc4x2::IfcProfileDef Ifc4x2::IfcSweptSurface::SweptCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcProfileDef>(); } void Ifc4x2::IfcSweptSurface::setSweptCurve(const ::Ifc4x2::IfcProfileDef& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcAxis2Placement3D Ifc4x2::IfcSweptSurface::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x2::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcAxis2Placement3D>(); } +::Ifc4x2::IfcAxis2Placement3D Ifc4x2::IfcSweptSurface::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x2::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcAxis2Placement3D>(); } void Ifc4x2::IfcSweptSurface::setPosition(const ::Ifc4x2::IfcAxis2Placement3D& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -14244,7 +14244,7 @@ void Ifc4x2::IfcSwitchingDeviceType::setPredefinedType(const ::Ifc4x2::IfcSwitch const ifcopenshell::entity& Ifc4x2::IfcSwitchingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1065]); } -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; } +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 @@ -14267,7 +14267,7 @@ void Ifc4x2::IfcSystemFurnitureElementType::setPredefinedType(const std::optiona const ifcopenshell::entity& Ifc4x2::IfcSystemFurnitureElementType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1069]); } -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; } +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; } @@ -14296,14 +14296,14 @@ Ifc4x2::IfcTShapeProfileDef Ifc4x2::IfcTShapeProfileDef::initialize(::Ifc4x2::If // 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; } void Ifc4x2::IfcTable::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::optional< std::vector< ::Ifc4x2::IfcTableRow > > Ifc4x2::IfcTable::Rows() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcTableRow>(es); } -void Ifc4x2::IfcTable::setRows(const std::optional< std::vector< ::Ifc4x2::IfcTableRow > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } -std::optional< std::vector< ::Ifc4x2::IfcTableColumn > > Ifc4x2::IfcTable::Columns() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcTableColumn>(es); } -void Ifc4x2::IfcTable::setColumns(const std::optional< std::vector< ::Ifc4x2::IfcTableColumn > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4x2::IfcTableRow > > Ifc4x2::IfcTable::Rows() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcTableRow>(es); } +void Ifc4x2::IfcTable::setRows(const std::optional< std::vector< ::Ifc4x2::IfcTableRow > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } +std::optional< std::vector< ::Ifc4x2::IfcTableColumn > > Ifc4x2::IfcTable::Columns() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcTableColumn>(es); } +void Ifc4x2::IfcTable::setColumns(const std::optional< std::vector< ::Ifc4x2::IfcTableColumn > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x2::IfcTable::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1071]); } -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; } +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; } @@ -14312,9 +14312,9 @@ std::optional< std::string > Ifc4x2::IfcTableColumn::Name() const { if(get_attri void Ifc4x2::IfcTableColumn::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x2::IfcTableColumn::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcTableColumn::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x2::IfcUnit Ifc4x2::IfcTableColumn::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcUnit>(); } +::Ifc4x2::IfcUnit Ifc4x2::IfcTableColumn::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcUnit>(); } void Ifc4x2::IfcTableColumn::setUnit(const ::Ifc4x2::IfcUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x2::IfcReference Ifc4x2::IfcTableColumn::ReferencePath() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x2::IfcReference{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcReference>(); } +::Ifc4x2::IfcReference Ifc4x2::IfcTableColumn::ReferencePath() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x2::IfcReference{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcReference>(); } void Ifc4x2::IfcTableColumn::setReferencePath(const ::Ifc4x2::IfcReference& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -14322,14 +14322,14 @@ const ifcopenshell::entity& Ifc4x2::IfcTableColumn::Class() { return *((ifcopens 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); } -void Ifc4x2::IfcTableRow::setRowCells(const std::optional< std::vector< ::Ifc4x2::IfcValue > >& v) { if (v) {set_attribute_value(0, cast_vector(*v));} else {unset_attribute_value(0);} } +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); } +void Ifc4x2::IfcTableRow::setRowCells(const std::optional< std::vector< ::Ifc4x2::IfcValue > >& v) { if (v) {set_attribute_value(0, cast_vector(*v));} else {unset_attribute_value(0);} } std::optional< bool > Ifc4x2::IfcTableRow::IsHeading() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } bool v = get_attribute_value(1); return v; } void Ifc4x2::IfcTableRow::setIsHeading(const std::optional< bool >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const ifcopenshell::entity& Ifc4x2::IfcTableRow::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1073]); } -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; } +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)); } @@ -14345,7 +14345,7 @@ void Ifc4x2::IfcTankType::setPredefinedType(const ::Ifc4x2::IfcTankTypeEnum::Val const ifcopenshell::entity& Ifc4x2::IfcTankType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1075]); } -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; } +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; } @@ -14356,7 +14356,7 @@ bool Ifc4x2::IfcTask::IsMilestone() const { bool v = get_attribute_value(9); re void Ifc4x2::IfcTask::setIsMilestone(const bool& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::optional< int64_t > Ifc4x2::IfcTask::Priority() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(10); return v; } void Ifc4x2::IfcTask::setPriority(const std::optional< int64_t >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x2::IfcTaskTime Ifc4x2::IfcTask::TaskTime() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x2::IfcTaskTime{}; } return ((express::Base)(get_attribute_value(11))).as<::Ifc4x2::IfcTaskTime>(); } +::Ifc4x2::IfcTaskTime Ifc4x2::IfcTask::TaskTime() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x2::IfcTaskTime{}; } return ((express::base)(get_attribute_value(11))).as<::Ifc4x2::IfcTaskTime>(); } void Ifc4x2::IfcTask::setTaskTime(const ::Ifc4x2::IfcTaskTime& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } std::optional< ::Ifc4x2::IfcTaskTypeEnum::Value > Ifc4x2::IfcTask::PredefinedType() const { if(get_attribute_value(12).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcTaskTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x2::IfcTask::setPredefinedType(const std::optional< ::Ifc4x2::IfcTaskTypeEnum::Value >& v) { if (v) {set_attribute_value(12, enumeration_reference(&::Ifc4x2::IfcTaskTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } @@ -14406,7 +14406,7 @@ const ifcopenshell::entity& Ifc4x2::IfcTaskTime::Class() { return *((ifcopenshel 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>(); } +::Ifc4x2::IfcRecurrencePattern Ifc4x2::IfcTaskTimeRecurring::Recurrence() const { return ((express::base)(get_attribute_value(20))).as<::Ifc4x2::IfcRecurrencePattern>(); } void Ifc4x2::IfcTaskTimeRecurring::setRecurrence(const ::Ifc4x2::IfcRecurrencePattern& v) { set_attribute_value(20, v);if constexpr (false)unset_attribute_value(20); } @@ -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]); } -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; } +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; } @@ -14477,7 +14477,7 @@ void Ifc4x2::IfcTendonAnchorType::setPredefinedType(const ::Ifc4x2::IfcTendonAnc const ifcopenshell::entity& Ifc4x2::IfcTendonAnchorType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1088]); } -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; } +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)); } @@ -14493,7 +14493,7 @@ void Ifc4x2::IfcTendonConduitType::setPredefinedType(const ::Ifc4x2::IfcTendonCo const ifcopenshell::entity& Ifc4x2::IfcTendonConduitType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1091]); } -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; } +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,10 +14507,10 @@ void Ifc4x2::IfcTendonType::setSheathDiameter(const std::optional< double >& v) const ifcopenshell::entity& Ifc4x2::IfcTendonType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1093]); } -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; } +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>(); } +::Ifc4x2::IfcCartesianPointList3D Ifc4x2::IfcTessellatedFaceSet::Coordinates() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcCartesianPointList3D>(); } void Ifc4x2::IfcTessellatedFaceSet::setCoordinates(const ::Ifc4x2::IfcCartesianPointList3D& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::vector<::Ifc4x2::IfcIndexedColourMap> Ifc4x2::IfcTessellatedFaceSet::HasColours() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[508], 0)); } @@ -14528,7 +14528,7 @@ Ifc4x2::IfcTessellatedItem Ifc4x2::IfcTessellatedItem::initialize() { ; return * // Function implementations for IfcTextLiteral std::string Ifc4x2::IfcTextLiteral::Literal() const { std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcTextLiteral::setLiteral(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcAxis2Placement Ifc4x2::IfcTextLiteral::Placement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcAxis2Placement>(); } +::Ifc4x2::IfcAxis2Placement Ifc4x2::IfcTextLiteral::Placement() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcAxis2Placement>(); } void Ifc4x2::IfcTextLiteral::setPlacement(const ::Ifc4x2::IfcAxis2Placement& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } ::Ifc4x2::IfcTextPath::Value Ifc4x2::IfcTextLiteral::Path() const { return ::Ifc4x2::IfcTextPath::FromString(get_attribute_value(2)); } void Ifc4x2::IfcTextLiteral::setPath(const ::Ifc4x2::IfcTextPath::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4x2::IfcTextPath::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } @@ -14538,7 +14538,7 @@ const ifcopenshell::entity& Ifc4x2::IfcTextLiteral::Class() { return *((ifcopens 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>(); } +::Ifc4x2::IfcPlanarExtent Ifc4x2::IfcTextLiteralWithExtent::Extent() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcPlanarExtent>(); } void Ifc4x2::IfcTextLiteralWithExtent::setExtent(const ::Ifc4x2::IfcPlanarExtent& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::string Ifc4x2::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcTextLiteralWithExtent::setBoxAlignment(const std::string& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -14548,11 +14548,11 @@ const ifcopenshell::entity& Ifc4x2::IfcTextLiteralWithExtent::Class() { return * 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>(); } +::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>(); } void Ifc4x2::IfcTextStyle::setTextCharacterAppearance(const ::Ifc4x2::IfcTextStyleForDefinedFont& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcTextStyleTextModel Ifc4x2::IfcTextStyle::TextStyle() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x2::IfcTextStyleTextModel{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcTextStyleTextModel>(); } +::Ifc4x2::IfcTextStyleTextModel Ifc4x2::IfcTextStyle::TextStyle() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x2::IfcTextStyleTextModel{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcTextStyleTextModel>(); } void Ifc4x2::IfcTextStyle::setTextStyle(const ::Ifc4x2::IfcTextStyleTextModel& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcTextFontSelect Ifc4x2::IfcTextStyle::TextFontStyle() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcTextFontSelect>(); } +::Ifc4x2::IfcTextFontSelect Ifc4x2::IfcTextStyle::TextFontStyle() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcTextFontSelect>(); } void Ifc4x2::IfcTextStyle::setTextFontStyle(const ::Ifc4x2::IfcTextFontSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< bool > Ifc4x2::IfcTextStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } bool v = get_attribute_value(4); return v; } void Ifc4x2::IfcTextStyle::setModelOrDraughting(const std::optional< bool >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -14570,7 +14570,7 @@ std::optional< std::string > Ifc4x2::IfcTextStyleFontModel::FontVariant() const void Ifc4x2::IfcTextStyleFontModel::setFontVariant(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } std::optional< std::string > Ifc4x2::IfcTextStyleFontModel::FontWeight() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcTextStyleFontModel::setFontWeight(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x2::IfcSizeSelect Ifc4x2::IfcTextStyleFontModel::FontSize() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcSizeSelect>(); } +::Ifc4x2::IfcSizeSelect Ifc4x2::IfcTextStyleFontModel::FontSize() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x2::IfcSizeSelect>(); } void Ifc4x2::IfcTextStyleFontModel::setFontSize(const ::Ifc4x2::IfcSizeSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -14578,9 +14578,9 @@ const ifcopenshell::entity& Ifc4x2::IfcTextStyleFontModel::Class() { return *((i 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>(); } +::Ifc4x2::IfcColour Ifc4x2::IfcTextStyleForDefinedFont::Colour() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcColour>(); } void Ifc4x2::IfcTextStyleForDefinedFont::setColour(const ::Ifc4x2::IfcColour& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcColour Ifc4x2::IfcTextStyleForDefinedFont::BackgroundColour() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x2::IfcColour{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcColour>(); } +::Ifc4x2::IfcColour Ifc4x2::IfcTextStyleForDefinedFont::BackgroundColour() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x2::IfcColour{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x2::IfcColour>(); } void Ifc4x2::IfcTextStyleForDefinedFont::setBackgroundColour(const ::Ifc4x2::IfcColour& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -14588,19 +14588,19 @@ const ifcopenshell::entity& Ifc4x2::IfcTextStyleForDefinedFont::Class() { return 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>(); } +::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>(); } void Ifc4x2::IfcTextStyleTextModel::setTextIndent(const ::Ifc4x2::IfcSizeSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x2::IfcTextStyleTextModel::TextAlign() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcTextStyleTextModel::setTextAlign(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x2::IfcTextStyleTextModel::TextDecoration() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcTextStyleTextModel::setTextDecoration(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x2::IfcSizeSelect Ifc4x2::IfcTextStyleTextModel::LetterSpacing() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcSizeSelect>(); } +::Ifc4x2::IfcSizeSelect Ifc4x2::IfcTextStyleTextModel::LetterSpacing() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x2::IfcSizeSelect>(); } void Ifc4x2::IfcTextStyleTextModel::setLetterSpacing(const ::Ifc4x2::IfcSizeSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x2::IfcSizeSelect Ifc4x2::IfcTextStyleTextModel::WordSpacing() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x2::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcSizeSelect>(); } +::Ifc4x2::IfcSizeSelect Ifc4x2::IfcTextStyleTextModel::WordSpacing() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x2::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x2::IfcSizeSelect>(); } void Ifc4x2::IfcTextStyleTextModel::setWordSpacing(const ::Ifc4x2::IfcSizeSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::optional< std::string > Ifc4x2::IfcTextStyleTextModel::TextTransform() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcTextStyleTextModel::setTextTransform(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x2::IfcSizeSelect Ifc4x2::IfcTextStyleTextModel::LineHeight() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x2::IfcSizeSelect>(); } +::Ifc4x2::IfcSizeSelect Ifc4x2::IfcTextStyleTextModel::LineHeight() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x2::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x2::IfcSizeSelect>(); } void Ifc4x2::IfcTextStyleTextModel::setLineHeight(const ::Ifc4x2::IfcSizeSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -14608,12 +14608,12 @@ const ifcopenshell::entity& Ifc4x2::IfcTextStyleTextModel::Class() { return *((i 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); } -void Ifc4x2::IfcTextureCoordinate::setMaps(const std::vector< ::Ifc4x2::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x2::IfcSurfaceTexture > Ifc4x2::IfcTextureCoordinate::Maps() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcSurfaceTexture>(es); } +void Ifc4x2::IfcTextureCoordinate::setMaps(const std::vector< ::Ifc4x2::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x2::IfcTextureCoordinate::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1110]); } -Ifc4x2::IfcTextureCoordinate Ifc4x2::IfcTextureCoordinate::initialize(std::vector< ::Ifc4x2::IfcSurfaceTexture > v1_Maps) { set_attribute_value(0, cast_vector(v1_Maps));; return *this; } +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,17 +14623,17 @@ void Ifc4x2::IfcTextureCoordinateGenerator::setParameter(const std::optional< st const ifcopenshell::entity& Ifc4x2::IfcTextureCoordinateGenerator::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1111]); } -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; } +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); } -void Ifc4x2::IfcTextureMap::setVertices(const std::vector< ::Ifc4x2::IfcTextureVertex >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcFace Ifc4x2::IfcTextureMap::MappedTo() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcFace>(); } +std::vector< ::Ifc4x2::IfcTextureVertex > Ifc4x2::IfcTextureMap::Vertices() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcTextureVertex>(es); } +void Ifc4x2::IfcTextureMap::setVertices(const std::vector< ::Ifc4x2::IfcTextureVertex >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +::Ifc4x2::IfcFace Ifc4x2::IfcTextureMap::MappedTo() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x2::IfcFace>(); } void Ifc4x2::IfcTextureMap::setMappedTo(const ::Ifc4x2::IfcFace& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x2::IfcTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1112]); } -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; } +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; } @@ -14676,7 +14676,7 @@ void Ifc4x2::IfcTimeSeries::setTimeSeriesDataType(const ::Ifc4x2::IfcTimeSeriesD void Ifc4x2::IfcTimeSeries::setDataOrigin(const ::Ifc4x2::IfcDataOriginEnum::Value& v) { set_attribute_value(5, enumeration_reference(&::Ifc4x2::IfcDataOriginEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } std::optional< std::string > Ifc4x2::IfcTimeSeries::UserDefinedDataOrigin() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x2::IfcTimeSeries::setUserDefinedDataOrigin(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x2::IfcUnit Ifc4x2::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x2::IfcUnit{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x2::IfcUnit>(); } +::Ifc4x2::IfcUnit Ifc4x2::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x2::IfcUnit{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x2::IfcUnit>(); } void Ifc4x2::IfcTimeSeries::setUnit(const ::Ifc4x2::IfcUnit& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcTimeSeries::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[407], 3)); } @@ -14685,12 +14685,12 @@ const ifcopenshell::entity& Ifc4x2::IfcTimeSeries::Class() { return *((ifcopensh 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); } -void Ifc4x2::IfcTimeSeriesValue::setListValues(const std::vector< ::Ifc4x2::IfcValue >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x2::IfcValue > Ifc4x2::IfcTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcValue>(es); } +void Ifc4x2::IfcTimeSeriesValue::setListValues(const std::vector< ::Ifc4x2::IfcValue >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x2::IfcTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1127]); } -Ifc4x2::IfcTimeSeriesValue Ifc4x2::IfcTimeSeriesValue::initialize(std::vector< ::Ifc4x2::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues));; return *this; } +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 @@ -14702,7 +14702,7 @@ Ifc4x2::IfcTopologicalRepresentationItem Ifc4x2::IfcTopologicalRepresentationIte const ifcopenshell::entity& Ifc4x2::IfcTopologyRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1130]); } -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; } +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; } @@ -14728,7 +14728,7 @@ void Ifc4x2::IfcTransformerType::setPredefinedType(const ::Ifc4x2::IfcTransforme const ifcopenshell::entity& Ifc4x2::IfcTransformerType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1134]); } -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; } +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; } @@ -14760,7 +14760,7 @@ void Ifc4x2::IfcTransportElementType::setPredefinedType(const ::Ifc4x2::IfcTrans const ifcopenshell::entity& Ifc4x2::IfcTransportElementType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1141]); } -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; } +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; } @@ -14799,12 +14799,12 @@ const ifcopenshell::entity& Ifc4x2::IfcTriangulatedIrregularNetwork::Class() { r 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< int64_t > > v4_CoordIndex, std::optional< std::vector< int64_t > /*[1:?]*/ > v5_PnIndex, std::vector< int64_t > /*[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>(); } +::Ifc4x2::IfcCurve Ifc4x2::IfcTrimmedCurve::BasisCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcCurve>(); } void Ifc4x2::IfcTrimmedCurve::setBasisCurve(const ::Ifc4x2::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x2::IfcTrimmingSelect > Ifc4x2::IfcTrimmedCurve::Trim1() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcTrimmingSelect>(es); } -void Ifc4x2::IfcTrimmedCurve::setTrim1(const std::vector< ::Ifc4x2::IfcTrimmingSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x2::IfcTrimmingSelect > Ifc4x2::IfcTrimmedCurve::Trim2() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcTrimmingSelect>(es); } -void Ifc4x2::IfcTrimmedCurve::setTrim2(const std::vector< ::Ifc4x2::IfcTrimmingSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x2::IfcTrimmingSelect > Ifc4x2::IfcTrimmedCurve::Trim1() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcTrimmingSelect>(es); } +void Ifc4x2::IfcTrimmedCurve::setTrim1(const std::vector< ::Ifc4x2::IfcTrimmingSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x2::IfcTrimmingSelect > Ifc4x2::IfcTrimmedCurve::Trim2() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcTrimmingSelect>(es); } +void Ifc4x2::IfcTrimmedCurve::setTrim2(const std::vector< ::Ifc4x2::IfcTrimmingSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } bool Ifc4x2::IfcTrimmedCurve::SenseAgreement() const { bool v = get_attribute_value(3); return v; } void Ifc4x2::IfcTrimmedCurve::setSenseAgreement(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } ::Ifc4x2::IfcTrimmingPreference::Value Ifc4x2::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x2::IfcTrimmingPreference::FromString(get_attribute_value(4)); } @@ -14812,7 +14812,7 @@ void Ifc4x2::IfcTrimmedCurve::setMasterRepresentation(const ::Ifc4x2::IfcTrimmin const ifcopenshell::entity& Ifc4x2::IfcTrimmedCurve::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1146]); } -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; } +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)); } @@ -14828,18 +14828,18 @@ void Ifc4x2::IfcTubeBundleType::setPredefinedType(const ::Ifc4x2::IfcTubeBundleT const ifcopenshell::entity& Ifc4x2::IfcTubeBundleType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1151]); } -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; } +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; } void Ifc4x2::IfcTypeObject::setApplicableOccurrence(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > Ifc4x2::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x2::IfcPropertySetDefinition>(es); } -void Ifc4x2::IfcTypeObject::setHasPropertySets(const std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > >& v) { if (v) {set_attribute_value(5, cast_vector(*v));} else {unset_attribute_value(5);} } +std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > Ifc4x2::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x2::IfcPropertySetDefinition>(es); } +void Ifc4x2::IfcTypeObject::setHasPropertySets(const std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > >& v) { if (v) {set_attribute_value(5, cast_vector(*v));} else {unset_attribute_value(5);} } 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]); } -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; } +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,18 +14852,18 @@ 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]); } -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; } +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); } -void Ifc4x2::IfcTypeProduct::setRepresentationMaps(const std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +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); } +void Ifc4x2::IfcTypeProduct::setRepresentationMaps(const std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } std::optional< std::string > Ifc4x2::IfcTypeProduct::Tag() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4x2::IfcTypeProduct::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } 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]); } -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; } +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]); } -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; } +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; } @@ -14899,12 +14899,12 @@ const ifcopenshell::entity& Ifc4x2::IfcUShapeProfileDef::Class() { return *((ifc 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); } -void Ifc4x2::IfcUnitAssignment::setUnits(const std::vector< ::Ifc4x2::IfcUnit >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x2::IfcUnit > Ifc4x2::IfcUnitAssignment::Units() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcUnit>(es); } +void Ifc4x2::IfcUnitAssignment::setUnits(const std::vector< ::Ifc4x2::IfcUnit >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x2::IfcUnitAssignment::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1164]); } -Ifc4x2::IfcUnitAssignment Ifc4x2::IfcUnitAssignment::initialize(std::vector< ::Ifc4x2::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units));; return *this; } +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)); } @@ -14920,7 +14920,7 @@ void Ifc4x2::IfcUnitaryControlElementType::setPredefinedType(const ::Ifc4x2::Ifc const ifcopenshell::entity& Ifc4x2::IfcUnitaryControlElementType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1159]); } -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; } +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)); } @@ -14936,7 +14936,7 @@ void Ifc4x2::IfcUnitaryEquipmentType::setPredefinedType(const ::Ifc4x2::IfcUnita const ifcopenshell::entity& Ifc4x2::IfcUnitaryEquipmentType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1162]); } -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; } +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)); } @@ -14952,10 +14952,10 @@ void Ifc4x2::IfcValveType::setPredefinedType(const ::Ifc4x2::IfcValveTypeEnum::V const ifcopenshell::entity& Ifc4x2::IfcValveType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1170]); } -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; } +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>(); } +::Ifc4x2::IfcDirection Ifc4x2::IfcVector::Orientation() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcDirection>(); } void Ifc4x2::IfcVector::setOrientation(const ::Ifc4x2::IfcDirection& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x2::IfcVector::Magnitude() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcVector::setMagnitude(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -14971,7 +14971,7 @@ const ifcopenshell::entity& Ifc4x2::IfcVertex::Class() { return *((ifcopenshell: 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>(); } +::Ifc4x2::IfcVertex Ifc4x2::IfcVertexLoop::LoopVertex() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcVertex>(); } void Ifc4x2::IfcVertexLoop::setLoopVertex(const ::Ifc4x2::IfcVertex& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -14979,7 +14979,7 @@ const ifcopenshell::entity& Ifc4x2::IfcVertexLoop::Class() { return *((ifcopensh 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>(); } +::Ifc4x2::IfcPoint Ifc4x2::IfcVertexPoint::VertexGeometry() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x2::IfcPoint>(); } void Ifc4x2::IfcVertexPoint::setVertexGeometry(const ::Ifc4x2::IfcPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -15000,7 +15000,7 @@ void Ifc4x2::IfcVibrationDamperType::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x2::IfcVibrationDamperType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1179]); } -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; } +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)); } @@ -15016,7 +15016,7 @@ void Ifc4x2::IfcVibrationIsolatorType::setPredefinedType(const ::Ifc4x2::IfcVibr const ifcopenshell::entity& Ifc4x2::IfcVibrationIsolatorType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1182]); } -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; } +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 @@ -15025,14 +15025,14 @@ const ifcopenshell::entity& Ifc4x2::IfcVirtualElement::Class() { return *((ifcop 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); } -void Ifc4x2::IfcVirtualGridIntersection::setIntersectingAxes(const std::vector< ::Ifc4x2::IfcGridAxis >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x2::IfcGridAxis > Ifc4x2::IfcVirtualGridIntersection::IntersectingAxes() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcGridAxis>(es); } +void Ifc4x2::IfcVirtualGridIntersection::setIntersectingAxes(const std::vector< ::Ifc4x2::IfcGridAxis >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } std::vector< double > /*[2:3]*/ Ifc4x2::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc4x2::IfcVirtualGridIntersection::setOffsetDistances(const std::vector< double > /*[2:3]*/& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x2::IfcVirtualGridIntersection::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1185]); } -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; } +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)); } @@ -15068,7 +15068,7 @@ void Ifc4x2::IfcWallType::setPredefinedType(const ::Ifc4x2::IfcWallTypeEnum::Val const ifcopenshell::entity& Ifc4x2::IfcWallType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1193]); } -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; } +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)); } @@ -15084,7 +15084,7 @@ void Ifc4x2::IfcWasteTerminalType::setPredefinedType(const ::Ifc4x2::IfcWasteTer const ifcopenshell::entity& Ifc4x2::IfcWasteTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1199]); } -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; } +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; } @@ -15119,7 +15119,7 @@ std::optional< double > Ifc4x2::IfcWindowLiningProperties::FirstMullionOffset() void Ifc4x2::IfcWindowLiningProperties::setFirstMullionOffset(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } std::optional< double > Ifc4x2::IfcWindowLiningProperties::SecondMullionOffset() const { if(get_attribute_value(11).isNull()) { return std::nullopt; } double v = get_attribute_value(11); return v; } void Ifc4x2::IfcWindowLiningProperties::setSecondMullionOffset(const std::optional< double >& v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -::Ifc4x2::IfcShapeAspect Ifc4x2::IfcWindowLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(12).isNull()) { return ::Ifc4x2::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(12))).as<::Ifc4x2::IfcShapeAspect>(); } +::Ifc4x2::IfcShapeAspect Ifc4x2::IfcWindowLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(12).isNull()) { return ::Ifc4x2::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(12))).as<::Ifc4x2::IfcShapeAspect>(); } void Ifc4x2::IfcWindowLiningProperties::setShapeAspectStyle(const ::Ifc4x2::IfcShapeAspect& v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } std::optional< double > Ifc4x2::IfcWindowLiningProperties::LiningOffset() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } double v = get_attribute_value(13); return v; } void Ifc4x2::IfcWindowLiningProperties::setLiningOffset(const std::optional< double >& v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } @@ -15141,7 +15141,7 @@ std::optional< double > Ifc4x2::IfcWindowPanelProperties::FrameDepth() const { i void Ifc4x2::IfcWindowPanelProperties::setFrameDepth(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } std::optional< double > Ifc4x2::IfcWindowPanelProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } void Ifc4x2::IfcWindowPanelProperties::setFrameThickness(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x2::IfcShapeAspect Ifc4x2::IfcWindowPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x2::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x2::IfcShapeAspect>(); } +::Ifc4x2::IfcShapeAspect Ifc4x2::IfcWindowPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x2::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x2::IfcShapeAspect>(); } void Ifc4x2::IfcWindowPanelProperties::setShapeAspectStyle(const ::Ifc4x2::IfcShapeAspect& v) { set_attribute_value(8, v);if constexpr (false)unset_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]); } -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; } +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,25 +15180,25 @@ void Ifc4x2::IfcWindowType::setUserDefinedPartitioningType(const std::optional< const ifcopenshell::entity& Ifc4x2::IfcWindowType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1210]); } -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; } +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); } -void Ifc4x2::IfcWorkCalendar::setWorkingTimes(const std::optional< std::vector< ::Ifc4x2::IfcWorkTime > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x2::IfcWorkTime > > Ifc4x2::IfcWorkCalendar::ExceptionTimes() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x2::IfcWorkTime>(es); } -void Ifc4x2::IfcWorkCalendar::setExceptionTimes(const std::optional< std::vector< ::Ifc4x2::IfcWorkTime > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +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); } +void Ifc4x2::IfcWorkCalendar::setWorkingTimes(const std::optional< std::vector< ::Ifc4x2::IfcWorkTime > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +std::optional< std::vector< ::Ifc4x2::IfcWorkTime > > Ifc4x2::IfcWorkCalendar::ExceptionTimes() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x2::IfcWorkTime>(es); } +void Ifc4x2::IfcWorkCalendar::setExceptionTimes(const std::optional< std::vector< ::Ifc4x2::IfcWorkTime > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< ::Ifc4x2::IfcWorkCalendarTypeEnum::Value > Ifc4x2::IfcWorkCalendar::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcWorkCalendarTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcWorkCalendar::setPredefinedType(const std::optional< ::Ifc4x2::IfcWorkCalendarTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x2::IfcWorkCalendarTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const ifcopenshell::entity& Ifc4x2::IfcWorkCalendar::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1213]); } -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; } +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; } void Ifc4x2::IfcWorkControl::setCreationDate(const std::string& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::optional< std::vector< ::Ifc4x2::IfcPerson > > Ifc4x2::IfcWorkControl::Creators() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x2::IfcPerson>(es); } -void Ifc4x2::IfcWorkControl::setCreators(const std::optional< std::vector< ::Ifc4x2::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x2::IfcPerson > > Ifc4x2::IfcWorkControl::Creators() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x2::IfcPerson>(es); } +void Ifc4x2::IfcWorkControl::setCreators(const std::optional< std::vector< ::Ifc4x2::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< std::string > Ifc4x2::IfcWorkControl::Purpose() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x2::IfcWorkControl::setPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } std::optional< std::string > Ifc4x2::IfcWorkControl::Duration() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::string v = get_attribute_value(9); 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]); } -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; } +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]); } -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; } +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,10 +15228,10 @@ void Ifc4x2::IfcWorkSchedule::setPredefinedType(const std::optional< ::Ifc4x2::I const ifcopenshell::entity& Ifc4x2::IfcWorkSchedule::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1218]); } -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; } +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>(); } +::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>(); } void Ifc4x2::IfcWorkTime::setRecurrencePattern(const ::Ifc4x2::IfcRecurrencePattern& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x2::IfcWorkTime::Start() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcWorkTime::setStart(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } diff --git a/src/ifcparse/schemas/Ifc4x2.h b/src/ifcparse/schemas/Ifc4x2.h index 2732a036cf..ac4c7e61a9 100644 --- a/src/ifcparse/schemas/Ifc4x2.h +++ b/src/ifcparse/schemas/Ifc4x2.h @@ -65,28 +65,28 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcOrganization An organization. /// IfcPerson A person. /// IfcPersonAndOrganization A person related to an organization. -class IFC_SCHEMA_API IfcActorSelect : public express::Select { +class IFC_SCHEMA_API IfcActorSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOrganization as() const { return express::Base::as(); } + // IfcOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPerson as() const { return express::Base::as(); } + // IfcPerson as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPersonAndOrganization as() const { return express::Base::as(); } + // IfcPersonAndOrganization as() const { return express::base::as(); } - IfcActorSelect(const IfcOrganization& c) : express::Select(c) {}; + IfcActorSelect(const IfcOrganization& c) : express::select(c) {}; - IfcActorSelect(const IfcPerson& c) : express::Select(c) {}; + IfcActorSelect(const IfcPerson& c) : express::select(c) {}; - IfcActorSelect(const IfcPersonAndOrganization& c) : express::Select(c) {}; + IfcActorSelect(const IfcPersonAndOrganization& c) : express::select(c) {}; }; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. @@ -103,694 +103,694 @@ public: /// Selecting IfcMeasureWithUnit allows the specification of both the actual figure for the value together with the currency in which the value is represented. /// Selecting IfcMonetaryMeasure allows the specification only of the value, the currency being as set by the global context /// 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_SCHEMA_API IfcAppliedValueSelect : public express::Select { +class IFC_SCHEMA_API IfcAppliedValueSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureWithUnit as() const { return express::Base::as(); } + // IfcMeasureWithUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReference as() const { return express::Base::as(); } + // IfcReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcValue as() const { return express::Base::as(); } + // IfcValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedMeasureValue as() const { return express::Base::as(); } + // IfcDerivedMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureValue as() const { return express::Base::as(); } + // IfcMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSimpleValue as() const { return express::Base::as(); } + // IfcSimpleValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } - IfcAppliedValueSelect(const IfcMeasureWithUnit& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMeasureWithUnit& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcReference& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcReference& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDerivedMeasureValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDerivedMeasureValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcForceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcForceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPHMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPHMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPowerMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPressureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcWarpingMomentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMeasureValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMeasureValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAreaMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcComplexNumber& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcComplexNumber& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcCountMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcCountMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcNumericMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcParameterValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcParameterValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRatioMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTimeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcVolumeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSimpleValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSimpleValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcBinary& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcBinary& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcBoolean& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDate& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDate& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDateTime& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDateTime& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDuration& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDuration& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIdentifier& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIdentifier& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcInteger& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcInteger& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLabel& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLabel& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLogical& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLogical& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositiveInteger& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcReal& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcReal& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcText& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcText& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTime& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTime& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTimeStamp& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTimeStamp& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. @@ -798,43 +798,43 @@ public: /// NOTE: Corresponding STEP type: axis2_placement, please refer to ISO/IS 10303-42:1994, p. 19 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 1.5 -class IFC_SCHEMA_API IfcAxis2Placement : public express::Select { +class IFC_SCHEMA_API IfcAxis2Placement : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAxis2Placement2D as() const { return express::Base::as(); } + // IfcAxis2Placement2D as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAxis2Placement3D as() const { return express::Base::as(); } + // IfcAxis2Placement3D as() const { return express::base::as(); } - IfcAxis2Placement(const IfcAxis2Placement2D& c) : express::Select(c) {}; + IfcAxis2Placement(const IfcAxis2Placement2D& c) : express::select(c) {}; - IfcAxis2Placement(const IfcAxis2Placement3D& c) : express::Select(c) {}; + IfcAxis2Placement(const IfcAxis2Placement3D& c) : express::select(c) {}; }; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// /// HISTORY New type in IFC Release 2x4 -class IFC_SCHEMA_API IfcBendingParameterSelect : public express::Select { +class IFC_SCHEMA_API IfcBendingParameterSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } - IfcBendingParameterSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcBendingParameterSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcBendingParameterSelect(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcBendingParameterSelect(const IfcPlaneAngleMeasure& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies @@ -853,40 +853,40 @@ public: /// (IfcSolidModel) are defined for being valid Boolean operands. /// /// HISTORY: New Type in IFC Release 1.5.1 -class IFC_SCHEMA_API IfcBooleanOperand : public express::Select { +class IFC_SCHEMA_API IfcBooleanOperand : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBooleanResult as() const { return express::Base::as(); } + // IfcBooleanResult as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCsgPrimitive3D as() const { return express::Base::as(); } + // IfcCsgPrimitive3D as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHalfSpaceSolid as() const { return express::Base::as(); } + // IfcHalfSpaceSolid as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidModel as() const { return express::Base::as(); } + // IfcSolidModel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTessellatedFaceSet as() const { return express::Base::as(); } + // IfcTessellatedFaceSet as() const { return express::base::as(); } - IfcBooleanOperand(const IfcBooleanResult& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcBooleanResult& c) : express::select(c) {}; - IfcBooleanOperand(const IfcCsgPrimitive3D& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcCsgPrimitive3D& c) : express::select(c) {}; - IfcBooleanOperand(const IfcHalfSpaceSolid& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcHalfSpaceSolid& c) : express::select(c) {}; - IfcBooleanOperand(const IfcSolidModel& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcSolidModel& c) : express::select(c) {}; - IfcBooleanOperand(const IfcTessellatedFaceSet& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcTessellatedFaceSet& c) : express::select(c) {}; }; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. @@ -897,22 +897,22 @@ public: /// /// IfcClassification (for classification information) /// IfcClassificationReference (for reference into a classification source) -class IFC_SCHEMA_API IfcClassificationReferenceSelect : public express::Select { +class IFC_SCHEMA_API IfcClassificationReferenceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassification as() const { return express::Base::as(); } + // IfcClassification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassificationReference as() const { return express::Base::as(); } + // IfcClassificationReference as() const { return express::base::as(); } - IfcClassificationReferenceSelect(const IfcClassification& c) : express::Select(c) {}; + IfcClassificationReferenceSelect(const IfcClassification& c) : express::select(c) {}; - IfcClassificationReferenceSelect(const IfcClassificationReference& c) : express::Select(c) {}; + IfcClassificationReferenceSelect(const IfcClassificationReference& c) : express::select(c) {}; }; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. @@ -928,22 +928,22 @@ public: /// /// IfcClassification (for referencing a classification system) /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) -class IFC_SCHEMA_API IfcClassificationSelect : public express::Select { +class IFC_SCHEMA_API IfcClassificationSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassification as() const { return express::Base::as(); } + // IfcClassification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassificationReference as() const { return express::Base::as(); } + // IfcClassificationReference as() const { return express::base::as(); } - IfcClassificationSelect(const IfcClassification& c) : express::Select(c) {}; + IfcClassificationSelect(const IfcClassification& c) : express::select(c) {}; - IfcClassificationSelect(const IfcClassificationReference& c) : express::Select(c) {}; + IfcClassificationSelect(const IfcClassificationReference& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. @@ -951,64 +951,64 @@ public: /// NOTE  Corresponding STEP name: colour. It has been made into a SELECT type in IFC to avoid multiple inheritance for pre defined colour. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_SCHEMA_API IfcColour : public express::Select { +class IFC_SCHEMA_API IfcColour : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColourSpecification as() const { return express::Base::as(); } + // IfcColourSpecification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedColour as() const { return express::Base::as(); } + // IfcPreDefinedColour as() const { return express::base::as(); } - IfcColour(const IfcColourSpecification& c) : express::Select(c) {}; + IfcColour(const IfcColourSpecification& c) : express::select(c) {}; - IfcColour(const IfcPreDefinedColour& c) : express::Select(c) {}; + IfcColour(const IfcPreDefinedColour& c) : express::select(c) {}; }; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcColourOrFactor : public express::Select { +class IFC_SCHEMA_API IfcColourOrFactor : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColourRgb as() const { return express::Base::as(); } + // IfcColourRgb as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } - IfcColourOrFactor(const IfcColourRgb& c) : express::Select(c) {}; + IfcColourOrFactor(const IfcColourRgb& c) : express::select(c) {}; - IfcColourOrFactor(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcColourOrFactor(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; }; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// /// HISTORY  New select type in IFC2x4. -class IFC_SCHEMA_API IfcCoordinateReferenceSystemSelect : public express::Select { +class IFC_SCHEMA_API IfcCoordinateReferenceSystemSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCoordinateReferenceSystem as() const { return express::Base::as(); } + // IfcCoordinateReferenceSystem as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcGeometricRepresentationContext as() const { return express::Base::as(); } + // IfcGeometricRepresentationContext as() const { return express::base::as(); } - IfcCoordinateReferenceSystemSelect(const IfcCoordinateReferenceSystem& c) : express::Select(c) {}; + IfcCoordinateReferenceSystemSelect(const IfcCoordinateReferenceSystem& c) : express::select(c) {}; - IfcCoordinateReferenceSystemSelect(const IfcGeometricRepresentationContext& c) : express::Select(c) {}; + IfcCoordinateReferenceSystemSelect(const IfcGeometricRepresentationContext& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. @@ -1017,22 +1017,22 @@ public: /// NOTE Corresponding ISO 10303-42 type: csg_select, please refer to ISO/IS 10303-42:1994, p.168 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcCsgSelect : public express::Select { +class IFC_SCHEMA_API IfcCsgSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBooleanResult as() const { return express::Base::as(); } + // IfcBooleanResult as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCsgPrimitive3D as() const { return express::Base::as(); } + // IfcCsgPrimitive3D as() const { return express::base::as(); } - IfcCsgSelect(const IfcBooleanResult& c) : express::Select(c) {}; + IfcCsgSelect(const IfcBooleanResult& c) : express::select(c) {}; - IfcCsgSelect(const IfcCsgPrimitive3D& c) : express::Select(c) {}; + IfcCsgSelect(const IfcCsgPrimitive3D& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. @@ -1040,59 +1040,59 @@ public: /// NOTE Corresponding ISO 10303 name: curve_font_or_scaled_curve_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_SCHEMA_API IfcCurveFontOrScaledCurveFontSelect : public express::Select { +class IFC_SCHEMA_API IfcCurveFontOrScaledCurveFontSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFontAndScaling as() const { return express::Base::as(); } + // IfcCurveStyleFontAndScaling as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFontSelect as() const { return express::Base::as(); } + // IfcCurveStyleFontSelect as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFont as() const { return express::Base::as(); } + // IfcCurveStyleFont as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedCurveFont as() const { return express::Base::as(); } + // IfcPreDefinedCurveFont as() const { return express::base::as(); } - IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontAndScaling& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontAndScaling& c) : express::select(c) {}; - IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontSelect& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontSelect& c) : express::select(c) {}; - IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFont& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFont& c) : express::select(c) {}; - IfcCurveFontOrScaledCurveFontSelect(const IfcPreDefinedCurveFont& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcPreDefinedCurveFont& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcCurveOnSurface : public express::Select { +class IFC_SCHEMA_API IfcCurveOnSurface : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompositeCurveOnSurface as() const { return express::Base::as(); } + // IfcCompositeCurveOnSurface as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPcurve as() const { return express::Base::as(); } + // IfcPcurve as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceCurve as() const { return express::Base::as(); } + // IfcSurfaceCurve as() const { return express::base::as(); } - IfcCurveOnSurface(const IfcCompositeCurveOnSurface& c) : express::Select(c) {}; + IfcCurveOnSurface(const IfcCompositeCurveOnSurface& c) : express::select(c) {}; - IfcCurveOnSurface(const IfcPcurve& c) : express::Select(c) {}; + IfcCurveOnSurface(const IfcPcurve& c) : express::select(c) {}; - IfcCurveOnSurface(const IfcSurfaceCurve& c) : express::Select(c) {}; + IfcCurveOnSurface(const IfcSurfaceCurve& c) : express::select(c) {}; }; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve @@ -1103,22 +1103,22 @@ public: /// IfcEdgeCurve /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_SCHEMA_API IfcCurveOrEdgeCurve : public express::Select { +class IFC_SCHEMA_API IfcCurveOrEdgeCurve : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoundedCurve as() const { return express::Base::as(); } + // IfcBoundedCurve as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEdgeCurve as() const { return express::Base::as(); } + // IfcEdgeCurve as() const { return express::base::as(); } - IfcCurveOrEdgeCurve(const IfcBoundedCurve& c) : express::Select(c) {}; + IfcCurveOrEdgeCurve(const IfcBoundedCurve& c) : express::select(c) {}; - IfcCurveOrEdgeCurve(const IfcEdgeCurve& c) : express::Select(c) {}; + IfcCurveOrEdgeCurve(const IfcEdgeCurve& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. @@ -1126,22 +1126,22 @@ public: /// NOTE Corresponding ISO 10303 name: curve_style_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_SCHEMA_API IfcCurveStyleFontSelect : public express::Select { +class IFC_SCHEMA_API IfcCurveStyleFontSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFont as() const { return express::Base::as(); } + // IfcCurveStyleFont as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedCurveFont as() const { return express::Base::as(); } + // IfcPreDefinedCurveFont as() const { return express::base::as(); } - IfcCurveStyleFontSelect(const IfcCurveStyleFont& c) : express::Select(c) {}; + IfcCurveStyleFontSelect(const IfcCurveStyleFont& c) : express::select(c) {}; - IfcCurveStyleFontSelect(const IfcPreDefinedCurveFont& c) : express::Select(c) {}; + IfcCurveStyleFontSelect(const IfcPreDefinedCurveFont& c) : express::select(c) {}; }; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. @@ -1151,22 +1151,22 @@ public: /// IfcPropertyDefinition /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcDefinitionSelect : public express::Select { +class IFC_SCHEMA_API IfcDefinitionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcObjectDefinition as() const { return express::Base::as(); } + // IfcObjectDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertyDefinition as() const { return express::Base::as(); } + // IfcPropertyDefinition as() const { return express::base::as(); } - IfcDefinitionSelect(const IfcObjectDefinition& c) : express::Select(c) {}; + IfcDefinitionSelect(const IfcObjectDefinition& c) : express::select(c) {}; - IfcDefinitionSelect(const IfcPropertyDefinition& c) : express::Select(c) {}; + IfcDefinitionSelect(const IfcPropertyDefinition& c) : express::select(c) {}; }; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. @@ -1243,436 +1243,436 @@ public: /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. -class IFC_SCHEMA_API IfcDerivedMeasureValue : public express::Select { +class IFC_SCHEMA_API IfcDerivedMeasureValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } - IfcDerivedMeasureValue(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcForceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcForceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPHMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPHMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPowerMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPressureMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcWarpingMomentMeasure& c) : express::select(c) {}; }; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. @@ -1683,22 +1683,22 @@ public: /// /// IfcDocumentInformation (for "metadata" of an external document) /// IfcDocumentReference (for reference within a document) -class IFC_SCHEMA_API IfcDocumentSelect : public express::Select { +class IFC_SCHEMA_API IfcDocumentSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDocumentInformation as() const { return express::Base::as(); } + // IfcDocumentInformation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDocumentReference as() const { return express::Base::as(); } + // IfcDocumentReference as() const { return express::base::as(); } - IfcDocumentSelect(const IfcDocumentInformation& c) : express::Select(c) {}; + IfcDocumentSelect(const IfcDocumentInformation& c) : express::select(c) {}; - IfcDocumentSelect(const IfcDocumentReference& c) : express::Select(c) {}; + IfcDocumentSelect(const IfcDocumentReference& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. @@ -1707,46 +1707,46 @@ public: /// the final definition of the formal standard. /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcFillStyleSelect : public express::Select { +class IFC_SCHEMA_API IfcFillStyleSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColour as() const { return express::Base::as(); } + // IfcColour as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColourSpecification as() const { return express::Base::as(); } + // IfcColourSpecification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedColour as() const { return express::Base::as(); } + // IfcPreDefinedColour as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternallyDefinedHatchStyle as() const { return express::Base::as(); } + // IfcExternallyDefinedHatchStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFillAreaStyleHatching as() const { return express::Base::as(); } + // IfcFillAreaStyleHatching as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFillAreaStyleTiles as() const { return express::Base::as(); } + // IfcFillAreaStyleTiles as() const { return express::base::as(); } - IfcFillStyleSelect(const IfcColour& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcColour& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcColourSpecification& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcColourSpecification& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcPreDefinedColour& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcPreDefinedColour& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcExternallyDefinedHatchStyle& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcExternallyDefinedHatchStyle& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcFillAreaStyleHatching& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcFillAreaStyleHatching& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcFillAreaStyleTiles& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcFillAreaStyleTiles& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. @@ -1754,28 +1754,28 @@ public: /// NOTE: Corresponding ISO 10303 type: geometric_set_select. Please refer to ISO/IS 10303-42:1994, p. 169 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 2x. -class IFC_SCHEMA_API IfcGeometricSetSelect : public express::Select { +class IFC_SCHEMA_API IfcGeometricSetSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurve as() const { return express::Base::as(); } + // IfcCurve as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPoint as() const { return express::Base::as(); } + // IfcPoint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurface as() const { return express::Base::as(); } + // IfcSurface as() const { return express::base::as(); } - IfcGeometricSetSelect(const IfcCurve& c) : express::Select(c) {}; + IfcGeometricSetSelect(const IfcCurve& c) : express::select(c) {}; - IfcGeometricSetSelect(const IfcPoint& c) : express::Select(c) {}; + IfcGeometricSetSelect(const IfcPoint& c) : express::select(c) {}; - IfcGeometricSetSelect(const IfcSurface& c) : express::Select(c) {}; + IfcGeometricSetSelect(const IfcSurface& c) : express::select(c) {}; }; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. @@ -1786,43 +1786,43 @@ public: /// IfcVirtualGridIntersection /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcGridPlacementDirectionSelect : public express::Select { +class IFC_SCHEMA_API IfcGridPlacementDirectionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDirection as() const { return express::Base::as(); } + // IfcDirection as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVirtualGridIntersection as() const { return express::Base::as(); } + // IfcVirtualGridIntersection as() const { return express::base::as(); } - IfcGridPlacementDirectionSelect(const IfcDirection& c) : express::Select(c) {}; + IfcGridPlacementDirectionSelect(const IfcDirection& c) : express::select(c) {}; - IfcGridPlacementDirectionSelect(const IfcVirtualGridIntersection& c) : express::Select(c) {}; + IfcGridPlacementDirectionSelect(const IfcVirtualGridIntersection& c) : express::select(c) {}; }; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcHatchLineDistanceSelect : public express::Select { +class IFC_SCHEMA_API IfcHatchLineDistanceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVector as() const { return express::Base::as(); } + // IfcVector as() const { return express::base::as(); } - IfcHatchLineDistanceSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcHatchLineDistanceSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcHatchLineDistanceSelect(const IfcVector& c) : express::Select(c) {}; + IfcHatchLineDistanceSelect(const IfcVector& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. @@ -1832,22 +1832,22 @@ public: /// NOTE: Corresponding ISO 10303 name: layered_item. It was called layered_things in the ISO/CD version and had been renamed to layered_item in the ISO/IS final version. Please refer to ISO/IS 10303-46:1994, p. 13 for the final definition of the formal standard. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcLayeredItem : public express::Select { +class IFC_SCHEMA_API IfcLayeredItem : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRepresentation as() const { return express::Base::as(); } + // IfcRepresentation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRepresentationItem as() const { return express::Base::as(); } + // IfcRepresentationItem as() const { return express::base::as(); } - IfcLayeredItem(const IfcRepresentation& c) : express::Select(c) {}; + IfcLayeredItem(const IfcRepresentation& c) : express::select(c) {}; - IfcLayeredItem(const IfcRepresentationItem& c) : express::Select(c) {}; + IfcLayeredItem(const IfcRepresentationItem& c) : express::select(c) {}; }; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. @@ -1860,22 +1860,22 @@ public: /// IfcLibraryReference (for reference into a library of information by location) /// /// 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_SCHEMA_API IfcLibrarySelect : public express::Select { +class IFC_SCHEMA_API IfcLibrarySelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLibraryInformation as() const { return express::Base::as(); } + // IfcLibraryInformation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLibraryReference as() const { return express::Base::as(); } + // IfcLibraryReference as() const { return express::base::as(); } - IfcLibrarySelect(const IfcLibraryInformation& c) : express::Select(c) {}; + IfcLibrarySelect(const IfcLibraryInformation& c) : express::select(c) {}; - IfcLibrarySelect(const IfcLibraryReference& c) : express::Select(c) {}; + IfcLibrarySelect(const IfcLibraryReference& c) : express::select(c) {}; }; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. @@ -1900,22 +1900,22 @@ public: /// directions covers all cases. /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcLightDistributionDataSourceSelect : public express::Select { +class IFC_SCHEMA_API IfcLightDistributionDataSourceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalReference as() const { return express::Base::as(); } + // IfcExternalReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLightIntensityDistribution as() const { return express::Base::as(); } + // IfcLightIntensityDistribution as() const { return express::base::as(); } - IfcLightDistributionDataSourceSelect(const IfcExternalReference& c) : express::Select(c) {}; + IfcLightDistributionDataSourceSelect(const IfcExternalReference& c) : express::select(c) {}; - IfcLightDistributionDataSourceSelect(const IfcLightIntensityDistribution& c) : express::Select(c) {}; + IfcLightDistributionDataSourceSelect(const IfcLightIntensityDistribution& c) : express::select(c) {}; }; /// IfcMaterialSelect provides selection of either a material @@ -1944,28 +1944,28 @@ public: /// /// IFC2x4 CHANGE The select now includes two new abstract entities IfcMaterialDefinition /// and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards. -class IFC_SCHEMA_API IfcMaterialSelect : public express::Select { +class IFC_SCHEMA_API IfcMaterialSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialDefinition as() const { return express::Base::as(); } + // IfcMaterialDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialList as() const { return express::Base::as(); } + // IfcMaterialList as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialUsageDefinition as() const { return express::Base::as(); } + // IfcMaterialUsageDefinition as() const { return express::base::as(); } - IfcMaterialSelect(const IfcMaterialDefinition& c) : express::Select(c) {}; + IfcMaterialSelect(const IfcMaterialDefinition& c) : express::select(c) {}; - IfcMaterialSelect(const IfcMaterialList& c) : express::Select(c) {}; + IfcMaterialSelect(const IfcMaterialList& c) : express::select(c) {}; - IfcMaterialSelect(const IfcMaterialUsageDefinition& c) : express::Select(c) {}; + IfcMaterialSelect(const IfcMaterialUsageDefinition& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). @@ -1977,148 +1977,148 @@ public: /// HISTORY New type in IFC Release 1.5.1. /// /// IFC 2x4 change: added IfcNonNegativeLengthMeasure -class IFC_SCHEMA_API IfcMeasureValue : public express::Select { +class IFC_SCHEMA_API IfcMeasureValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } - IfcMeasureValue(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcAreaMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcComplexNumber& c) : express::Select(c) {}; + IfcMeasureValue(const IfcComplexNumber& c) : express::select(c) {}; - IfcMeasureValue(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcCountMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcCountMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcLengthMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcMassMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcMassMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcNumericMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcParameterValue& c) : express::Select(c) {}; + IfcMeasureValue(const IfcParameterValue& c) : express::select(c) {}; - IfcMeasureValue(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcRatioMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcTimeMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcVolumeMeasure& c) : express::select(c) {}; }; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. @@ -2133,838 +2133,838 @@ public: /// IfcTable /// IfcText /// IfcTimeSeries -class IFC_SCHEMA_API IfcMetricValueSelect : public express::Select { +class IFC_SCHEMA_API IfcMetricValueSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAppliedValue as() const { return express::Base::as(); } + // IfcAppliedValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureWithUnit as() const { return express::Base::as(); } + // IfcMeasureWithUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReference as() const { return express::Base::as(); } + // IfcReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTable as() const { return express::Base::as(); } + // IfcTable as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeSeries as() const { return express::Base::as(); } + // IfcTimeSeries as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcValue as() const { return express::Base::as(); } + // IfcValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedMeasureValue as() const { return express::Base::as(); } + // IfcDerivedMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureValue as() const { return express::Base::as(); } + // IfcMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSimpleValue as() const { return express::Base::as(); } + // IfcSimpleValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } - IfcMetricValueSelect(const IfcAppliedValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAppliedValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMeasureWithUnit& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMeasureWithUnit& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcReference& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcReference& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTable& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTable& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTimeSeries& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTimeSeries& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDerivedMeasureValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDerivedMeasureValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcForceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcForceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPHMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPHMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPowerMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPressureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcWarpingMomentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMeasureValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMeasureValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAreaMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcComplexNumber& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcComplexNumber& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcCountMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcCountMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcNumericMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcParameterValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcParameterValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRatioMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTimeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcVolumeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSimpleValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSimpleValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcBinary& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcBinary& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcBoolean& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDate& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDate& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDateTime& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDateTime& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDuration& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDuration& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIdentifier& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIdentifier& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcInteger& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcInteger& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLabel& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLabel& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLogical& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLogical& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositiveInteger& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcReal& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcReal& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcText& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcText& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTime& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTime& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTimeStamp& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTimeStamp& c) : express::select(c) {}; }; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionSelect : public express::Select { +class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } - IfcModulusOfRotationalSubgradeReactionSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcModulusOfRotationalSubgradeReactionSelect(const IfcBoolean& c) : express::select(c) {}; - IfcModulusOfRotationalSubgradeReactionSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcModulusOfRotationalSubgradeReactionSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; }; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcModulusOfSubgradeReactionSelect : public express::Select { +class IFC_SCHEMA_API IfcModulusOfSubgradeReactionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } - IfcModulusOfSubgradeReactionSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcModulusOfSubgradeReactionSelect(const IfcBoolean& c) : express::select(c) {}; - IfcModulusOfSubgradeReactionSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcModulusOfSubgradeReactionSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; }; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcModulusOfTranslationalSubgradeReactionSelect : public express::Select { +class IFC_SCHEMA_API IfcModulusOfTranslationalSubgradeReactionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } - IfcModulusOfTranslationalSubgradeReactionSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcModulusOfTranslationalSubgradeReactionSelect(const IfcBoolean& c) : express::select(c) {}; - IfcModulusOfTranslationalSubgradeReactionSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcModulusOfTranslationalSubgradeReactionSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; }; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// /// HISTORY  New select type in IFC Release 2.0. -class IFC_SCHEMA_API IfcObjectReferenceSelect : public express::Select { +class IFC_SCHEMA_API IfcObjectReferenceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAddress as() const { return express::Base::as(); } + // IfcAddress as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAppliedValue as() const { return express::Base::as(); } + // IfcAppliedValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalReference as() const { return express::Base::as(); } + // IfcExternalReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialDefinition as() const { return express::Base::as(); } + // IfcMaterialDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOrganization as() const { return express::Base::as(); } + // IfcOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPerson as() const { return express::Base::as(); } + // IfcPerson as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPersonAndOrganization as() const { return express::Base::as(); } + // IfcPersonAndOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTable as() const { return express::Base::as(); } + // IfcTable as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeSeries as() const { return express::Base::as(); } + // IfcTimeSeries as() const { return express::base::as(); } - IfcObjectReferenceSelect(const IfcAddress& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcAddress& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcAppliedValue& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcAppliedValue& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcExternalReference& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcExternalReference& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcMaterialDefinition& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcMaterialDefinition& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcOrganization& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcOrganization& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcPerson& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcPerson& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcPersonAndOrganization& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcPersonAndOrganization& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcTable& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcTable& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcTimeSeries& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcTimeSeries& c) : express::select(c) {}; }; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. @@ -2974,22 +2974,22 @@ public: /// IfcVertexPoint /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_SCHEMA_API IfcPointOrVertexPoint : public express::Select { +class IFC_SCHEMA_API IfcPointOrVertexPoint : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPoint as() const { return express::Base::as(); } + // IfcPoint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVertexPoint as() const { return express::Base::as(); } + // IfcVertexPoint as() const { return express::base::as(); } - IfcPointOrVertexPoint(const IfcPoint& c) : express::Select(c) {}; + IfcPointOrVertexPoint(const IfcPoint& c) : express::select(c) {}; - IfcPointOrVertexPoint(const IfcVertexPoint& c) : express::Select(c) {}; + IfcPointOrVertexPoint(const IfcVertexPoint& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The presentation style select is a selection of one of many kinds of styles, a different one for each kind of geometric representation item to be styled. @@ -3000,40 +3000,40 @@ public: /// HISTORY New type in IFC2x2. /// /// IFC2x4 CHANGE The select type has been deprecated. -class IFC_SCHEMA_API IfcPresentationStyleSelect : public express::Select { +class IFC_SCHEMA_API IfcPresentationStyleSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyle as() const { return express::Base::as(); } + // IfcCurveStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFillAreaStyle as() const { return express::Base::as(); } + // IfcFillAreaStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNullStyle as() const { return express::Base::as(); } + // IfcNullStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyle as() const { return express::Base::as(); } + // IfcSurfaceStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTextStyle as() const { return express::Base::as(); } + // IfcTextStyle as() const { return express::base::as(); } - IfcPresentationStyleSelect(const IfcCurveStyle& c) : express::Select(c) {}; + IfcPresentationStyleSelect(const IfcCurveStyle& c) : express::select(c) {}; - IfcPresentationStyleSelect(const IfcFillAreaStyle& c) : express::Select(c) {}; + IfcPresentationStyleSelect(const IfcFillAreaStyle& c) : express::select(c) {}; - IfcPresentationStyleSelect(const IfcNullStyle& c) : express::Select(c) {}; + IfcPresentationStyleSelect(const IfcNullStyle& c) : express::select(c) {}; - IfcPresentationStyleSelect(const IfcSurfaceStyle& c) : express::Select(c) {}; + IfcPresentationStyleSelect(const IfcSurfaceStyle& c) : express::select(c) {}; - IfcPresentationStyleSelect(const IfcTextStyle& c) : express::Select(c) {}; + IfcPresentationStyleSelect(const IfcTextStyle& c) : express::select(c) {}; }; /// IfcProcessSelectprovides the option to either @@ -3046,41 +3046,41 @@ public: /// IfcTypeProcess /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcProcessSelect : public express::Select { +class IFC_SCHEMA_API IfcProcessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProcess as() const { return express::Base::as(); } + // IfcProcess as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTypeProcess as() const { return express::Base::as(); } + // IfcTypeProcess as() const { return express::base::as(); } - IfcProcessSelect(const IfcProcess& c) : express::Select(c) {}; + IfcProcessSelect(const IfcProcess& c) : express::select(c) {}; - IfcProcessSelect(const IfcTypeProcess& c) : express::Select(c) {}; + IfcProcessSelect(const IfcTypeProcess& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcProductRepresentationSelect : public express::Select { +class IFC_SCHEMA_API IfcProductRepresentationSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProductDefinitionShape as() const { return express::Base::as(); } + // IfcProductDefinitionShape as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRepresentationMap as() const { return express::Base::as(); } + // IfcRepresentationMap as() const { return express::base::as(); } - IfcProductRepresentationSelect(const IfcProductDefinitionShape& c) : express::Select(c) {}; + IfcProductRepresentationSelect(const IfcProductDefinitionShape& c) : express::select(c) {}; - IfcProductRepresentationSelect(const IfcRepresentationMap& c) : express::Select(c) {}; + IfcProductRepresentationSelect(const IfcRepresentationMap& c) : express::select(c) {}; }; /// IfcProductSelectprovides the option to either select a @@ -3092,152 +3092,152 @@ public: /// IfcTypeProduct /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcProductSelect : public express::Select { +class IFC_SCHEMA_API IfcProductSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProduct as() const { return express::Base::as(); } + // IfcProduct as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTypeProduct as() const { return express::Base::as(); } + // IfcTypeProduct as() const { return express::base::as(); } - IfcProductSelect(const IfcProduct& c) : express::Select(c) {}; + IfcProductSelect(const IfcProduct& c) : express::select(c) {}; - IfcProductSelect(const IfcTypeProduct& c) : express::Select(c) {}; + IfcProductSelect(const IfcTypeProduct& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcPropertySetDefinitionSelect : public express::Select { +class IFC_SCHEMA_API IfcPropertySetDefinitionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertySetDefinition as() const { return express::Base::as(); } + // IfcPropertySetDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertySetDefinitionSet as() const { return express::Base::as(); } + // IfcPropertySetDefinitionSet as() const { return express::base::as(); } - IfcPropertySetDefinitionSelect(const IfcPropertySetDefinition& c) : express::Select(c) {}; + IfcPropertySetDefinitionSelect(const IfcPropertySetDefinition& c) : express::select(c) {}; - IfcPropertySetDefinitionSelect(const IfcPropertySetDefinitionSet& c) : express::Select(c) {}; + IfcPropertySetDefinitionSelect(const IfcPropertySetDefinitionSet& c) : express::select(c) {}; }; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// /// HISTORY  New Select type in IFC2x4. -class IFC_SCHEMA_API IfcResourceObjectSelect : public express::Select { +class IFC_SCHEMA_API IfcResourceObjectSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcActorRole as() const { return express::Base::as(); } + // IfcActorRole as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAppliedValue as() const { return express::Base::as(); } + // IfcAppliedValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcApproval as() const { return express::Base::as(); } + // IfcApproval as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcConstraint as() const { return express::Base::as(); } + // IfcConstraint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentUnit as() const { return express::Base::as(); } + // IfcContextDependentUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcConversionBasedUnit as() const { return express::Base::as(); } + // IfcConversionBasedUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalInformation as() const { return express::Base::as(); } + // IfcExternalInformation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalReference as() const { return express::Base::as(); } + // IfcExternalReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialDefinition as() const { return express::Base::as(); } + // IfcMaterialDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOrganization as() const { return express::Base::as(); } + // IfcOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPerson as() const { return express::Base::as(); } + // IfcPerson as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPersonAndOrganization as() const { return express::Base::as(); } + // IfcPersonAndOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPhysicalQuantity as() const { return express::Base::as(); } + // IfcPhysicalQuantity as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProfileDef as() const { return express::Base::as(); } + // IfcProfileDef as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertyAbstraction as() const { return express::Base::as(); } + // IfcPropertyAbstraction as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShapeAspect as() const { return express::Base::as(); } + // IfcShapeAspect as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeSeries as() const { return express::Base::as(); } + // IfcTimeSeries as() const { return express::base::as(); } - IfcResourceObjectSelect(const IfcActorRole& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcActorRole& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcAppliedValue& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcAppliedValue& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcApproval& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcApproval& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcConstraint& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcConstraint& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcContextDependentUnit& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcContextDependentUnit& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcConversionBasedUnit& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcConversionBasedUnit& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcExternalInformation& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcExternalInformation& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcExternalReference& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcExternalReference& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcMaterialDefinition& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcMaterialDefinition& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcOrganization& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcOrganization& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPerson& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPerson& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPersonAndOrganization& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPersonAndOrganization& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPhysicalQuantity& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPhysicalQuantity& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcProfileDef& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcProfileDef& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPropertyAbstraction& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPropertyAbstraction& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcShapeAspect& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcShapeAspect& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcTimeSeries& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcTimeSeries& c) : express::select(c) {}; }; /// IfcResourceSelectprovides the option to either select a @@ -3249,62 +3249,62 @@ public: /// IfcTypeResource /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcResourceSelect : public express::Select { +class IFC_SCHEMA_API IfcResourceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcResource as() const { return express::Base::as(); } + // IfcResource as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTypeResource as() const { return express::Base::as(); } + // IfcTypeResource as() const { return express::base::as(); } - IfcResourceSelect(const IfcResource& c) : express::Select(c) {}; + IfcResourceSelect(const IfcResource& c) : express::select(c) {}; - IfcResourceSelect(const IfcTypeResource& c) : express::Select(c) {}; + IfcResourceSelect(const IfcTypeResource& c) : express::select(c) {}; }; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcRotationalStiffnessSelect : public express::Select { +class IFC_SCHEMA_API IfcRotationalStiffnessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } - IfcRotationalStiffnessSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcRotationalStiffnessSelect(const IfcBoolean& c) : express::select(c) {}; - IfcRotationalStiffnessSelect(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcRotationalStiffnessSelect(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcSegmentIndexSelect : public express::Select { +class IFC_SCHEMA_API IfcSegmentIndexSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcArcIndex as() const { return express::Base::as(); } + // IfcArcIndex as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLineIndex as() const { return express::Base::as(); } + // IfcLineIndex as() const { return express::base::as(); } - IfcSegmentIndexSelect(const IfcArcIndex& c) : express::Select(c) {}; + IfcSegmentIndexSelect(const IfcArcIndex& c) : express::select(c) {}; - IfcSegmentIndexSelect(const IfcLineIndex& c) : express::Select(c) {}; + IfcSegmentIndexSelect(const IfcLineIndex& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. @@ -3318,22 +3318,22 @@ public: /// NOTE  Corresponding ISO 10303 type: shell. Please refer to ISO/IS 10303-42:1994, p. 127 for the final definition of the formal standard. Only the select items closed_shell (IfcClosedShell) and open_shell (IfcOpenShell) have been incorporated in the current IFC release. /// /// HISTORY  New type in IFC2x. -class IFC_SCHEMA_API IfcShell : public express::Select { +class IFC_SCHEMA_API IfcShell : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClosedShell as() const { return express::Base::as(); } + // IfcClosedShell as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOpenShell as() const { return express::Base::as(); } + // IfcOpenShell as() const { return express::base::as(); } - IfcShell(const IfcClosedShell& c) : express::Select(c) {}; + IfcShell(const IfcClosedShell& c) : express::select(c) {}; - IfcShell(const IfcOpenShell& c) : express::Select(c) {}; + IfcShell(const IfcOpenShell& c) : express::select(c) {}; }; /// IfcSimpleValue is a select type for selecting between simple value types. @@ -3355,94 +3355,94 @@ public: /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. -class IFC_SCHEMA_API IfcSimpleValue : public express::Select { +class IFC_SCHEMA_API IfcSimpleValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } - IfcSimpleValue(const IfcBinary& c) : express::Select(c) {}; + IfcSimpleValue(const IfcBinary& c) : express::select(c) {}; - IfcSimpleValue(const IfcBoolean& c) : express::Select(c) {}; + IfcSimpleValue(const IfcBoolean& c) : express::select(c) {}; - IfcSimpleValue(const IfcDate& c) : express::Select(c) {}; + IfcSimpleValue(const IfcDate& c) : express::select(c) {}; - IfcSimpleValue(const IfcDateTime& c) : express::Select(c) {}; + IfcSimpleValue(const IfcDateTime& c) : express::select(c) {}; - IfcSimpleValue(const IfcDuration& c) : express::Select(c) {}; + IfcSimpleValue(const IfcDuration& c) : express::select(c) {}; - IfcSimpleValue(const IfcIdentifier& c) : express::Select(c) {}; + IfcSimpleValue(const IfcIdentifier& c) : express::select(c) {}; - IfcSimpleValue(const IfcInteger& c) : express::Select(c) {}; + IfcSimpleValue(const IfcInteger& c) : express::select(c) {}; - IfcSimpleValue(const IfcLabel& c) : express::Select(c) {}; + IfcSimpleValue(const IfcLabel& c) : express::select(c) {}; - IfcSimpleValue(const IfcLogical& c) : express::Select(c) {}; + IfcSimpleValue(const IfcLogical& c) : express::select(c) {}; - IfcSimpleValue(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcSimpleValue(const IfcPositiveInteger& c) : express::select(c) {}; - IfcSimpleValue(const IfcReal& c) : express::Select(c) {}; + IfcSimpleValue(const IfcReal& c) : express::select(c) {}; - IfcSimpleValue(const IfcText& c) : express::Select(c) {}; + IfcSimpleValue(const IfcText& c) : express::select(c) {}; - IfcSimpleValue(const IfcTime& c) : express::Select(c) {}; + IfcSimpleValue(const IfcTime& c) : express::select(c) {}; - IfcSimpleValue(const IfcTimeStamp& c) : express::Select(c) {}; + IfcSimpleValue(const IfcTimeStamp& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. @@ -3457,46 +3457,46 @@ public: /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. -class IFC_SCHEMA_API IfcSizeSelect : public express::Select { +class IFC_SCHEMA_API IfcSizeSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } - IfcSizeSelect(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcRatioMeasure& c) : express::select(c) {}; }; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. @@ -3506,22 +3506,22 @@ public: /// IfcClosedShell /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcSolidOrShell : public express::Select { +class IFC_SCHEMA_API IfcSolidOrShell : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClosedShell as() const { return express::Base::as(); } + // IfcClosedShell as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidModel as() const { return express::Base::as(); } + // IfcSolidModel as() const { return express::base::as(); } - IfcSolidOrShell(const IfcClosedShell& c) : express::Select(c) {}; + IfcSolidOrShell(const IfcClosedShell& c) : express::select(c) {}; - IfcSolidOrShell(const IfcSolidModel& c) : express::Select(c) {}; + IfcSolidOrShell(const IfcSolidModel& c) : express::select(c) {}; }; /// Definition from IAI: The @@ -3536,22 +3536,22 @@ public: /// /// HISTORY New select type /// in IFC2x4. -class IFC_SCHEMA_API IfcSpaceBoundarySelect : public express::Select { +class IFC_SCHEMA_API IfcSpaceBoundarySelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalSpatialElement as() const { return express::Base::as(); } + // IfcExternalSpatialElement as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpace as() const { return express::Base::as(); } + // IfcSpace as() const { return express::base::as(); } - IfcSpaceBoundarySelect(const IfcExternalSpatialElement& c) : express::Select(c) {}; + IfcSpaceBoundarySelect(const IfcExternalSpatialElement& c) : express::select(c) {}; - IfcSpaceBoundarySelect(const IfcSpace& c) : express::Select(c) {}; + IfcSpaceBoundarySelect(const IfcSpace& c) : express::select(c) {}; }; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. @@ -3564,22 +3564,22 @@ public: /// For each surface side style only one of the two methods is needed for calculating the specular part of the equation. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcSpecularHighlightSelect : public express::Select { +class IFC_SCHEMA_API IfcSpecularHighlightSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecularExponent as() const { return express::Base::as(); } + // IfcSpecularExponent as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecularRoughness as() const { return express::Base::as(); } + // IfcSpecularRoughness as() const { return express::base::as(); } - IfcSpecularHighlightSelect(const IfcSpecularExponent& c) : express::Select(c) {}; + IfcSpecularHighlightSelect(const IfcSpecularExponent& c) : express::select(c) {}; - IfcSpecularHighlightSelect(const IfcSpecularRoughness& c) : express::Select(c) {}; + IfcSpecularHighlightSelect(const IfcSpecularRoughness& c) : express::select(c) {}; }; /// Definition from IAI: This type definition shall be used to @@ -3591,22 +3591,22 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcStructuralActivityAssignmentSelect : public express::Select { +class IFC_SCHEMA_API IfcStructuralActivityAssignmentSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElement as() const { return express::Base::as(); } + // IfcElement as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcStructuralItem as() const { return express::Base::as(); } + // IfcStructuralItem as() const { return express::base::as(); } - IfcStructuralActivityAssignmentSelect(const IfcElement& c) : express::Select(c) {}; + IfcStructuralActivityAssignmentSelect(const IfcElement& c) : express::select(c) {}; - IfcStructuralActivityAssignmentSelect(const IfcStructuralItem& c) : express::Select(c) {}; + IfcStructuralActivityAssignmentSelect(const IfcStructuralItem& c) : express::select(c) {}; }; /// The style assignment select is a selection of two wasy of assigning presentation styles to an IfcStyledItem. @@ -3619,22 +3619,22 @@ public: /// NOTE The select type has been introduced to provide an upward compatible improvement for assigning styles to a styled items. /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcStyleAssignmentSelect : public express::Select { +class IFC_SCHEMA_API IfcStyleAssignmentSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPresentationStyle as() const { return express::Base::as(); } + // IfcPresentationStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPresentationStyleAssignment as() const { return express::Base::as(); } + // IfcPresentationStyleAssignment as() const { return express::base::as(); } - IfcStyleAssignmentSelect(const IfcPresentationStyle& c) : express::Select(c) {}; + IfcStyleAssignmentSelect(const IfcPresentationStyle& c) : express::select(c) {}; - IfcStyleAssignmentSelect(const IfcPresentationStyleAssignment& c) : express::Select(c) {}; + IfcStyleAssignmentSelect(const IfcPresentationStyleAssignment& c) : express::select(c) {}; }; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface @@ -3646,28 +3646,28 @@ public: /// IfcFaceBasedSurfaceModel (a connected face set, representing a faceted surface as an approximation of a non planar, non rectangular bounded surface) /// /// HISTORY  New select type in IFC2x3. -class IFC_SCHEMA_API IfcSurfaceOrFaceSurface : public express::Select { +class IFC_SCHEMA_API IfcSurfaceOrFaceSurface : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFaceBasedSurfaceModel as() const { return express::Base::as(); } + // IfcFaceBasedSurfaceModel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFaceSurface as() const { return express::Base::as(); } + // IfcFaceSurface as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurface as() const { return express::Base::as(); } + // IfcSurface as() const { return express::base::as(); } - IfcSurfaceOrFaceSurface(const IfcFaceBasedSurfaceModel& c) : express::Select(c) {}; + IfcSurfaceOrFaceSurface(const IfcFaceBasedSurfaceModel& c) : express::select(c) {}; - IfcSurfaceOrFaceSurface(const IfcFaceSurface& c) : express::Select(c) {}; + IfcSurfaceOrFaceSurface(const IfcFaceSurface& c) : express::select(c) {}; - IfcSurfaceOrFaceSurface(const IfcSurface& c) : express::Select(c) {}; + IfcSurfaceOrFaceSurface(const IfcSurface& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. @@ -3679,40 +3679,40 @@ public: /// NOTE: Corresponding ISO 10303 type: surface_style_element_select. Please refer to ISO/IS 10303-46:1994, p. 85 for the final definition of the formal standard. /// /// HISTORY: New Select type in IFC2x2. -class IFC_SCHEMA_API IfcSurfaceStyleElementSelect : public express::Select { +class IFC_SCHEMA_API IfcSurfaceStyleElementSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternallyDefinedSurfaceStyle as() const { return express::Base::as(); } + // IfcExternallyDefinedSurfaceStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleLighting as() const { return express::Base::as(); } + // IfcSurfaceStyleLighting as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleRefraction as() const { return express::Base::as(); } + // IfcSurfaceStyleRefraction as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleShading as() const { return express::Base::as(); } + // IfcSurfaceStyleShading as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleWithTextures as() const { return express::Base::as(); } + // IfcSurfaceStyleWithTextures as() const { return express::base::as(); } - IfcSurfaceStyleElementSelect(const IfcExternallyDefinedSurfaceStyle& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcExternallyDefinedSurfaceStyle& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleLighting& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleLighting& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleRefraction& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleRefraction& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleShading& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleShading& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleWithTextures& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleWithTextures& c) : express::select(c) {}; }; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. @@ -3722,63 +3722,63 @@ public: /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. -class IFC_SCHEMA_API IfcTextFontSelect : public express::Select { +class IFC_SCHEMA_API IfcTextFontSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternallyDefinedTextFont as() const { return express::Base::as(); } + // IfcExternallyDefinedTextFont as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedTextFont as() const { return express::Base::as(); } + // IfcPreDefinedTextFont as() const { return express::base::as(); } - IfcTextFontSelect(const IfcExternallyDefinedTextFont& c) : express::Select(c) {}; + IfcTextFontSelect(const IfcExternallyDefinedTextFont& c) : express::select(c) {}; - IfcTextFontSelect(const IfcPreDefinedTextFont& c) : express::Select(c) {}; + IfcTextFontSelect(const IfcPreDefinedTextFont& c) : express::select(c) {}; }; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 -class IFC_SCHEMA_API IfcTimeOrRatioSelect : public express::Select { +class IFC_SCHEMA_API IfcTimeOrRatioSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } - IfcTimeOrRatioSelect(const IfcDuration& c) : express::Select(c) {}; + IfcTimeOrRatioSelect(const IfcDuration& c) : express::select(c) {}; - IfcTimeOrRatioSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcTimeOrRatioSelect(const IfcRatioMeasure& c) : express::select(c) {}; }; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcTranslationalStiffnessSelect : public express::Select { +class IFC_SCHEMA_API IfcTranslationalStiffnessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } - IfcTranslationalStiffnessSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcTranslationalStiffnessSelect(const IfcBoolean& c) : express::select(c) {}; - IfcTranslationalStiffnessSelect(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcTranslationalStiffnessSelect(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. @@ -3786,22 +3786,22 @@ public: /// NOTE Corresponding ISO 10303 type: trimming_select, please refer to ISO/IS 10303-42:1994, p. 20 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.0 -class IFC_SCHEMA_API IfcTrimmingSelect : public express::Select { +class IFC_SCHEMA_API IfcTrimmingSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCartesianPoint as() const { return express::Base::as(); } + // IfcCartesianPoint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } - IfcTrimmingSelect(const IfcCartesianPoint& c) : express::Select(c) {}; + IfcTrimmingSelect(const IfcCartesianPoint& c) : express::select(c) {}; - IfcTrimmingSelect(const IfcParameterValue& c) : express::Select(c) {}; + IfcTrimmingSelect(const IfcParameterValue& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. @@ -3817,28 +3817,28 @@ public: /// IfcMonetaryUnit: A unit for defining currencies. /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcUnit : public express::Select { +class IFC_SCHEMA_API IfcUnit : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedUnit as() const { return express::Base::as(); } + // IfcDerivedUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryUnit as() const { return express::Base::as(); } + // IfcMonetaryUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNamedUnit as() const { return express::Base::as(); } + // IfcNamedUnit as() const { return express::base::as(); } - IfcUnit(const IfcDerivedUnit& c) : express::Select(c) {}; + IfcUnit(const IfcDerivedUnit& c) : express::select(c) {}; - IfcUnit(const IfcMonetaryUnit& c) : express::Select(c) {}; + IfcUnit(const IfcMonetaryUnit& c) : express::select(c) {}; - IfcUnit(const IfcNamedUnit& c) : express::Select(c) {}; + IfcUnit(const IfcNamedUnit& c) : express::select(c) {}; }; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, @@ -3851,676 +3851,676 @@ public: /// IfcDerivedMeasureValue A select type for derived measure types. /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcValue : public express::Select { +class IFC_SCHEMA_API IfcValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedMeasureValue as() const { return express::Base::as(); } + // IfcDerivedMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureValue as() const { return express::Base::as(); } + // IfcMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSimpleValue as() const { return express::Base::as(); } + // IfcSimpleValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } - IfcValue(const IfcDerivedMeasureValue& c) : express::Select(c) {}; + IfcValue(const IfcDerivedMeasureValue& c) : express::select(c) {}; - IfcValue(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcValue(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcValue(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcValue(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcValue(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcValue(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcValue(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcValue(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcValue(const IfcForceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcForceMeasure& c) : express::select(c) {}; - IfcValue(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcValue(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcValue(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcValue(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcValue(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcValue(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcValue(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcValue(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcValue(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcValue(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcValue(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcValue(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcValue(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcValue(const IfcPHMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPHMeasure& c) : express::select(c) {}; - IfcValue(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcValue(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPowerMeasure& c) : express::select(c) {}; - IfcValue(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPressureMeasure& c) : express::select(c) {}; - IfcValue(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcValue(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcValue(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcValue(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcValue(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcValue(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcValue(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcValue(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcValue(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcValue(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcValue(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcValue(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcValue(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcValue(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcValue(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcValue(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcValue(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcWarpingMomentMeasure& c) : express::select(c) {}; - IfcValue(const IfcMeasureValue& c) : express::Select(c) {}; + IfcValue(const IfcMeasureValue& c) : express::select(c) {}; - IfcValue(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAreaMeasure& c) : express::select(c) {}; - IfcValue(const IfcComplexNumber& c) : express::Select(c) {}; + IfcValue(const IfcComplexNumber& c) : express::select(c) {}; - IfcValue(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcValue(const IfcCountMeasure& c) : express::Select(c) {}; + IfcValue(const IfcCountMeasure& c) : express::select(c) {}; - IfcValue(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcValue(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcValue(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassMeasure& c) : express::select(c) {}; - IfcValue(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcValue(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcValue(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcValue(const IfcNumericMeasure& c) : express::select(c) {}; - IfcValue(const IfcParameterValue& c) : express::Select(c) {}; + IfcValue(const IfcParameterValue& c) : express::select(c) {}; - IfcValue(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcValue(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRatioMeasure& c) : express::select(c) {}; - IfcValue(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcValue(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTimeMeasure& c) : express::select(c) {}; - IfcValue(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcVolumeMeasure& c) : express::select(c) {}; - IfcValue(const IfcSimpleValue& c) : express::Select(c) {}; + IfcValue(const IfcSimpleValue& c) : express::select(c) {}; - IfcValue(const IfcBinary& c) : express::Select(c) {}; + IfcValue(const IfcBinary& c) : express::select(c) {}; - IfcValue(const IfcBoolean& c) : express::Select(c) {}; + IfcValue(const IfcBoolean& c) : express::select(c) {}; - IfcValue(const IfcDate& c) : express::Select(c) {}; + IfcValue(const IfcDate& c) : express::select(c) {}; - IfcValue(const IfcDateTime& c) : express::Select(c) {}; + IfcValue(const IfcDateTime& c) : express::select(c) {}; - IfcValue(const IfcDuration& c) : express::Select(c) {}; + IfcValue(const IfcDuration& c) : express::select(c) {}; - IfcValue(const IfcIdentifier& c) : express::Select(c) {}; + IfcValue(const IfcIdentifier& c) : express::select(c) {}; - IfcValue(const IfcInteger& c) : express::Select(c) {}; + IfcValue(const IfcInteger& c) : express::select(c) {}; - IfcValue(const IfcLabel& c) : express::Select(c) {}; + IfcValue(const IfcLabel& c) : express::select(c) {}; - IfcValue(const IfcLogical& c) : express::Select(c) {}; + IfcValue(const IfcLogical& c) : express::select(c) {}; - IfcValue(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcValue(const IfcPositiveInteger& c) : express::select(c) {}; - IfcValue(const IfcReal& c) : express::Select(c) {}; + IfcValue(const IfcReal& c) : express::select(c) {}; - IfcValue(const IfcText& c) : express::Select(c) {}; + IfcValue(const IfcText& c) : express::select(c) {}; - IfcValue(const IfcTime& c) : express::Select(c) {}; + IfcValue(const IfcTime& c) : express::select(c) {}; - IfcValue(const IfcTimeStamp& c) : express::Select(c) {}; + IfcValue(const IfcTimeStamp& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This type is used to @@ -4531,43 +4531,43 @@ public: /// definition of the formal standard. /// HISTORY New Type in IFC Release /// 1.5 -class IFC_SCHEMA_API IfcVectorOrDirection : public express::Select { +class IFC_SCHEMA_API IfcVectorOrDirection : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDirection as() const { return express::Base::as(); } + // IfcDirection as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVector as() const { return express::Base::as(); } + // IfcVector as() const { return express::base::as(); } - IfcVectorOrDirection(const IfcDirection& c) : express::Select(c) {}; + IfcVectorOrDirection(const IfcDirection& c) : express::select(c) {}; - IfcVectorOrDirection(const IfcVector& c) : express::Select(c) {}; + IfcVectorOrDirection(const IfcVector& c) : express::select(c) {}; }; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcWarpingStiffnessSelect : public express::Select { +class IFC_SCHEMA_API IfcWarpingStiffnessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } - IfcWarpingStiffnessSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcWarpingStiffnessSelect(const IfcBoolean& c) : express::select(c) {}; - IfcWarpingStiffnessSelect(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcWarpingStiffnessSelect(const IfcWarpingMomentMeasure& c) : express::select(c) {}; }; /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. @@ -4581,9 +4581,9 @@ public: /// VERBAL: Request was made verbally in person. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcActionRequestTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActionRequestTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcActionRequestType_EMAIL, IfcActionRequestType_FAX, IfcActionRequestType_PHONE, IfcActionRequestType_POST, IfcActionRequestType_VERBAL, IfcActionRequestType_USERDEFINED, IfcActionRequestType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4599,9 +4599,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcActionSourceTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActionSourceTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4619,9 +4619,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcActionTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActionTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcActionType_PERMANENT_G, IfcActionType_VARIABLE_Q, IfcActionType_EXTRAORDINARY_A, IfcActionType_USERDEFINED, IfcActionType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4648,9 +4648,9 @@ public: /// /// See property set of actuator common attributes for specification of /// properties for hand operated actuators. -class IFC_SCHEMA_API IfcActuatorTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActuatorTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcActuatorType_ELECTRICACTUATOR, IfcActuatorType_HANDOPERATEDACTUATOR, IfcActuatorType_HYDRAULICACTUATOR, IfcActuatorType_PNEUMATICACTUATOR, IfcActuatorType_THERMOSTATICACTUATOR, IfcActuatorType_USERDEFINED, IfcActuatorType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4672,9 +4672,9 @@ public: /// HOME A home address. /// DISTRIBUTIONPOINT A postal distribution point address. /// USERDEFINED A user defined address type to be provided. -class IFC_SCHEMA_API IfcAddressTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAddressTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAddressType_OFFICE, IfcAddressType_SITE, IfcAddressType_HOME, IfcAddressType_DISTRIBUTIONPOINT, IfcAddressType_USERDEFINED} Value; static const char* ToString(Value v); @@ -4696,9 +4696,9 @@ public: /// NOTDEFINED: Undefined terminal box. /// /// HISTORY: New enumeration in IFC R2.0 -class IFC_SCHEMA_API IfcAirTerminalBoxTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAirTerminalBoxTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAirTerminalBoxType_CONSTANTFLOW, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREDEPENDANT, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREINDEPENDANT, IfcAirTerminalBoxType_USERDEFINED, IfcAirTerminalBoxType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4722,9 +4722,9 @@ public: /// NOTE: Architectural louvres within doors or windows are defined by IfcPermeableCoveringProperties. /// /// HISTORY: New enumeration in IFC R2x2. Modified in IFC R2x4 to add LOUVRE and remove EYEBALL, IRIS, LINEARGRILLE, LINEARDIFFUSER -class IFC_SCHEMA_API IfcAirTerminalTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAirTerminalTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAirTerminalType_DIFFUSER, IfcAirTerminalType_GRILLE, IfcAirTerminalType_LOUVRE, IfcAirTerminalType_REGISTER, IfcAirTerminalType_USERDEFINED, IfcAirTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4751,9 +4751,9 @@ public: /// NOTDEFINED: Undefined air to air heat recovery type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcAirToAirHeatRecoveryTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAirToAirHeatRecoveryTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4778,9 +4778,9 @@ public: /// WHISTLE: An audible alarm. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcAlarmTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAlarmTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4792,9 +4792,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcAlignmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAlignmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAlignmentType_USERDEFINED, IfcAlignmentType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4811,9 +4811,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcAnalysisModelTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAnalysisModelTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4831,9 +4831,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcAnalysisTheoryTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAnalysisTheoryTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4856,9 +4856,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcArithmeticOperatorEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcArithmeticOperatorEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcArithmeticOperator_ADD, IfcArithmeticOperator_DIVIDE, IfcArithmeticOperator_MULTIPLY, IfcArithmeticOperator_SUBTRACT} Value; static const char* ToString(Value v); @@ -4881,9 +4881,9 @@ public: /// SITE - this assembly is assembled at site /// /// FACTORY - this assembly is assembled in a factory -class IFC_SCHEMA_API IfcAssemblyPlaceEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAssemblyPlaceEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAssemblyPlace_SITE, IfcAssemblyPlace_FACTORY, IfcAssemblyPlace_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4908,9 +4908,9 @@ public: /// SWITCHER: A device that receives audio and/or video signals, switches sources, and transmits signals to downstream devices. /// TELEPHONE: A telecommunications device that is used to transmit and receive sound, and optionally video. /// TUNER: An electronic receiver that detects, demodulates, and amplifies transmitted signals. -class IFC_SCHEMA_API IfcAudioVisualApplianceTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAudioVisualApplianceTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4935,9 +4935,9 @@ public: /// NOTE Corresponding ISO 10303 type: b_spline_curve_form. Please refer to ISO/IS 10303-42:1994, p. 15 for the final definition of the formal standard. /// /// HISTORY New type in Release IFC2x2. -class IFC_SCHEMA_API IfcBSplineCurveForm : public express::DeclaredType { +class IFC_SCHEMA_API IfcBSplineCurveForm : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4949,9 +4949,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBSplineSurfaceForm : public express::DeclaredType { +class IFC_SCHEMA_API IfcBSplineSurfaceForm : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5001,9 +5001,9 @@ public: /// IFC2x4 CHANGE The enumerators /// HOLLOWCORE and SPANDREL have been /// added. -class IFC_SCHEMA_API IfcBeamTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBeamTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5015,9 +5015,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBearingTypeDisplacementEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBearingTypeDisplacementEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBearingTypeDisplacement_FIXED_MOVEMENT, IfcBearingTypeDisplacement_GUIDED_LONGITUDINAL, IfcBearingTypeDisplacement_GUIDED_TRANSVERSAL, IfcBearingTypeDisplacement_FREE_MOVEMENT, IfcBearingTypeDisplacement_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5029,9 +5029,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBearingTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBearingTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5082,9 +5082,9 @@ public: /// /// NOTINCLUDEDIN /// 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_SCHEMA_API IfcBenchmarkEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBenchmarkEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5104,9 +5104,9 @@ public: /// NOTDEFINED: Undefined Boiler type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcBoilerTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBoilerTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBoilerType_WATER, IfcBoilerType_STEAM, IfcBoilerType_USERDEFINED, IfcBoilerType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5126,9 +5126,9 @@ public: /// NOTE Corresponding STEP type: boolean_operator, please refer to ISO/IS 10303-42:1994, p.167 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcBooleanOperator : public express::DeclaredType { +class IFC_SCHEMA_API IfcBooleanOperator : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBooleanOperator_UNION, IfcBooleanOperator_INTERSECTION, IfcBooleanOperator_DIFFERENCE} Value; static const char* ToString(Value v); @@ -5140,9 +5140,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBridgePartTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBridgePartTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5154,9 +5154,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBridgeTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBridgeTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5175,9 +5175,9 @@ public: /// NOTDEFINED: Undefined accessory /// /// HISTORY New Enumeration in IFC 2x4. -class IFC_SCHEMA_API IfcBuildingElementPartTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBuildingElementPartTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBuildingElementPartType_INSULATION, IfcBuildingElementPartType_PRECASTPANEL, IfcBuildingElementPartType_APRON, IfcBuildingElementPartType_USERDEFINED, IfcBuildingElementPartType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5199,9 +5199,9 @@ public: /// USERDEFINED /// /// NOTDEFINED -class IFC_SCHEMA_API IfcBuildingElementProxyTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBuildingElementProxyTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBuildingElementProxyType_COMPLEX, IfcBuildingElementProxyType_ELEMENT, IfcBuildingElementProxyType_PARTIAL, IfcBuildingElementProxyType_PROVISIONFORVOID, IfcBuildingElementProxyType_PROVISIONFORSPACE, IfcBuildingElementProxyType_USERDEFINED, IfcBuildingElementProxyType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5226,9 +5226,9 @@ public: /// natural sun light, /// TRANSPORT: System of all transport elements in a /// building that enables the transport of people or goods. -class IFC_SCHEMA_API IfcBuildingSystemTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBuildingSystemTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5246,9 +5246,9 @@ public: /// NOTDEFINED: Undefined burner type. /// /// HISTORY: New enumeration in IFC R2x4. -class IFC_SCHEMA_API IfcBurnerTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBurnerTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBurnerType_USERDEFINED, IfcBurnerType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5269,9 +5269,9 @@ public: /// TEE: A fitting at which a branch is taken from the main route of the cable carrier. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableCarrierFittingTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableCarrierFittingTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcCableCarrierFittingType_BEND, IfcCableCarrierFittingType_CROSS, IfcCableCarrierFittingType_REDUCER, IfcCableCarrierFittingType_TEE, IfcCableCarrierFittingType_USERDEFINED, IfcCableCarrierFittingType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5292,9 +5292,9 @@ public: /// CONDUITSEGMENT: An enclosed tubular carrier segment through which cables are pulled. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableCarrierSegmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableCarrierSegmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcCableCarrierSegmentType_CABLELADDERSEGMENT, IfcCableCarrierSegmentType_CABLETRAYSEGMENT, IfcCableCarrierSegmentType_CABLETRUNKINGSEGMENT, IfcCableCarrierSegmentType_CONDUITSEGMENT, IfcCableCarrierSegmentType_USERDEFINED, IfcCableCarrierSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5316,9 +5316,9 @@ public: /// TRANSITION: A fitting that joins two cable segments of different connector types. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableFittingTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableFittingTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcCableFittingType_CONNECTOR, IfcCableFittingType_ENTRY, IfcCableFittingType_EXIT, IfcCableFittingType_JUNCTION, IfcCableFittingType_TRANSITION, IfcCableFittingType_USERDEFINED, IfcCableFittingType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5341,9 +5341,9 @@ public: /// CORESEGMENT: A self contained element of a cable that comprises one or more conductors and sheathing.The core of one lead is normally single wired or multiwired which are intertwined. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableSegmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableSegmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcCableSegmentType_BUSBARSEGMENT, IfcCableSegmentType_CABLESEGMENT, IfcCableSegmentType_CONDUCTORSEGMENT, IfcCableSegmentType_CORESEGMENT, IfcCableSegmentType_USERDEFINED, IfcCableSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5355,9 +5355,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcCaissonFoundationTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCaissonFoundationTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcCaissonFoundationType_WELL, IfcCaissonFoundationType_CAISSON, IfcCaissonFoundationType_USERDEFINED, IfcCaissonFoundationType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5379,9 +5379,9 @@ public: /// Consider Application A will create an IFC dataset that it wants to publish to others for modification and have the ability to subsequently merge these changes back into the original model. Before publication, it may want to set the IfcChangeActionEnum to NOCHANGE to establish a baseline so that other application changes can be easily identified. Application B then receives this IFC dataset and adds a new object and sets IfcChangeActionEnum to ADDED with Application B defined as the OwningApplication. Application B then modifies an existing object and (re)defines the LastModifiedDate to the time of the modification, LastModifyingUser to the IfcPersonAndOrganization making the change, and sets the LastModifyingApplication to Application B. When Application A receives this modified dataset, it can determine which objects have been added and modified by Application B and either merge or reject these changes as necessary. Consequently, the intent is that an application only modifies the value of IfcChangeActionEnum when it does something to the object, with the further intent that a model server is responsible for clearing the IfcChangeActionEnum back to NOCHANGE when it is ready to be republished. /// /// HISTORY: New enumeration in IFC R2.0. Modified in IFC2x4. -class IFC_SCHEMA_API IfcChangeActionEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcChangeActionEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcChangeAction_NOCHANGE, IfcChangeAction_MODIFIED, IfcChangeAction_ADDED, IfcChangeAction_DELETED, IfcChangeAction_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5402,9 +5402,9 @@ public: /// NOTDEFINED: Undefined chiller type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcChillerTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcChillerTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcChillerType_AIRCOOLED, IfcChillerType_WATERCOOLED, IfcChillerType_HEATRECOVERY, IfcChillerType_USERDEFINED, IfcChillerType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5425,9 +5425,9 @@ public: /// NOTE Currently there are no specific enumerators /// defined, the IfcChimneyTypeEnum has been added /// for future extensions. -class IFC_SCHEMA_API IfcChimneyTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcChimneyTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcChimneyType_USERDEFINED, IfcChimneyType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5460,9 +5460,9 @@ public: /// NOTDEFINED: Undefined coil type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcCoilTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCoilTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5487,9 +5487,9 @@ public: /// future releases of IFC. /// HISTORY New Enumeration /// in Release IFC2x Edition 2. -class IFC_SCHEMA_API IfcColumnTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcColumnTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcColumnType_COLUMN, IfcColumnType_PILASTER, IfcColumnType_PIERSTEM, IfcColumnType_PIERSTEM_SEGMENT, IfcColumnType_STANDCOLUMN, IfcColumnType_USERDEFINED, IfcColumnType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5516,9 +5516,9 @@ public: /// REPEATER: A repeater is an electronic device that receives a signal and retransmits it at a higher level and/or higher power, or onto the other side of an obstruction, so that the signal can cover longer distances without degradation. /// ROUTER: A router is a networking device whose software and hardware are usually tailored to the tasks of routing and forwarding information. For example, on the Internet, information is directed to various paths by routers. /// 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_SCHEMA_API IfcCommunicationsApplianceTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCommunicationsApplianceTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5537,9 +5537,9 @@ public: /// /// P_COMPLEX: the properties defined by this IfcComplexPropertyTemplate are of type IfcComplexProperty. /// Q_COMPLEX: the properties defined by this IfcComplexPropertyTemplate are of type IfcPhysicalComplexQuantity. -class IFC_SCHEMA_API IfcComplexPropertyTemplateTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcComplexPropertyTemplateTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcComplexPropertyTemplateType_P_COMPLEX, IfcComplexPropertyTemplateType_Q_COMPLEX} Value; static const char* ToString(Value v); @@ -5572,9 +5572,9 @@ public: /// NOTDEFINED: Undefined compressor type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcCompressorTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCompressorTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5598,9 +5598,9 @@ public: /// NOTDEFINED: Undefined condenser type. /// /// HISTORY: New enumeration in IFC 2x2. WATERCOOLED added in IFC 2x4. -class IFC_SCHEMA_API IfcCondenserTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCondenserTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5631,9 +5631,9 @@ public: /// RelatedConnectionType: AtStart /// /// Figure 65 — Connection types /*[3:3]*/ v); operator std::vector< int64_t > /*[3:3]*/() const; }; -class IFC_SCHEMA_API IfcAreaDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcAreaDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcAreaDensityMeasure initialize(double v); @@ -11526,18 +11526,18 @@ public: /// NOTE Corresponding ISO 10303 name: area_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcAreaMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcAreaMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcAreaMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcBinary : public express::DeclaredType { +class IFC_SCHEMA_API IfcBinary : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcBinary initialize(boost::dynamic_bitset<> v); @@ -11548,9 +11548,9 @@ public: /// Type: BOOLEAN /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcBoolean : public express::DeclaredType { +class IFC_SCHEMA_API IfcBoolean : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcBoolean initialize(bool v); @@ -11599,9 +11599,9 @@ public: /// Figure 284 illustrates an example extrusion shape with arbitrary profile (IfcArbitraryClosedProfileDef), aligned "mid-depth right" on the member axis. The line of sight follows the extrusion direction Z which points into the drawing plane of above illustration. Hence, "left" is in the positive X direction of the IfcProfileDef. "Top" is in the positive Y direction of the IfcProfileDef. /// /// Figure 284 — Cardinal point extrusion -class IFC_SCHEMA_API IfcCardinalPointReference : public express::DeclaredType { +class IFC_SCHEMA_API IfcCardinalPointReference : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCardinalPointReference initialize(int64_t v); @@ -11618,9 +11618,9 @@ public: /// Type: ARRAY [1:2] OF REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_SCHEMA_API IfcComplexNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcComplexNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcComplexNumber initialize(std::vector< double > /*[1:2]*/ v); @@ -11674,9 +11674,9 @@ public: ///      + FORMAT(ABS(c[4]), '##');  -- -50° 58' 33" 110400 /// /// 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_SCHEMA_API IfcCompoundPlaneAngleMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcCompoundPlaneAngleMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCompoundPlaneAngleMeasure initialize(std::vector< int64_t > /*[3:4]*/ v); @@ -11688,9 +11688,9 @@ public: /// NOTE Corresponding ISO 10303 name: context_dependent_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcContextDependentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcContextDependentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcContextDependentMeasure initialize(double v); @@ -11702,9 +11702,9 @@ public: /// NOTE Corresponding ISO 10303 name: count_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcCountMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcCountMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCountMeasure initialize(double v); @@ -11717,9 +11717,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcCurvatureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcCurvatureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCurvatureMeasure initialize(double v); @@ -11731,9 +11731,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcDate : public express::DeclaredType { +class IFC_SCHEMA_API IfcDate : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDate initialize(std::string v); @@ -11757,9 +11757,9 @@ public: /// otherwise they are forbidden. The year 0000 is prohibited. /// /// HISTORY: New type in IFC2x4 -class IFC_SCHEMA_API IfcDateTime : public express::DeclaredType { +class IFC_SCHEMA_API IfcDateTime : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDateTime initialize(std::string v); @@ -11777,9 +11777,9 @@ public: /// Release 1.5.1. /// IFC2x4 CHANGE Where rule /// ValidRange added. -class IFC_SCHEMA_API IfcDayInMonthNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcDayInMonthNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDayInMonthNumber initialize(int64_t v); @@ -11819,9 +11819,9 @@ public: /// Type: INTEGER /// HISTORY New type in /// IFC2x4. -class IFC_SCHEMA_API IfcDayInWeekNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcDayInWeekNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDayInWeekNumber initialize(int64_t v); @@ -11833,9 +11833,9 @@ public: /// NOTE Corresponding ISO 10303 name:descriptive_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDescriptiveMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcDescriptiveMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDescriptiveMeasure initialize(std::string v); @@ -11848,9 +11848,9 @@ public: /// NOTE Corresponding ISO 10303 type: dimension_count, please refer to ISO/IS 10303-42:1994, p. 14 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5 -class IFC_SCHEMA_API IfcDimensionCount : public express::DeclaredType { +class IFC_SCHEMA_API IfcDimensionCount : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDimensionCount initialize(int64_t v); @@ -11861,9 +11861,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcDoseEquivalentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcDoseEquivalentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDoseEquivalentMeasure initialize(double v); @@ -11874,9 +11874,9 @@ public: /// EXAMPLE: P0002-10-15T10:30:20 (duration of two years, 10 months, 15 days, 10 hours, 30 minutes and 20 seconds). /// /// HISTORY: New type in IFC2x4 -class IFC_SCHEMA_API IfcDuration : public express::DeclaredType { +class IFC_SCHEMA_API IfcDuration : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDuration initialize(std::string v); @@ -11888,9 +11888,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcDynamicViscosityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcDynamicViscosityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDynamicViscosityMeasure initialize(double v); @@ -11901,9 +11901,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricCapacitanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricCapacitanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricCapacitanceMeasure initialize(double v); @@ -11914,9 +11914,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricChargeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricChargeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricChargeMeasure initialize(double v); @@ -11927,9 +11927,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricConductanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricConductanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricConductanceMeasure initialize(double v); @@ -11942,9 +11942,9 @@ public: /// NOTE Corresponding ISO 10303 name: electric_current_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcElectricCurrentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricCurrentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricCurrentMeasure initialize(double v); @@ -11955,9 +11955,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricResistanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricResistanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricResistanceMeasure initialize(double v); @@ -11968,9 +11968,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcElectricVoltageMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricVoltageMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricVoltageMeasure initialize(double v); @@ -11981,9 +11981,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcEnergyMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcEnergyMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcEnergyMeasure initialize(double v); @@ -12003,9 +12003,9 @@ public: /// NOTE  Corresponding CSS1 definitions is font-style. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcFontStyle : public express::DeclaredType { +class IFC_SCHEMA_API IfcFontStyle : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFontStyle initialize(std::string v); @@ -12023,9 +12023,9 @@ public: /// NOTE  Corresponding CSS1 definitions is font-variant. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcFontVariant : public express::DeclaredType { +class IFC_SCHEMA_API IfcFontVariant : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFontVariant initialize(std::string v); @@ -12054,9 +12054,9 @@ public: /// NOTE  Corresponding CSS1 definitions is font-weight. /// /// HISTORY  New type in IFC2x2 Addendum 2. -class IFC_SCHEMA_API IfcFontWeight : public express::DeclaredType { +class IFC_SCHEMA_API IfcFontWeight : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFontWeight initialize(std::string v); @@ -12067,9 +12067,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcForceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcForceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcForceMeasure initialize(double v); @@ -12080,9 +12080,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcFrequencyMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcFrequencyMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFrequencyMeasure initialize(double v); @@ -12101,9 +12101,9 @@ public: /// Refer to the BuildingSMART website (www.buildingsmart-tech.org) for more information and sample encoding algorithms. /// /// HISTORY  New type in IFC R1.5.1. -class IFC_SCHEMA_API IfcGloballyUniqueId : public express::DeclaredType { +class IFC_SCHEMA_API IfcGloballyUniqueId : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcGloballyUniqueId initialize(std::string v); @@ -12114,9 +12114,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcHeatFluxDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcHeatFluxDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcHeatFluxDensityMeasure initialize(double v); @@ -12125,9 +12125,9 @@ public: /// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. /// /// HISTORY: This is new type in IFC2x2. -class IFC_SCHEMA_API IfcHeatingValueMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcHeatingValueMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcHeatingValueMeasure initialize(double v); @@ -12147,9 +12147,9 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// 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_SCHEMA_API IfcIdentifier : public express::DeclaredType { +class IFC_SCHEMA_API IfcIdentifier : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIdentifier initialize(std::string v); @@ -12160,9 +12160,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcIlluminanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIlluminanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIlluminanceMeasure initialize(double v); @@ -12173,9 +12173,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcInductanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcInductanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcInductanceMeasure initialize(double v); @@ -12188,9 +12188,9 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcInteger : public express::DeclaredType { +class IFC_SCHEMA_API IfcInteger : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcInteger initialize(int64_t v); @@ -12203,9 +12203,9 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcIntegerCountRateMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIntegerCountRateMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIntegerCountRateMeasure initialize(int64_t v); @@ -12214,9 +12214,9 @@ public: /// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcIonConcentrationMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIonConcentrationMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIonConcentrationMeasure initialize(double v); @@ -12227,9 +12227,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcIsothermalMoistureCapacityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIsothermalMoistureCapacityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIsothermalMoistureCapacityMeasure initialize(double v); @@ -12240,9 +12240,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcKinematicViscosityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcKinematicViscosityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcKinematicViscosityMeasure initialize(double v); @@ -12262,9 +12262,9 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// 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_SCHEMA_API IfcLabel : public express::DeclaredType { +class IFC_SCHEMA_API IfcLabel : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLabel initialize(std::string v); @@ -12295,18 +12295,18 @@ public: /// NOTE Corresponding ISO 10303 name: length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcLengthMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLengthMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLengthMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcLineIndex : public express::DeclaredType { +class IFC_SCHEMA_API IfcLineIndex : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLineIndex initialize(std::vector< int64_t > /*[2:?]*/ v); @@ -12317,9 +12317,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLinearForceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearForceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearForceMeasure initialize(double v); @@ -12330,9 +12330,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLinearMomentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearMomentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearMomentMeasure initialize(double v); @@ -12343,9 +12343,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLinearStiffnessMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearStiffnessMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearStiffnessMeasure initialize(double v); @@ -12356,9 +12356,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcLinearVelocityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearVelocityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearVelocityMeasure initialize(double v); @@ -12369,9 +12369,9 @@ public: /// Type: LOGICAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLogical : public express::DeclaredType { +class IFC_SCHEMA_API IfcLogical : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLogical initialize(boost::logic::tribool v); @@ -12382,9 +12382,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLuminousFluxMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLuminousFluxMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLuminousFluxMeasure initialize(double v); @@ -12397,9 +12397,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcLuminousIntensityDistributionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLuminousIntensityDistributionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLuminousIntensityDistributionMeasure initialize(double v); @@ -12412,9 +12412,9 @@ public: /// NOTE Corresponding ISO 10303 name: luminous_intensity_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcLuminousIntensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLuminousIntensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLuminousIntensityMeasure initialize(double v); @@ -12425,9 +12425,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMagneticFluxDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMagneticFluxDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMagneticFluxDensityMeasure initialize(double v); @@ -12438,9 +12438,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMagneticFluxMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMagneticFluxMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMagneticFluxMeasure initialize(double v); @@ -12451,9 +12451,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcMassDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassDensityMeasure initialize(double v); @@ -12464,9 +12464,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcMassFlowRateMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassFlowRateMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassFlowRateMeasure initialize(double v); @@ -12479,9 +12479,9 @@ public: /// NOTE Corresponding ISO 10303 name: mass_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcMassMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassMeasure initialize(double v); @@ -12494,9 +12494,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcMassPerLengthMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassPerLengthMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassPerLengthMeasure initialize(double v); @@ -12507,9 +12507,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcModulusOfElasticityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfElasticityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfElasticityMeasure initialize(double v); @@ -12520,9 +12520,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_SCHEMA_API IfcModulusOfLinearSubgradeReactionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfLinearSubgradeReactionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfLinearSubgradeReactionMeasure initialize(double v); @@ -12533,9 +12533,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfRotationalSubgradeReactionMeasure initialize(double v); @@ -12550,9 +12550,9 @@ public: /// Figure 290 illustrates elastic support of a planar member. /// /// Figure 290 — Modulus of subgrade reaction measure -class IFC_SCHEMA_API IfcModulusOfSubgradeReactionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfSubgradeReactionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfSubgradeReactionMeasure initialize(double v); @@ -12563,9 +12563,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMoistureDiffusivityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMoistureDiffusivityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMoistureDiffusivityMeasure initialize(double v); @@ -12576,9 +12576,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMolecularWeightMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMolecularWeightMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMolecularWeightMeasure initialize(double v); @@ -12589,9 +12589,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMomentOfInertiaMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMomentOfInertiaMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMomentOfInertiaMeasure initialize(double v); @@ -12601,9 +12601,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcMonetaryMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMonetaryMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMonetaryMeasure initialize(double v); @@ -12665,9 +12665,9 @@ public: /// standard. /// HISTORY New type in IFC /// Release 1.5.1. -class IFC_SCHEMA_API IfcMonthInYearNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcMonthInYearNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMonthInYearNumber initialize(int64_t v); @@ -12692,9 +12692,9 @@ public: /// NOTE Corresponding ISO 10303 name: numeric_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcNumericMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcNumericMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcNumericMeasure initialize(double v); @@ -12703,9 +12703,9 @@ public: /// 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. /// /// HISTORY: New type in IFC 2x2. -class IFC_SCHEMA_API IfcPHMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPHMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPHMeasure initialize(double v); @@ -12718,9 +12718,9 @@ public: /// NOTE Corresponding STEP name: parameter_value, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcParameterValue : public express::DeclaredType { +class IFC_SCHEMA_API IfcParameterValue : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcParameterValue initialize(double v); @@ -12731,9 +12731,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcPlanarForceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPlanarForceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPlanarForceMeasure initialize(double v); @@ -12750,9 +12750,9 @@ public: /// NOTE Corresponding ISO 10303 name: plane_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcPlaneAngleMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPlaneAngleMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPlaneAngleMeasure initialize(double v); @@ -12800,9 +12800,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcPowerMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPowerMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPowerMeasure initialize(double v); @@ -12817,9 +12817,9 @@ public: /// NOTE  Corresponding ISO 10303 name: presentable_text. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. /// /// HISTORY  New type in IFC2x2. -class IFC_SCHEMA_API IfcPresentableText : public express::DeclaredType { +class IFC_SCHEMA_API IfcPresentableText : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPresentableText initialize(std::string v); @@ -12830,18 +12830,18 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcPressureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPressureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPressureMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcPropertySetDefinitionSet : public express::DeclaredType { +class IFC_SCHEMA_API IfcPropertySetDefinitionSet : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPropertySetDefinitionSet initialize(std::vector< ::Ifc4x2::IfcPropertySetDefinition > v); @@ -12852,9 +12852,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcRadioActivityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRadioActivityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRadioActivityMeasure initialize(double v); @@ -12870,9 +12870,9 @@ public: /// NOTE Corresponding STEP name: ratio_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcRatioMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRatioMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRatioMeasure initialize(double v); @@ -12885,9 +12885,9 @@ public: /// Type: REAL /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcReal : public express::DeclaredType { +class IFC_SCHEMA_API IfcReal : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcReal initialize(double v); @@ -12898,9 +12898,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcRotationalFrequencyMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRotationalFrequencyMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRotationalFrequencyMeasure initialize(double v); @@ -12912,9 +12912,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcRotationalMassMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRotationalMassMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRotationalMassMeasure initialize(double v); @@ -12925,9 +12925,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcRotationalStiffnessMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRotationalStiffnessMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRotationalStiffnessMeasure initialize(double v); @@ -12938,9 +12938,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_SCHEMA_API IfcSectionModulusMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSectionModulusMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSectionModulusMeasure initialize(double v); @@ -12951,9 +12951,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcSectionalAreaIntegralMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSectionalAreaIntegralMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSectionalAreaIntegralMeasure initialize(double v); @@ -12964,9 +12964,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcShearModulusMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcShearModulusMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcShearModulusMeasure initialize(double v); @@ -12979,18 +12979,18 @@ public: /// NOTE Corresponding ISO 10303 name: solid_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcSolidAngleMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSolidAngleMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSolidAngleMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcSoundPowerLevelMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPowerLevelMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPowerLevelMeasure initialize(double v); @@ -13001,18 +13001,18 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcSoundPowerMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPowerMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPowerMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcSoundPressureLevelMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPressureLevelMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPressureLevelMeasure initialize(double v); @@ -13023,9 +13023,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcSoundPressureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPressureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPressureMeasure initialize(double v); @@ -13036,9 +13036,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcSpecificHeatCapacityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSpecificHeatCapacityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSpecificHeatCapacityMeasure initialize(double v); @@ -13051,9 +13051,9 @@ public: /// NOTE: The datatype relates to the definition of specular_exponent in ISO 10303-46 entity surface_style_reflectance_ambient_diffuse_specular. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcSpecularExponent : public express::DeclaredType { +class IFC_SCHEMA_API IfcSpecularExponent : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSpecularExponent initialize(double v); @@ -13068,9 +13068,9 @@ public: /// NOTE: The datatype relates to the definition of "shiness" in VRML97, which is the reciprocate value to the specular roughness. /// /// HISTORY: New type in Release IFC2x2. -class IFC_SCHEMA_API IfcSpecularRoughness : public express::DeclaredType { +class IFC_SCHEMA_API IfcSpecularRoughness : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSpecularRoughness initialize(double v); @@ -13081,9 +13081,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcTemperatureGradientMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTemperatureGradientMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTemperatureGradientMeasure initialize(double v); @@ -13094,9 +13094,9 @@ public: /// Type: REAL /// /// HISTORY  New type in IFC2x4. -class IFC_SCHEMA_API IfcTemperatureRateOfChangeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTemperatureRateOfChangeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTemperatureRateOfChangeMeasure initialize(double v); @@ -13113,9 +13113,9 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// 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_SCHEMA_API IfcText : public express::DeclaredType { +class IFC_SCHEMA_API IfcText : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcText initialize(std::string v); @@ -13131,9 +13131,9 @@ public: /// NOTE  Corresponding CSS1 definition is text-align. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcTextAlignment : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextAlignment : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextAlignment initialize(std::string v); @@ -13152,9 +13152,9 @@ public: /// NOTE  Corresponding CSS1 definition is text-decoration. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcTextDecoration : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextDecoration : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextDecoration initialize(std::string v); @@ -13179,9 +13179,9 @@ public: /// HISTORY  New type in IFC2x2 Addendum 2. /// /// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. -class IFC_SCHEMA_API IfcTextFontName : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextFontName : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextFontName initialize(std::string v); @@ -13197,9 +13197,9 @@ public: /// NOTE  Corresponding CSS1 definition is text-transform. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcTextTransformation : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextTransformation : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextTransformation initialize(std::string v); @@ -13210,9 +13210,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcThermalAdmittanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalAdmittanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalAdmittanceMeasure initialize(double v); @@ -13223,9 +13223,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcThermalConductivityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalConductivityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalConductivityMeasure initialize(double v); @@ -13235,9 +13235,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcThermalExpansionCoefficientMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalExpansionCoefficientMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalExpansionCoefficientMeasure initialize(double v); @@ -13247,9 +13247,9 @@ public: /// Usually measured in m2 Kelvin/Watt. /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcThermalResistanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalResistanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalResistanceMeasure initialize(double v); @@ -13260,9 +13260,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcThermalTransmittanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalTransmittanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalTransmittanceMeasure initialize(double v); @@ -13275,9 +13275,9 @@ public: /// NOTE Corresponding ISO 10303 name: thermodynamic_temperature_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcThermodynamicTemperatureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermodynamicTemperatureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermodynamicTemperatureMeasure initialize(double v); @@ -13291,9 +13291,9 @@ public: /// 13:20:00-05:00. /// /// HISTORY: New type in IFC2x4 -class IFC_SCHEMA_API IfcTime : public express::DeclaredType { +class IFC_SCHEMA_API IfcTime : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTime initialize(std::string v); @@ -13306,9 +13306,9 @@ public: /// NOTE Corresponding ISO 10303 name: time_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcTimeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTimeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTimeMeasure initialize(double v); @@ -13318,9 +13318,9 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcTimeStamp : public express::DeclaredType { +class IFC_SCHEMA_API IfcTimeStamp : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTimeStamp initialize(int64_t v); @@ -13331,9 +13331,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcTorqueMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTorqueMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTorqueMeasure initialize(double v); @@ -13346,9 +13346,9 @@ public: /// designed to make it easy to map other namespaces (that share the properties of URNs) into URN-space. /// /// HISTORY New defined datatype in IFC 2x4. -class IFC_SCHEMA_API IfcURIReference : public express::DeclaredType { +class IFC_SCHEMA_API IfcURIReference : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcURIReference initialize(std::string v); @@ -13359,9 +13359,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcVaporPermeabilityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcVaporPermeabilityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcVaporPermeabilityMeasure initialize(double v); @@ -13374,9 +13374,9 @@ public: /// NOTE Corresponding ISO 10303 name: volume_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcVolumeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcVolumeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcVolumeMeasure initialize(double v); @@ -13387,9 +13387,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcVolumetricFlowRateMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcVolumetricFlowRateMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcVolumetricFlowRateMeasure initialize(double v); @@ -13400,9 +13400,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcWarpingConstantMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcWarpingConstantMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcWarpingConstantMeasure initialize(double v); @@ -13413,9 +13413,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcWarpingMomentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcWarpingMomentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcWarpingMomentMeasure initialize(double v); @@ -13493,9 +13493,9 @@ public: /// Corresponds to the following entity in ISO-10303-41: organization_role and person_role. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_SCHEMA_API IfcActorRole : public express::Entity { +class IFC_SCHEMA_API IfcActorRole : public express::entity { public: - using express::Entity::Entity; + 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. @@ -13520,9 +13520,9 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: address. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcAddress : public express::Entity { +class IFC_SCHEMA_API IfcAddress : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Identifies the logical location of the address. std::optional< ::Ifc4x2::IfcAddressTypeEnum::Value > Purpose() const; @@ -13545,9 +13545,9 @@ public: /// 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_SCHEMA_API IfcApplication : public express::Entity { +class IFC_SCHEMA_API IfcApplication : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Name of the application developer, being requested to be member of the IAI. ::Ifc4x2::IfcOrganization ApplicationDeveloper() const; @@ -13579,9 +13579,9 @@ public: /// An instance of IfcAppliedValue may have a unit basis asserted. This is defined as an IfcMeasureWithUnit that determines the extent of the unit value for application purposes. It is assumed that when this attribute is asserted, then the value given to IfcAppliedValue is that for unit quantity. This is not enforced within the IFC schema and thus needs to be controlled within an application. /// /// 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_SCHEMA_API IfcAppliedValue : public express::Entity { +class IFC_SCHEMA_API IfcAppliedValue : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A name or additional clarification given to a cost value. std::optional< std::string > Name() const; @@ -13627,9 +13627,9 @@ public: /// HISTORY New Entity in IFC Release 2.0 /// /// 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_SCHEMA_API IfcApproval : public express::Entity { +class IFC_SCHEMA_API IfcApproval : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A computer interpretable identifier by which the approval is known. std::optional< std::string > Identifier() const; @@ -13688,9 +13688,9 @@ public: /// HISTORY: New entity /// in Release IFC2x Edition /// 2. -class IFC_SCHEMA_API IfcBoundaryCondition : public express::Entity { +class IFC_SCHEMA_API IfcBoundaryCondition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optionally defines a name for this boundary condition. std::optional< std::string > Name() const; @@ -13832,9 +13832,9 @@ public: /// HISTORY  New entity in IFC Release 1.5. /// /// 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_SCHEMA_API IfcConnectionGeometry : public express::Entity { +class IFC_SCHEMA_API IfcConnectionGeometry : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; static const ifcopenshell::entity& Class(); @@ -13924,9 +13924,9 @@ public: /// A constraint must have a name applied through the IfcConstraint.Name attribute and optionally, a description through IfcConstraint.Description. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade or IfcConstraint.UserDefinedGrade whilst the source, creating actor and time at which the constraint is created may be optionally asserted through IfcConstraint.ConstraintSource, IfcConstraint.CreatingActor and IfcConstraint.CreationTime. /// /// 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_SCHEMA_API IfcConstraint : public express::Entity { +class IFC_SCHEMA_API IfcConstraint : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; @@ -14004,9 +14004,9 @@ public: /// and any map or other coordinate reference system. /// /// HISTORY  New entity in IFC2x4. -class IFC_SCHEMA_API IfcCoordinateOperation : public express::Entity { +class IFC_SCHEMA_API IfcCoordinateOperation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Source coordinate reference system for the operation. ::Ifc4x2::IfcCoordinateReferenceSystemSelect SourceCRS() const; @@ -14040,9 +14040,9 @@ public: /// Specifications. /// /// HISTORY  New entity in IFC2x4. -class IFC_SCHEMA_API IfcCoordinateReferenceSystem : public express::Entity { +class IFC_SCHEMA_API IfcCoordinateReferenceSystem : public express::entity { public: - using express::Entity::Entity; + 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. @@ -14126,9 +14126,9 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDerivedUnit : public express::Entity { +class IFC_SCHEMA_API IfcDerivedUnit : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The group of units and their exponents that define the derived unit. std::vector< ::Ifc4x2::IfcDerivedUnitElement > Elements() const; @@ -14151,9 +14151,9 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit_element, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDerivedUnitElement : public express::Entity { +class IFC_SCHEMA_API IfcDerivedUnitElement : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The fixed quantity which is used as the mathematical factor. ::Ifc4x2::IfcNamedUnit Unit() const; @@ -14182,9 +14182,9 @@ public: /// for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDimensionalExponents : public express::Entity { +class IFC_SCHEMA_API IfcDimensionalExponents : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The power of the length base quantity. int64_t LengthExponent() const; @@ -14217,9 +14217,9 @@ public: /// all external information entities. /// /// HISTORY New entity in IFC2x4. -class IFC_SCHEMA_API IfcExternalInformation : public express::Entity { +class IFC_SCHEMA_API IfcExternalInformation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; static const ifcopenshell::entity& Class(); @@ -14234,9 +14234,9 @@ public: /// IfcExternalReference is an abstract supertype of all external reference entities. /// /// HISTORY New entity in IFC2x. -class IFC_SCHEMA_API IfcExternalReference : public express::Entity { +class IFC_SCHEMA_API IfcExternalReference : public express::entity { public: - using express::Entity::Entity; + 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. /// @@ -14331,9 +14331,9 @@ public: /// underlying AxisCurve supports this concept. /// /// Figure 242 — Grid axis -class IFC_SCHEMA_API IfcGridAxis : public express::Entity { +class IFC_SCHEMA_API IfcGridAxis : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The tag or name for this grid axis. std::optional< std::string > AxisTag() const; @@ -14355,9 +14355,9 @@ public: /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// /// HISTORY: New entity in IFC 2x2. -class IFC_SCHEMA_API IfcIrregularTimeSeriesValue : public express::Entity { +class IFC_SCHEMA_API IfcIrregularTimeSeriesValue : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The specification of the time point. std::string TimeStamp() const; @@ -14452,9 +14452,9 @@ public: /// For each pair of MainPlaneAngle and SecondaryPlaneAngle the LuminousIntensity is provided (the unit is given by the IfcUnitAssignment referring to the LuminousIntensityDistributionUnit, normally cd/klm). /// /// HISTORY: New entity in IFC2x2. -class IFC_SCHEMA_API IfcLightDistributionData : public express::Entity { +class IFC_SCHEMA_API IfcLightDistributionData : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; @@ -14474,9 +14474,9 @@ public: /// 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_SCHEMA_API IfcLightIntensityDistribution : public express::Entity { +class IFC_SCHEMA_API IfcLightIntensityDistribution : public express::entity { public: - using express::Entity::Entity; + 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; @@ -14537,9 +14537,9 @@ public: /// HISTORY New entity in IFC2x. /// /// IFC2x4 CHANGE The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. -class IFC_SCHEMA_API IfcMaterialClassificationRelationship : public express::Entity { +class IFC_SCHEMA_API IfcMaterialClassificationRelationship : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The material classifications identifying the type of material. std::vector< ::Ifc4x2::IfcClassificationSelect > MaterialClassifications() const; @@ -14575,9 +14575,9 @@ public: /// IfcRelAssociatesMaterial. /// /// HISTORY New entity in IFC2x4 -class IFC_SCHEMA_API IfcMaterialDefinition : public express::Entity { +class IFC_SCHEMA_API IfcMaterialDefinition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects @@ -14773,9 +14773,9 @@ public: /// /// IFC2x4 CHANGE The entity IfcMaterialList is deprecated and shall no longer /// be used. Use IfcMaterialConstituentSet instead. -class IFC_SCHEMA_API IfcMaterialList : public express::Entity { +class IFC_SCHEMA_API IfcMaterialList : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Materials used in a composition of substances. std::vector< ::Ifc4x2::IfcMaterial > Materials() const; @@ -14891,9 +14891,9 @@ public: /// IfcMaterialUsageDefinition to a subtype of /// IfcElementType, it shall only be assigned to an element /// occurrence. -class IFC_SCHEMA_API IfcMaterialUsageDefinition : public express::Entity { +class IFC_SCHEMA_API IfcMaterialUsageDefinition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial @@ -14910,9 +14910,9 @@ public: /// NOTE Corresponding ISO 10303 name: measure_with_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcMeasureWithUnit : public express::Entity { +class IFC_SCHEMA_API IfcMeasureWithUnit : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The value of the physical quantity when expressed in the specified units. ::Ifc4x2::IfcValue ValueComponent() const; @@ -15000,9 +15000,9 @@ public: /// HISTORY: New entity in IFC Release 2x. /// /// IFC2x4 CHANGE: Type of the attribute Currency changed. -class IFC_SCHEMA_API IfcMonetaryUnit : public express::Entity { +class IFC_SCHEMA_API IfcMonetaryUnit : public express::entity { public: - using express::Entity::Entity; + 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; @@ -15016,9 +15016,9 @@ public: /// NOTE Corresponding ISO 10303 name: named_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcNamedUnit : public express::Entity { +class IFC_SCHEMA_API IfcNamedUnit : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The dimensional exponents of the SI base units by which the named unit is defined. ::Ifc4x2::IfcDimensionalExponents Dimensions() const; @@ -15041,9 +15041,9 @@ public: /// In any case the object placement has to unambiguously define the object coordinate system as either two-dimensional axis placement (IfcAxis2Placement2D) or three-dimensional axis placement (IfcAxis2Placement3D). The axis placement may have to be calculated. /// /// HISTORY New entity in IFC Release 2x. -class IFC_SCHEMA_API IfcObjectPlacement : public express::Entity { +class IFC_SCHEMA_API IfcObjectPlacement : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; ::Ifc4x2::IfcObjectPlacement PlacementRelTo() const; void setPlacementRelTo(const ::Ifc4x2::IfcObjectPlacement& v); @@ -15088,9 +15088,9 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. -class IFC_SCHEMA_API IfcOrganization : public express::Entity { +class IFC_SCHEMA_API IfcOrganization : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Identification of the organization. std::optional< std::string > Identification() const; @@ -15125,9 +15125,9 @@ public: /// /// If LastModifiedDate is defined but ChangeAction is not asserted, then the state of ChangeAction is assumed to be UNDEFINED. /// If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate. -class IFC_SCHEMA_API IfcOwnerHistory : public express::Entity { +class IFC_SCHEMA_API IfcOwnerHistory : public express::entity { public: - using express::Entity::Entity; + 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; @@ -15166,9 +15166,9 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. -class IFC_SCHEMA_API IfcPerson : public express::Entity { +class IFC_SCHEMA_API IfcPerson : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Identification of the person. std::optional< std::string > Identification() const; @@ -15210,9 +15210,9 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: person_and_organization. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_SCHEMA_API IfcPersonAndOrganization : public express::Entity { +class IFC_SCHEMA_API IfcPersonAndOrganization : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The person who is related to the organization. ::Ifc4x2::IfcPerson ThePerson() const; @@ -15232,9 +15232,9 @@ public: /// The Name attribute defines the actual usage or kind of measure. The interpretation of the name label has to be established within the actual exchange context. In addition an informative text may be associated to each quantity by the Description attribute. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_SCHEMA_API IfcPhysicalQuantity : public express::Entity { +class IFC_SCHEMA_API IfcPhysicalQuantity : public express::entity { public: - using express::Entity::Entity; + 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; @@ -15307,9 +15307,9 @@ public: 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_SCHEMA_API IfcPresentationItem : public express::Entity { +class IFC_SCHEMA_API IfcPresentationItem : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; static const ifcopenshell::entity& Class(); @@ -15330,9 +15330,9 @@ public: /// Figure 305 illustrates assignment of items by shape representation or representation item. The set of AssignedItems can either include a whole shape representation, or individual geometric representation items. If both, the IfcShapeRepresentation has a layer assignment, and an individual geometric representation item in the set of IfcShapeRepresentation.Items, then the layer assignment of the IfcGeometricRepresentationItem overides the layer assignment of the IfcShapeRepresentation. /// /// Figure 305 — Presentation layer assignment -class IFC_SCHEMA_API IfcPresentationLayerAssignment : public express::Entity { +class IFC_SCHEMA_API IfcPresentationLayerAssignment : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Name of the layer. std::string Name() const; @@ -15392,9 +15392,9 @@ public: /// Each subtype of  IfcPresentationStyle can be assigned to IfcGeometricRepresentationItem's via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or one of its subtypes. /// /// HISTORY  New entity in IFC2x3. -class IFC_SCHEMA_API IfcPresentationStyle : public express::Entity { +class IFC_SCHEMA_API IfcPresentationStyle : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Name of the presentation style. std::optional< std::string > Name() const; @@ -15408,9 +15408,9 @@ public: /// NOTE Corresponding ISO 10303 name: presentation_style_assignment. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in Release IFC2x2. -class IFC_SCHEMA_API IfcPresentationStyleAssignment : public express::Entity { +class IFC_SCHEMA_API IfcPresentationStyleAssignment : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A set of presentation styles that are assigned to styled items. std::vector< ::Ifc4x2::IfcPresentationStyleSelect > Styles() const; @@ -15436,9 +15436,9 @@ public: /// IFC2x3 NOTE Users should not instantiate the entity from IFC2x Edition 3 onwards. /// /// IFC2x4 CHANGE  Entity made abstract. -class IFC_SCHEMA_API IfcProductRepresentation : public express::Entity { +class IFC_SCHEMA_API IfcProductRepresentation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The word or group of words by which the product representation is known. std::optional< std::string > Name() const; @@ -15623,9 +15623,9 @@ public: /// possible to directly instantiate IfcProfileDef and further specify /// the profile only by external reference or by profile properties. The latter /// are tracked by the inverse attribute HasProperties. -class IFC_SCHEMA_API IfcProfileDef : public express::Entity { +class IFC_SCHEMA_API IfcProfileDef : public express::entity { public: - using express::Entity::Entity; + 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; @@ -15687,9 +15687,9 @@ public: 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_SCHEMA_API IfcPropertyAbstraction : public express::Entity { +class IFC_SCHEMA_API IfcPropertyAbstraction : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects @@ -15891,9 +15891,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcRecurrencePattern : public express::Entity { +class IFC_SCHEMA_API IfcRecurrencePattern : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Defines the recurrence type that gives meaning to the used /// attributes and decides about possible attribute @@ -15937,9 +15937,9 @@ public: IfcRecurrencePattern initialize(::Ifc4x2::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int64_t > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v4_MonthComponent, std::optional< int64_t > v5_Position, std::optional< int64_t > v6_Interval, std::optional< int64_t > v7_Occurrences, std::optional< std::vector< ::Ifc4x2::IfcTimePeriod > > v8_TimePeriods); }; -class IFC_SCHEMA_API IfcReference : public express::Entity { +class IFC_SCHEMA_API IfcReference : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::optional< std::string > TypeIdentifier() const; void setTypeIdentifier(const std::optional< std::string >& v); @@ -16001,9 +16001,9 @@ public: /// IFC2x4 CHANGE  Entity /// IfcRepresentation has been changed into an ABSTRACT /// supertype. -class IFC_SCHEMA_API IfcRepresentation : public express::Entity { +class IFC_SCHEMA_API IfcRepresentation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Definition of the representation context for which the different subtypes of representation are valid. ::Ifc4x2::IfcRepresentationContext ContextOfItems() const; @@ -16035,9 +16035,9 @@ public: /// /// IFC2x4 CHANGE Entity made abstract, had been deprecated from instantiation since /// IFC2x2. -class IFC_SCHEMA_API IfcRepresentationContext : public express::Entity { +class IFC_SCHEMA_API IfcRepresentationContext : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The optional identifier of the representation context as used within a project. std::optional< std::string > ContextIdentifier() const; @@ -16082,9 +16082,9 @@ public: /// HISTORY  New entity in IFC Release 2x. /// /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. -class IFC_SCHEMA_API IfcRepresentationItem : public express::Entity { +class IFC_SCHEMA_API IfcRepresentationItem : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcPresentationLayerAssignment > LayerAssignment() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems std::vector< IfcStyledItem > StyledByItem() const; // INVERSE IfcStyledItem::Item @@ -16103,9 +16103,9 @@ public: /// NOTE  The definition of a mapping which is used to specify a new representation item comprises a representation map and a mapped item entity. Without both entities, the mapping is not fully defined. Two entities are specified to allow the same source representation to be mapped into multiple new representations. /// /// HISTORY  New entity in IFC Release 2x. -class IFC_SCHEMA_API IfcRepresentationMap : public express::Entity { +class IFC_SCHEMA_API IfcRepresentationMap : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// An axis2 placement that defines the position about which the mapped /// representation is mapped. @@ -16123,9 +16123,9 @@ public: /// IfcResourceLevelRelationship is an abstract base class for relationships between resource-level entities. /// /// HISTORY New Entity in IFC 2x4 -class IFC_SCHEMA_API IfcResourceLevelRelationship : public express::Entity { +class IFC_SCHEMA_API IfcResourceLevelRelationship : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A name used to identify or qualify the relationship. std::optional< std::string > Name() const; @@ -16146,9 +16146,9 @@ public: /// HISTORY New entity in IFC Release 1.0 /// /// IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL. -class IFC_SCHEMA_API IfcRoot : public express::Entity { +class IFC_SCHEMA_API IfcRoot : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; @@ -16196,9 +16196,9 @@ public: /// IfcSchedulingTime is the abstract supertype of entities that capture time-related information of processes. /// /// HISTORY: New entity in IFC2x4. -class IFC_SCHEMA_API IfcSchedulingTime : public express::Entity { +class IFC_SCHEMA_API IfcSchedulingTime : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optional name for the time definition. std::optional< std::string > Name() const; @@ -16251,9 +16251,9 @@ public: /// IfcRepresentationMap's that are used by an /// IfcTypeProduct through the /// RepresentationMaps attribute. -class IFC_SCHEMA_API IfcShapeAspect : public express::Entity { +class IFC_SCHEMA_API IfcShapeAspect : public express::entity { public: - using express::Entity::Entity; + 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 @@ -16452,9 +16452,9 @@ public: /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. -class IFC_SCHEMA_API IfcStructuralConnectionCondition : public express::Entity { +class IFC_SCHEMA_API IfcStructuralConnectionCondition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optionally defines a name for this connection condition. std::optional< std::string > Name() const; @@ -16466,9 +16466,9 @@ public: /// 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_SCHEMA_API IfcStructuralLoad : public express::Entity { +class IFC_SCHEMA_API IfcStructuralLoad : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optionally defines a name for this load. std::optional< std::string > Name() const; @@ -16921,9 +16921,9 @@ public: /// HISTORY  New entity in IFC R1.5. /// /// IFC2x4 CHANGE  Columns attribute added. -class IFC_SCHEMA_API IfcTable : public express::Entity { +class IFC_SCHEMA_API IfcTable : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A unique name which is intended to describe the usage of the Table. std::optional< std::string > Name() const; @@ -16943,9 +16943,9 @@ public: /// The use of IfcTableColumn supercedes the IsHeading flag associated with IfcTableRow. /// /// HISTORY  New entity in IFC2x4. -class IFC_SCHEMA_API IfcTableColumn : public express::Entity { +class IFC_SCHEMA_API IfcTableColumn : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Table column identifier. std::optional< std::string > Identifier() const; @@ -16978,9 +16978,9 @@ public: /// Figure 338 — Table row use alternative /// /// HISTORY  New entity in IFC R1.5. -class IFC_SCHEMA_API IfcTableRow : public express::Entity { +class IFC_SCHEMA_API IfcTableRow : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The data value of the table cell.. std::optional< std::vector< ::Ifc4x2::IfcValue > > RowCells() const; @@ -17474,9 +17474,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcTimePeriod : public express::Entity { +class IFC_SCHEMA_API IfcTimePeriod : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Start time of the time period. std::string StartTime() const; @@ -17493,9 +17493,9 @@ public: /// The modeling of buildings and their performance involves data that are generated and recorded over a period of time. Such data cover a large spectrum, from weather data to schedules of all kinds to status measurements to reporting to everything else that has a time related aspect. Their correct placement in time is essential for their proper understanding and use, and the IfcTimeSeries subtypes provide the appropriate data structures to accommodate these types of data. /// /// HISTORY: New entity in IFC 2x2. -class IFC_SCHEMA_API IfcTimeSeries : public express::Entity { +class IFC_SCHEMA_API IfcTimeSeries : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// An unique name for the time series. std::string Name() const; @@ -17535,9 +17535,9 @@ public: /// Figure 241 — Time series value /// /// HISTORY  New entity in IFC2x2. -class IFC_SCHEMA_API IfcTimeSeriesValue : public express::Entity { +class IFC_SCHEMA_API IfcTimeSeriesValue : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A list of time-series values. At least one value is required. std::vector< ::Ifc4x2::IfcValue > ListValues() const; @@ -17606,9 +17606,9 @@ public: /// NOTE  A project (IfcProject) has a unit assignment which establishes a set of units which will be used globally within the project, if not otherwise defined. Other objects may have local unit assignments if there is a requirement for them to make use of units which do not fall within the project unit assignment. /// /// HISTORY  New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcUnitAssignment : public express::Entity { +class IFC_SCHEMA_API IfcUnitAssignment : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Units to be included within a unit assignment. std::vector< ::Ifc4x2::IfcUnit > Units() const; @@ -17714,9 +17714,9 @@ public: /// OffsetDistances[1] is a negative length measure /// /// Figure 248 — Virtual grid intersection negative offset -class IFC_SCHEMA_API IfcVirtualGridIntersection : public express::Entity { +class IFC_SCHEMA_API IfcVirtualGridIntersection : public express::entity { public: - using express::Entity::Entity; + 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; diff --git a/src/ifcparse/schemas/Ifc4x3_add2.cpp b/src/ifcparse/schemas/Ifc4x3_add2.cpp index e0186226bd..ec5ab2ab08 100644 --- a/src/ifcparse/schemas/Ifc4x3_add2.cpp +++ b/src/ifcparse/schemas/Ifc4x3_add2.cpp @@ -44,7 +44,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcActionRequestTypeEnum::Cla /* Ifc4x3_add2::IfcActionRequestTypeEnum::IfcActionRequestTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcActionRequestTypeEnum::IfcActionRequestTypeEnum(Value v) { @@ -73,7 +73,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcActionSourceTypeEnum::Clas /* Ifc4x3_add2::IfcActionSourceTypeEnum::IfcActionSourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcActionSourceTypeEnum::IfcActionSourceTypeEnum(Value v) { @@ -102,7 +102,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcActionTypeEnum::Class() { /* Ifc4x3_add2::IfcActionTypeEnum::IfcActionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcActionTypeEnum::IfcActionTypeEnum(Value v) { @@ -131,7 +131,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcActuatorTypeEnum::Class() /* Ifc4x3_add2::IfcActuatorTypeEnum::IfcActuatorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcActuatorTypeEnum::IfcActuatorTypeEnum(Value v) { @@ -160,7 +160,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcAddressTypeEnum::Class() { /* Ifc4x3_add2::IfcAddressTypeEnum::IfcAddressTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcAddressTypeEnum::IfcAddressTypeEnum(Value v) { @@ -189,7 +189,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Cl /* Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum(Value v) { @@ -218,7 +218,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcAirTerminalTypeEnum::Class /* Ifc4x3_add2::IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum(Value v) { @@ -247,7 +247,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEn /* Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum(Value v) { @@ -276,7 +276,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcAlarmTypeEnum::Class() { r /* Ifc4x3_add2::IfcAlarmTypeEnum::IfcAlarmTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcAlarmTypeEnum::IfcAlarmTypeEnum(Value v) { @@ -305,7 +305,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcAlignmentCantSegmentTypeEn /* Ifc4x3_add2::IfcAlignmentCantSegmentTypeEnum::IfcAlignmentCantSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcAlignmentCantSegmentTypeEnum::IfcAlignmentCantSegmentTypeEnum(Value v) { @@ -334,7 +334,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcAlignmentHorizontalSegment /* Ifc4x3_add2::IfcAlignmentHorizontalSegmentTypeEnum::IfcAlignmentHorizontalSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcAlignmentHorizontalSegmentTypeEnum::IfcAlignmentHorizontalSegmentTypeEnum(Value v) { @@ -363,7 +363,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcAlignmentTypeEnum::Class() /* Ifc4x3_add2::IfcAlignmentTypeEnum::IfcAlignmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcAlignmentTypeEnum::IfcAlignmentTypeEnum(Value v) { @@ -392,7 +392,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcAlignmentVerticalSegmentTy /* Ifc4x3_add2::IfcAlignmentVerticalSegmentTypeEnum::IfcAlignmentVerticalSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcAlignmentVerticalSegmentTypeEnum::IfcAlignmentVerticalSegmentTypeEnum(Value v) { @@ -421,7 +421,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcAnalysisModelTypeEnum::Cla /* Ifc4x3_add2::IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum(Value v) { @@ -450,7 +450,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::Cl /* Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum(Value v) { @@ -479,7 +479,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcAnnotationTypeEnum::Class( /* Ifc4x3_add2::IfcAnnotationTypeEnum::IfcAnnotationTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcAnnotationTypeEnum::IfcAnnotationTypeEnum(Value v) { @@ -508,7 +508,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcArithmeticOperatorEnum::Cl /* Ifc4x3_add2::IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum(Value v) { @@ -537,7 +537,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcAssemblyPlaceEnum::Class() /* Ifc4x3_add2::IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum(Value v) { @@ -566,7 +566,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcAudioVisualApplianceTypeEn /* Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum(Value v) { @@ -595,7 +595,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcBSplineCurveForm::Class() /* Ifc4x3_add2::IfcBSplineCurveForm::IfcBSplineCurveForm(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcBSplineCurveForm::IfcBSplineCurveForm(Value v) { @@ -624,7 +624,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcBSplineSurfaceForm::Class( /* Ifc4x3_add2::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm(Value v) { @@ -653,7 +653,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcBeamTypeEnum::Class() { re /* Ifc4x3_add2::IfcBeamTypeEnum::IfcBeamTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcBeamTypeEnum::IfcBeamTypeEnum(Value v) { @@ -682,7 +682,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcBearingTypeEnum::Class() { /* Ifc4x3_add2::IfcBearingTypeEnum::IfcBearingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcBearingTypeEnum::IfcBearingTypeEnum(Value v) { @@ -711,7 +711,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcBenchmarkEnum::Class() { r /* Ifc4x3_add2::IfcBenchmarkEnum::IfcBenchmarkEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcBenchmarkEnum::IfcBenchmarkEnum(Value v) { @@ -740,7 +740,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcBoilerTypeEnum::Class() { /* Ifc4x3_add2::IfcBoilerTypeEnum::IfcBoilerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcBoilerTypeEnum::IfcBoilerTypeEnum(Value v) { @@ -769,7 +769,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcBooleanOperator::Class() { /* Ifc4x3_add2::IfcBooleanOperator::IfcBooleanOperator(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcBooleanOperator::IfcBooleanOperator(Value v) { @@ -798,7 +798,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcBridgePartTypeEnum::Class( /* Ifc4x3_add2::IfcBridgePartTypeEnum::IfcBridgePartTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcBridgePartTypeEnum::IfcBridgePartTypeEnum(Value v) { @@ -827,7 +827,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcBridgeTypeEnum::Class() { /* Ifc4x3_add2::IfcBridgeTypeEnum::IfcBridgeTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcBridgeTypeEnum::IfcBridgeTypeEnum(Value v) { @@ -856,7 +856,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcBuildingElementPartTypeEnu /* Ifc4x3_add2::IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum(Value v) { @@ -885,7 +885,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcBuildingElementProxyTypeEn /* Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum(Value v) { @@ -914,7 +914,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcBuildingSystemTypeEnum::Cl /* Ifc4x3_add2::IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum(Value v) { @@ -943,7 +943,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcBuiltSystemTypeEnum::Class /* Ifc4x3_add2::IfcBuiltSystemTypeEnum::IfcBuiltSystemTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcBuiltSystemTypeEnum::IfcBuiltSystemTypeEnum(Value v) { @@ -972,7 +972,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcBurnerTypeEnum::Class() { /* Ifc4x3_add2::IfcBurnerTypeEnum::IfcBurnerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcBurnerTypeEnum::IfcBurnerTypeEnum(Value v) { @@ -1001,7 +1001,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcCableCarrierFittingTypeEnu /* Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum(Value v) { @@ -1030,7 +1030,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcCableCarrierSegmentTypeEnu /* Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum(Value v) { @@ -1059,7 +1059,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcCableFittingTypeEnum::Clas /* Ifc4x3_add2::IfcCableFittingTypeEnum::IfcCableFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcCableFittingTypeEnum::IfcCableFittingTypeEnum(Value v) { @@ -1088,7 +1088,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcCableSegmentTypeEnum::Clas /* Ifc4x3_add2::IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum(Value v) { @@ -1117,7 +1117,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcCaissonFoundationTypeEnum: /* Ifc4x3_add2::IfcCaissonFoundationTypeEnum::IfcCaissonFoundationTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcCaissonFoundationTypeEnum::IfcCaissonFoundationTypeEnum(Value v) { @@ -1146,7 +1146,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcChangeActionEnum::Class() /* Ifc4x3_add2::IfcChangeActionEnum::IfcChangeActionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcChangeActionEnum::IfcChangeActionEnum(Value v) { @@ -1175,7 +1175,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcChillerTypeEnum::Class() { /* Ifc4x3_add2::IfcChillerTypeEnum::IfcChillerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcChillerTypeEnum::IfcChillerTypeEnum(Value v) { @@ -1204,7 +1204,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcChimneyTypeEnum::Class() { /* Ifc4x3_add2::IfcChimneyTypeEnum::IfcChimneyTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcChimneyTypeEnum::IfcChimneyTypeEnum(Value v) { @@ -1233,7 +1233,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcCoilTypeEnum::Class() { re /* Ifc4x3_add2::IfcCoilTypeEnum::IfcCoilTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcCoilTypeEnum::IfcCoilTypeEnum(Value v) { @@ -1262,7 +1262,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcColumnTypeEnum::Class() { /* Ifc4x3_add2::IfcColumnTypeEnum::IfcColumnTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcColumnTypeEnum::IfcColumnTypeEnum(Value v) { @@ -1291,7 +1291,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcCommunicationsApplianceTyp /* Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum(Value v) { @@ -1320,7 +1320,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcComplexPropertyTemplateTyp /* Ifc4x3_add2::IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum(Value v) { @@ -1349,7 +1349,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcCompressorTypeEnum::Class( /* Ifc4x3_add2::IfcCompressorTypeEnum::IfcCompressorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcCompressorTypeEnum::IfcCompressorTypeEnum(Value v) { @@ -1378,7 +1378,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcCondenserTypeEnum::Class() /* Ifc4x3_add2::IfcCondenserTypeEnum::IfcCondenserTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcCondenserTypeEnum::IfcCondenserTypeEnum(Value v) { @@ -1407,7 +1407,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcConnectionTypeEnum::Class( /* Ifc4x3_add2::IfcConnectionTypeEnum::IfcConnectionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcConnectionTypeEnum::IfcConnectionTypeEnum(Value v) { @@ -1436,7 +1436,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcConstraintEnum::Class() { /* Ifc4x3_add2::IfcConstraintEnum::IfcConstraintEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcConstraintEnum::IfcConstraintEnum(Value v) { @@ -1465,7 +1465,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcConstructionEquipmentResou /* Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum(Value v) { @@ -1494,7 +1494,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcConstructionMaterialResour /* Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum(Value v) { @@ -1523,7 +1523,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcConstructionProductResourc /* Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum(Value v) { @@ -1552,7 +1552,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcControllerTypeEnum::Class( /* Ifc4x3_add2::IfcControllerTypeEnum::IfcControllerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcControllerTypeEnum::IfcControllerTypeEnum(Value v) { @@ -1581,7 +1581,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcConveyorSegmentTypeEnum::C /* Ifc4x3_add2::IfcConveyorSegmentTypeEnum::IfcConveyorSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcConveyorSegmentTypeEnum::IfcConveyorSegmentTypeEnum(Value v) { @@ -1610,7 +1610,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcCooledBeamTypeEnum::Class( /* Ifc4x3_add2::IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum(Value v) { @@ -1639,7 +1639,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcCoolingTowerTypeEnum::Clas /* Ifc4x3_add2::IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum(Value v) { @@ -1668,7 +1668,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcCostItemTypeEnum::Class() /* Ifc4x3_add2::IfcCostItemTypeEnum::IfcCostItemTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcCostItemTypeEnum::IfcCostItemTypeEnum(Value v) { @@ -1697,7 +1697,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcCostScheduleTypeEnum::Clas /* Ifc4x3_add2::IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum(Value v) { @@ -1726,7 +1726,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcCourseTypeEnum::Class() { /* Ifc4x3_add2::IfcCourseTypeEnum::IfcCourseTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcCourseTypeEnum::IfcCourseTypeEnum(Value v) { @@ -1755,7 +1755,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcCoveringTypeEnum::Class() /* Ifc4x3_add2::IfcCoveringTypeEnum::IfcCoveringTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcCoveringTypeEnum::IfcCoveringTypeEnum(Value v) { @@ -1784,7 +1784,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcCrewResourceTypeEnum::Clas /* Ifc4x3_add2::IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum(Value v) { @@ -1813,7 +1813,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcCurtainWallTypeEnum::Class /* Ifc4x3_add2::IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum(Value v) { @@ -1842,7 +1842,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcCurveInterpolationEnum::Cl /* Ifc4x3_add2::IfcCurveInterpolationEnum::IfcCurveInterpolationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcCurveInterpolationEnum::IfcCurveInterpolationEnum(Value v) { @@ -1871,7 +1871,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcDamperTypeEnum::Class() { /* Ifc4x3_add2::IfcDamperTypeEnum::IfcDamperTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcDamperTypeEnum::IfcDamperTypeEnum(Value v) { @@ -1900,7 +1900,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcDataOriginEnum::Class() { /* Ifc4x3_add2::IfcDataOriginEnum::IfcDataOriginEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcDataOriginEnum::IfcDataOriginEnum(Value v) { @@ -1929,7 +1929,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcDerivedUnitEnum::Class() { /* Ifc4x3_add2::IfcDerivedUnitEnum::IfcDerivedUnitEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcDerivedUnitEnum::IfcDerivedUnitEnum(Value v) { @@ -1958,7 +1958,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcDirectionSenseEnum::Class( /* Ifc4x3_add2::IfcDirectionSenseEnum::IfcDirectionSenseEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcDirectionSenseEnum::IfcDirectionSenseEnum(Value v) { @@ -1987,7 +1987,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum: /* Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum(Value v) { @@ -2016,7 +2016,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcDistributionBoardTypeEnum: /* Ifc4x3_add2::IfcDistributionBoardTypeEnum::IfcDistributionBoardTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcDistributionBoardTypeEnum::IfcDistributionBoardTypeEnum(Value v) { @@ -2045,7 +2045,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcDistributionChamberElement /* Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum(Value v) { @@ -2074,7 +2074,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcDistributionPortTypeEnum:: /* Ifc4x3_add2::IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum(Value v) { @@ -2103,7 +2103,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcDistributionSystemEnum::Cl /* Ifc4x3_add2::IfcDistributionSystemEnum::IfcDistributionSystemEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcDistributionSystemEnum::IfcDistributionSystemEnum(Value v) { @@ -2132,7 +2132,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcDocumentConfidentialityEnu /* Ifc4x3_add2::IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum(Value v) { @@ -2161,7 +2161,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcDocumentStatusEnum::Class( /* Ifc4x3_add2::IfcDocumentStatusEnum::IfcDocumentStatusEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcDocumentStatusEnum::IfcDocumentStatusEnum(Value v) { @@ -2190,7 +2190,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcDoorPanelOperationEnum::Cl /* Ifc4x3_add2::IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum(Value v) { @@ -2219,7 +2219,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcDoorPanelPositionEnum::Cla /* Ifc4x3_add2::IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum(Value v) { @@ -2248,7 +2248,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcDoorTypeEnum::Class() { re /* Ifc4x3_add2::IfcDoorTypeEnum::IfcDoorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcDoorTypeEnum::IfcDoorTypeEnum(Value v) { @@ -2277,7 +2277,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcDoorTypeOperationEnum::Cla /* Ifc4x3_add2::IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum(Value v) { @@ -2306,7 +2306,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcDuctFittingTypeEnum::Class /* Ifc4x3_add2::IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum(Value v) { @@ -2335,7 +2335,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcDuctSegmentTypeEnum::Class /* Ifc4x3_add2::IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum(Value v) { @@ -2364,7 +2364,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcDuctSilencerTypeEnum::Clas /* Ifc4x3_add2::IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum(Value v) { @@ -2393,7 +2393,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcEarthworksCutTypeEnum::Cla /* Ifc4x3_add2::IfcEarthworksCutTypeEnum::IfcEarthworksCutTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcEarthworksCutTypeEnum::IfcEarthworksCutTypeEnum(Value v) { @@ -2422,7 +2422,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcEarthworksFillTypeEnum::Cl /* Ifc4x3_add2::IfcEarthworksFillTypeEnum::IfcEarthworksFillTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcEarthworksFillTypeEnum::IfcEarthworksFillTypeEnum(Value v) { @@ -2451,7 +2451,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcElectricApplianceTypeEnum: /* Ifc4x3_add2::IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum(Value v) { @@ -2480,7 +2480,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcElectricDistributionBoardT /* Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum(Value v) { @@ -2509,7 +2509,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcElectricFlowStorageDeviceT /* Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum(Value v) { @@ -2538,7 +2538,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcElectricFlowTreatmentDevic /* Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::IfcElectricFlowTreatmentDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::IfcElectricFlowTreatmentDeviceTypeEnum(Value v) { @@ -2567,7 +2567,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcElectricGeneratorTypeEnum: /* Ifc4x3_add2::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum(Value v) { @@ -2596,7 +2596,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcElectricMotorTypeEnum::Cla /* Ifc4x3_add2::IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum(Value v) { @@ -2625,7 +2625,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcElectricTimeControlTypeEnu /* Ifc4x3_add2::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum(Value v) { @@ -2654,7 +2654,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcElementAssemblyTypeEnum::C /* Ifc4x3_add2::IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum(Value v) { @@ -2683,7 +2683,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcElementCompositionEnum::Cl /* Ifc4x3_add2::IfcElementCompositionEnum::IfcElementCompositionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcElementCompositionEnum::IfcElementCompositionEnum(Value v) { @@ -2712,7 +2712,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcEngineTypeEnum::Class() { /* Ifc4x3_add2::IfcEngineTypeEnum::IfcEngineTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcEngineTypeEnum::IfcEngineTypeEnum(Value v) { @@ -2741,7 +2741,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum: /* Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum(Value v) { @@ -2770,7 +2770,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcEvaporatorTypeEnum::Class( /* Ifc4x3_add2::IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum(Value v) { @@ -2799,7 +2799,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcEventTriggerTypeEnum::Clas /* Ifc4x3_add2::IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum(Value v) { @@ -2828,7 +2828,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcEventTypeEnum::Class() { r /* Ifc4x3_add2::IfcEventTypeEnum::IfcEventTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcEventTypeEnum::IfcEventTypeEnum(Value v) { @@ -2857,7 +2857,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcExternalSpatialElementType /* Ifc4x3_add2::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum(Value v) { @@ -2886,7 +2886,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcFacilityPartCommonTypeEnum /* Ifc4x3_add2::IfcFacilityPartCommonTypeEnum::IfcFacilityPartCommonTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcFacilityPartCommonTypeEnum::IfcFacilityPartCommonTypeEnum(Value v) { @@ -2915,7 +2915,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcFacilityUsageEnum::Class() /* Ifc4x3_add2::IfcFacilityUsageEnum::IfcFacilityUsageEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcFacilityUsageEnum::IfcFacilityUsageEnum(Value v) { @@ -2944,7 +2944,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcFanTypeEnum::Class() { ret /* Ifc4x3_add2::IfcFanTypeEnum::IfcFanTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcFanTypeEnum::IfcFanTypeEnum(Value v) { @@ -2973,7 +2973,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcFastenerTypeEnum::Class() /* Ifc4x3_add2::IfcFastenerTypeEnum::IfcFastenerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcFastenerTypeEnum::IfcFastenerTypeEnum(Value v) { @@ -3002,7 +3002,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcFilterTypeEnum::Class() { /* Ifc4x3_add2::IfcFilterTypeEnum::IfcFilterTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcFilterTypeEnum::IfcFilterTypeEnum(Value v) { @@ -3031,7 +3031,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcFireSuppressionTerminalTyp /* Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum(Value v) { @@ -3060,7 +3060,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcFlowDirectionEnum::Class() /* Ifc4x3_add2::IfcFlowDirectionEnum::IfcFlowDirectionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcFlowDirectionEnum::IfcFlowDirectionEnum(Value v) { @@ -3089,7 +3089,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Cl /* Ifc4x3_add2::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum(Value v) { @@ -3118,7 +3118,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcFlowMeterTypeEnum::Class() /* Ifc4x3_add2::IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum(Value v) { @@ -3147,7 +3147,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcFootingTypeEnum::Class() { /* Ifc4x3_add2::IfcFootingTypeEnum::IfcFootingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcFootingTypeEnum::IfcFootingTypeEnum(Value v) { @@ -3176,7 +3176,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcFurnitureTypeEnum::Class() /* Ifc4x3_add2::IfcFurnitureTypeEnum::IfcFurnitureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcFurnitureTypeEnum::IfcFurnitureTypeEnum(Value v) { @@ -3205,7 +3205,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcGeographicElementTypeEnum: /* Ifc4x3_add2::IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum(Value v) { @@ -3234,7 +3234,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcGeometricProjectionEnum::C /* Ifc4x3_add2::IfcGeometricProjectionEnum::IfcGeometricProjectionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcGeometricProjectionEnum::IfcGeometricProjectionEnum(Value v) { @@ -3263,7 +3263,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcGeotechnicalStratumTypeEnu /* Ifc4x3_add2::IfcGeotechnicalStratumTypeEnum::IfcGeotechnicalStratumTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcGeotechnicalStratumTypeEnum::IfcGeotechnicalStratumTypeEnum(Value v) { @@ -3292,7 +3292,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcGlobalOrLocalEnum::Class() /* Ifc4x3_add2::IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum(Value v) { @@ -3321,7 +3321,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcGridTypeEnum::Class() { re /* Ifc4x3_add2::IfcGridTypeEnum::IfcGridTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcGridTypeEnum::IfcGridTypeEnum(Value v) { @@ -3350,7 +3350,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcHeatExchangerTypeEnum::Cla /* Ifc4x3_add2::IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum(Value v) { @@ -3379,7 +3379,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcHumidifierTypeEnum::Class( /* Ifc4x3_add2::IfcHumidifierTypeEnum::IfcHumidifierTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcHumidifierTypeEnum::IfcHumidifierTypeEnum(Value v) { @@ -3408,7 +3408,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcImpactProtectionDeviceType /* Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::IfcImpactProtectionDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::IfcImpactProtectionDeviceTypeEnum(Value v) { @@ -3437,7 +3437,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcInterceptorTypeEnum::Class /* Ifc4x3_add2::IfcInterceptorTypeEnum::IfcInterceptorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcInterceptorTypeEnum::IfcInterceptorTypeEnum(Value v) { @@ -3466,7 +3466,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcInternalOrExternalEnum::Cl /* Ifc4x3_add2::IfcInternalOrExternalEnum::IfcInternalOrExternalEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcInternalOrExternalEnum::IfcInternalOrExternalEnum(Value v) { @@ -3495,7 +3495,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcInventoryTypeEnum::Class() /* Ifc4x3_add2::IfcInventoryTypeEnum::IfcInventoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcInventoryTypeEnum::IfcInventoryTypeEnum(Value v) { @@ -3524,7 +3524,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcJunctionBoxTypeEnum::Class /* Ifc4x3_add2::IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum(Value v) { @@ -3553,7 +3553,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcKerbTypeEnum::Class() { re /* Ifc4x3_add2::IfcKerbTypeEnum::IfcKerbTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcKerbTypeEnum::IfcKerbTypeEnum(Value v) { @@ -3582,7 +3582,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcKnotType::Class() { return /* Ifc4x3_add2::IfcKnotType::IfcKnotType(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcKnotType::IfcKnotType(Value v) { @@ -3611,7 +3611,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcLaborResourceTypeEnum::Cla /* Ifc4x3_add2::IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum(Value v) { @@ -3640,7 +3640,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcLampTypeEnum::Class() { re /* Ifc4x3_add2::IfcLampTypeEnum::IfcLampTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcLampTypeEnum::IfcLampTypeEnum(Value v) { @@ -3669,7 +3669,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcLayerSetDirectionEnum::Cla /* Ifc4x3_add2::IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum(Value v) { @@ -3698,7 +3698,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcLightDistributionCurveEnum /* Ifc4x3_add2::IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum(Value v) { @@ -3727,7 +3727,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcLightEmissionSourceEnum::C /* Ifc4x3_add2::IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum(Value v) { @@ -3756,7 +3756,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcLightFixtureTypeEnum::Clas /* Ifc4x3_add2::IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum(Value v) { @@ -3785,7 +3785,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Cl /* Ifc4x3_add2::IfcLiquidTerminalTypeEnum::IfcLiquidTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcLiquidTerminalTypeEnum::IfcLiquidTerminalTypeEnum(Value v) { @@ -3814,7 +3814,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcLoadGroupTypeEnum::Class() /* Ifc4x3_add2::IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum(Value v) { @@ -3843,7 +3843,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcLogicalOperatorEnum::Class /* Ifc4x3_add2::IfcLogicalOperatorEnum::IfcLogicalOperatorEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcLogicalOperatorEnum::IfcLogicalOperatorEnum(Value v) { @@ -3872,7 +3872,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcMarineFacilityTypeEnum::Cl /* Ifc4x3_add2::IfcMarineFacilityTypeEnum::IfcMarineFacilityTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcMarineFacilityTypeEnum::IfcMarineFacilityTypeEnum(Value v) { @@ -3901,7 +3901,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcMarinePartTypeEnum::Class( /* Ifc4x3_add2::IfcMarinePartTypeEnum::IfcMarinePartTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcMarinePartTypeEnum::IfcMarinePartTypeEnum(Value v) { @@ -3930,7 +3930,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcMechanicalFastenerTypeEnum /* Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum(Value v) { @@ -3959,7 +3959,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Cla /* Ifc4x3_add2::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum(Value v) { @@ -3988,7 +3988,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcMemberTypeEnum::Class() { /* Ifc4x3_add2::IfcMemberTypeEnum::IfcMemberTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcMemberTypeEnum::IfcMemberTypeEnum(Value v) { @@ -4017,7 +4017,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcMobileTelecommunicationsAp /* Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunicationsApplianceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunicationsApplianceTypeEnum(Value v) { @@ -4046,7 +4046,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcMooringDeviceTypeEnum::Cla /* Ifc4x3_add2::IfcMooringDeviceTypeEnum::IfcMooringDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcMooringDeviceTypeEnum::IfcMooringDeviceTypeEnum(Value v) { @@ -4075,7 +4075,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcMotorConnectionTypeEnum::C /* Ifc4x3_add2::IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum(Value v) { @@ -4104,7 +4104,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcNavigationElementTypeEnum: /* Ifc4x3_add2::IfcNavigationElementTypeEnum::IfcNavigationElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcNavigationElementTypeEnum::IfcNavigationElementTypeEnum(Value v) { @@ -4133,7 +4133,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcObjectiveEnum::Class() { r /* Ifc4x3_add2::IfcObjectiveEnum::IfcObjectiveEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcObjectiveEnum::IfcObjectiveEnum(Value v) { @@ -4162,7 +4162,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcOccupantTypeEnum::Class() /* Ifc4x3_add2::IfcOccupantTypeEnum::IfcOccupantTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcOccupantTypeEnum::IfcOccupantTypeEnum(Value v) { @@ -4191,7 +4191,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcOpeningElementTypeEnum::Cl /* Ifc4x3_add2::IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum(Value v) { @@ -4220,7 +4220,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcOutletTypeEnum::Class() { /* Ifc4x3_add2::IfcOutletTypeEnum::IfcOutletTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcOutletTypeEnum::IfcOutletTypeEnum(Value v) { @@ -4249,7 +4249,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcPavementTypeEnum::Class() /* Ifc4x3_add2::IfcPavementTypeEnum::IfcPavementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcPavementTypeEnum::IfcPavementTypeEnum(Value v) { @@ -4278,7 +4278,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcPerformanceHistoryTypeEnum /* Ifc4x3_add2::IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum(Value v) { @@ -4307,7 +4307,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcPermeableCoveringOperation /* Ifc4x3_add2::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum(Value v) { @@ -4336,7 +4336,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcPermitTypeEnum::Class() { /* Ifc4x3_add2::IfcPermitTypeEnum::IfcPermitTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcPermitTypeEnum::IfcPermitTypeEnum(Value v) { @@ -4365,7 +4365,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Cla /* Ifc4x3_add2::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum(Value v) { @@ -4394,7 +4394,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcPileConstructionEnum::Clas /* Ifc4x3_add2::IfcPileConstructionEnum::IfcPileConstructionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcPileConstructionEnum::IfcPileConstructionEnum(Value v) { @@ -4423,7 +4423,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcPileTypeEnum::Class() { re /* Ifc4x3_add2::IfcPileTypeEnum::IfcPileTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcPileTypeEnum::IfcPileTypeEnum(Value v) { @@ -4452,7 +4452,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcPipeFittingTypeEnum::Class /* Ifc4x3_add2::IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum(Value v) { @@ -4481,7 +4481,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcPipeSegmentTypeEnum::Class /* Ifc4x3_add2::IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum(Value v) { @@ -4510,7 +4510,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcPlateTypeEnum::Class() { r /* Ifc4x3_add2::IfcPlateTypeEnum::IfcPlateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcPlateTypeEnum::IfcPlateTypeEnum(Value v) { @@ -4539,7 +4539,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcPreferredSurfaceCurveRepre /* Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation(Value v) { @@ -4568,7 +4568,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcProcedureTypeEnum::Class() /* Ifc4x3_add2::IfcProcedureTypeEnum::IfcProcedureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcProcedureTypeEnum::IfcProcedureTypeEnum(Value v) { @@ -4597,7 +4597,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcProfileTypeEnum::Class() { /* Ifc4x3_add2::IfcProfileTypeEnum::IfcProfileTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcProfileTypeEnum::IfcProfileTypeEnum(Value v) { @@ -4626,7 +4626,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcProjectOrderTypeEnum::Clas /* Ifc4x3_add2::IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum(Value v) { @@ -4655,7 +4655,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcProjectedOrTrueLengthEnum: /* Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum(Value v) { @@ -4684,7 +4684,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcProjectionElementTypeEnum: /* Ifc4x3_add2::IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum(Value v) { @@ -4713,7 +4713,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcPropertySetTemplateTypeEnu /* Ifc4x3_add2::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum(Value v) { @@ -4742,7 +4742,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcProtectiveDeviceTrippingUn /* Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum(Value v) { @@ -4771,7 +4771,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcProtectiveDeviceTypeEnum:: /* Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum(Value v) { @@ -4800,7 +4800,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcPumpTypeEnum::Class() { re /* Ifc4x3_add2::IfcPumpTypeEnum::IfcPumpTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcPumpTypeEnum::IfcPumpTypeEnum(Value v) { @@ -4829,7 +4829,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcRailTypeEnum::Class() { re /* Ifc4x3_add2::IfcRailTypeEnum::IfcRailTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcRailTypeEnum::IfcRailTypeEnum(Value v) { @@ -4858,7 +4858,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcRailingTypeEnum::Class() { /* Ifc4x3_add2::IfcRailingTypeEnum::IfcRailingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcRailingTypeEnum::IfcRailingTypeEnum(Value v) { @@ -4887,7 +4887,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcRailwayPartTypeEnum::Class /* Ifc4x3_add2::IfcRailwayPartTypeEnum::IfcRailwayPartTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcRailwayPartTypeEnum::IfcRailwayPartTypeEnum(Value v) { @@ -4916,7 +4916,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcRailwayTypeEnum::Class() { /* Ifc4x3_add2::IfcRailwayTypeEnum::IfcRailwayTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcRailwayTypeEnum::IfcRailwayTypeEnum(Value v) { @@ -4945,7 +4945,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcRampFlightTypeEnum::Class( /* Ifc4x3_add2::IfcRampFlightTypeEnum::IfcRampFlightTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcRampFlightTypeEnum::IfcRampFlightTypeEnum(Value v) { @@ -4974,7 +4974,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcRampTypeEnum::Class() { re /* Ifc4x3_add2::IfcRampTypeEnum::IfcRampTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcRampTypeEnum::IfcRampTypeEnum(Value v) { @@ -5003,7 +5003,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcRecurrenceTypeEnum::Class( /* Ifc4x3_add2::IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum(Value v) { @@ -5032,7 +5032,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcReferentTypeEnum::Class() /* Ifc4x3_add2::IfcReferentTypeEnum::IfcReferentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcReferentTypeEnum::IfcReferentTypeEnum(Value v) { @@ -5061,7 +5061,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcReflectanceMethodEnum::Cla /* Ifc4x3_add2::IfcReflectanceMethodEnum::IfcReflectanceMethodEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcReflectanceMethodEnum::IfcReflectanceMethodEnum(Value v) { @@ -5090,7 +5090,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcReinforcedSoilTypeEnum::Cl /* Ifc4x3_add2::IfcReinforcedSoilTypeEnum::IfcReinforcedSoilTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcReinforcedSoilTypeEnum::IfcReinforcedSoilTypeEnum(Value v) { @@ -5119,7 +5119,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcReinforcingBarRoleEnum::Cl /* Ifc4x3_add2::IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum(Value v) { @@ -5148,7 +5148,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcReinforcingBarSurfaceEnum: /* Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum(Value v) { @@ -5177,7 +5177,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcReinforcingBarTypeEnum::Cl /* Ifc4x3_add2::IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum(Value v) { @@ -5206,7 +5206,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcReinforcingMeshTypeEnum::C /* Ifc4x3_add2::IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum(Value v) { @@ -5235,7 +5235,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcRoadPartTypeEnum::Class() /* Ifc4x3_add2::IfcRoadPartTypeEnum::IfcRoadPartTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcRoadPartTypeEnum::IfcRoadPartTypeEnum(Value v) { @@ -5264,7 +5264,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcRoadTypeEnum::Class() { re /* Ifc4x3_add2::IfcRoadTypeEnum::IfcRoadTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcRoadTypeEnum::IfcRoadTypeEnum(Value v) { @@ -5293,7 +5293,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcRoleEnum::Class() { return /* Ifc4x3_add2::IfcRoleEnum::IfcRoleEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcRoleEnum::IfcRoleEnum(Value v) { @@ -5322,7 +5322,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcRoofTypeEnum::Class() { re /* Ifc4x3_add2::IfcRoofTypeEnum::IfcRoofTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcRoofTypeEnum::IfcRoofTypeEnum(Value v) { @@ -5351,7 +5351,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcSIPrefix::Class() { return /* Ifc4x3_add2::IfcSIPrefix::IfcSIPrefix(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcSIPrefix::IfcSIPrefix(Value v) { @@ -5380,7 +5380,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcSIUnitName::Class() { retu /* Ifc4x3_add2::IfcSIUnitName::IfcSIUnitName(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcSIUnitName::IfcSIUnitName(Value v) { @@ -5409,7 +5409,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcSanitaryTerminalTypeEnum:: /* Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum(Value v) { @@ -5438,7 +5438,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcSectionTypeEnum::Class() { /* Ifc4x3_add2::IfcSectionTypeEnum::IfcSectionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcSectionTypeEnum::IfcSectionTypeEnum(Value v) { @@ -5467,7 +5467,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcSensorTypeEnum::Class() { /* Ifc4x3_add2::IfcSensorTypeEnum::IfcSensorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcSensorTypeEnum::IfcSensorTypeEnum(Value v) { @@ -5496,7 +5496,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcSequenceEnum::Class() { re /* Ifc4x3_add2::IfcSequenceEnum::IfcSequenceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcSequenceEnum::IfcSequenceEnum(Value v) { @@ -5525,7 +5525,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcShadingDeviceTypeEnum::Cla /* Ifc4x3_add2::IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum(Value v) { @@ -5554,7 +5554,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcSignTypeEnum::Class() { re /* Ifc4x3_add2::IfcSignTypeEnum::IfcSignTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcSignTypeEnum::IfcSignTypeEnum(Value v) { @@ -5583,7 +5583,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcSignalTypeEnum::Class() { /* Ifc4x3_add2::IfcSignalTypeEnum::IfcSignalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcSignalTypeEnum::IfcSignalTypeEnum(Value v) { @@ -5612,7 +5612,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcSimplePropertyTemplateType /* Ifc4x3_add2::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum(Value v) { @@ -5641,7 +5641,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcSlabTypeEnum::Class() { re /* Ifc4x3_add2::IfcSlabTypeEnum::IfcSlabTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcSlabTypeEnum::IfcSlabTypeEnum(Value v) { @@ -5670,7 +5670,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcSolarDeviceTypeEnum::Class /* Ifc4x3_add2::IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum(Value v) { @@ -5699,7 +5699,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Class /* Ifc4x3_add2::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum(Value v) { @@ -5728,7 +5728,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcSpaceTypeEnum::Class() { r /* Ifc4x3_add2::IfcSpaceTypeEnum::IfcSpaceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcSpaceTypeEnum::IfcSpaceTypeEnum(Value v) { @@ -5757,7 +5757,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcSpatialZoneTypeEnum::Class /* Ifc4x3_add2::IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum(Value v) { @@ -5786,7 +5786,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcStackTerminalTypeEnum::Cla /* Ifc4x3_add2::IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum(Value v) { @@ -5815,7 +5815,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcStairFlightTypeEnum::Class /* Ifc4x3_add2::IfcStairFlightTypeEnum::IfcStairFlightTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcStairFlightTypeEnum::IfcStairFlightTypeEnum(Value v) { @@ -5844,7 +5844,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcStairTypeEnum::Class() { r /* Ifc4x3_add2::IfcStairTypeEnum::IfcStairTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcStairTypeEnum::IfcStairTypeEnum(Value v) { @@ -5873,7 +5873,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcStateEnum::Class() { retur /* Ifc4x3_add2::IfcStateEnum::IfcStateEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcStateEnum::IfcStateEnum(Value v) { @@ -5902,7 +5902,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcStructuralCurveActivityTyp /* Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum(Value v) { @@ -5931,7 +5931,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcStructuralCurveMemberTypeE /* Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum(Value v) { @@ -5960,7 +5960,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcStructuralSurfaceActivityT /* Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum(Value v) { @@ -5989,7 +5989,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcStructuralSurfaceMemberTyp /* Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum(Value v) { @@ -6018,7 +6018,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcSubContractResourceTypeEnu /* Ifc4x3_add2::IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum(Value v) { @@ -6047,7 +6047,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::Cl /* Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum(Value v) { @@ -6076,7 +6076,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcSurfaceSide::Class() { ret /* Ifc4x3_add2::IfcSurfaceSide::IfcSurfaceSide(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcSurfaceSide::IfcSurfaceSide(Value v) { @@ -6105,7 +6105,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::C /* Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum(Value v) { @@ -6134,7 +6134,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcSystemFurnitureElementType /* Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum(Value v) { @@ -6163,7 +6163,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcTankTypeEnum::Class() { re /* Ifc4x3_add2::IfcTankTypeEnum::IfcTankTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcTankTypeEnum::IfcTankTypeEnum(Value v) { @@ -6192,7 +6192,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcTaskDurationEnum::Class() /* Ifc4x3_add2::IfcTaskDurationEnum::IfcTaskDurationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcTaskDurationEnum::IfcTaskDurationEnum(Value v) { @@ -6221,7 +6221,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcTaskTypeEnum::Class() { re /* Ifc4x3_add2::IfcTaskTypeEnum::IfcTaskTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcTaskTypeEnum::IfcTaskTypeEnum(Value v) { @@ -6250,7 +6250,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcTendonAnchorTypeEnum::Clas /* Ifc4x3_add2::IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum(Value v) { @@ -6279,7 +6279,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcTendonConduitTypeEnum::Cla /* Ifc4x3_add2::IfcTendonConduitTypeEnum::IfcTendonConduitTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcTendonConduitTypeEnum::IfcTendonConduitTypeEnum(Value v) { @@ -6308,7 +6308,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcTendonTypeEnum::Class() { /* Ifc4x3_add2::IfcTendonTypeEnum::IfcTendonTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcTendonTypeEnum::IfcTendonTypeEnum(Value v) { @@ -6337,7 +6337,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcTextPath::Class() { return /* Ifc4x3_add2::IfcTextPath::IfcTextPath(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcTextPath::IfcTextPath(Value v) { @@ -6366,7 +6366,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Cl /* Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum(Value v) { @@ -6395,7 +6395,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcTrackElementTypeEnum::Clas /* Ifc4x3_add2::IfcTrackElementTypeEnum::IfcTrackElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcTrackElementTypeEnum::IfcTrackElementTypeEnum(Value v) { @@ -6424,7 +6424,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcTransformerTypeEnum::Class /* Ifc4x3_add2::IfcTransformerTypeEnum::IfcTransformerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcTransformerTypeEnum::IfcTransformerTypeEnum(Value v) { @@ -6453,7 +6453,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcTransitionCode::Class() { /* Ifc4x3_add2::IfcTransitionCode::IfcTransitionCode(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcTransitionCode::IfcTransitionCode(Value v) { @@ -6482,7 +6482,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcTransportElementTypeEnum:: /* Ifc4x3_add2::IfcTransportElementTypeEnum::IfcTransportElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcTransportElementTypeEnum::IfcTransportElementTypeEnum(Value v) { @@ -6511,7 +6511,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcTrimmingPreference::Class( /* Ifc4x3_add2::IfcTrimmingPreference::IfcTrimmingPreference(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcTrimmingPreference::IfcTrimmingPreference(Value v) { @@ -6540,7 +6540,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcTubeBundleTypeEnum::Class( /* Ifc4x3_add2::IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum(Value v) { @@ -6569,7 +6569,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcUnitEnum::Class() { return /* Ifc4x3_add2::IfcUnitEnum::IfcUnitEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcUnitEnum::IfcUnitEnum(Value v) { @@ -6598,7 +6598,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcUnitaryControlElementTypeE /* Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum(Value v) { @@ -6627,7 +6627,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum:: /* Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum(Value v) { @@ -6656,7 +6656,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcValveTypeEnum::Class() { r /* Ifc4x3_add2::IfcValveTypeEnum::IfcValveTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcValveTypeEnum::IfcValveTypeEnum(Value v) { @@ -6685,7 +6685,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcVehicleTypeEnum::Class() { /* Ifc4x3_add2::IfcVehicleTypeEnum::IfcVehicleTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcVehicleTypeEnum::IfcVehicleTypeEnum(Value v) { @@ -6714,7 +6714,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcVibrationDamperTypeEnum::C /* Ifc4x3_add2::IfcVibrationDamperTypeEnum::IfcVibrationDamperTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcVibrationDamperTypeEnum::IfcVibrationDamperTypeEnum(Value v) { @@ -6743,7 +6743,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcVibrationIsolatorTypeEnum: /* Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum(Value v) { @@ -6772,7 +6772,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcVirtualElementTypeEnum::Cl /* Ifc4x3_add2::IfcVirtualElementTypeEnum::IfcVirtualElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcVirtualElementTypeEnum::IfcVirtualElementTypeEnum(Value v) { @@ -6801,7 +6801,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcVoidingFeatureTypeEnum::Cl /* Ifc4x3_add2::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum(Value v) { @@ -6830,7 +6830,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcWallTypeEnum::Class() { re /* Ifc4x3_add2::IfcWallTypeEnum::IfcWallTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcWallTypeEnum::IfcWallTypeEnum(Value v) { @@ -6859,7 +6859,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcWasteTerminalTypeEnum::Cla /* Ifc4x3_add2::IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum(Value v) { @@ -6888,7 +6888,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcWindowPanelOperationEnum:: /* Ifc4x3_add2::IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum(Value v) { @@ -6917,7 +6917,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcWindowPanelPositionEnum::C /* Ifc4x3_add2::IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum(Value v) { @@ -6946,7 +6946,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcWindowTypeEnum::Class() { /* Ifc4x3_add2::IfcWindowTypeEnum::IfcWindowTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcWindowTypeEnum::IfcWindowTypeEnum(Value v) { @@ -6975,7 +6975,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcWindowTypePartitioningEnum /* Ifc4x3_add2::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum(Value v) { @@ -7004,7 +7004,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcWorkCalendarTypeEnum::Clas /* Ifc4x3_add2::IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum(Value v) { @@ -7033,7 +7033,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcWorkPlanTypeEnum::Class() /* Ifc4x3_add2::IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum(Value v) { @@ -7062,7 +7062,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_add2::IfcWorkScheduleTypeEnum::Clas /* Ifc4x3_add2::IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_add2::IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum(Value v) { @@ -7656,8 +7656,8 @@ Ifc4x3_add2::IfcPressureMeasure::operator double() const { return get_attribute_ // Function implementations for IfcPropertySetDefinitionSet const ifcopenshell::type_declaration& Ifc4x3_add2::IfcPropertySetDefinitionSet::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[828]); } -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); } +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]); } @@ -7883,7 +7883,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcActionRequest::Class() { return *((i 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>(); } +::Ifc4x3_add2::IfcActorSelect Ifc4x3_add2::IfcActor::TheActor() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcActorSelect>(); } void Ifc4x3_add2::IfcActor::setTheActor(const ::Ifc4x3_add2::IfcActorSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } std::vector<::Ifc4x3_add2::IfcRelAssignsToActor> Ifc4x3_add2::IfcActor::IsActingUpon() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[901], 6)); } @@ -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]); } -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; } +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)); } @@ -7941,18 +7941,18 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcAdvancedBrep::Class() { return *((if 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); } -void Ifc4x3_add2::IfcAdvancedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_add2::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_add2::IfcClosedShell > Ifc4x3_add2::IfcAdvancedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcClosedShell>(es); } +void Ifc4x3_add2::IfcAdvancedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_add2::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_add2::IfcAdvancedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[15]); } -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; } +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]); } -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; } +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)); } @@ -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]); } -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; } +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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -8061,7 +8061,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcAlignmentHorizontal::Class() { retur 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>(); } +::Ifc4x3_add2::IfcCartesianPoint Ifc4x3_add2::IfcAlignmentHorizontalSegment::StartPoint() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcCartesianPoint>(); } void Ifc4x3_add2::IfcAlignmentHorizontalSegment::setStartPoint(const ::Ifc4x3_add2::IfcCartesianPoint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc4x3_add2::IfcAlignmentHorizontalSegment::StartDirection() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcAlignmentHorizontalSegment::setStartDirection(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -8091,7 +8091,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcAlignmentParameterSegment::Class() { 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>(); } +::Ifc4x3_add2::IfcAlignmentParameterSegment Ifc4x3_add2::IfcAlignmentSegment::DesignParameters() const { return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_add2::IfcAlignmentParameterSegment>(); } void Ifc4x3_add2::IfcAlignmentSegment::setDesignParameters(const ::Ifc4x3_add2::IfcAlignmentParameterSegment& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -8134,17 +8134,17 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcAnnotation::Class() { return *((ifco 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>(); } +::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcAnnotationFillArea::OuterBoundary() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCurve>(); } void Ifc4x3_add2::IfcAnnotationFillArea::setOuterBoundary(const ::Ifc4x3_add2::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::optional< std::vector< ::Ifc4x3_add2::IfcCurve > > Ifc4x3_add2::IfcAnnotationFillArea::InnerBoundaries() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcCurve>(es); } -void Ifc4x3_add2::IfcAnnotationFillArea::setInnerBoundaries(const std::optional< std::vector< ::Ifc4x3_add2::IfcCurve > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } +std::optional< std::vector< ::Ifc4x3_add2::IfcCurve > > Ifc4x3_add2::IfcAnnotationFillArea::InnerBoundaries() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcCurve>(es); } +void Ifc4x3_add2::IfcAnnotationFillArea::setInnerBoundaries(const std::optional< std::vector< ::Ifc4x3_add2::IfcCurve > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } const ifcopenshell::entity& Ifc4x3_add2::IfcAnnotationFillArea::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[47]); } -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; } +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>(); } +::Ifc4x3_add2::IfcOrganization Ifc4x3_add2::IfcApplication::ApplicationDeveloper() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcOrganization>(); } void Ifc4x3_add2::IfcApplication::setApplicationDeveloper(const ::Ifc4x3_add2::IfcOrganization& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::string Ifc4x3_add2::IfcApplication::Version() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcApplication::setVersion(const std::string& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8162,9 +8162,9 @@ std::optional< std::string > Ifc4x3_add2::IfcAppliedValue::Name() const { if(get void Ifc4x3_add2::IfcAppliedValue::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_add2::IfcAppliedValue::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcAppliedValue::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_add2::IfcAppliedValueSelect Ifc4x3_add2::IfcAppliedValue::AppliedValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcAppliedValueSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcAppliedValueSelect>(); } +::Ifc4x3_add2::IfcAppliedValueSelect Ifc4x3_add2::IfcAppliedValue::AppliedValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcAppliedValueSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcAppliedValueSelect>(); } void Ifc4x3_add2::IfcAppliedValue::setAppliedValue(const ::Ifc4x3_add2::IfcAppliedValueSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcMeasureWithUnit Ifc4x3_add2::IfcAppliedValue::UnitBasis() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcMeasureWithUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcMeasureWithUnit>(); } +::Ifc4x3_add2::IfcMeasureWithUnit Ifc4x3_add2::IfcAppliedValue::UnitBasis() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcMeasureWithUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcMeasureWithUnit>(); } void Ifc4x3_add2::IfcAppliedValue::setUnitBasis(const ::Ifc4x3_add2::IfcMeasureWithUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_add2::IfcAppliedValue::ApplicableDate() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcAppliedValue::setApplicableDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -8176,13 +8176,13 @@ std::optional< std::string > Ifc4x3_add2::IfcAppliedValue::Condition() const { i void Ifc4x3_add2::IfcAppliedValue::setCondition(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } std::optional< ::Ifc4x3_add2::IfcArithmeticOperatorEnum::Value > Ifc4x3_add2::IfcAppliedValue::ArithmeticOperator() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcArithmeticOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcAppliedValue::setArithmeticOperator(const std::optional< ::Ifc4x3_add2::IfcArithmeticOperatorEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_add2::IfcArithmeticOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > Ifc4x3_add2::IfcAppliedValue::Components() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_add2::IfcAppliedValue>(es); } -void Ifc4x3_add2::IfcAppliedValue::setComponents(const std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > Ifc4x3_add2::IfcAppliedValue::Components() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_add2::IfcAppliedValue>(es); } +void Ifc4x3_add2::IfcAppliedValue::setComponents(const std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } 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]); } -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; } +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; } @@ -8199,9 +8199,9 @@ std::optional< std::string > Ifc4x3_add2::IfcApproval::Level() const { if(get_at void Ifc4x3_add2::IfcApproval::setLevel(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< std::string > Ifc4x3_add2::IfcApproval::Qualifier() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcApproval::setQualifier(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_add2::IfcActorSelect Ifc4x3_add2::IfcApproval::RequestingApproval() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_add2::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_add2::IfcActorSelect>(); } +::Ifc4x3_add2::IfcActorSelect Ifc4x3_add2::IfcApproval::RequestingApproval() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_add2::IfcActorSelect{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_add2::IfcActorSelect>(); } void Ifc4x3_add2::IfcApproval::setRequestingApproval(const ::Ifc4x3_add2::IfcActorSelect& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_add2::IfcActorSelect Ifc4x3_add2::IfcApproval::GivingApproval() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_add2::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_add2::IfcActorSelect>(); } +::Ifc4x3_add2::IfcActorSelect Ifc4x3_add2::IfcApproval::GivingApproval() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_add2::IfcActorSelect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_add2::IfcActorSelect>(); } void Ifc4x3_add2::IfcApproval::setGivingApproval(const ::Ifc4x3_add2::IfcActorSelect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcApproval::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } @@ -8214,17 +8214,17 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcApproval::Class() { return *((ifcope 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>(); } +::Ifc4x3_add2::IfcApproval Ifc4x3_add2::IfcApprovalRelationship::RelatingApproval() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcApproval>(); } void Ifc4x3_add2::IfcApprovalRelationship::setRelatingApproval(const ::Ifc4x3_add2::IfcApproval& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_add2::IfcApproval > Ifc4x3_add2::IfcApprovalRelationship::RelatedApprovals() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_add2::IfcApproval>(es); } -void Ifc4x3_add2::IfcApprovalRelationship::setRelatedApprovals(const std::vector< ::Ifc4x3_add2::IfcApproval >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_add2::IfcApproval > Ifc4x3_add2::IfcApprovalRelationship::RelatedApprovals() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_add2::IfcApproval>(es); } +void Ifc4x3_add2::IfcApprovalRelationship::setRelatedApprovals(const std::vector< ::Ifc4x3_add2::IfcApproval >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_add2::IfcApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[53]); } -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; } +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>(); } +::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcCurve>(); } void Ifc4x3_add2::IfcArbitraryClosedProfileDef::setOuterCurve(const ::Ifc4x3_add2::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8232,7 +8232,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcArbitraryClosedProfileDef::Class() { 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>(); } +::Ifc4x3_add2::IfcBoundedCurve Ifc4x3_add2::IfcArbitraryOpenProfileDef::Curve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcBoundedCurve>(); } void Ifc4x3_add2::IfcArbitraryOpenProfileDef::setCurve(const ::Ifc4x3_add2::IfcBoundedCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8240,31 +8240,31 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcArbitraryOpenProfileDef::Class() { r 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); } -void Ifc4x3_add2::IfcArbitraryProfileDefWithVoids::setInnerCurves(const std::vector< ::Ifc4x3_add2::IfcCurve >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_add2::IfcCurve > Ifc4x3_add2::IfcArbitraryProfileDefWithVoids::InnerCurves() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_add2::IfcCurve>(es); } +void Ifc4x3_add2::IfcArbitraryProfileDefWithVoids::setInnerCurves(const std::vector< ::Ifc4x3_add2::IfcCurve >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_add2::IfcArbitraryProfileDefWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[56]); } -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; } +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; } void Ifc4x3_add2::IfcAsset::setIdentification(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_add2::IfcCostValue Ifc4x3_add2::IfcAsset::OriginalValue() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcCostValue{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcCostValue>(); } +::Ifc4x3_add2::IfcCostValue Ifc4x3_add2::IfcAsset::OriginalValue() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcCostValue{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcCostValue>(); } void Ifc4x3_add2::IfcAsset::setOriginalValue(const ::Ifc4x3_add2::IfcCostValue& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_add2::IfcCostValue Ifc4x3_add2::IfcAsset::CurrentValue() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_add2::IfcCostValue{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_add2::IfcCostValue>(); } +::Ifc4x3_add2::IfcCostValue Ifc4x3_add2::IfcAsset::CurrentValue() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_add2::IfcCostValue{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_add2::IfcCostValue>(); } void Ifc4x3_add2::IfcAsset::setCurrentValue(const ::Ifc4x3_add2::IfcCostValue& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_add2::IfcCostValue Ifc4x3_add2::IfcAsset::TotalReplacementCost() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_add2::IfcCostValue{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_add2::IfcCostValue>(); } +::Ifc4x3_add2::IfcCostValue Ifc4x3_add2::IfcAsset::TotalReplacementCost() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_add2::IfcCostValue{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_add2::IfcCostValue>(); } void Ifc4x3_add2::IfcAsset::setTotalReplacementCost(const ::Ifc4x3_add2::IfcCostValue& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_add2::IfcActorSelect Ifc4x3_add2::IfcAsset::Owner() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_add2::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_add2::IfcActorSelect>(); } +::Ifc4x3_add2::IfcActorSelect Ifc4x3_add2::IfcAsset::Owner() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_add2::IfcActorSelect{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_add2::IfcActorSelect>(); } void Ifc4x3_add2::IfcAsset::setOwner(const ::Ifc4x3_add2::IfcActorSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_add2::IfcActorSelect Ifc4x3_add2::IfcAsset::User() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_add2::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_add2::IfcActorSelect>(); } +::Ifc4x3_add2::IfcActorSelect Ifc4x3_add2::IfcAsset::User() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_add2::IfcActorSelect{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x3_add2::IfcActorSelect>(); } void Ifc4x3_add2::IfcAsset::setUser(const ::Ifc4x3_add2::IfcActorSelect& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -::Ifc4x3_add2::IfcPerson Ifc4x3_add2::IfcAsset::ResponsiblePerson() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x3_add2::IfcPerson{}; } return ((express::Base)(get_attribute_value(11))).as<::Ifc4x3_add2::IfcPerson>(); } +::Ifc4x3_add2::IfcPerson Ifc4x3_add2::IfcAsset::ResponsiblePerson() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x3_add2::IfcPerson{}; } return ((express::base)(get_attribute_value(11))).as<::Ifc4x3_add2::IfcPerson>(); } void Ifc4x3_add2::IfcAsset::setResponsiblePerson(const ::Ifc4x3_add2::IfcPerson& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } std::optional< std::string > Ifc4x3_add2::IfcAsset::IncorporationDate() const { if(get_attribute_value(12).isNull()) { return std::nullopt; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_add2::IfcAsset::setIncorporationDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x3_add2::IfcCostValue Ifc4x3_add2::IfcAsset::DepreciatedValue() const { if(get_attribute_value(13).isNull()) { return ::Ifc4x3_add2::IfcCostValue{}; } return ((express::Base)(get_attribute_value(13))).as<::Ifc4x3_add2::IfcCostValue>(); } +::Ifc4x3_add2::IfcCostValue Ifc4x3_add2::IfcAsset::DepreciatedValue() const { if(get_attribute_value(13).isNull()) { return ::Ifc4x3_add2::IfcCostValue{}; } return ((express::base)(get_attribute_value(13))).as<::Ifc4x3_add2::IfcCostValue>(); } void Ifc4x3_add2::IfcAsset::setDepreciatedValue(const ::Ifc4x3_add2::IfcCostValue& v) { set_attribute_value(13, v);if constexpr (false)unset_attribute_value(13); } @@ -8315,10 +8315,10 @@ void Ifc4x3_add2::IfcAudioVisualApplianceType::setPredefinedType(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add2::IfcAudioVisualApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[65]); } -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; } +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>(); } +::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>(); } void Ifc4x3_add2::IfcAxis1Placement::setAxis(const ::Ifc4x3_add2::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8326,7 +8326,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcAxis1Placement::Class() { return *(( 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>(); } +::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>(); } void Ifc4x3_add2::IfcAxis2Placement2D::setRefDirection(const ::Ifc4x3_add2::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8334,9 +8334,9 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcAxis2Placement2D::Class() { return * 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>(); } +::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>(); } void Ifc4x3_add2::IfcAxis2Placement3D::setAxis(const ::Ifc4x3_add2::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcAxis2Placement3D::RefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcDirection{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcDirection>(); } +::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcAxis2Placement3D::RefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcDirection{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcDirection>(); } void Ifc4x3_add2::IfcAxis2Placement3D::setRefDirection(const ::Ifc4x3_add2::IfcDirection& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8344,9 +8344,9 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcAxis2Placement3D::Class() { return * 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>(); } +::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>(); } void Ifc4x3_add2::IfcAxis2PlacementLinear::setAxis(const ::Ifc4x3_add2::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcAxis2PlacementLinear::RefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcDirection{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcDirection>(); } +::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcAxis2PlacementLinear::RefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcDirection{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcDirection>(); } void Ifc4x3_add2::IfcAxis2PlacementLinear::setRefDirection(const ::Ifc4x3_add2::IfcDirection& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8356,8 +8356,8 @@ Ifc4x3_add2::IfcAxis2PlacementLinear Ifc4x3_add2::IfcAxis2PlacementLinear::initi // Function implementations for IfcBSplineCurve int64_t Ifc4x3_add2::IfcBSplineCurve::Degree() const { int64_t v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcBSplineCurve::setDegree(const int64_t& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_add2::IfcCartesianPoint > Ifc4x3_add2::IfcBSplineCurve::ControlPointsList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcCartesianPoint>(es); } -void Ifc4x3_add2::IfcBSplineCurve::setControlPointsList(const std::vector< ::Ifc4x3_add2::IfcCartesianPoint >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_add2::IfcCartesianPoint > Ifc4x3_add2::IfcBSplineCurve::ControlPointsList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcCartesianPoint>(es); } +void Ifc4x3_add2::IfcBSplineCurve::setControlPointsList(const std::vector< ::Ifc4x3_add2::IfcCartesianPoint >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } ::Ifc4x3_add2::IfcBSplineCurveForm::Value Ifc4x3_add2::IfcBSplineCurve::CurveForm() const { return ::Ifc4x3_add2::IfcBSplineCurveForm::FromString(get_attribute_value(2)); } void Ifc4x3_add2::IfcBSplineCurve::setCurveForm(const ::Ifc4x3_add2::IfcBSplineCurveForm::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4x3_add2::IfcBSplineCurveForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } boost::logic::tribool Ifc4x3_add2::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = get_attribute_value(3); 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]); } -Ifc4x3_add2::IfcBSplineCurve Ifc4x3_add2::IfcBSplineCurve::initialize(int64_t 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; } +Ifc4x3_add2::IfcBSplineCurve Ifc4x3_add2::IfcBSplineCurve::initialize(int64_t 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< int64_t > /*[2:?]*/ Ifc4x3_add2::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int64_t > /*[2:?]*/ v = get_attribute_value(5); return v; } @@ -8379,15 +8379,15 @@ void Ifc4x3_add2::IfcBSplineCurveWithKnots::setKnotSpec(const ::Ifc4x3_add2::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[109]); } -Ifc4x3_add2::IfcBSplineCurveWithKnots Ifc4x3_add2::IfcBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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; } +Ifc4x3_add2::IfcBSplineCurveWithKnots Ifc4x3_add2::IfcBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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 int64_t Ifc4x3_add2::IfcBSplineSurface::UDegree() const { int64_t v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcBSplineSurface::setUDegree(const int64_t& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } int64_t Ifc4x3_add2::IfcBSplineSurface::VDegree() const { int64_t v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcBSplineSurface::setVDegree(const int64_t& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector< std::vector< ::Ifc4x3_add2::IfcCartesianPoint > > Ifc4x3_add2::IfcBSplineSurface::ControlPointsList() const { std::vector> es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcCartesianPoint>(es); } -void Ifc4x3_add2::IfcBSplineSurface::setControlPointsList(const std::vector< std::vector< ::Ifc4x3_add2::IfcCartesianPoint > >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< std::vector< ::Ifc4x3_add2::IfcCartesianPoint > > Ifc4x3_add2::IfcBSplineSurface::ControlPointsList() const { std::vector> es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcCartesianPoint>(es); } +void Ifc4x3_add2::IfcBSplineSurface::setControlPointsList(const std::vector< std::vector< ::Ifc4x3_add2::IfcCartesianPoint > >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } ::Ifc4x3_add2::IfcBSplineSurfaceForm::Value Ifc4x3_add2::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4x3_add2::IfcBSplineSurfaceForm::FromString(get_attribute_value(3)); } void Ifc4x3_add2::IfcBSplineSurface::setSurfaceForm(const ::Ifc4x3_add2::IfcBSplineSurfaceForm::Value& v) { set_attribute_value(3, enumeration_reference(&::Ifc4x3_add2::IfcBSplineSurfaceForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } boost::logic::tribool Ifc4x3_add2::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = get_attribute_value(4); 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]); } -Ifc4x3_add2::IfcBSplineSurface Ifc4x3_add2::IfcBSplineSurface::initialize(int64_t v1_UDegree, int64_t 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; } +Ifc4x3_add2::IfcBSplineSurface Ifc4x3_add2::IfcBSplineSurface::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ Ifc4x3_add2::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int64_t > /*[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]); } -Ifc4x3_add2::IfcBSplineSurfaceWithKnots Ifc4x3_add2::IfcBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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; } +Ifc4x3_add2::IfcBSplineSurfaceWithKnots Ifc4x3_add2::IfcBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -8485,7 +8485,7 @@ void Ifc4x3_add2::IfcBoilerType::setPredefinedType(const ::Ifc4x3_add2::IfcBoile const ifcopenshell::entity& Ifc4x3_add2::IfcBoilerType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[84]); } -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; } +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 @@ -8496,9 +8496,9 @@ Ifc4x3_add2::IfcBooleanClippingResult Ifc4x3_add2::IfcBooleanClippingResult::ini // Function implementations for IfcBooleanResult ::Ifc4x3_add2::IfcBooleanOperator::Value Ifc4x3_add2::IfcBooleanResult::Operator() const { return ::Ifc4x3_add2::IfcBooleanOperator::FromString(get_attribute_value(0)); } void Ifc4x3_add2::IfcBooleanResult::setOperator(const ::Ifc4x3_add2::IfcBooleanOperator::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc4x3_add2::IfcBooleanOperator::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcBooleanOperand Ifc4x3_add2::IfcBooleanResult::FirstOperand() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcBooleanOperand>(); } +::Ifc4x3_add2::IfcBooleanOperand Ifc4x3_add2::IfcBooleanResult::FirstOperand() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcBooleanOperand>(); } void Ifc4x3_add2::IfcBooleanResult::setFirstOperand(const ::Ifc4x3_add2::IfcBooleanOperand& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcBooleanOperand Ifc4x3_add2::IfcBooleanResult::SecondOperand() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcBooleanOperand>(); } +::Ifc4x3_add2::IfcBooleanOperand Ifc4x3_add2::IfcBooleanResult::SecondOperand() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcBooleanOperand>(); } void Ifc4x3_add2::IfcBooleanResult::setSecondOperand(const ::Ifc4x3_add2::IfcBooleanOperand& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8523,20 +8523,20 @@ Ifc4x3_add2::IfcBoundaryCondition Ifc4x3_add2::IfcBoundaryCondition::initialize( const ifcopenshell::entity& Ifc4x3_add2::IfcBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[93]); } -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; } +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>(); } +::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>(); } void Ifc4x3_add2::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(const ::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x3_add2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x3_add2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect>(); } void Ifc4x3_add2::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(const ::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x3_add2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x3_add2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect>(); } void Ifc4x3_add2::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(const ::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x3_add2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x3_add2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect>(); } void Ifc4x3_add2::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(const ::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x3_add2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x3_add2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect>(); } void Ifc4x3_add2::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(const ::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x3_add2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x3_add2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect>(); } void Ifc4x3_add2::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(const ::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -8544,11 +8544,11 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcBoundaryEdgeCondition::Class() { ret 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>(); } +::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>(); } void Ifc4x3_add2::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(const ::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect Ifc4x3_add2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect Ifc4x3_add2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect>(); } void Ifc4x3_add2::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(const ::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect Ifc4x3_add2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect Ifc4x3_add2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect>(); } void Ifc4x3_add2::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(const ::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -8556,17 +8556,17 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcBoundaryFaceCondition::Class() { ret 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>(); } +::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>(); } void Ifc4x3_add2::IfcBoundaryNodeCondition::setTranslationalStiffnessX(const ::Ifc4x3_add2::IfcTranslationalStiffnessSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcTranslationalStiffnessSelect Ifc4x3_add2::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcTranslationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcTranslationalStiffnessSelect>(); } +::Ifc4x3_add2::IfcTranslationalStiffnessSelect Ifc4x3_add2::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcTranslationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcTranslationalStiffnessSelect>(); } void Ifc4x3_add2::IfcBoundaryNodeCondition::setTranslationalStiffnessY(const ::Ifc4x3_add2::IfcTranslationalStiffnessSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcTranslationalStiffnessSelect Ifc4x3_add2::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcTranslationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcTranslationalStiffnessSelect>(); } +::Ifc4x3_add2::IfcTranslationalStiffnessSelect Ifc4x3_add2::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcTranslationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcTranslationalStiffnessSelect>(); } void Ifc4x3_add2::IfcBoundaryNodeCondition::setTranslationalStiffnessZ(const ::Ifc4x3_add2::IfcTranslationalStiffnessSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add2::IfcRotationalStiffnessSelect Ifc4x3_add2::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_add2::IfcRotationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcRotationalStiffnessSelect>(); } +::Ifc4x3_add2::IfcRotationalStiffnessSelect Ifc4x3_add2::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_add2::IfcRotationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcRotationalStiffnessSelect>(); } void Ifc4x3_add2::IfcBoundaryNodeCondition::setRotationalStiffnessX(const ::Ifc4x3_add2::IfcRotationalStiffnessSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcRotationalStiffnessSelect Ifc4x3_add2::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_add2::IfcRotationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcRotationalStiffnessSelect>(); } +::Ifc4x3_add2::IfcRotationalStiffnessSelect Ifc4x3_add2::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_add2::IfcRotationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcRotationalStiffnessSelect>(); } void Ifc4x3_add2::IfcBoundaryNodeCondition::setRotationalStiffnessY(const ::Ifc4x3_add2::IfcRotationalStiffnessSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add2::IfcRotationalStiffnessSelect Ifc4x3_add2::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcRotationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcRotationalStiffnessSelect>(); } +::Ifc4x3_add2::IfcRotationalStiffnessSelect Ifc4x3_add2::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcRotationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcRotationalStiffnessSelect>(); } void Ifc4x3_add2::IfcBoundaryNodeCondition::setRotationalStiffnessZ(const ::Ifc4x3_add2::IfcRotationalStiffnessSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -8574,7 +8574,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcBoundaryNodeCondition::Class() { ret 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>(); } +::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>(); } void Ifc4x3_add2::IfcBoundaryNodeConditionWarping::setWarpingStiffness(const ::Ifc4x3_add2::IfcWarpingStiffnessSelect& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -8594,7 +8594,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcBoundedSurface::Class() { return *(( 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>(); } +::Ifc4x3_add2::IfcCartesianPoint Ifc4x3_add2::IfcBoundingBox::Corner() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCartesianPoint>(); } void Ifc4x3_add2::IfcBoundingBox::setCorner(const ::Ifc4x3_add2::IfcCartesianPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_add2::IfcBoundingBox::XDim() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcBoundingBox::setXDim(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8608,7 +8608,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcBoundingBox::Class() { return *((ifc 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>(); } +::Ifc4x3_add2::IfcBoundingBox Ifc4x3_add2::IfcBoxedHalfSpace::Enclosure() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcBoundingBox>(); } void Ifc4x3_add2::IfcBoxedHalfSpace::setEnclosure(const ::Ifc4x3_add2::IfcBoundingBox& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8636,7 +8636,7 @@ std::optional< double > Ifc4x3_add2::IfcBuilding::ElevationOfRefHeight() const { void Ifc4x3_add2::IfcBuilding::setElevationOfRefHeight(const std::optional< double >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } std::optional< double > Ifc4x3_add2::IfcBuilding::ElevationOfTerrain() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcBuilding::setElevationOfTerrain(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x3_add2::IfcPostalAddress Ifc4x3_add2::IfcBuilding::BuildingAddress() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x3_add2::IfcPostalAddress{}; } return ((express::Base)(get_attribute_value(11))).as<::Ifc4x3_add2::IfcPostalAddress>(); } +::Ifc4x3_add2::IfcPostalAddress Ifc4x3_add2::IfcBuilding::BuildingAddress() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x3_add2::IfcPostalAddress{}; } return ((express::base)(get_attribute_value(11))).as<::Ifc4x3_add2::IfcPostalAddress>(); } void Ifc4x3_add2::IfcBuilding::setBuildingAddress(const ::Ifc4x3_add2::IfcPostalAddress& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -8703,7 +8703,7 @@ Ifc4x3_add2::IfcBuiltElement Ifc4x3_add2::IfcBuiltElement::initialize(std::strin const ifcopenshell::entity& Ifc4x3_add2::IfcBuiltElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[124]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -8862,11 +8862,11 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcCartesianPointList3D::Class() { retu 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>(); } +::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>(); } void Ifc4x3_add2::IfcCartesianTransformationOperator::setAxis1(const ::Ifc4x3_add2::IfcDirection& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcCartesianTransformationOperator::Axis2() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add2::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcDirection>(); } +::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcCartesianTransformationOperator::Axis2() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add2::IfcDirection{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcDirection>(); } void Ifc4x3_add2::IfcCartesianTransformationOperator::setAxis2(const ::Ifc4x3_add2::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcCartesianPoint Ifc4x3_add2::IfcCartesianTransformationOperator::LocalOrigin() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcCartesianPoint>(); } +::Ifc4x3_add2::IfcCartesianPoint Ifc4x3_add2::IfcCartesianTransformationOperator::LocalOrigin() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcCartesianPoint>(); } void Ifc4x3_add2::IfcCartesianTransformationOperator::setLocalOrigin(const ::Ifc4x3_add2::IfcCartesianPoint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc4x3_add2::IfcCartesianTransformationOperator::Scale() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcCartesianTransformationOperator::setScale(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } @@ -8890,7 +8890,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcCartesianTransformationOperator2Dnon 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>(); } +::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>(); } void Ifc4x3_add2::IfcCartesianTransformationOperator3D::setAxis3(const ::Ifc4x3_add2::IfcDirection& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -8981,7 +8981,7 @@ Ifc4x3_add2::IfcCivilElement Ifc4x3_add2::IfcCivilElement::initialize(std::strin const ifcopenshell::entity& Ifc4x3_add2::IfcCivilElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[167]); } -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; } +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; } @@ -9006,7 +9006,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcClassification::Class() { return *(( 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>(); } +::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>(); } void Ifc4x3_add2::IfcClassificationReference::setReferencedSource(const ::Ifc4x3_add2::IfcClassificationReferenceSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_add2::IfcClassificationReference::Description() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcClassificationReference::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -9023,7 +9023,7 @@ Ifc4x3_add2::IfcClassificationReference Ifc4x3_add2::IfcClassificationReference: const ifcopenshell::entity& Ifc4x3_add2::IfcClosedShell::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[172]); } -Ifc4x3_add2::IfcClosedShell Ifc4x3_add2::IfcClosedShell::initialize(std::vector< ::Ifc4x3_add2::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } +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; } @@ -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]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -9107,50 +9107,50 @@ void Ifc4x3_add2::IfcCommunicationsApplianceType::setPredefinedType(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_add2::IfcCommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[186]); } -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; } +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; } void Ifc4x3_add2::IfcComplexProperty::setUsageName(const std::string& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_add2::IfcProperty > Ifc4x3_add2::IfcComplexProperty::HasProperties() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_add2::IfcProperty>(es); } -void Ifc4x3_add2::IfcComplexProperty::setHasProperties(const std::vector< ::Ifc4x3_add2::IfcProperty >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_add2::IfcProperty > Ifc4x3_add2::IfcComplexProperty::HasProperties() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_add2::IfcProperty>(es); } +void Ifc4x3_add2::IfcComplexProperty::setHasProperties(const std::vector< ::Ifc4x3_add2::IfcProperty >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_add2::IfcComplexProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[189]); } -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; } +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; } void Ifc4x3_add2::IfcComplexPropertyTemplate::setUsageName(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } std::optional< ::Ifc4x3_add2::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x3_add2::IfcComplexPropertyTemplate::TemplateType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcComplexPropertyTemplateTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_add2::IfcComplexPropertyTemplate::setTemplateType(const std::optional< ::Ifc4x3_add2::IfcComplexPropertyTemplateTypeEnum::Value >& v) { if (v) {set_attribute_value(5, enumeration_reference(&::Ifc4x3_add2::IfcComplexPropertyTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -std::optional< std::vector< ::Ifc4x3_add2::IfcPropertyTemplate > > Ifc4x3_add2::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_add2::IfcPropertyTemplate>(es); } -void Ifc4x3_add2::IfcComplexPropertyTemplate::setHasPropertyTemplates(const std::optional< std::vector< ::Ifc4x3_add2::IfcPropertyTemplate > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +std::optional< std::vector< ::Ifc4x3_add2::IfcPropertyTemplate > > Ifc4x3_add2::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_add2::IfcPropertyTemplate>(es); } +void Ifc4x3_add2::IfcComplexPropertyTemplate::setHasPropertyTemplates(const std::optional< std::vector< ::Ifc4x3_add2::IfcPropertyTemplate > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } const ifcopenshell::entity& Ifc4x3_add2::IfcComplexPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[190]); } -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; } +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); } -void Ifc4x3_add2::IfcCompositeCurve::setSegments(const std::vector< ::Ifc4x3_add2::IfcSegment >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_add2::IfcSegment > Ifc4x3_add2::IfcCompositeCurve::Segments() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcSegment>(es); } +void Ifc4x3_add2::IfcCompositeCurve::setSegments(const std::vector< ::Ifc4x3_add2::IfcSegment >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } boost::logic::tribool Ifc4x3_add2::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcCompositeCurve::setSelfIntersect(const boost::logic::tribool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_add2::IfcCompositeCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[192]); } -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; } +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]); } -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; } +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; } void Ifc4x3_add2::IfcCompositeCurveSegment::setSameSense(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcCompositeCurveSegment::ParentCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcCurve>(); } +::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcCompositeCurveSegment::ParentCurve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcCurve>(); } void Ifc4x3_add2::IfcCompositeCurveSegment::setParentCurve(const ::Ifc4x3_add2::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -9158,14 +9158,14 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcCompositeCurveSegment::Class() { ret 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); } -void Ifc4x3_add2::IfcCompositeProfileDef::setProfiles(const std::vector< ::Ifc4x3_add2::IfcProfileDef >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_add2::IfcProfileDef > Ifc4x3_add2::IfcCompositeProfileDef::Profiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcProfileDef>(es); } +void Ifc4x3_add2::IfcCompositeProfileDef::setProfiles(const std::vector< ::Ifc4x3_add2::IfcProfileDef >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4x3_add2::IfcCompositeProfileDef::Label() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcCompositeProfileDef::setLabel(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const ifcopenshell::entity& Ifc4x3_add2::IfcCompositeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[195]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -9197,10 +9197,10 @@ void Ifc4x3_add2::IfcCondenserType::setPredefinedType(const ::Ifc4x3_add2::IfcCo const ifcopenshell::entity& Ifc4x3_add2::IfcCondenserType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[201]); } -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; } +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>(); } +::Ifc4x3_add2::IfcAxis2Placement Ifc4x3_add2::IfcConic::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcAxis2Placement>(); } void Ifc4x3_add2::IfcConic::setPosition(const ::Ifc4x3_add2::IfcAxis2Placement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -9208,17 +9208,17 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcConic::Class() { return *((ifcopensh 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); } -void Ifc4x3_add2::IfcConnectedFaceSet::setCfsFaces(const std::vector< ::Ifc4x3_add2::IfcFace >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_add2::IfcFace > Ifc4x3_add2::IfcConnectedFaceSet::CfsFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcFace>(es); } +void Ifc4x3_add2::IfcConnectedFaceSet::setCfsFaces(const std::vector< ::Ifc4x3_add2::IfcFace >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_add2::IfcConnectedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[204]); } -Ifc4x3_add2::IfcConnectedFaceSet Ifc4x3_add2::IfcConnectedFaceSet::initialize(std::vector< ::Ifc4x3_add2::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } +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>(); } +::Ifc4x3_add2::IfcCurveOrEdgeCurve Ifc4x3_add2::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCurveOrEdgeCurve>(); } void Ifc4x3_add2::IfcConnectionCurveGeometry::setCurveOnRelatingElement(const ::Ifc4x3_add2::IfcCurveOrEdgeCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcCurveOrEdgeCurve Ifc4x3_add2::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add2::IfcCurveOrEdgeCurve{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcCurveOrEdgeCurve>(); } +::Ifc4x3_add2::IfcCurveOrEdgeCurve Ifc4x3_add2::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add2::IfcCurveOrEdgeCurve{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcCurveOrEdgeCurve>(); } void Ifc4x3_add2::IfcConnectionCurveGeometry::setCurveOnRelatedElement(const ::Ifc4x3_add2::IfcCurveOrEdgeCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9244,9 +9244,9 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcConnectionPointEccentricity::Class() 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>(); } +::Ifc4x3_add2::IfcPointOrVertexPoint Ifc4x3_add2::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcPointOrVertexPoint>(); } void Ifc4x3_add2::IfcConnectionPointGeometry::setPointOnRelatingElement(const ::Ifc4x3_add2::IfcPointOrVertexPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcPointOrVertexPoint Ifc4x3_add2::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add2::IfcPointOrVertexPoint{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcPointOrVertexPoint>(); } +::Ifc4x3_add2::IfcPointOrVertexPoint Ifc4x3_add2::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add2::IfcPointOrVertexPoint{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcPointOrVertexPoint>(); } void Ifc4x3_add2::IfcConnectionPointGeometry::setPointOnRelatedElement(const ::Ifc4x3_add2::IfcPointOrVertexPoint& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9254,9 +9254,9 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcConnectionPointGeometry::Class() { r 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>(); } +::Ifc4x3_add2::IfcSurfaceOrFaceSurface Ifc4x3_add2::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcSurfaceOrFaceSurface>(); } void Ifc4x3_add2::IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(const ::Ifc4x3_add2::IfcSurfaceOrFaceSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcSurfaceOrFaceSurface Ifc4x3_add2::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add2::IfcSurfaceOrFaceSurface{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcSurfaceOrFaceSurface>(); } +::Ifc4x3_add2::IfcSurfaceOrFaceSurface Ifc4x3_add2::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add2::IfcSurfaceOrFaceSurface{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcSurfaceOrFaceSurface>(); } void Ifc4x3_add2::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(const ::Ifc4x3_add2::IfcSurfaceOrFaceSurface& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9264,9 +9264,9 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcConnectionSurfaceGeometry::Class() { 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>(); } +::Ifc4x3_add2::IfcSolidOrShell Ifc4x3_add2::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcSolidOrShell>(); } void Ifc4x3_add2::IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(const ::Ifc4x3_add2::IfcSolidOrShell& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcSolidOrShell Ifc4x3_add2::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add2::IfcSolidOrShell{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcSolidOrShell>(); } +::Ifc4x3_add2::IfcSolidOrShell Ifc4x3_add2::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add2::IfcSolidOrShell{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcSolidOrShell>(); } void Ifc4x3_add2::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(const ::Ifc4x3_add2::IfcSolidOrShell& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9282,7 +9282,7 @@ void Ifc4x3_add2::IfcConstraint::setDescription(const std::optional< std::string void Ifc4x3_add2::IfcConstraint::setConstraintGrade(const ::Ifc4x3_add2::IfcConstraintEnum::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4x3_add2::IfcConstraintEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4x3_add2::IfcConstraint::ConstraintSource() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcConstraint::setConstraintSource(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_add2::IfcActorSelect Ifc4x3_add2::IfcConstraint::CreatingActor() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_add2::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcActorSelect>(); } +::Ifc4x3_add2::IfcActorSelect Ifc4x3_add2::IfcConstraint::CreatingActor() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_add2::IfcActorSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcActorSelect>(); } void Ifc4x3_add2::IfcConstraint::setCreatingActor(const ::Ifc4x3_add2::IfcActorSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::optional< std::string > Ifc4x3_add2::IfcConstraint::CreationTime() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcConstraint::setCreationTime(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } @@ -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]); } -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; } +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]); } -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; } +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]); } -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; } +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]); } -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; } +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]); } -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; } +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,29 +9341,29 @@ void Ifc4x3_add2::IfcConstructionProductResourceType::setPredefinedType(const :: const ifcopenshell::entity& Ifc4x3_add2::IfcConstructionProductResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[221]); } -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; } +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>(); } +::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>(); } void Ifc4x3_add2::IfcConstructionResource::setUsage(const ::Ifc4x3_add2::IfcResourceTime& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > Ifc4x3_add2::IfcConstructionResource::BaseCosts() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_add2::IfcAppliedValue>(es); } -void Ifc4x3_add2::IfcConstructionResource::setBaseCosts(const std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } -::Ifc4x3_add2::IfcPhysicalQuantity Ifc4x3_add2::IfcConstructionResource::BaseQuantity() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_add2::IfcPhysicalQuantity{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_add2::IfcPhysicalQuantity>(); } +std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > Ifc4x3_add2::IfcConstructionResource::BaseCosts() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_add2::IfcAppliedValue>(es); } +void Ifc4x3_add2::IfcConstructionResource::setBaseCosts(const std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } +::Ifc4x3_add2::IfcPhysicalQuantity Ifc4x3_add2::IfcConstructionResource::BaseQuantity() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_add2::IfcPhysicalQuantity{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_add2::IfcPhysicalQuantity>(); } void Ifc4x3_add2::IfcConstructionResource::setBaseQuantity(const ::Ifc4x3_add2::IfcPhysicalQuantity& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } const ifcopenshell::entity& Ifc4x3_add2::IfcConstructionResource::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[223]); } -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; } +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); } -void Ifc4x3_add2::IfcConstructionResourceType::setBaseCosts(const std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } -::Ifc4x3_add2::IfcPhysicalQuantity Ifc4x3_add2::IfcConstructionResourceType::BaseQuantity() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_add2::IfcPhysicalQuantity{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_add2::IfcPhysicalQuantity>(); } +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); } +void Ifc4x3_add2::IfcConstructionResourceType::setBaseCosts(const std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +::Ifc4x3_add2::IfcPhysicalQuantity Ifc4x3_add2::IfcConstructionResourceType::BaseQuantity() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_add2::IfcPhysicalQuantity{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x3_add2::IfcPhysicalQuantity>(); } void Ifc4x3_add2::IfcConstructionResourceType::setBaseQuantity(const ::Ifc4x3_add2::IfcPhysicalQuantity& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } const ifcopenshell::entity& Ifc4x3_add2::IfcConstructionResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[224]); } -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; } +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; } @@ -9372,16 +9372,16 @@ std::optional< std::string > Ifc4x3_add2::IfcContext::LongName() const { if(get_ void Ifc4x3_add2::IfcContext::setLongName(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< std::string > Ifc4x3_add2::IfcContext::Phase() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcContext::setPhase(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationContext > > Ifc4x3_add2::IfcContext::RepresentationContexts() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_add2::IfcRepresentationContext>(es); } -void Ifc4x3_add2::IfcContext::setRepresentationContexts(const std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationContext > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } -::Ifc4x3_add2::IfcUnitAssignment Ifc4x3_add2::IfcContext::UnitsInContext() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_add2::IfcUnitAssignment{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_add2::IfcUnitAssignment>(); } +std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationContext > > Ifc4x3_add2::IfcContext::RepresentationContexts() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_add2::IfcRepresentationContext>(es); } +void Ifc4x3_add2::IfcContext::setRepresentationContexts(const std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationContext > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +::Ifc4x3_add2::IfcUnitAssignment Ifc4x3_add2::IfcContext::UnitsInContext() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_add2::IfcUnitAssignment{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_add2::IfcUnitAssignment>(); } void Ifc4x3_add2::IfcContext::setUnitsInContext(const ::Ifc4x3_add2::IfcUnitAssignment& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } std::vector<::Ifc4x3_add2::IfcRelDefinesByProperties> Ifc4x3_add2::IfcContext::IsDefinedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[933], 4)); } 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]); } -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; } +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; } @@ -9415,12 +9415,12 @@ void Ifc4x3_add2::IfcControllerType::setPredefinedType(const ::Ifc4x3_add2::IfcC const ifcopenshell::entity& Ifc4x3_add2::IfcControllerType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[230]); } -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; } +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; } void Ifc4x3_add2::IfcConversionBasedUnit::setName(const std::string& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcMeasureWithUnit Ifc4x3_add2::IfcConversionBasedUnit::ConversionFactor() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcMeasureWithUnit>(); } +::Ifc4x3_add2::IfcMeasureWithUnit Ifc4x3_add2::IfcConversionBasedUnit::ConversionFactor() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcMeasureWithUnit>(); } void Ifc4x3_add2::IfcConversionBasedUnit::setConversionFactor(const ::Ifc4x3_add2::IfcMeasureWithUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -9482,12 +9482,12 @@ void Ifc4x3_add2::IfcCoolingTowerType::setPredefinedType(const ::Ifc4x3_add2::If const ifcopenshell::entity& Ifc4x3_add2::IfcCoolingTowerType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[241]); } -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; } +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>(); } +::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect Ifc4x3_add2::IfcCoordinateOperation::SourceCRS() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect>(); } void Ifc4x3_add2::IfcCoordinateOperation::setSourceCRS(const ::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcCoordinateReferenceSystem Ifc4x3_add2::IfcCoordinateOperation::TargetCRS() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcCoordinateReferenceSystem>(); } +::Ifc4x3_add2::IfcCoordinateReferenceSystem Ifc4x3_add2::IfcCoordinateOperation::TargetCRS() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcCoordinateReferenceSystem>(); } void Ifc4x3_add2::IfcCoordinateOperation::setTargetCRS(const ::Ifc4x3_add2::IfcCoordinateReferenceSystem& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9521,14 +9521,14 @@ Ifc4x3_add2::IfcCosineSpiral Ifc4x3_add2::IfcCosineSpiral::initialize(::Ifc4x3_a // 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)); } void Ifc4x3_add2::IfcCostItem::setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcCostItemTypeEnum::Value >& v) { if (v) {set_attribute_value(6, enumeration_reference(&::Ifc4x3_add2::IfcCostItemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x3_add2::IfcCostValue > > Ifc4x3_add2::IfcCostItem::CostValues() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_add2::IfcCostValue>(es); } -void Ifc4x3_add2::IfcCostItem::setCostValues(const std::optional< std::vector< ::Ifc4x3_add2::IfcCostValue > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } -std::optional< std::vector< ::Ifc4x3_add2::IfcPhysicalQuantity > > Ifc4x3_add2::IfcCostItem::CostQuantities() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_add2::IfcPhysicalQuantity>(es); } -void Ifc4x3_add2::IfcCostItem::setCostQuantities(const std::optional< std::vector< ::Ifc4x3_add2::IfcPhysicalQuantity > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } +std::optional< std::vector< ::Ifc4x3_add2::IfcCostValue > > Ifc4x3_add2::IfcCostItem::CostValues() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_add2::IfcCostValue>(es); } +void Ifc4x3_add2::IfcCostItem::setCostValues(const std::optional< std::vector< ::Ifc4x3_add2::IfcCostValue > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x3_add2::IfcPhysicalQuantity > > Ifc4x3_add2::IfcCostItem::CostQuantities() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_add2::IfcPhysicalQuantity>(es); } +void Ifc4x3_add2::IfcCostItem::setCostQuantities(const std::optional< std::vector< ::Ifc4x3_add2::IfcPhysicalQuantity > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } const ifcopenshell::entity& Ifc4x3_add2::IfcCostItem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[247]); } -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; } +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)); } @@ -9548,7 +9548,7 @@ Ifc4x3_add2::IfcCostSchedule Ifc4x3_add2::IfcCostSchedule::initialize(std::strin const ifcopenshell::entity& Ifc4x3_add2::IfcCostValue::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[251]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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]); } -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; } +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,10 +9598,10 @@ void Ifc4x3_add2::IfcCrewResourceType::setPredefinedType(const ::Ifc4x3_add2::If const ifcopenshell::entity& Ifc4x3_add2::IfcCrewResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[260]); } -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; } +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>(); } +::Ifc4x3_add2::IfcAxis2Placement3D Ifc4x3_add2::IfcCsgPrimitive3D::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcAxis2Placement3D>(); } void Ifc4x3_add2::IfcCsgPrimitive3D::setPosition(const ::Ifc4x3_add2::IfcAxis2Placement3D& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -9609,7 +9609,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcCsgPrimitive3D::Class() { return *(( 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>(); } +::Ifc4x3_add2::IfcCsgSelect Ifc4x3_add2::IfcCsgSolid::TreeRootExpression() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCsgSelect>(); } void Ifc4x3_add2::IfcCsgSolid::setTreeRootExpression(const ::Ifc4x3_add2::IfcCsgSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -9617,15 +9617,15 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcCsgSolid::Class() { return *((ifcope 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>(); } +::Ifc4x3_add2::IfcMonetaryUnit Ifc4x3_add2::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcMonetaryUnit>(); } void Ifc4x3_add2::IfcCurrencyRelationship::setRelatingMonetaryUnit(const ::Ifc4x3_add2::IfcMonetaryUnit& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcMonetaryUnit Ifc4x3_add2::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcMonetaryUnit>(); } +::Ifc4x3_add2::IfcMonetaryUnit Ifc4x3_add2::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcMonetaryUnit>(); } void Ifc4x3_add2::IfcCurrencyRelationship::setRelatedMonetaryUnit(const ::Ifc4x3_add2::IfcMonetaryUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } double Ifc4x3_add2::IfcCurrencyRelationship::ExchangeRate() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcCurrencyRelationship::setExchangeRate(const double& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::optional< std::string > Ifc4x3_add2::IfcCurrencyRelationship::RateDateTime() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcCurrencyRelationship::setRateDateTime(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_add2::IfcLibraryInformation Ifc4x3_add2::IfcCurrencyRelationship::RateSource() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcLibraryInformation{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcLibraryInformation>(); } +::Ifc4x3_add2::IfcLibraryInformation Ifc4x3_add2::IfcCurrencyRelationship::RateSource() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcLibraryInformation{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcLibraryInformation>(); } void Ifc4x3_add2::IfcCurrencyRelationship::setRateSource(const ::Ifc4x3_add2::IfcLibraryInformation& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -9646,7 +9646,7 @@ void Ifc4x3_add2::IfcCurtainWallType::setPredefinedType(const ::Ifc4x3_add2::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcCurtainWallType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[268]); } -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; } +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 @@ -9655,37 +9655,37 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcCurve::Class() { return *((ifcopensh 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>(); } +::Ifc4x3_add2::IfcPlane Ifc4x3_add2::IfcCurveBoundedPlane::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcPlane>(); } void Ifc4x3_add2::IfcCurveBoundedPlane::setBasisSurface(const ::Ifc4x3_add2::IfcPlane& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcCurveBoundedPlane::OuterBoundary() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcCurve>(); } +::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcCurveBoundedPlane::OuterBoundary() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcCurve>(); } void Ifc4x3_add2::IfcCurveBoundedPlane::setOuterBoundary(const ::Ifc4x3_add2::IfcCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x3_add2::IfcCurve > Ifc4x3_add2::IfcCurveBoundedPlane::InnerBoundaries() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcCurve>(es); } -void Ifc4x3_add2::IfcCurveBoundedPlane::setInnerBoundaries(const std::vector< ::Ifc4x3_add2::IfcCurve >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_add2::IfcCurve > Ifc4x3_add2::IfcCurveBoundedPlane::InnerBoundaries() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcCurve>(es); } +void Ifc4x3_add2::IfcCurveBoundedPlane::setInnerBoundaries(const std::vector< ::Ifc4x3_add2::IfcCurve >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_add2::IfcCurveBoundedPlane::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[272]); } -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; } +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>(); } +::Ifc4x3_add2::IfcSurface Ifc4x3_add2::IfcCurveBoundedSurface::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcSurface>(); } void Ifc4x3_add2::IfcCurveBoundedSurface::setBasisSurface(const ::Ifc4x3_add2::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_add2::IfcBoundaryCurve > Ifc4x3_add2::IfcCurveBoundedSurface::Boundaries() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcBoundaryCurve>(es); } -void Ifc4x3_add2::IfcCurveBoundedSurface::setBoundaries(const std::vector< ::Ifc4x3_add2::IfcBoundaryCurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_add2::IfcBoundaryCurve > Ifc4x3_add2::IfcCurveBoundedSurface::Boundaries() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcBoundaryCurve>(es); } +void Ifc4x3_add2::IfcCurveBoundedSurface::setBoundaries(const std::vector< ::Ifc4x3_add2::IfcBoundaryCurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } bool Ifc4x3_add2::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcCurveBoundedSurface::setImplicitOuter(const bool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_add2::IfcCurveBoundedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[273]); } -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; } +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>(); } +::Ifc4x3_add2::IfcPlacement Ifc4x3_add2::IfcCurveSegment::Placement() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcPlacement>(); } void Ifc4x3_add2::IfcCurveSegment::setPlacement(const ::Ifc4x3_add2::IfcPlacement& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcCurveMeasureSelect Ifc4x3_add2::IfcCurveSegment::SegmentStart() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcCurveMeasureSelect>(); } +::Ifc4x3_add2::IfcCurveMeasureSelect Ifc4x3_add2::IfcCurveSegment::SegmentStart() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcCurveMeasureSelect>(); } void Ifc4x3_add2::IfcCurveSegment::setSegmentStart(const ::Ifc4x3_add2::IfcCurveMeasureSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcCurveMeasureSelect Ifc4x3_add2::IfcCurveSegment::SegmentLength() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcCurveMeasureSelect>(); } +::Ifc4x3_add2::IfcCurveMeasureSelect Ifc4x3_add2::IfcCurveSegment::SegmentLength() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcCurveMeasureSelect>(); } void Ifc4x3_add2::IfcCurveSegment::setSegmentLength(const ::Ifc4x3_add2::IfcCurveMeasureSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcCurveSegment::ParentCurve() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcCurve>(); } +::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcCurveSegment::ParentCurve() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcCurve>(); } void Ifc4x3_add2::IfcCurveSegment::setParentCurve(const ::Ifc4x3_add2::IfcCurve& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -9693,11 +9693,11 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcCurveSegment::Class() { return *((if 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>(); } +::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>(); } void Ifc4x3_add2::IfcCurveStyle::setCurveFont(const ::Ifc4x3_add2::IfcCurveFontOrScaledCurveFontSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcSizeSelect Ifc4x3_add2::IfcCurveStyle::CurveWidth() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcSizeSelect>(); } +::Ifc4x3_add2::IfcSizeSelect Ifc4x3_add2::IfcCurveStyle::CurveWidth() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcSizeSelect>(); } void Ifc4x3_add2::IfcCurveStyle::setCurveWidth(const ::Ifc4x3_add2::IfcSizeSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcColour Ifc4x3_add2::IfcCurveStyle::CurveColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcColour{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcColour>(); } +::Ifc4x3_add2::IfcColour Ifc4x3_add2::IfcCurveStyle::CurveColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcColour{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcColour>(); } void Ifc4x3_add2::IfcCurveStyle::setCurveColour(const ::Ifc4x3_add2::IfcColour& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< bool > Ifc4x3_add2::IfcCurveStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } bool v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcCurveStyle::setModelOrDraughting(const std::optional< bool >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -9709,17 +9709,17 @@ Ifc4x3_add2::IfcCurveStyle Ifc4x3_add2::IfcCurveStyle::initialize(std::optional< // 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; } void Ifc4x3_add2::IfcCurveStyleFont::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::vector< ::Ifc4x3_add2::IfcCurveStyleFontPattern > Ifc4x3_add2::IfcCurveStyleFont::PatternList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcCurveStyleFontPattern>(es); } -void Ifc4x3_add2::IfcCurveStyleFont::setPatternList(const std::vector< ::Ifc4x3_add2::IfcCurveStyleFontPattern >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_add2::IfcCurveStyleFontPattern > Ifc4x3_add2::IfcCurveStyleFont::PatternList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcCurveStyleFontPattern>(es); } +void Ifc4x3_add2::IfcCurveStyleFont::setPatternList(const std::vector< ::Ifc4x3_add2::IfcCurveStyleFontPattern >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_add2::IfcCurveStyleFont::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[281]); } -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; } +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; } void Ifc4x3_add2::IfcCurveStyleFontAndScaling::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_add2::IfcCurveStyleFontSelect Ifc4x3_add2::IfcCurveStyleFontAndScaling::CurveStyleFont() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcCurveStyleFontSelect>(); } +::Ifc4x3_add2::IfcCurveStyleFontSelect Ifc4x3_add2::IfcCurveStyleFontAndScaling::CurveStyleFont() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcCurveStyleFontSelect>(); } void Ifc4x3_add2::IfcCurveStyleFontAndScaling::setCurveStyleFont(const ::Ifc4x3_add2::IfcCurveStyleFontSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } double Ifc4x3_add2::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcCurveStyleFontAndScaling::setCurveFontScaling(const double& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -9760,7 +9760,7 @@ void Ifc4x3_add2::IfcDamperType::setPredefinedType(const ::Ifc4x3_add2::IfcDampe const ifcopenshell::entity& Ifc4x3_add2::IfcDamperType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[287]); } -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; } +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 @@ -9772,12 +9772,12 @@ Ifc4x3_add2::IfcDeepFoundation Ifc4x3_add2::IfcDeepFoundation::initialize(std::s const ifcopenshell::entity& Ifc4x3_add2::IfcDeepFoundationType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[295]); } -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; } +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>(); } +::Ifc4x3_add2::IfcProfileDef Ifc4x3_add2::IfcDerivedProfileDef::ParentProfile() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcProfileDef>(); } void Ifc4x3_add2::IfcDerivedProfileDef::setParentProfile(const ::Ifc4x3_add2::IfcProfileDef& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcCartesianTransformationOperator2D Ifc4x3_add2::IfcDerivedProfileDef::Operator() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcCartesianTransformationOperator2D>(); } +::Ifc4x3_add2::IfcCartesianTransformationOperator2D Ifc4x3_add2::IfcDerivedProfileDef::Operator() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcCartesianTransformationOperator2D>(); } void Ifc4x3_add2::IfcDerivedProfileDef::setOperator(const ::Ifc4x3_add2::IfcCartesianTransformationOperator2D& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_add2::IfcDerivedProfileDef::Label() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcDerivedProfileDef::setLabel(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -9787,8 +9787,8 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcDerivedProfileDef::Class() { return 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); } -void Ifc4x3_add2::IfcDerivedUnit::setElements(const std::vector< ::Ifc4x3_add2::IfcDerivedUnitElement >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_add2::IfcDerivedUnitElement > Ifc4x3_add2::IfcDerivedUnit::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcDerivedUnitElement>(es); } +void Ifc4x3_add2::IfcDerivedUnit::setElements(const std::vector< ::Ifc4x3_add2::IfcDerivedUnitElement >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_add2::IfcDerivedUnitEnum::Value Ifc4x3_add2::IfcDerivedUnit::UnitType() const { return ::Ifc4x3_add2::IfcDerivedUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x3_add2::IfcDerivedUnit::setUnitType(const ::Ifc4x3_add2::IfcDerivedUnitEnum::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4x3_add2::IfcDerivedUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_add2::IfcDerivedUnit::UserDefinedType() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } @@ -9798,10 +9798,10 @@ 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]); } -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; } +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>(); } +::Ifc4x3_add2::IfcNamedUnit Ifc4x3_add2::IfcDerivedUnitElement::Unit() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcNamedUnit>(); } void Ifc4x3_add2::IfcDerivedUnitElement::setUnit(const ::Ifc4x3_add2::IfcNamedUnit& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } int64_t Ifc4x3_add2::IfcDerivedUnitElement::Exponent() const { int64_t v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcDerivedUnitElement::setExponent(const int64_t& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9839,11 +9839,11 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcDirection::Class() { return *((ifcop 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>(); } +::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcCurve>(); } void Ifc4x3_add2::IfcDirectrixCurveSweptAreaSolid::setDirectrix(const ::Ifc4x3_add2::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcCurveMeasureSelect Ifc4x3_add2::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcCurveMeasureSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcCurveMeasureSelect>(); } +::Ifc4x3_add2::IfcCurveMeasureSelect Ifc4x3_add2::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcCurveMeasureSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcCurveMeasureSelect>(); } void Ifc4x3_add2::IfcDirectrixCurveSweptAreaSolid::setStartParam(const ::Ifc4x3_add2::IfcCurveMeasureSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add2::IfcCurveMeasureSelect Ifc4x3_add2::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_add2::IfcCurveMeasureSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcCurveMeasureSelect>(); } +::Ifc4x3_add2::IfcCurveMeasureSelect Ifc4x3_add2::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_add2::IfcCurveMeasureSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcCurveMeasureSelect>(); } void Ifc4x3_add2::IfcDirectrixCurveSweptAreaSolid::setEndParam(const ::Ifc4x3_add2::IfcCurveMeasureSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -9902,7 +9902,7 @@ void Ifc4x3_add2::IfcDistributionChamberElementType::setPredefinedType(const ::I const ifcopenshell::entity& Ifc4x3_add2::IfcDistributionChamberElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[316]); } -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; } +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 @@ -9921,7 +9921,7 @@ Ifc4x3_add2::IfcDistributionControlElement Ifc4x3_add2::IfcDistributionControlEl const ifcopenshell::entity& Ifc4x3_add2::IfcDistributionControlElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[320]); } -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; } +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 @@ -9934,7 +9934,7 @@ Ifc4x3_add2::IfcDistributionElement Ifc4x3_add2::IfcDistributionElement::initial const ifcopenshell::entity& Ifc4x3_add2::IfcDistributionElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[322]); } -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; } +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 @@ -9947,7 +9947,7 @@ Ifc4x3_add2::IfcDistributionFlowElement Ifc4x3_add2::IfcDistributionFlowElement: const ifcopenshell::entity& Ifc4x3_add2::IfcDistributionFlowElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[324]); } -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; } +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)); } @@ -9988,10 +9988,10 @@ std::optional< std::string > Ifc4x3_add2::IfcDocumentInformation::Scope() const void Ifc4x3_add2::IfcDocumentInformation::setScope(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } std::optional< std::string > Ifc4x3_add2::IfcDocumentInformation::Revision() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcDocumentInformation::setRevision(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_add2::IfcActorSelect Ifc4x3_add2::IfcDocumentInformation::DocumentOwner() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_add2::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_add2::IfcActorSelect>(); } +::Ifc4x3_add2::IfcActorSelect Ifc4x3_add2::IfcDocumentInformation::DocumentOwner() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_add2::IfcActorSelect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_add2::IfcActorSelect>(); } void Ifc4x3_add2::IfcDocumentInformation::setDocumentOwner(const ::Ifc4x3_add2::IfcActorSelect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::optional< std::vector< ::Ifc4x3_add2::IfcActorSelect > > Ifc4x3_add2::IfcDocumentInformation::Editors() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_add2::IfcActorSelect>(es); } -void Ifc4x3_add2::IfcDocumentInformation::setEditors(const std::optional< std::vector< ::Ifc4x3_add2::IfcActorSelect > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +std::optional< std::vector< ::Ifc4x3_add2::IfcActorSelect > > Ifc4x3_add2::IfcDocumentInformation::Editors() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_add2::IfcActorSelect>(es); } +void Ifc4x3_add2::IfcDocumentInformation::setEditors(const std::optional< std::vector< ::Ifc4x3_add2::IfcActorSelect > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } std::optional< std::string > Ifc4x3_add2::IfcDocumentInformation::CreationTime() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcDocumentInformation::setCreationTime(const std::optional< std::string >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } std::optional< std::string > Ifc4x3_add2::IfcDocumentInformation::LastRevisionTime() const { if(get_attribute_value(11).isNull()) { return std::nullopt; } std::string v = get_attribute_value(11); return v; } @@ -10013,24 +10013,24 @@ 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]); } -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; } +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>(); } +::Ifc4x3_add2::IfcDocumentInformation Ifc4x3_add2::IfcDocumentInformationRelationship::RelatingDocument() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcDocumentInformation>(); } void Ifc4x3_add2::IfcDocumentInformationRelationship::setRelatingDocument(const ::Ifc4x3_add2::IfcDocumentInformation& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_add2::IfcDocumentInformation > Ifc4x3_add2::IfcDocumentInformationRelationship::RelatedDocuments() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_add2::IfcDocumentInformation>(es); } -void Ifc4x3_add2::IfcDocumentInformationRelationship::setRelatedDocuments(const std::vector< ::Ifc4x3_add2::IfcDocumentInformation >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_add2::IfcDocumentInformation > Ifc4x3_add2::IfcDocumentInformationRelationship::RelatedDocuments() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_add2::IfcDocumentInformation>(es); } +void Ifc4x3_add2::IfcDocumentInformationRelationship::setRelatedDocuments(const std::vector< ::Ifc4x3_add2::IfcDocumentInformation >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_add2::IfcDocumentInformationRelationship::RelationshipType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcDocumentInformationRelationship::setRelationshipType(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const ifcopenshell::entity& Ifc4x3_add2::IfcDocumentInformationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[331]); } -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; } +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; } void Ifc4x3_add2::IfcDocumentReference::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_add2::IfcDocumentInformation Ifc4x3_add2::IfcDocumentReference::ReferencedDocument() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_add2::IfcDocumentInformation{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcDocumentInformation>(); } +::Ifc4x3_add2::IfcDocumentInformation Ifc4x3_add2::IfcDocumentReference::ReferencedDocument() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_add2::IfcDocumentInformation{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcDocumentInformation>(); } void Ifc4x3_add2::IfcDocumentReference::setReferencedDocument(const ::Ifc4x3_add2::IfcDocumentInformation& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::vector<::Ifc4x3_add2::IfcRelAssociatesDocument> Ifc4x3_add2::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[912], 5)); } @@ -10075,7 +10075,7 @@ std::optional< double > Ifc4x3_add2::IfcDoorLiningProperties::CasingThickness() void Ifc4x3_add2::IfcDoorLiningProperties::setCasingThickness(const std::optional< double >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } std::optional< double > Ifc4x3_add2::IfcDoorLiningProperties::CasingDepth() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } double v = get_attribute_value(13); return v; } void Ifc4x3_add2::IfcDoorLiningProperties::setCasingDepth(const std::optional< double >& v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -::Ifc4x3_add2::IfcShapeAspect Ifc4x3_add2::IfcDoorLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(14).isNull()) { return ::Ifc4x3_add2::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(14))).as<::Ifc4x3_add2::IfcShapeAspect>(); } +::Ifc4x3_add2::IfcShapeAspect Ifc4x3_add2::IfcDoorLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(14).isNull()) { return ::Ifc4x3_add2::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(14))).as<::Ifc4x3_add2::IfcShapeAspect>(); } void Ifc4x3_add2::IfcDoorLiningProperties::setShapeAspectStyle(const ::Ifc4x3_add2::IfcShapeAspect& v) { set_attribute_value(14, v);if constexpr (false)unset_attribute_value(14); } std::optional< double > Ifc4x3_add2::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(get_attribute_value(15).isNull()) { return std::nullopt; } double v = get_attribute_value(15); return v; } void Ifc4x3_add2::IfcDoorLiningProperties::setLiningToPanelOffsetX(const std::optional< double >& v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } @@ -10095,7 +10095,7 @@ std::optional< double > Ifc4x3_add2::IfcDoorPanelProperties::PanelWidth() const void Ifc4x3_add2::IfcDoorPanelProperties::setPanelWidth(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_add2::IfcDoorPanelPositionEnum::Value Ifc4x3_add2::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x3_add2::IfcDoorPanelPositionEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add2::IfcDoorPanelProperties::setPanelPosition(const ::Ifc4x3_add2::IfcDoorPanelPositionEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4x3_add2::IfcDoorPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_add2::IfcShapeAspect Ifc4x3_add2::IfcDoorPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_add2::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_add2::IfcShapeAspect>(); } +::Ifc4x3_add2::IfcShapeAspect Ifc4x3_add2::IfcDoorPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_add2::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_add2::IfcShapeAspect>(); } void Ifc4x3_add2::IfcDoorPanelProperties::setShapeAspectStyle(const ::Ifc4x3_add2::IfcShapeAspect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -10114,7 +10114,7 @@ void Ifc4x3_add2::IfcDoorType::setUserDefinedOperationType(const std::optional< const ifcopenshell::entity& Ifc4x3_add2::IfcDoorType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[340]); } -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; } +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 @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -10199,9 +10199,9 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcEarthworksFill::Class() { return *(( 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>(); } +::Ifc4x3_add2::IfcVertex Ifc4x3_add2::IfcEdge::EdgeStart() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcVertex>(); } void Ifc4x3_add2::IfcEdge::setEdgeStart(const ::Ifc4x3_add2::IfcVertex& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcVertex Ifc4x3_add2::IfcEdge::EdgeEnd() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcVertex>(); } +::Ifc4x3_add2::IfcVertex Ifc4x3_add2::IfcEdge::EdgeEnd() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcVertex>(); } void Ifc4x3_add2::IfcEdge::setEdgeEnd(const ::Ifc4x3_add2::IfcVertex& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -10209,7 +10209,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcEdge::Class() { return *((ifcopenshe 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>(); } +::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcEdgeCurve::EdgeGeometry() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcCurve>(); } void Ifc4x3_add2::IfcEdgeCurve::setEdgeGeometry(const ::Ifc4x3_add2::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } bool Ifc4x3_add2::IfcEdgeCurve::SameSense() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcEdgeCurve::setSameSense(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -10219,12 +10219,12 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcEdgeCurve::Class() { return *((ifcop 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); } -void Ifc4x3_add2::IfcEdgeLoop::setEdgeList(const std::vector< ::Ifc4x3_add2::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_add2::IfcOrientedEdge > Ifc4x3_add2::IfcEdgeLoop::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcOrientedEdge>(es); } +void Ifc4x3_add2::IfcEdgeLoop::setEdgeList(const std::vector< ::Ifc4x3_add2::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_add2::IfcEdgeLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[364]); } -Ifc4x3_add2::IfcEdgeLoop Ifc4x3_add2::IfcEdgeLoop::initialize(std::vector< ::Ifc4x3_add2::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -10288,7 +10288,7 @@ void Ifc4x3_add2::IfcElectricFlowTreatmentDeviceType::setPredefinedType(const :: const ifcopenshell::entity& Ifc4x3_add2::IfcElectricFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[379]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -10374,7 +10374,7 @@ void Ifc4x3_add2::IfcElementAssemblyType::setPredefinedType(const ::Ifc4x3_add2: const ifcopenshell::entity& Ifc4x3_add2::IfcElementAssemblyType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[395]); } -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; } +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 @@ -10386,17 +10386,17 @@ Ifc4x3_add2::IfcElementComponent Ifc4x3_add2::IfcElementComponent::initialize(st const ifcopenshell::entity& Ifc4x3_add2::IfcElementComponentType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[398]); } -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; } +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; } void Ifc4x3_add2::IfcElementQuantity::setMethodOfMeasurement(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector< ::Ifc4x3_add2::IfcPhysicalQuantity > Ifc4x3_add2::IfcElementQuantity::Quantities() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_add2::IfcPhysicalQuantity>(es); } -void Ifc4x3_add2::IfcElementQuantity::setQuantities(const std::vector< ::Ifc4x3_add2::IfcPhysicalQuantity >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_add2::IfcPhysicalQuantity > Ifc4x3_add2::IfcElementQuantity::Quantities() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_add2::IfcPhysicalQuantity>(es); } +void Ifc4x3_add2::IfcElementQuantity::setQuantities(const std::vector< ::Ifc4x3_add2::IfcPhysicalQuantity >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_add2::IfcElementQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[400]); } -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; } +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,10 +10404,10 @@ void Ifc4x3_add2::IfcElementType::setElementType(const std::optional< std::strin const ifcopenshell::entity& Ifc4x3_add2::IfcElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[401]); } -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; } +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>(); } +::Ifc4x3_add2::IfcAxis2Placement3D Ifc4x3_add2::IfcElementarySurface::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcAxis2Placement3D>(); } void Ifc4x3_add2::IfcElementarySurface::setPosition(const ::Ifc4x3_add2::IfcAxis2Placement3D& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -10444,7 +10444,7 @@ Ifc4x3_add2::IfcEnergyConversionDevice Ifc4x3_add2::IfcEnergyConversionDevice::i const ifcopenshell::entity& Ifc4x3_add2::IfcEnergyConversionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[405]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -10501,7 +10501,7 @@ std::optional< ::Ifc4x3_add2::IfcEventTriggerTypeEnum::Value > Ifc4x3_add2::IfcE void Ifc4x3_add2::IfcEvent::setEventTriggerType(const std::optional< ::Ifc4x3_add2::IfcEventTriggerTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_add2::IfcEventTriggerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } std::optional< std::string > Ifc4x3_add2::IfcEvent::UserDefinedEventTriggerType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_add2::IfcEvent::setUserDefinedEventTriggerType(const std::optional< std::string >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -::Ifc4x3_add2::IfcEventTime Ifc4x3_add2::IfcEvent::EventOccurenceTime() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_add2::IfcEventTime{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_add2::IfcEventTime>(); } +::Ifc4x3_add2::IfcEventTime Ifc4x3_add2::IfcEvent::EventOccurenceTime() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_add2::IfcEventTime{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x3_add2::IfcEventTime>(); } void Ifc4x3_add2::IfcEvent::setEventOccurenceTime(const ::Ifc4x3_add2::IfcEventTime& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } @@ -10532,19 +10532,19 @@ void Ifc4x3_add2::IfcEventType::setUserDefinedEventTriggerType(const std::option const ifcopenshell::entity& Ifc4x3_add2::IfcEventType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[419]); } -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; } +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; } void Ifc4x3_add2::IfcExtendedProperties::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_add2::IfcExtendedProperties::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcExtendedProperties::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x3_add2::IfcProperty > Ifc4x3_add2::IfcExtendedProperties::Properties() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcProperty>(es); } -void Ifc4x3_add2::IfcExtendedProperties::setProperties(const std::vector< ::Ifc4x3_add2::IfcProperty >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_add2::IfcProperty > Ifc4x3_add2::IfcExtendedProperties::Properties() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcProperty>(es); } +void Ifc4x3_add2::IfcExtendedProperties::setProperties(const std::vector< ::Ifc4x3_add2::IfcProperty >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_add2::IfcExtendedProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[421]); } -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; } +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 @@ -10566,14 +10566,14 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcExternalReference::Class() { return 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>(); } +::Ifc4x3_add2::IfcExternalReference Ifc4x3_add2::IfcExternalReferenceRelationship::RelatingReference() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcExternalReference>(); } void Ifc4x3_add2::IfcExternalReferenceRelationship::setRelatingReference(const ::Ifc4x3_add2::IfcExternalReference& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_add2::IfcResourceObjectSelect > Ifc4x3_add2::IfcExternalReferenceRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_add2::IfcResourceObjectSelect>(es); } -void Ifc4x3_add2::IfcExternalReferenceRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x3_add2::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_add2::IfcResourceObjectSelect > Ifc4x3_add2::IfcExternalReferenceRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_add2::IfcResourceObjectSelect>(es); } +void Ifc4x3_add2::IfcExternalReferenceRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x3_add2::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_add2::IfcExternalReferenceRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[427]); } -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; } +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)); } @@ -10609,7 +10609,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcExternallyDefinedTextFont::Class() { 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>(); } +::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcDirection>(); } void Ifc4x3_add2::IfcExtrudedAreaSolid::setExtrudedDirection(const ::Ifc4x3_add2::IfcDirection& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc4x3_add2::IfcExtrudedAreaSolid::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcExtrudedAreaSolid::setDepth(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -10619,7 +10619,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcExtrudedAreaSolid::Class() { return 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>(); } +::Ifc4x3_add2::IfcProfileDef Ifc4x3_add2::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcProfileDef>(); } void Ifc4x3_add2::IfcExtrudedAreaSolidTapered::setEndSweptArea(const ::Ifc4x3_add2::IfcProfileDef& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -10627,24 +10627,24 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcExtrudedAreaSolidTapered::Class() { 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); } -void Ifc4x3_add2::IfcFace::setBounds(const std::vector< ::Ifc4x3_add2::IfcFaceBound >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_add2::IfcFaceBound > Ifc4x3_add2::IfcFace::Bounds() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcFaceBound>(es); } +void Ifc4x3_add2::IfcFace::setBounds(const std::vector< ::Ifc4x3_add2::IfcFaceBound >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } 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]); } -Ifc4x3_add2::IfcFace Ifc4x3_add2::IfcFace::initialize(std::vector< ::Ifc4x3_add2::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds));; return *this; } +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); } -void Ifc4x3_add2::IfcFaceBasedSurfaceModel::setFbsmFaces(const std::vector< ::Ifc4x3_add2::IfcConnectedFaceSet >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_add2::IfcConnectedFaceSet > Ifc4x3_add2::IfcFaceBasedSurfaceModel::FbsmFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcConnectedFaceSet>(es); } +void Ifc4x3_add2::IfcFaceBasedSurfaceModel::setFbsmFaces(const std::vector< ::Ifc4x3_add2::IfcConnectedFaceSet >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_add2::IfcFaceBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[434]); } -Ifc4x3_add2::IfcFaceBasedSurfaceModel Ifc4x3_add2::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_add2::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces));; return *this; } +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>(); } +::Ifc4x3_add2::IfcLoop Ifc4x3_add2::IfcFaceBound::Bound() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcLoop>(); } void Ifc4x3_add2::IfcFaceBound::setBound(const ::Ifc4x3_add2::IfcLoop& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } bool Ifc4x3_add2::IfcFaceBound::Orientation() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcFaceBound::setOrientation(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -10660,14 +10660,14 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcFaceOuterBound::Class() { return *(( 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>(); } +::Ifc4x3_add2::IfcSurface Ifc4x3_add2::IfcFaceSurface::FaceSurface() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcSurface>(); } void Ifc4x3_add2::IfcFaceSurface::setFaceSurface(const ::Ifc4x3_add2::IfcSurface& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } bool Ifc4x3_add2::IfcFaceSurface::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcFaceSurface::setSameSense(const bool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_add2::IfcFaceSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[437]); } -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; } +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 @@ -10676,12 +10676,12 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcFacetedBrep::Class() { return *((ifc 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); } -void Ifc4x3_add2::IfcFacetedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_add2::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_add2::IfcClosedShell > Ifc4x3_add2::IfcFacetedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcClosedShell>(es); } +void Ifc4x3_add2::IfcFacetedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_add2::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_add2::IfcFacetedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[439]); } -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; } +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 @@ -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]); } -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; } +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)); } @@ -10753,7 +10753,7 @@ void Ifc4x3_add2::IfcFastenerType::setPredefinedType(const ::Ifc4x3_add2::IfcFas const ifcopenshell::entity& Ifc4x3_add2::IfcFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[450]); } -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; } +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 @@ -10776,23 +10776,23 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcFeatureElementSubtraction::Class() { 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); } -void Ifc4x3_add2::IfcFillAreaStyle::setFillStyles(const std::vector< ::Ifc4x3_add2::IfcFillStyleSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_add2::IfcFillStyleSelect > Ifc4x3_add2::IfcFillAreaStyle::FillStyles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcFillStyleSelect>(es); } +void Ifc4x3_add2::IfcFillAreaStyle::setFillStyles(const std::vector< ::Ifc4x3_add2::IfcFillStyleSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< bool > Ifc4x3_add2::IfcFillAreaStyle::ModelOrDraughting() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } bool v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcFillAreaStyle::setModelOrDraughting(const std::optional< bool >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_add2::IfcFillAreaStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[455]); } -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; } +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>(); } +::Ifc4x3_add2::IfcCurveStyle Ifc4x3_add2::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCurveStyle>(); } void Ifc4x3_add2::IfcFillAreaStyleHatching::setHatchLineAppearance(const ::Ifc4x3_add2::IfcCurveStyle& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcHatchLineDistanceSelect Ifc4x3_add2::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcHatchLineDistanceSelect>(); } +::Ifc4x3_add2::IfcHatchLineDistanceSelect Ifc4x3_add2::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcHatchLineDistanceSelect>(); } void Ifc4x3_add2::IfcFillAreaStyleHatching::setStartOfNextHatchLine(const ::Ifc4x3_add2::IfcHatchLineDistanceSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcCartesianPoint Ifc4x3_add2::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcCartesianPoint{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcCartesianPoint>(); } +::Ifc4x3_add2::IfcCartesianPoint Ifc4x3_add2::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcCartesianPoint{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcCartesianPoint>(); } void Ifc4x3_add2::IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(const ::Ifc4x3_add2::IfcCartesianPoint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcCartesianPoint Ifc4x3_add2::IfcFillAreaStyleHatching::PatternStart() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcCartesianPoint{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcCartesianPoint>(); } +::Ifc4x3_add2::IfcCartesianPoint Ifc4x3_add2::IfcFillAreaStyleHatching::PatternStart() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcCartesianPoint{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcCartesianPoint>(); } void Ifc4x3_add2::IfcFillAreaStyleHatching::setPatternStart(const ::Ifc4x3_add2::IfcCartesianPoint& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } double Ifc4x3_add2::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcFillAreaStyleHatching::setHatchLineAngle(const double& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -10802,16 +10802,16 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcFillAreaStyleHatching::Class() { ret 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); } -void Ifc4x3_add2::IfcFillAreaStyleTiles::setTilingPattern(const std::vector< ::Ifc4x3_add2::IfcVector >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_add2::IfcStyledItem > Ifc4x3_add2::IfcFillAreaStyleTiles::Tiles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcStyledItem>(es); } -void Ifc4x3_add2::IfcFillAreaStyleTiles::setTiles(const std::vector< ::Ifc4x3_add2::IfcStyledItem >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_add2::IfcVector > Ifc4x3_add2::IfcFillAreaStyleTiles::TilingPattern() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcVector>(es); } +void Ifc4x3_add2::IfcFillAreaStyleTiles::setTilingPattern(const std::vector< ::Ifc4x3_add2::IfcVector >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_add2::IfcStyledItem > Ifc4x3_add2::IfcFillAreaStyleTiles::Tiles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcStyledItem>(es); } +void Ifc4x3_add2::IfcFillAreaStyleTiles::setTiles(const std::vector< ::Ifc4x3_add2::IfcStyledItem >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } double Ifc4x3_add2::IfcFillAreaStyleTiles::TilingScale() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcFillAreaStyleTiles::setTilingScale(const double& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_add2::IfcFillAreaStyleTiles::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[457]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -10843,10 +10843,10 @@ void Ifc4x3_add2::IfcFireSuppressionTerminalType::setPredefinedType(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_add2::IfcFireSuppressionTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[463]); } -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; } +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>(); } +::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcDirection>(); } void Ifc4x3_add2::IfcFixedReferenceSweptAreaSolid::setFixedReference(const ::Ifc4x3_add2::IfcDirection& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -10863,7 +10863,7 @@ Ifc4x3_add2::IfcFlowController Ifc4x3_add2::IfcFlowController::initialize(std::s const ifcopenshell::entity& Ifc4x3_add2::IfcFlowControllerType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[467]); } -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; } +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 @@ -10875,7 +10875,7 @@ Ifc4x3_add2::IfcFlowFitting Ifc4x3_add2::IfcFlowFitting::initialize(std::string const ifcopenshell::entity& Ifc4x3_add2::IfcFlowFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[470]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -10907,7 +10907,7 @@ void Ifc4x3_add2::IfcFlowMeterType::setPredefinedType(const ::Ifc4x3_add2::IfcFl const ifcopenshell::entity& Ifc4x3_add2::IfcFlowMeterType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[475]); } -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; } +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 @@ -10919,7 +10919,7 @@ Ifc4x3_add2::IfcFlowMovingDevice Ifc4x3_add2::IfcFlowMovingDevice::initialize(st const ifcopenshell::entity& Ifc4x3_add2::IfcFlowMovingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[478]); } -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; } +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 @@ -10931,7 +10931,7 @@ Ifc4x3_add2::IfcFlowSegment Ifc4x3_add2::IfcFlowSegment::initialize(std::string const ifcopenshell::entity& Ifc4x3_add2::IfcFlowSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[480]); } -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; } +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 @@ -10943,7 +10943,7 @@ Ifc4x3_add2::IfcFlowStorageDevice Ifc4x3_add2::IfcFlowStorageDevice::initialize( const ifcopenshell::entity& Ifc4x3_add2::IfcFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[482]); } -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; } +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 @@ -10955,7 +10955,7 @@ Ifc4x3_add2::IfcFlowTerminal Ifc4x3_add2::IfcFlowTerminal::initialize(std::strin const ifcopenshell::entity& Ifc4x3_add2::IfcFlowTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[484]); } -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; } +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 @@ -10967,7 +10967,7 @@ Ifc4x3_add2::IfcFlowTreatmentDevice Ifc4x3_add2::IfcFlowTreatmentDevice::initial const ifcopenshell::entity& Ifc4x3_add2::IfcFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[486]); } -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; } +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)); } @@ -10983,7 +10983,7 @@ void Ifc4x3_add2::IfcFootingType::setPredefinedType(const ::Ifc4x3_add2::IfcFoot const ifcopenshell::entity& Ifc4x3_add2::IfcFootingType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[491]); } -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; } +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 @@ -10995,7 +10995,7 @@ Ifc4x3_add2::IfcFurnishingElement Ifc4x3_add2::IfcFurnishingElement::initialize( const ifcopenshell::entity& Ifc4x3_add2::IfcFurnishingElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[496]); } -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; } +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)); } @@ -11013,14 +11013,14 @@ void Ifc4x3_add2::IfcFurnitureType::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcFurnitureType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[498]); } -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; } +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; } void Ifc4x3_add2::IfcGeographicCRS::setPrimeMeridian(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_add2::IfcNamedUnit Ifc4x3_add2::IfcGeographicCRS::AngleUnit() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_add2::IfcNamedUnit{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcNamedUnit>(); } +::Ifc4x3_add2::IfcNamedUnit Ifc4x3_add2::IfcGeographicCRS::AngleUnit() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_add2::IfcNamedUnit{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcNamedUnit>(); } void Ifc4x3_add2::IfcGeographicCRS::setAngleUnit(const ::Ifc4x3_add2::IfcNamedUnit& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcNamedUnit Ifc4x3_add2::IfcGeographicCRS::HeightUnit() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_add2::IfcNamedUnit{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcNamedUnit>(); } +::Ifc4x3_add2::IfcNamedUnit Ifc4x3_add2::IfcGeographicCRS::HeightUnit() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_add2::IfcNamedUnit{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcNamedUnit>(); } void Ifc4x3_add2::IfcGeographicCRS::setHeightUnit(const ::Ifc4x3_add2::IfcNamedUnit& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -11041,22 +11041,22 @@ void Ifc4x3_add2::IfcGeographicElementType::setPredefinedType(const ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add2::IfcGeographicElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[502]); } -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; } +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]); } -Ifc4x3_add2::IfcGeometricCurveSet Ifc4x3_add2::IfcGeometricCurveSet::initialize(std::vector< ::Ifc4x3_add2::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } +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 int64_t Ifc4x3_add2::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int64_t v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(const int64_t& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc4x3_add2::IfcGeometricRepresentationContext::Precision() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcGeometricRepresentationContext::setPrecision(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_add2::IfcAxis2Placement Ifc4x3_add2::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcAxis2Placement>(); } +::Ifc4x3_add2::IfcAxis2Placement Ifc4x3_add2::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcAxis2Placement>(); } void Ifc4x3_add2::IfcGeometricRepresentationContext::setWorldCoordinateSystem(const ::Ifc4x3_add2::IfcAxis2Placement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_add2::IfcDirection{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcDirection>(); } +::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_add2::IfcDirection{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcDirection>(); } void Ifc4x3_add2::IfcGeometricRepresentationContext::setTrueNorth(const ::Ifc4x3_add2::IfcDirection& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } std::vector<::Ifc4x3_add2::IfcGeometricRepresentationSubContext> Ifc4x3_add2::IfcGeometricRepresentationContext::HasSubContexts() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[508], 6)); } @@ -11072,7 +11072,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcGeometricRepresentationItem::Class() 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>(); } +::Ifc4x3_add2::IfcGeometricRepresentationContext Ifc4x3_add2::IfcGeometricRepresentationSubContext::ParentContext() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcGeometricRepresentationContext>(); } void Ifc4x3_add2::IfcGeometricRepresentationSubContext::setParentContext(const ::Ifc4x3_add2::IfcGeometricRepresentationContext& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< double > Ifc4x3_add2::IfcGeometricRepresentationSubContext::TargetScale() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcGeometricRepresentationSubContext::setTargetScale(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } @@ -11086,12 +11086,12 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcGeometricRepresentationSubContext::C 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); } -void Ifc4x3_add2::IfcGeometricSet::setElements(const std::vector< ::Ifc4x3_add2::IfcGeometricSetSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_add2::IfcGeometricSetSelect > Ifc4x3_add2::IfcGeometricSet::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcGeometricSetSelect>(es); } +void Ifc4x3_add2::IfcGeometricSet::setElements(const std::vector< ::Ifc4x3_add2::IfcGeometricSetSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_add2::IfcGeometricSet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[509]); } -Ifc4x3_add2::IfcGeometricSet Ifc4x3_add2::IfcGeometricSet::initialize(std::vector< ::Ifc4x3_add2::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } +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 @@ -11126,33 +11126,33 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcGeotechnicalStratum::Class() { retur 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>(); } +::Ifc4x3_add2::IfcBoundedCurve Ifc4x3_add2::IfcGradientCurve::BaseCurve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcBoundedCurve>(); } void Ifc4x3_add2::IfcGradientCurve::setBaseCurve(const ::Ifc4x3_add2::IfcBoundedCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcPlacement Ifc4x3_add2::IfcGradientCurve::EndPoint() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcPlacement{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcPlacement>(); } +::Ifc4x3_add2::IfcPlacement Ifc4x3_add2::IfcGradientCurve::EndPoint() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcPlacement{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcPlacement>(); } void Ifc4x3_add2::IfcGradientCurve::setEndPoint(const ::Ifc4x3_add2::IfcPlacement& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_add2::IfcGradientCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[519]); } -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; } +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); } -void Ifc4x3_add2::IfcGrid::setUAxes(const std::vector< ::Ifc4x3_add2::IfcGridAxis >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } -std::vector< ::Ifc4x3_add2::IfcGridAxis > Ifc4x3_add2::IfcGrid::VAxes() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_add2::IfcGridAxis>(es); } -void Ifc4x3_add2::IfcGrid::setVAxes(const std::vector< ::Ifc4x3_add2::IfcGridAxis >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } -std::optional< std::vector< ::Ifc4x3_add2::IfcGridAxis > > Ifc4x3_add2::IfcGrid::WAxes() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_add2::IfcGridAxis>(es); } -void Ifc4x3_add2::IfcGrid::setWAxes(const std::optional< std::vector< ::Ifc4x3_add2::IfcGridAxis > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +std::vector< ::Ifc4x3_add2::IfcGridAxis > Ifc4x3_add2::IfcGrid::UAxes() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_add2::IfcGridAxis>(es); } +void Ifc4x3_add2::IfcGrid::setUAxes(const std::vector< ::Ifc4x3_add2::IfcGridAxis >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } +std::vector< ::Ifc4x3_add2::IfcGridAxis > Ifc4x3_add2::IfcGrid::VAxes() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_add2::IfcGridAxis>(es); } +void Ifc4x3_add2::IfcGrid::setVAxes(const std::vector< ::Ifc4x3_add2::IfcGridAxis >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } +std::optional< std::vector< ::Ifc4x3_add2::IfcGridAxis > > Ifc4x3_add2::IfcGrid::WAxes() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_add2::IfcGridAxis>(es); } +void Ifc4x3_add2::IfcGrid::setWAxes(const std::optional< std::vector< ::Ifc4x3_add2::IfcGridAxis > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } std::optional< ::Ifc4x3_add2::IfcGridTypeEnum::Value > Ifc4x3_add2::IfcGrid::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcGridTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add2::IfcGrid::setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcGridTypeEnum::Value >& v) { if (v) {set_attribute_value(10, enumeration_reference(&::Ifc4x3_add2::IfcGridTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const ifcopenshell::entity& Ifc4x3_add2::IfcGrid::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[520]); } -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; } +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; } void Ifc4x3_add2::IfcGridAxis::setAxisTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcGridAxis::AxisCurve() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcCurve>(); } +::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcGridAxis::AxisCurve() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcCurve>(); } void Ifc4x3_add2::IfcGridAxis::setAxisCurve(const ::Ifc4x3_add2::IfcCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } bool Ifc4x3_add2::IfcGridAxis::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcGridAxis::setSameSense(const bool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -11166,9 +11166,9 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcGridAxis::Class() { return *((ifcope 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>(); } +::Ifc4x3_add2::IfcVirtualGridIntersection Ifc4x3_add2::IfcGridPlacement::PlacementLocation() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcVirtualGridIntersection>(); } void Ifc4x3_add2::IfcGridPlacement::setPlacementLocation(const ::Ifc4x3_add2::IfcVirtualGridIntersection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcGridPlacementDirectionSelect Ifc4x3_add2::IfcGridPlacement::PlacementRefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcGridPlacementDirectionSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcGridPlacementDirectionSelect>(); } +::Ifc4x3_add2::IfcGridPlacementDirectionSelect Ifc4x3_add2::IfcGridPlacement::PlacementRefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcGridPlacementDirectionSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcGridPlacementDirectionSelect>(); } void Ifc4x3_add2::IfcGridPlacement::setPlacementRefDirection(const ::Ifc4x3_add2::IfcGridPlacementDirectionSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -11184,7 +11184,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcGroup::Class() { return *((ifcopensh 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>(); } +::Ifc4x3_add2::IfcSurface Ifc4x3_add2::IfcHalfSpaceSolid::BaseSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcSurface>(); } void Ifc4x3_add2::IfcHalfSpaceSolid::setBaseSurface(const ::Ifc4x3_add2::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } bool Ifc4x3_add2::IfcHalfSpaceSolid::AgreementFlag() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcHalfSpaceSolid::setAgreementFlag(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -11267,14 +11267,14 @@ void Ifc4x3_add2::IfcImpactProtectionDeviceType::setPredefinedType(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_add2::IfcImpactProtectionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[540]); } -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; } +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>(); } +::Ifc4x3_add2::IfcTessellatedFaceSet Ifc4x3_add2::IfcIndexedColourMap::MappedTo() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcTessellatedFaceSet>(); } void Ifc4x3_add2::IfcIndexedColourMap::setMappedTo(const ::Ifc4x3_add2::IfcTessellatedFaceSet& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< double > Ifc4x3_add2::IfcIndexedColourMap::Opacity() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcIndexedColourMap::setOpacity(const std::optional< double >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_add2::IfcColourRgbList Ifc4x3_add2::IfcIndexedColourMap::Colours() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcColourRgbList>(); } +::Ifc4x3_add2::IfcColourRgbList Ifc4x3_add2::IfcIndexedColourMap::Colours() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcColourRgbList>(); } void Ifc4x3_add2::IfcIndexedColourMap::setColours(const ::Ifc4x3_add2::IfcColourRgbList& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::vector< int64_t > /*[1:?]*/ Ifc4x3_add2::IfcIndexedColourMap::ColourIndex() const { std::vector< int64_t > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcIndexedColourMap::setColourIndex(const std::vector< int64_t > /*[1:?]*/& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -11284,16 +11284,16 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcIndexedColourMap::Class() { return * Ifc4x3_add2::IfcIndexedColourMap Ifc4x3_add2::IfcIndexedColourMap::initialize(::Ifc4x3_add2::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_add2::IfcColourRgbList v3_Colours, std::vector< int64_t > /*[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>(); } +::Ifc4x3_add2::IfcCartesianPointList Ifc4x3_add2::IfcIndexedPolyCurve::Points() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCartesianPointList>(); } void Ifc4x3_add2::IfcIndexedPolyCurve::setPoints(const ::Ifc4x3_add2::IfcCartesianPointList& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::optional< std::vector< ::Ifc4x3_add2::IfcSegmentIndexSelect > > Ifc4x3_add2::IfcIndexedPolyCurve::Segments() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcSegmentIndexSelect>(es); } -void Ifc4x3_add2::IfcIndexedPolyCurve::setSegments(const std::optional< std::vector< ::Ifc4x3_add2::IfcSegmentIndexSelect > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } +std::optional< std::vector< ::Ifc4x3_add2::IfcSegmentIndexSelect > > Ifc4x3_add2::IfcIndexedPolyCurve::Segments() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcSegmentIndexSelect>(es); } +void Ifc4x3_add2::IfcIndexedPolyCurve::setSegments(const std::optional< std::vector< ::Ifc4x3_add2::IfcSegmentIndexSelect > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } std::optional< bool > Ifc4x3_add2::IfcIndexedPolyCurve::SelfIntersect() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } bool v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcIndexedPolyCurve::setSelfIntersect(const std::optional< bool >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_add2::IfcIndexedPolyCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[543]); } -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; } +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< int64_t > /*[3:?]*/ Ifc4x3_add2::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int64_t > /*[3:?]*/ v = get_attribute_value(0); return v; } @@ -11314,22 +11314,22 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcIndexedPolygonalFaceWithVoids::Class Ifc4x3_add2::IfcIndexedPolygonalFaceWithVoids Ifc4x3_add2::IfcIndexedPolygonalFaceWithVoids::initialize(std::vector< int64_t > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int64_t > > 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); } -void Ifc4x3_add2::IfcIndexedPolygonalTextureMap::setTexCoordIndices(const std::vector< ::Ifc4x3_add2::IfcTextureCoordinateIndices >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_add2::IfcTextureCoordinateIndices > Ifc4x3_add2::IfcIndexedPolygonalTextureMap::TexCoordIndices() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_add2::IfcTextureCoordinateIndices>(es); } +void Ifc4x3_add2::IfcIndexedPolygonalTextureMap::setTexCoordIndices(const std::vector< ::Ifc4x3_add2::IfcTextureCoordinateIndices >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_add2::IfcIndexedPolygonalTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[546]); } -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; } +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>(); } +::Ifc4x3_add2::IfcTessellatedFaceSet Ifc4x3_add2::IfcIndexedTextureMap::MappedTo() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcTessellatedFaceSet>(); } void Ifc4x3_add2::IfcIndexedTextureMap::setMappedTo(const ::Ifc4x3_add2::IfcTessellatedFaceSet& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcTextureVertexList Ifc4x3_add2::IfcIndexedTextureMap::TexCoords() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcTextureVertexList>(); } +::Ifc4x3_add2::IfcTextureVertexList Ifc4x3_add2::IfcIndexedTextureMap::TexCoords() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcTextureVertexList>(); } void Ifc4x3_add2::IfcIndexedTextureMap::setTexCoords(const ::Ifc4x3_add2::IfcTextureVertexList& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_add2::IfcIndexedTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[547]); } -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; } +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< int64_t > > > Ifc4x3_add2::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< std::vector< int64_t > > 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]); } -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< int64_t > > > 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; } +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< int64_t > > > 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)); } @@ -11353,49 +11353,49 @@ void Ifc4x3_add2::IfcInterceptorType::setPredefinedType(const ::Ifc4x3_add2::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcInterceptorType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[553]); } -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; } +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]); } -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; } +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)); } void Ifc4x3_add2::IfcInventory::setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcInventoryTypeEnum::Value >& v) { if (v) {set_attribute_value(5, enumeration_reference(&::Ifc4x3_add2::IfcInventoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -::Ifc4x3_add2::IfcActorSelect Ifc4x3_add2::IfcInventory::Jurisdiction() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcActorSelect>(); } +::Ifc4x3_add2::IfcActorSelect Ifc4x3_add2::IfcInventory::Jurisdiction() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcActorSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcActorSelect>(); } void Ifc4x3_add2::IfcInventory::setJurisdiction(const ::Ifc4x3_add2::IfcActorSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::optional< std::vector< ::Ifc4x3_add2::IfcPerson > > Ifc4x3_add2::IfcInventory::ResponsiblePersons() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_add2::IfcPerson>(es); } -void Ifc4x3_add2::IfcInventory::setResponsiblePersons(const std::optional< std::vector< ::Ifc4x3_add2::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x3_add2::IfcPerson > > Ifc4x3_add2::IfcInventory::ResponsiblePersons() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_add2::IfcPerson>(es); } +void Ifc4x3_add2::IfcInventory::setResponsiblePersons(const std::optional< std::vector< ::Ifc4x3_add2::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< std::string > Ifc4x3_add2::IfcInventory::LastUpdateDate() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcInventory::setLastUpdateDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_add2::IfcCostValue Ifc4x3_add2::IfcInventory::CurrentValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_add2::IfcCostValue{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_add2::IfcCostValue>(); } +::Ifc4x3_add2::IfcCostValue Ifc4x3_add2::IfcInventory::CurrentValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_add2::IfcCostValue{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_add2::IfcCostValue>(); } void Ifc4x3_add2::IfcInventory::setCurrentValue(const ::Ifc4x3_add2::IfcCostValue& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_add2::IfcCostValue Ifc4x3_add2::IfcInventory::OriginalValue() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_add2::IfcCostValue{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_add2::IfcCostValue>(); } +::Ifc4x3_add2::IfcCostValue Ifc4x3_add2::IfcInventory::OriginalValue() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_add2::IfcCostValue{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x3_add2::IfcCostValue>(); } void Ifc4x3_add2::IfcInventory::setOriginalValue(const ::Ifc4x3_add2::IfcCostValue& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } const ifcopenshell::entity& Ifc4x3_add2::IfcInventory::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[558]); } -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; } +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); } -void Ifc4x3_add2::IfcIrregularTimeSeries::setValues(const std::vector< ::Ifc4x3_add2::IfcIrregularTimeSeriesValue >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } +std::vector< ::Ifc4x3_add2::IfcIrregularTimeSeriesValue > Ifc4x3_add2::IfcIrregularTimeSeries::Values() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_add2::IfcIrregularTimeSeriesValue>(es); } +void Ifc4x3_add2::IfcIrregularTimeSeries::setValues(const std::vector< ::Ifc4x3_add2::IfcIrregularTimeSeriesValue >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } const ifcopenshell::entity& Ifc4x3_add2::IfcIrregularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[561]); } -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; } +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; } void Ifc4x3_add2::IfcIrregularTimeSeriesValue::setTimeStamp(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_add2::IfcValue > Ifc4x3_add2::IfcIrregularTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcValue>(es); } -void Ifc4x3_add2::IfcIrregularTimeSeriesValue::setListValues(const std::vector< ::Ifc4x3_add2::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_add2::IfcValue > Ifc4x3_add2::IfcIrregularTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcValue>(es); } +void Ifc4x3_add2::IfcIrregularTimeSeriesValue::setListValues(const std::vector< ::Ifc4x3_add2::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_add2::IfcIrregularTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[562]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -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]); } -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; } +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,10 +11461,10 @@ void Ifc4x3_add2::IfcLaborResourceType::setPredefinedType(const ::Ifc4x3_add2::I const ifcopenshell::entity& Ifc4x3_add2::IfcLaborResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[575]); } -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; } +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>(); } +::Ifc4x3_add2::IfcTimeOrRatioSelect Ifc4x3_add2::IfcLagTime::LagValue() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcTimeOrRatioSelect>(); } void Ifc4x3_add2::IfcLagTime::setLagValue(const ::Ifc4x3_add2::IfcTimeOrRatioSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } ::Ifc4x3_add2::IfcTaskDurationEnum::Value Ifc4x3_add2::IfcLagTime::DurationType() const { return ::Ifc4x3_add2::IfcTaskDurationEnum::FromString(get_attribute_value(4)); } void Ifc4x3_add2::IfcLagTime::setDurationType(const ::Ifc4x3_add2::IfcTaskDurationEnum::Value& v) { set_attribute_value(4, enumeration_reference(&::Ifc4x3_add2::IfcTaskDurationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } @@ -11487,14 +11487,14 @@ void Ifc4x3_add2::IfcLampType::setPredefinedType(const ::Ifc4x3_add2::IfcLampTyp const ifcopenshell::entity& Ifc4x3_add2::IfcLampType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[579]); } -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; } +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; } void Ifc4x3_add2::IfcLibraryInformation::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x3_add2::IfcLibraryInformation::Version() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcLibraryInformation::setVersion(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_add2::IfcActorSelect Ifc4x3_add2::IfcLibraryInformation::Publisher() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcActorSelect>(); } +::Ifc4x3_add2::IfcActorSelect Ifc4x3_add2::IfcLibraryInformation::Publisher() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcActorSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcActorSelect>(); } void Ifc4x3_add2::IfcLibraryInformation::setPublisher(const ::Ifc4x3_add2::IfcActorSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4x3_add2::IfcLibraryInformation::VersionDate() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcLibraryInformation::setVersionDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } @@ -11514,7 +11514,7 @@ std::optional< std::string > Ifc4x3_add2::IfcLibraryReference::Description() con void Ifc4x3_add2::IfcLibraryReference::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } std::optional< std::string > Ifc4x3_add2::IfcLibraryReference::Language() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcLibraryReference::setLanguage(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_add2::IfcLibraryInformation Ifc4x3_add2::IfcLibraryReference::ReferencedLibrary() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_add2::IfcLibraryInformation{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcLibraryInformation>(); } +::Ifc4x3_add2::IfcLibraryInformation Ifc4x3_add2::IfcLibraryReference::ReferencedLibrary() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_add2::IfcLibraryInformation{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcLibraryInformation>(); } void Ifc4x3_add2::IfcLibraryReference::setReferencedLibrary(const ::Ifc4x3_add2::IfcLibraryInformation& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } std::vector<::Ifc4x3_add2::IfcRelAssociatesLibrary> Ifc4x3_add2::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[913], 5)); } @@ -11548,22 +11548,22 @@ void Ifc4x3_add2::IfcLightFixtureType::setPredefinedType(const ::Ifc4x3_add2::If const ifcopenshell::entity& Ifc4x3_add2::IfcLightFixtureType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[593]); } -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; } +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)); } void Ifc4x3_add2::IfcLightIntensityDistribution::setLightDistributionCurve(const ::Ifc4x3_add2::IfcLightDistributionCurveEnum::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc4x3_add2::IfcLightDistributionCurveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_add2::IfcLightDistributionData > Ifc4x3_add2::IfcLightIntensityDistribution::DistributionData() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcLightDistributionData>(es); } -void Ifc4x3_add2::IfcLightIntensityDistribution::setDistributionData(const std::vector< ::Ifc4x3_add2::IfcLightDistributionData >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_add2::IfcLightDistributionData > Ifc4x3_add2::IfcLightIntensityDistribution::DistributionData() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcLightDistributionData>(es); } +void Ifc4x3_add2::IfcLightIntensityDistribution::setDistributionData(const std::vector< ::Ifc4x3_add2::IfcLightDistributionData >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_add2::IfcLightIntensityDistribution::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[595]); } -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; } +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; } void Ifc4x3_add2::IfcLightSource::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_add2::IfcColourRgb Ifc4x3_add2::IfcLightSource::LightColour() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcColourRgb>(); } +::Ifc4x3_add2::IfcColourRgb Ifc4x3_add2::IfcLightSource::LightColour() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcColourRgb>(); } void Ifc4x3_add2::IfcLightSource::setLightColour(const ::Ifc4x3_add2::IfcColourRgb& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< double > Ifc4x3_add2::IfcLightSource::AmbientIntensity() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcLightSource::setAmbientIntensity(const std::optional< double >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } @@ -11581,7 +11581,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcLightSourceAmbient::Class() { return 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>(); } +::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcLightSourceDirectional::Orientation() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcDirection>(); } void Ifc4x3_add2::IfcLightSourceDirectional::setOrientation(const ::Ifc4x3_add2::IfcDirection& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -11589,9 +11589,9 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcLightSourceDirectional::Class() { re 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>(); } +::Ifc4x3_add2::IfcAxis2Placement3D Ifc4x3_add2::IfcLightSourceGoniometric::Position() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcAxis2Placement3D>(); } void Ifc4x3_add2::IfcLightSourceGoniometric::setPosition(const ::Ifc4x3_add2::IfcAxis2Placement3D& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcColourRgb Ifc4x3_add2::IfcLightSourceGoniometric::ColourAppearance() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_add2::IfcColourRgb{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcColourRgb>(); } +::Ifc4x3_add2::IfcColourRgb Ifc4x3_add2::IfcLightSourceGoniometric::ColourAppearance() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_add2::IfcColourRgb{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcColourRgb>(); } void Ifc4x3_add2::IfcLightSourceGoniometric::setColourAppearance(const ::Ifc4x3_add2::IfcColourRgb& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } double Ifc4x3_add2::IfcLightSourceGoniometric::ColourTemperature() const { double v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcLightSourceGoniometric::setColourTemperature(const double& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -11599,7 +11599,7 @@ double Ifc4x3_add2::IfcLightSourceGoniometric::LuminousFlux() const { double v void Ifc4x3_add2::IfcLightSourceGoniometric::setLuminousFlux(const double& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_add2::IfcLightEmissionSourceEnum::Value Ifc4x3_add2::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x3_add2::IfcLightEmissionSourceEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcLightSourceGoniometric::setLightEmissionSource(const ::Ifc4x3_add2::IfcLightEmissionSourceEnum::Value& v) { set_attribute_value(8, enumeration_reference(&::Ifc4x3_add2::IfcLightEmissionSourceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_add2::IfcLightDistributionDataSourceSelect Ifc4x3_add2::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_add2::IfcLightDistributionDataSourceSelect>(); } +::Ifc4x3_add2::IfcLightDistributionDataSourceSelect Ifc4x3_add2::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_add2::IfcLightDistributionDataSourceSelect>(); } void Ifc4x3_add2::IfcLightSourceGoniometric::setLightDistributionDataSource(const ::Ifc4x3_add2::IfcLightDistributionDataSourceSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } @@ -11607,7 +11607,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcLightSourceGoniometric::Class() { re 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>(); } +::Ifc4x3_add2::IfcCartesianPoint Ifc4x3_add2::IfcLightSourcePositional::Position() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcCartesianPoint>(); } void Ifc4x3_add2::IfcLightSourcePositional::setPosition(const ::Ifc4x3_add2::IfcCartesianPoint& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } double Ifc4x3_add2::IfcLightSourcePositional::Radius() const { double v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcLightSourcePositional::setRadius(const double& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -11623,7 +11623,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcLightSourcePositional::Class() { ret 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>(); } +::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcLightSourceSpot::Orientation() const { return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_add2::IfcDirection>(); } void Ifc4x3_add2::IfcLightSourceSpot::setOrientation(const ::Ifc4x3_add2::IfcDirection& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::optional< double > Ifc4x3_add2::IfcLightSourceSpot::ConcentrationExponent() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcLightSourceSpot::setConcentrationExponent(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } @@ -11637,9 +11637,9 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcLightSourceSpot::Class() { return *( 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>(); } +::Ifc4x3_add2::IfcCartesianPoint Ifc4x3_add2::IfcLine::Pnt() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCartesianPoint>(); } void Ifc4x3_add2::IfcLine::setPnt(const ::Ifc4x3_add2::IfcCartesianPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcVector Ifc4x3_add2::IfcLine::Dir() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcVector>(); } +::Ifc4x3_add2::IfcVector Ifc4x3_add2::IfcLine::Dir() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcVector>(); } void Ifc4x3_add2::IfcLine::setDir(const ::Ifc4x3_add2::IfcVector& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11653,9 +11653,9 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcLinearElement::Class() { return *((i 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>(); } +::Ifc4x3_add2::IfcAxis2PlacementLinear Ifc4x3_add2::IfcLinearPlacement::RelativePlacement() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcAxis2PlacementLinear>(); } void Ifc4x3_add2::IfcLinearPlacement::setRelativePlacement(const ::Ifc4x3_add2::IfcAxis2PlacementLinear& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcAxis2Placement3D Ifc4x3_add2::IfcLinearPlacement::CartesianPosition() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcAxis2Placement3D>(); } +::Ifc4x3_add2::IfcAxis2Placement3D Ifc4x3_add2::IfcLinearPlacement::CartesianPosition() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcAxis2Placement3D>(); } void Ifc4x3_add2::IfcLinearPlacement::setCartesianPosition(const ::Ifc4x3_add2::IfcAxis2Placement3D& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -11682,10 +11682,10 @@ void Ifc4x3_add2::IfcLiquidTerminalType::setPredefinedType(const ::Ifc4x3_add2:: const ifcopenshell::entity& Ifc4x3_add2::IfcLiquidTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[612]); } -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; } +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>(); } +::Ifc4x3_add2::IfcAxis2Placement Ifc4x3_add2::IfcLocalPlacement::RelativePlacement() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcAxis2Placement>(); } void Ifc4x3_add2::IfcLocalPlacement::setRelativePlacement(const ::Ifc4x3_add2::IfcAxis2Placement& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11699,7 +11699,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcLoop::Class() { return *((ifcopenshe 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>(); } +::Ifc4x3_add2::IfcClosedShell Ifc4x3_add2::IfcManifoldSolidBrep::Outer() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcClosedShell>(); } void Ifc4x3_add2::IfcManifoldSolidBrep::setOuter(const ::Ifc4x3_add2::IfcClosedShell& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -11737,9 +11737,9 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcMapConversionScaled::Class() { retur 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>(); } +::Ifc4x3_add2::IfcRepresentationMap Ifc4x3_add2::IfcMappedItem::MappingSource() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcRepresentationMap>(); } void Ifc4x3_add2::IfcMappedItem::setMappingSource(const ::Ifc4x3_add2::IfcRepresentationMap& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcCartesianTransformationOperator Ifc4x3_add2::IfcMappedItem::MappingTarget() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcCartesianTransformationOperator>(); } +::Ifc4x3_add2::IfcCartesianTransformationOperator Ifc4x3_add2::IfcMappedItem::MappingTarget() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcCartesianTransformationOperator>(); } void Ifc4x3_add2::IfcMappedItem::setMappingTarget(const ::Ifc4x3_add2::IfcCartesianTransformationOperator& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11778,21 +11778,21 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcMaterial::Class() { return *((ifcope 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); } -void Ifc4x3_add2::IfcMaterialClassificationRelationship::setMaterialClassifications(const std::vector< ::Ifc4x3_add2::IfcClassificationSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcMaterial Ifc4x3_add2::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcMaterial>(); } +std::vector< ::Ifc4x3_add2::IfcClassificationSelect > Ifc4x3_add2::IfcMaterialClassificationRelationship::MaterialClassifications() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcClassificationSelect>(es); } +void Ifc4x3_add2::IfcMaterialClassificationRelationship::setMaterialClassifications(const std::vector< ::Ifc4x3_add2::IfcClassificationSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +::Ifc4x3_add2::IfcMaterial Ifc4x3_add2::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcMaterial>(); } void Ifc4x3_add2::IfcMaterialClassificationRelationship::setClassifiedMaterial(const ::Ifc4x3_add2::IfcMaterial& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialClassificationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[638]); } -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; } +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; } void Ifc4x3_add2::IfcMaterialConstituent::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_add2::IfcMaterialConstituent::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcMaterialConstituent::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_add2::IfcMaterial Ifc4x3_add2::IfcMaterialConstituent::Material() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcMaterial>(); } +::Ifc4x3_add2::IfcMaterial Ifc4x3_add2::IfcMaterialConstituent::Material() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcMaterial>(); } void Ifc4x3_add2::IfcMaterialConstituent::setMaterial(const ::Ifc4x3_add2::IfcMaterial& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc4x3_add2::IfcMaterialConstituent::Fraction() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcMaterialConstituent::setFraction(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } @@ -11809,12 +11809,12 @@ std::optional< std::string > Ifc4x3_add2::IfcMaterialConstituentSet::Name() cons void Ifc4x3_add2::IfcMaterialConstituentSet::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_add2::IfcMaterialConstituentSet::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcMaterialConstituentSet::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::optional< std::vector< ::Ifc4x3_add2::IfcMaterialConstituent > > Ifc4x3_add2::IfcMaterialConstituentSet::MaterialConstituents() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcMaterialConstituent>(es); } -void Ifc4x3_add2::IfcMaterialConstituentSet::setMaterialConstituents(const std::optional< std::vector< ::Ifc4x3_add2::IfcMaterialConstituent > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4x3_add2::IfcMaterialConstituent > > Ifc4x3_add2::IfcMaterialConstituentSet::MaterialConstituents() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcMaterialConstituent>(es); } +void Ifc4x3_add2::IfcMaterialConstituentSet::setMaterialConstituents(const std::optional< std::vector< ::Ifc4x3_add2::IfcMaterialConstituent > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialConstituentSet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[640]); } -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; } +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 @@ -11826,15 +11826,15 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialDefinition::Class() { return 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>(); } +::Ifc4x3_add2::IfcMaterial Ifc4x3_add2::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcMaterial>(); } void Ifc4x3_add2::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(const ::Ifc4x3_add2::IfcMaterial& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialDefinitionRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[642]); } -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; } +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>(); } +::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>(); } void Ifc4x3_add2::IfcMaterialLayer::setMaterial(const ::Ifc4x3_add2::IfcMaterial& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_add2::IfcMaterialLayer::LayerThickness() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcMaterialLayer::setLayerThickness(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11855,8 +11855,8 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialLayer::Class() { return *((i 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< int64_t > 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); } -void Ifc4x3_add2::IfcMaterialLayerSet::setMaterialLayers(const std::vector< ::Ifc4x3_add2::IfcMaterialLayer >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_add2::IfcMaterialLayer > Ifc4x3_add2::IfcMaterialLayerSet::MaterialLayers() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcMaterialLayer>(es); } +void Ifc4x3_add2::IfcMaterialLayerSet::setMaterialLayers(const std::vector< ::Ifc4x3_add2::IfcMaterialLayer >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x3_add2::IfcMaterialLayerSet::LayerSetName() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcMaterialLayerSet::setLayerSetName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x3_add2::IfcMaterialLayerSet::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } @@ -11864,10 +11864,10 @@ void Ifc4x3_add2::IfcMaterialLayerSet::setDescription(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialLayerSet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[644]); } -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; } +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>(); } +::Ifc4x3_add2::IfcMaterialLayerSet Ifc4x3_add2::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcMaterialLayerSet>(); } void Ifc4x3_add2::IfcMaterialLayerSetUsage::setForLayerSet(const ::Ifc4x3_add2::IfcMaterialLayerSet& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_add2::IfcLayerSetDirectionEnum::Value Ifc4x3_add2::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x3_add2::IfcLayerSetDirectionEnum::FromString(get_attribute_value(1)); } void Ifc4x3_add2::IfcMaterialLayerSetUsage::setLayerSetDirection(const ::Ifc4x3_add2::IfcLayerSetDirectionEnum::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4x3_add2::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } @@ -11893,21 +11893,21 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialLayerWithOffsets::Class() { 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< int64_t > 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); } -void Ifc4x3_add2::IfcMaterialList::setMaterials(const std::vector< ::Ifc4x3_add2::IfcMaterial >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_add2::IfcMaterial > Ifc4x3_add2::IfcMaterialList::Materials() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcMaterial>(es); } +void Ifc4x3_add2::IfcMaterialList::setMaterials(const std::vector< ::Ifc4x3_add2::IfcMaterial >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialList::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[647]); } -Ifc4x3_add2::IfcMaterialList Ifc4x3_add2::IfcMaterialList::initialize(std::vector< ::Ifc4x3_add2::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials));; return *this; } +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; } void Ifc4x3_add2::IfcMaterialProfile::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_add2::IfcMaterialProfile::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcMaterialProfile::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_add2::IfcMaterial Ifc4x3_add2::IfcMaterialProfile::Material() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcMaterial{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcMaterial>(); } +::Ifc4x3_add2::IfcMaterial Ifc4x3_add2::IfcMaterialProfile::Material() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcMaterial{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcMaterial>(); } void Ifc4x3_add2::IfcMaterialProfile::setMaterial(const ::Ifc4x3_add2::IfcMaterial& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcProfileDef Ifc4x3_add2::IfcMaterialProfile::Profile() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcProfileDef>(); } +::Ifc4x3_add2::IfcProfileDef Ifc4x3_add2::IfcMaterialProfile::Profile() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcProfileDef>(); } void Ifc4x3_add2::IfcMaterialProfile::setProfile(const ::Ifc4x3_add2::IfcProfileDef& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< int64_t > Ifc4x3_add2::IfcMaterialProfile::Priority() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcMaterialProfile::setPriority(const std::optional< int64_t >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -11924,17 +11924,17 @@ std::optional< std::string > Ifc4x3_add2::IfcMaterialProfileSet::Name() const { void Ifc4x3_add2::IfcMaterialProfileSet::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_add2::IfcMaterialProfileSet::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcMaterialProfileSet::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x3_add2::IfcMaterialProfile > Ifc4x3_add2::IfcMaterialProfileSet::MaterialProfiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcMaterialProfile>(es); } -void Ifc4x3_add2::IfcMaterialProfileSet::setMaterialProfiles(const std::vector< ::Ifc4x3_add2::IfcMaterialProfile >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcCompositeProfileDef Ifc4x3_add2::IfcMaterialProfileSet::CompositeProfile() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcCompositeProfileDef{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcCompositeProfileDef>(); } +std::vector< ::Ifc4x3_add2::IfcMaterialProfile > Ifc4x3_add2::IfcMaterialProfileSet::MaterialProfiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcMaterialProfile>(es); } +void Ifc4x3_add2::IfcMaterialProfileSet::setMaterialProfiles(const std::vector< ::Ifc4x3_add2::IfcMaterialProfile >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +::Ifc4x3_add2::IfcCompositeProfileDef Ifc4x3_add2::IfcMaterialProfileSet::CompositeProfile() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcCompositeProfileDef{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcCompositeProfileDef>(); } void Ifc4x3_add2::IfcMaterialProfileSet::setCompositeProfile(const ::Ifc4x3_add2::IfcCompositeProfileDef& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialProfileSet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[649]); } -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; } +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>(); } +::Ifc4x3_add2::IfcMaterialProfileSet Ifc4x3_add2::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcMaterialProfileSet>(); } void Ifc4x3_add2::IfcMaterialProfileSetUsage::setForProfileSet(const ::Ifc4x3_add2::IfcMaterialProfileSet& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< int64_t > Ifc4x3_add2::IfcMaterialProfileSetUsage::CardinalPoint() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcMaterialProfileSetUsage::setCardinalPoint(const std::optional< int64_t >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } @@ -11946,7 +11946,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialProfileSetUsage::Class() { r Ifc4x3_add2::IfcMaterialProfileSetUsage Ifc4x3_add2::IfcMaterialProfileSetUsage::initialize(::Ifc4x3_add2::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int64_t > 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>(); } +::Ifc4x3_add2::IfcMaterialProfileSet Ifc4x3_add2::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcMaterialProfileSet>(); } void Ifc4x3_add2::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(const ::Ifc4x3_add2::IfcMaterialProfileSet& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< int64_t > Ifc4x3_add2::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(const std::optional< int64_t >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -11964,24 +11964,24 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialProfileWithOffsets::Class() 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< int64_t > 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>(); } +::Ifc4x3_add2::IfcMaterialDefinition Ifc4x3_add2::IfcMaterialProperties::Material() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcMaterialDefinition>(); } void Ifc4x3_add2::IfcMaterialProperties::setMaterial(const ::Ifc4x3_add2::IfcMaterialDefinition& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[653]); } -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; } +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>(); } +::Ifc4x3_add2::IfcMaterial Ifc4x3_add2::IfcMaterialRelationship::RelatingMaterial() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcMaterial>(); } void Ifc4x3_add2::IfcMaterialRelationship::setRelatingMaterial(const ::Ifc4x3_add2::IfcMaterial& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_add2::IfcMaterial > Ifc4x3_add2::IfcMaterialRelationship::RelatedMaterials() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_add2::IfcMaterial>(es); } -void Ifc4x3_add2::IfcMaterialRelationship::setRelatedMaterials(const std::vector< ::Ifc4x3_add2::IfcMaterial >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_add2::IfcMaterial > Ifc4x3_add2::IfcMaterialRelationship::RelatedMaterials() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_add2::IfcMaterial>(es); } +void Ifc4x3_add2::IfcMaterialRelationship::setRelatedMaterials(const std::vector< ::Ifc4x3_add2::IfcMaterial >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_add2::IfcMaterialRelationship::MaterialExpression() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcMaterialRelationship::setMaterialExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[654]); } -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; } +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 @@ -11991,9 +11991,9 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialUsageDefinition::Class() { r 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>(); } +::Ifc4x3_add2::IfcValue Ifc4x3_add2::IfcMeasureWithUnit::ValueComponent() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcValue>(); } void Ifc4x3_add2::IfcMeasureWithUnit::setValueComponent(const ::Ifc4x3_add2::IfcValue& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcUnit Ifc4x3_add2::IfcMeasureWithUnit::UnitComponent() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcUnit>(); } +::Ifc4x3_add2::IfcUnit Ifc4x3_add2::IfcMeasureWithUnit::UnitComponent() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcUnit>(); } void Ifc4x3_add2::IfcMeasureWithUnit::setUnitComponent(const ::Ifc4x3_add2::IfcUnit& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -12054,16 +12054,16 @@ void Ifc4x3_add2::IfcMemberType::setPredefinedType(const ::Ifc4x3_add2::IfcMembe const ifcopenshell::entity& Ifc4x3_add2::IfcMemberType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[666]); } -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; } +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)); } void Ifc4x3_add2::IfcMetric::setBenchmark(const ::Ifc4x3_add2::IfcBenchmarkEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4x3_add2::IfcBenchmarkEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } std::optional< std::string > Ifc4x3_add2::IfcMetric::ValueSource() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcMetric::setValueSource(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_add2::IfcMetricValueSelect Ifc4x3_add2::IfcMetric::DataValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_add2::IfcMetricValueSelect{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_add2::IfcMetricValueSelect>(); } +::Ifc4x3_add2::IfcMetricValueSelect Ifc4x3_add2::IfcMetric::DataValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_add2::IfcMetricValueSelect{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_add2::IfcMetricValueSelect>(); } void Ifc4x3_add2::IfcMetric::setDataValue(const ::Ifc4x3_add2::IfcMetricValueSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_add2::IfcReference Ifc4x3_add2::IfcMetric::ReferencePath() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_add2::IfcReference{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_add2::IfcReference>(); } +::Ifc4x3_add2::IfcReference Ifc4x3_add2::IfcMetric::ReferencePath() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_add2::IfcReference{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x3_add2::IfcReference>(); } void Ifc4x3_add2::IfcMetric::setReferencePath(const ::Ifc4x3_add2::IfcReference& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } @@ -12090,7 +12090,7 @@ void Ifc4x3_add2::IfcMobileTelecommunicationsApplianceType::setPredefinedType(co const ifcopenshell::entity& Ifc4x3_add2::IfcMobileTelecommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[672]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -12130,10 +12130,10 @@ void Ifc4x3_add2::IfcMotorConnectionType::setPredefinedType(const ::Ifc4x3_add2: const ifcopenshell::entity& Ifc4x3_add2::IfcMotorConnectionType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[691]); } -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; } +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>(); } +::Ifc4x3_add2::IfcDimensionalExponents Ifc4x3_add2::IfcNamedUnit::Dimensions() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcDimensionalExponents>(); } void Ifc4x3_add2::IfcNamedUnit::setDimensions(const ::Ifc4x3_add2::IfcDimensionalExponents& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_add2::IfcUnitEnum::Value Ifc4x3_add2::IfcNamedUnit::UnitType() const { return ::Ifc4x3_add2::IfcUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x3_add2::IfcNamedUnit::setUnitType(const ::Ifc4x3_add2::IfcUnitEnum::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4x3_add2::IfcUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } @@ -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]); } -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; } +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; } @@ -12184,7 +12184,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcObjectDefinition::Class() { return * 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>(); } +::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>(); } void Ifc4x3_add2::IfcObjectPlacement::setPlacementRelTo(const ::Ifc4x3_add2::IfcObjectPlacement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::vector<::Ifc4x3_add2::IfcProduct> Ifc4x3_add2::IfcObjectPlacement::PlacesObject() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[800], 5)); } @@ -12194,8 +12194,8 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcObjectPlacement::Class() { return *( 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); } -void Ifc4x3_add2::IfcObjective::setBenchmarkValues(const std::optional< std::vector< ::Ifc4x3_add2::IfcConstraint > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +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); } +void Ifc4x3_add2::IfcObjective::setBenchmarkValues(const std::optional< std::vector< ::Ifc4x3_add2::IfcConstraint > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< ::Ifc4x3_add2::IfcLogicalOperatorEnum::Value > Ifc4x3_add2::IfcObjective::LogicalAggregator() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcLogicalOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcObjective::setLogicalAggregator(const std::optional< ::Ifc4x3_add2::IfcLogicalOperatorEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_add2::IfcLogicalOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3_add2::IfcObjectiveEnum::Value Ifc4x3_add2::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x3_add2::IfcObjectiveEnum::FromString(get_attribute_value(9)); } @@ -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]); } -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; } +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)); } @@ -12216,7 +12216,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcOccupant::Class() { return *((ifcope 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>(); } +::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcOffsetCurve::BasisCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCurve>(); } void Ifc4x3_add2::IfcOffsetCurve::setBasisCurve(const ::Ifc4x3_add2::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -12238,7 +12238,7 @@ double Ifc4x3_add2::IfcOffsetCurve3D::Distance() const { double v = get_attribu void Ifc4x3_add2::IfcOffsetCurve3D::setDistance(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } boost::logic::tribool Ifc4x3_add2::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcOffsetCurve3D::setSelfIntersect(const boost::logic::tribool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcOffsetCurve3D::RefDirection() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcDirection>(); } +::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcOffsetCurve3D::RefDirection() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcDirection>(); } void Ifc4x3_add2::IfcOffsetCurve3D::setRefDirection(const ::Ifc4x3_add2::IfcDirection& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -12246,14 +12246,14 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcOffsetCurve3D::Class() { return *((i 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); } -void Ifc4x3_add2::IfcOffsetCurveByDistances::setOffsetValues(const std::vector< ::Ifc4x3_add2::IfcPointByDistanceExpression >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_add2::IfcPointByDistanceExpression > Ifc4x3_add2::IfcOffsetCurveByDistances::OffsetValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcPointByDistanceExpression>(es); } +void Ifc4x3_add2::IfcOffsetCurveByDistances::setOffsetValues(const std::vector< ::Ifc4x3_add2::IfcPointByDistanceExpression >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_add2::IfcOffsetCurveByDistances::Tag() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcOffsetCurveByDistances::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_add2::IfcOffsetCurveByDistances::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[711]); } -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; } +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; } @@ -12264,7 +12264,7 @@ std::vector< double > /*[1:?]*/ Ifc4x3_add2::IfcOpenCrossProfileDef::Slopes() co void Ifc4x3_add2::IfcOpenCrossProfileDef::setSlopes(const std::vector< double > /*[1:?]*/& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::optional< std::vector< std::string > /*[2:?]*/ > Ifc4x3_add2::IfcOpenCrossProfileDef::Tags() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector< std::string > /*[2:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcOpenCrossProfileDef::setTags(const std::optional< std::vector< std::string > /*[2:?]*/ >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_add2::IfcCartesianPoint Ifc4x3_add2::IfcOpenCrossProfileDef::OffsetPoint() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcCartesianPoint{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcCartesianPoint>(); } +::Ifc4x3_add2::IfcCartesianPoint Ifc4x3_add2::IfcOpenCrossProfileDef::OffsetPoint() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcCartesianPoint{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcCartesianPoint>(); } void Ifc4x3_add2::IfcOpenCrossProfileDef::setOffsetPoint(const ::Ifc4x3_add2::IfcCartesianPoint& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -12275,7 +12275,7 @@ Ifc4x3_add2::IfcOpenCrossProfileDef Ifc4x3_add2::IfcOpenCrossProfileDef::initial const ifcopenshell::entity& Ifc4x3_add2::IfcOpenShell::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[715]); } -Ifc4x3_add2::IfcOpenShell Ifc4x3_add2::IfcOpenShell::initialize(std::vector< ::Ifc4x3_add2::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } +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)); } @@ -12293,30 +12293,30 @@ std::string Ifc4x3_add2::IfcOrganization::Name() const { std::string v = get_at void Ifc4x3_add2::IfcOrganization::setName(const std::string& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_add2::IfcOrganization::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcOrganization::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::optional< std::vector< ::Ifc4x3_add2::IfcActorRole > > Ifc4x3_add2::IfcOrganization::Roles() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_add2::IfcActorRole>(es); } -void Ifc4x3_add2::IfcOrganization::setRoles(const std::optional< std::vector< ::Ifc4x3_add2::IfcActorRole > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } -std::optional< std::vector< ::Ifc4x3_add2::IfcAddress > > Ifc4x3_add2::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add2::IfcAddress>(es); } -void Ifc4x3_add2::IfcOrganization::setAddresses(const std::optional< std::vector< ::Ifc4x3_add2::IfcAddress > >& v) { if (v) {set_attribute_value(4, cast_vector(*v));} else {unset_attribute_value(4);} } +std::optional< std::vector< ::Ifc4x3_add2::IfcActorRole > > Ifc4x3_add2::IfcOrganization::Roles() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_add2::IfcActorRole>(es); } +void Ifc4x3_add2::IfcOrganization::setRoles(const std::optional< std::vector< ::Ifc4x3_add2::IfcActorRole > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } +std::optional< std::vector< ::Ifc4x3_add2::IfcAddress > > Ifc4x3_add2::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add2::IfcAddress>(es); } +void Ifc4x3_add2::IfcOrganization::setAddresses(const std::optional< std::vector< ::Ifc4x3_add2::IfcAddress > >& v) { if (v) {set_attribute_value(4, cast_vector(*v));} else {unset_attribute_value(4);} } std::vector<::Ifc4x3_add2::IfcOrganizationRelationship> Ifc4x3_add2::IfcOrganization::IsRelatedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[717], 3)); } std::vector<::Ifc4x3_add2::IfcOrganizationRelationship> Ifc4x3_add2::IfcOrganization::Relates() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[717], 2)); } 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]); } -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; } +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>(); } +::Ifc4x3_add2::IfcOrganization Ifc4x3_add2::IfcOrganizationRelationship::RelatingOrganization() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcOrganization>(); } void Ifc4x3_add2::IfcOrganizationRelationship::setRelatingOrganization(const ::Ifc4x3_add2::IfcOrganization& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_add2::IfcOrganization > Ifc4x3_add2::IfcOrganizationRelationship::RelatedOrganizations() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_add2::IfcOrganization>(es); } -void Ifc4x3_add2::IfcOrganizationRelationship::setRelatedOrganizations(const std::vector< ::Ifc4x3_add2::IfcOrganization >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_add2::IfcOrganization > Ifc4x3_add2::IfcOrganizationRelationship::RelatedOrganizations() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_add2::IfcOrganization>(es); } +void Ifc4x3_add2::IfcOrganizationRelationship::setRelatedOrganizations(const std::vector< ::Ifc4x3_add2::IfcOrganization >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_add2::IfcOrganizationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[717]); } -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; } +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>(); } +::Ifc4x3_add2::IfcEdge Ifc4x3_add2::IfcOrientedEdge::EdgeElement() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcEdge>(); } void Ifc4x3_add2::IfcOrientedEdge::setEdgeElement(const ::Ifc4x3_add2::IfcEdge& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } bool Ifc4x3_add2::IfcOrientedEdge::Orientation() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcOrientedEdge::setOrientation(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -12329,7 +12329,7 @@ Ifc4x3_add2::IfcOrientedEdge Ifc4x3_add2::IfcOrientedEdge::initialize(::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add2::IfcOuterBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[719]); } -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; } +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)); } @@ -12345,12 +12345,12 @@ void Ifc4x3_add2::IfcOutletType::setPredefinedType(const ::Ifc4x3_add2::IfcOutle const ifcopenshell::entity& Ifc4x3_add2::IfcOutletType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[721]); } -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; } +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>(); } +::Ifc4x3_add2::IfcPersonAndOrganization Ifc4x3_add2::IfcOwnerHistory::OwningUser() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcPersonAndOrganization>(); } void Ifc4x3_add2::IfcOwnerHistory::setOwningUser(const ::Ifc4x3_add2::IfcPersonAndOrganization& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcApplication Ifc4x3_add2::IfcOwnerHistory::OwningApplication() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcApplication>(); } +::Ifc4x3_add2::IfcApplication Ifc4x3_add2::IfcOwnerHistory::OwningApplication() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcApplication>(); } void Ifc4x3_add2::IfcOwnerHistory::setOwningApplication(const ::Ifc4x3_add2::IfcApplication& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< ::Ifc4x3_add2::IfcStateEnum::Value > Ifc4x3_add2::IfcOwnerHistory::State() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcStateEnum::FromString(get_attribute_value(2)); } void Ifc4x3_add2::IfcOwnerHistory::setState(const std::optional< ::Ifc4x3_add2::IfcStateEnum::Value >& v) { if (v) {set_attribute_value(2, enumeration_reference(&::Ifc4x3_add2::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } @@ -12358,9 +12358,9 @@ std::optional< ::Ifc4x3_add2::IfcChangeActionEnum::Value > Ifc4x3_add2::IfcOwner void Ifc4x3_add2::IfcOwnerHistory::setChangeAction(const std::optional< ::Ifc4x3_add2::IfcChangeActionEnum::Value >& v) { if (v) {set_attribute_value(3, enumeration_reference(&::Ifc4x3_add2::IfcChangeActionEnum::Class(), (size_t) *v));} else {unset_attribute_value(3);} } std::optional< int64_t > Ifc4x3_add2::IfcOwnerHistory::LastModifiedDate() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcOwnerHistory::setLastModifiedDate(const std::optional< int64_t >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_add2::IfcPersonAndOrganization Ifc4x3_add2::IfcOwnerHistory::LastModifyingUser() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_add2::IfcPersonAndOrganization{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcPersonAndOrganization>(); } +::Ifc4x3_add2::IfcPersonAndOrganization Ifc4x3_add2::IfcOwnerHistory::LastModifyingUser() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_add2::IfcPersonAndOrganization{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcPersonAndOrganization>(); } void Ifc4x3_add2::IfcOwnerHistory::setLastModifyingUser(const ::Ifc4x3_add2::IfcPersonAndOrganization& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add2::IfcApplication Ifc4x3_add2::IfcOwnerHistory::LastModifyingApplication() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcApplication{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcApplication>(); } +::Ifc4x3_add2::IfcApplication Ifc4x3_add2::IfcOwnerHistory::LastModifyingApplication() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcApplication{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcApplication>(); } void Ifc4x3_add2::IfcOwnerHistory::setLastModifyingApplication(const ::Ifc4x3_add2::IfcApplication& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } int64_t Ifc4x3_add2::IfcOwnerHistory::CreationDate() const { int64_t v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcOwnerHistory::setCreationDate(const int64_t& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -12370,7 +12370,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcOwnerHistory::Class() { return *((if 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< int64_t > v5_LastModifiedDate, ::Ifc4x3_add2::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_add2::IfcApplication v7_LastModifyingApplication, int64_t 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>(); } +::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>(); } void Ifc4x3_add2::IfcParameterizedProfileDef::setPosition(const ::Ifc4x3_add2::IfcAxis2Placement2D& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -12378,12 +12378,12 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcParameterizedProfileDef::Class() { r 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); } -void Ifc4x3_add2::IfcPath::setEdgeList(const std::vector< ::Ifc4x3_add2::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_add2::IfcOrientedEdge > Ifc4x3_add2::IfcPath::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcOrientedEdge>(es); } +void Ifc4x3_add2::IfcPath::setEdgeList(const std::vector< ::Ifc4x3_add2::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_add2::IfcPath::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[726]); } -Ifc4x3_add2::IfcPath Ifc4x3_add2::IfcPath::initialize(std::vector< ::Ifc4x3_add2::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } +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)); } @@ -12399,12 +12399,12 @@ void Ifc4x3_add2::IfcPavementType::setPredefinedType(const ::Ifc4x3_add2::IfcPav const ifcopenshell::entity& Ifc4x3_add2::IfcPavementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[728]); } -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; } +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>(); } +::Ifc4x3_add2::IfcSurface Ifc4x3_add2::IfcPcurve::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcSurface>(); } void Ifc4x3_add2::IfcPcurve::setBasisSurface(const ::Ifc4x3_add2::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcPcurve::ReferenceCurve() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcCurve>(); } +::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcPcurve::ReferenceCurve() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcCurve>(); } void Ifc4x3_add2::IfcPcurve::setReferenceCurve(const ::Ifc4x3_add2::IfcCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -12430,7 +12430,7 @@ std::optional< double > Ifc4x3_add2::IfcPermeableCoveringProperties::FrameDepth( void Ifc4x3_add2::IfcPermeableCoveringProperties::setFrameDepth(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } std::optional< double > Ifc4x3_add2::IfcPermeableCoveringProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcPermeableCoveringProperties::setFrameThickness(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_add2::IfcShapeAspect Ifc4x3_add2::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_add2::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_add2::IfcShapeAspect>(); } +::Ifc4x3_add2::IfcShapeAspect Ifc4x3_add2::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_add2::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_add2::IfcShapeAspect>(); } void Ifc4x3_add2::IfcPermeableCoveringProperties::setShapeAspectStyle(const ::Ifc4x3_add2::IfcShapeAspect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -12462,31 +12462,31 @@ std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add2::IfcPerson::Pr void Ifc4x3_add2::IfcPerson::setPrefixTitles(const std::optional< std::vector< std::string > /*[1:?]*/ >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add2::IfcPerson::SuffixTitles() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcPerson::setSuffixTitles(const std::optional< std::vector< std::string > /*[1:?]*/ >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::optional< std::vector< ::Ifc4x3_add2::IfcActorRole > > Ifc4x3_add2::IfcPerson::Roles() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_add2::IfcActorRole>(es); } -void Ifc4x3_add2::IfcPerson::setRoles(const std::optional< std::vector< ::Ifc4x3_add2::IfcActorRole > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x3_add2::IfcAddress > > Ifc4x3_add2::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_add2::IfcAddress>(es); } -void Ifc4x3_add2::IfcPerson::setAddresses(const std::optional< std::vector< ::Ifc4x3_add2::IfcAddress > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x3_add2::IfcActorRole > > Ifc4x3_add2::IfcPerson::Roles() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_add2::IfcActorRole>(es); } +void Ifc4x3_add2::IfcPerson::setRoles(const std::optional< std::vector< ::Ifc4x3_add2::IfcActorRole > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +std::optional< std::vector< ::Ifc4x3_add2::IfcAddress > > Ifc4x3_add2::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_add2::IfcAddress>(es); } +void Ifc4x3_add2::IfcPerson::setAddresses(const std::optional< std::vector< ::Ifc4x3_add2::IfcAddress > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } 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]); } -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; } +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>(); } +::Ifc4x3_add2::IfcPerson Ifc4x3_add2::IfcPersonAndOrganization::ThePerson() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcPerson>(); } void Ifc4x3_add2::IfcPersonAndOrganization::setThePerson(const ::Ifc4x3_add2::IfcPerson& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcOrganization Ifc4x3_add2::IfcPersonAndOrganization::TheOrganization() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcOrganization>(); } +::Ifc4x3_add2::IfcOrganization Ifc4x3_add2::IfcPersonAndOrganization::TheOrganization() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcOrganization>(); } void Ifc4x3_add2::IfcPersonAndOrganization::setTheOrganization(const ::Ifc4x3_add2::IfcOrganization& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::optional< std::vector< ::Ifc4x3_add2::IfcActorRole > > Ifc4x3_add2::IfcPersonAndOrganization::Roles() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcActorRole>(es); } -void Ifc4x3_add2::IfcPersonAndOrganization::setRoles(const std::optional< std::vector< ::Ifc4x3_add2::IfcActorRole > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4x3_add2::IfcActorRole > > Ifc4x3_add2::IfcPersonAndOrganization::Roles() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcActorRole>(es); } +void Ifc4x3_add2::IfcPersonAndOrganization::setRoles(const std::optional< std::vector< ::Ifc4x3_add2::IfcActorRole > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_add2::IfcPersonAndOrganization::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[738]); } -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; } +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); } -void Ifc4x3_add2::IfcPhysicalComplexQuantity::setHasQuantities(const std::vector< ::Ifc4x3_add2::IfcPhysicalQuantity >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_add2::IfcPhysicalQuantity > Ifc4x3_add2::IfcPhysicalComplexQuantity::HasQuantities() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcPhysicalQuantity>(es); } +void Ifc4x3_add2::IfcPhysicalComplexQuantity::setHasQuantities(const std::vector< ::Ifc4x3_add2::IfcPhysicalQuantity >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::string Ifc4x3_add2::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcPhysicalComplexQuantity::setDiscrimination(const std::string& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_add2::IfcPhysicalComplexQuantity::Quality() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -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]); } -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; } +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; } @@ -12511,7 +12511,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcPhysicalQuantity::Class() { return * 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>(); } +::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>(); } void Ifc4x3_add2::IfcPhysicalSimpleQuantity::setUnit(const ::Ifc4x3_add2::IfcNamedUnit& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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 int64_t Ifc4x3_add2::IfcPixelTexture::Width() const { int64_t v = get_attribute_value(5); return v; } @@ -12583,7 +12583,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcPixelTexture::Class() { return *((if 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, int64_t v6_Width, int64_t v7_Height, int64_t 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>(); } +::Ifc4x3_add2::IfcPoint Ifc4x3_add2::IfcPlacement::Location() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcPoint>(); } void Ifc4x3_add2::IfcPlacement::setLocation(const ::Ifc4x3_add2::IfcPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -12591,7 +12591,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcPlacement::Class() { return *((ifcop 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>(); } +::Ifc4x3_add2::IfcAxis2Placement Ifc4x3_add2::IfcPlanarBox::Placement() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcAxis2Placement>(); } void Ifc4x3_add2::IfcPlanarBox::setPlacement(const ::Ifc4x3_add2::IfcAxis2Placement& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -12628,7 +12628,7 @@ void Ifc4x3_add2::IfcPlateType::setPredefinedType(const ::Ifc4x3_add2::IfcPlateT const ifcopenshell::entity& Ifc4x3_add2::IfcPlateType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[762]); } -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; } +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 @@ -12637,7 +12637,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcPoint::Class() { return *((ifcopensh 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>(); } +::Ifc4x3_add2::IfcCurveMeasureSelect Ifc4x3_add2::IfcPointByDistanceExpression::DistanceAlong() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCurveMeasureSelect>(); } void Ifc4x3_add2::IfcPointByDistanceExpression::setDistanceAlong(const ::Ifc4x3_add2::IfcCurveMeasureSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< double > Ifc4x3_add2::IfcPointByDistanceExpression::OffsetLateral() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcPointByDistanceExpression::setOffsetLateral(const std::optional< double >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } @@ -12645,7 +12645,7 @@ std::optional< double > Ifc4x3_add2::IfcPointByDistanceExpression::OffsetVertica void Ifc4x3_add2::IfcPointByDistanceExpression::setOffsetVertical(const std::optional< double >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } std::optional< double > Ifc4x3_add2::IfcPointByDistanceExpression::OffsetLongitudinal() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcPointByDistanceExpression::setOffsetLongitudinal(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcPointByDistanceExpression::BasisCurve() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcCurve>(); } +::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcPointByDistanceExpression::BasisCurve() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcCurve>(); } void Ifc4x3_add2::IfcPointByDistanceExpression::setBasisCurve(const ::Ifc4x3_add2::IfcCurve& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -12653,7 +12653,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcPointByDistanceExpression::Class() { 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>(); } +::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcPointOnCurve::BasisCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCurve>(); } void Ifc4x3_add2::IfcPointOnCurve::setBasisCurve(const ::Ifc4x3_add2::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_add2::IfcPointOnCurve::PointParameter() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcPointOnCurve::setPointParameter(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -12663,7 +12663,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcPointOnCurve::Class() { return *((if 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>(); } +::Ifc4x3_add2::IfcSurface Ifc4x3_add2::IfcPointOnSurface::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcSurface>(); } void Ifc4x3_add2::IfcPointOnSurface::setBasisSurface(const ::Ifc4x3_add2::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_add2::IfcPointOnSurface::PointParameterU() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcPointOnSurface::setPointParameterU(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -12675,17 +12675,17 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcPointOnSurface::Class() { return *(( 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); } -void Ifc4x3_add2::IfcPolyLoop::setPolygon(const std::vector< ::Ifc4x3_add2::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_add2::IfcCartesianPoint > Ifc4x3_add2::IfcPolyLoop::Polygon() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcCartesianPoint>(es); } +void Ifc4x3_add2::IfcPolyLoop::setPolygon(const std::vector< ::Ifc4x3_add2::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_add2::IfcPolyLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[772]); } -Ifc4x3_add2::IfcPolyLoop Ifc4x3_add2::IfcPolyLoop::initialize(std::vector< ::Ifc4x3_add2::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon));; return *this; } +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>(); } +::Ifc4x3_add2::IfcAxis2Placement3D Ifc4x3_add2::IfcPolygonalBoundedHalfSpace::Position() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcAxis2Placement3D>(); } void Ifc4x3_add2::IfcPolygonalBoundedHalfSpace::setPosition(const ::Ifc4x3_add2::IfcAxis2Placement3D& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcBoundedCurve Ifc4x3_add2::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcBoundedCurve>(); } +::Ifc4x3_add2::IfcBoundedCurve Ifc4x3_add2::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcBoundedCurve>(); } void Ifc4x3_add2::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(const ::Ifc4x3_add2::IfcBoundedCurve& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -12695,25 +12695,25 @@ Ifc4x3_add2::IfcPolygonalBoundedHalfSpace Ifc4x3_add2::IfcPolygonalBoundedHalfSp // 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; } void Ifc4x3_add2::IfcPolygonalFaceSet::setClosed(const std::optional< bool >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x3_add2::IfcIndexedPolygonalFace > Ifc4x3_add2::IfcPolygonalFaceSet::Faces() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcIndexedPolygonalFace>(es); } -void Ifc4x3_add2::IfcPolygonalFaceSet::setFaces(const std::vector< ::Ifc4x3_add2::IfcIndexedPolygonalFace >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_add2::IfcIndexedPolygonalFace > Ifc4x3_add2::IfcPolygonalFaceSet::Faces() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcIndexedPolygonalFace>(es); } +void Ifc4x3_add2::IfcPolygonalFaceSet::setFaces(const std::vector< ::Ifc4x3_add2::IfcIndexedPolygonalFace >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::optional< std::vector< int64_t > /*[1:?]*/ > Ifc4x3_add2::IfcPolygonalFaceSet::PnIndex() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< int64_t > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcPolygonalFaceSet::setPnIndex(const std::optional< std::vector< int64_t > /*[1:?]*/ >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const ifcopenshell::entity& Ifc4x3_add2::IfcPolygonalFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[770]); } -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< int64_t > /*[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; } +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< int64_t > /*[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); } -void Ifc4x3_add2::IfcPolyline::setPoints(const std::vector< ::Ifc4x3_add2::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_add2::IfcCartesianPoint > Ifc4x3_add2::IfcPolyline::Points() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcCartesianPoint>(es); } +void Ifc4x3_add2::IfcPolyline::setPoints(const std::vector< ::Ifc4x3_add2::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_add2::IfcPolyline::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[771]); } -Ifc4x3_add2::IfcPolyline Ifc4x3_add2::IfcPolyline::initialize(std::vector< ::Ifc4x3_add2::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points));; return *this; } +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>(); } +::Ifc4x3_add2::IfcPlacement Ifc4x3_add2::IfcPolynomialCurve::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcPlacement>(); } void Ifc4x3_add2::IfcPolynomialCurve::setPosition(const ::Ifc4x3_add2::IfcPlacement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_add2::IfcPolynomialCurve::CoefficientsX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector< double > /*[2:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcPolynomialCurve::setCoefficientsX(const std::optional< std::vector< double > /*[2:?]*/ >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } @@ -12812,14 +12812,14 @@ std::string Ifc4x3_add2::IfcPresentationLayerAssignment::Name() const { std::st void Ifc4x3_add2::IfcPresentationLayerAssignment::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x3_add2::IfcPresentationLayerAssignment::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcPresentationLayerAssignment::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x3_add2::IfcLayeredItem > Ifc4x3_add2::IfcPresentationLayerAssignment::AssignedItems() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcLayeredItem>(es); } -void Ifc4x3_add2::IfcPresentationLayerAssignment::setAssignedItems(const std::vector< ::Ifc4x3_add2::IfcLayeredItem >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_add2::IfcLayeredItem > Ifc4x3_add2::IfcPresentationLayerAssignment::AssignedItems() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcLayeredItem>(es); } +void Ifc4x3_add2::IfcPresentationLayerAssignment::setAssignedItems(const std::vector< ::Ifc4x3_add2::IfcLayeredItem >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4x3_add2::IfcPresentationLayerAssignment::Identifier() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcPresentationLayerAssignment::setIdentifier(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const ifcopenshell::entity& Ifc4x3_add2::IfcPresentationLayerAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[791]); } -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; } +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; } @@ -12828,12 +12828,12 @@ boost::logic::tribool Ifc4x3_add2::IfcPresentationLayerWithStyle::LayerFrozen() void Ifc4x3_add2::IfcPresentationLayerWithStyle::setLayerFrozen(const boost::logic::tribool& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } boost::logic::tribool Ifc4x3_add2::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcPresentationLayerWithStyle::setLayerBlocked(const boost::logic::tribool& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::vector< ::Ifc4x3_add2::IfcPresentationStyle > Ifc4x3_add2::IfcPresentationLayerWithStyle::LayerStyles() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_add2::IfcPresentationStyle>(es); } -void Ifc4x3_add2::IfcPresentationLayerWithStyle::setLayerStyles(const std::vector< ::Ifc4x3_add2::IfcPresentationStyle >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } +std::vector< ::Ifc4x3_add2::IfcPresentationStyle > Ifc4x3_add2::IfcPresentationLayerWithStyle::LayerStyles() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_add2::IfcPresentationStyle>(es); } +void Ifc4x3_add2::IfcPresentationLayerWithStyle::setLayerStyles(const std::vector< ::Ifc4x3_add2::IfcPresentationStyle >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } const ifcopenshell::entity& Ifc4x3_add2::IfcPresentationLayerWithStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[792]); } -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; } +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; } @@ -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]); } -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; } +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; } @@ -12873,9 +12873,9 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcProcess::Class() { return *((ifcopen 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>(); } +::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>(); } void Ifc4x3_add2::IfcProduct::setObjectPlacement(const ::Ifc4x3_add2::IfcObjectPlacement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add2::IfcProductRepresentation Ifc4x3_add2::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcProductRepresentation{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcProductRepresentation>(); } +::Ifc4x3_add2::IfcProductRepresentation Ifc4x3_add2::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcProductRepresentation{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcProductRepresentation>(); } void Ifc4x3_add2::IfcProduct::setRepresentation(const ::Ifc4x3_add2::IfcProductRepresentation& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::vector<::Ifc4x3_add2::IfcRelAssignsToProduct> Ifc4x3_add2::IfcProduct::ReferencedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[906], 6)); } @@ -12891,19 +12891,19 @@ 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]); } -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; } +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; } void Ifc4x3_add2::IfcProductRepresentation::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_add2::IfcProductRepresentation::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcProductRepresentation::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x3_add2::IfcRepresentation > Ifc4x3_add2::IfcProductRepresentation::Representations() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcRepresentation>(es); } -void Ifc4x3_add2::IfcProductRepresentation::setRepresentations(const std::vector< ::Ifc4x3_add2::IfcRepresentation >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_add2::IfcRepresentation > Ifc4x3_add2::IfcProductRepresentation::Representations() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcRepresentation>(es); } +void Ifc4x3_add2::IfcProductRepresentation::setRepresentations(const std::vector< ::Ifc4x3_add2::IfcRepresentation >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_add2::IfcProductRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[802]); } -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; } +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)); } @@ -12918,24 +12918,24 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcProfileDef::Class() { return *((ifco 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>(); } +::Ifc4x3_add2::IfcProfileDef Ifc4x3_add2::IfcProfileProperties::ProfileDefinition() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcProfileDef>(); } void Ifc4x3_add2::IfcProfileProperties::setProfileDefinition(const ::Ifc4x3_add2::IfcProfileDef& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_add2::IfcProfileProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[806]); } -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; } +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]); } -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; } +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]); } -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; } +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)); } @@ -12956,7 +12956,7 @@ std::optional< std::string > Ifc4x3_add2::IfcProjectedCRS::MapProjection() const void Ifc4x3_add2::IfcProjectedCRS::setMapProjection(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } std::optional< std::string > Ifc4x3_add2::IfcProjectedCRS::MapZone() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcProjectedCRS::setMapZone(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_add2::IfcNamedUnit Ifc4x3_add2::IfcProjectedCRS::MapUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcNamedUnit{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcNamedUnit>(); } +::Ifc4x3_add2::IfcNamedUnit Ifc4x3_add2::IfcProjectedCRS::MapUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcNamedUnit{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcNamedUnit>(); } void Ifc4x3_add2::IfcProjectedCRS::setMapUnit(const ::Ifc4x3_add2::IfcNamedUnit& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -12995,13 +12995,13 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcPropertyAbstraction::Class() { retur 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>(); } +::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>(); } void Ifc4x3_add2::IfcPropertyBoundedValue::setUpperBoundValue(const ::Ifc4x3_add2::IfcValue& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcValue Ifc4x3_add2::IfcPropertyBoundedValue::LowerBoundValue() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcValue{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcValue>(); } +::Ifc4x3_add2::IfcValue Ifc4x3_add2::IfcPropertyBoundedValue::LowerBoundValue() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcValue{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcValue>(); } void Ifc4x3_add2::IfcPropertyBoundedValue::setLowerBoundValue(const ::Ifc4x3_add2::IfcValue& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add2::IfcUnit Ifc4x3_add2::IfcPropertyBoundedValue::Unit() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_add2::IfcUnit{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcUnit>(); } +::Ifc4x3_add2::IfcUnit Ifc4x3_add2::IfcPropertyBoundedValue::Unit() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_add2::IfcUnit{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcUnit>(); } void Ifc4x3_add2::IfcPropertyBoundedValue::setUnit(const ::Ifc4x3_add2::IfcUnit& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcValue Ifc4x3_add2::IfcPropertyBoundedValue::SetPointValue() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_add2::IfcValue{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcValue>(); } +::Ifc4x3_add2::IfcValue Ifc4x3_add2::IfcPropertyBoundedValue::SetPointValue() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_add2::IfcValue{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcValue>(); } void Ifc4x3_add2::IfcPropertyBoundedValue::setSetPointValue(const ::Ifc4x3_add2::IfcValue& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -13017,9 +13017,9 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcPropertyDefinition::Class() { return 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>(); } +::Ifc4x3_add2::IfcProperty Ifc4x3_add2::IfcPropertyDependencyRelationship::DependingProperty() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcProperty>(); } void Ifc4x3_add2::IfcPropertyDependencyRelationship::setDependingProperty(const ::Ifc4x3_add2::IfcProperty& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcProperty Ifc4x3_add2::IfcPropertyDependencyRelationship::DependantProperty() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcProperty>(); } +::Ifc4x3_add2::IfcProperty Ifc4x3_add2::IfcPropertyDependencyRelationship::DependantProperty() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcProperty>(); } void Ifc4x3_add2::IfcPropertyDependencyRelationship::setDependantProperty(const ::Ifc4x3_add2::IfcProperty& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_add2::IfcPropertyDependencyRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcPropertyDependencyRelationship::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -13029,41 +13029,41 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcPropertyDependencyRelationship::Clas 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); } -void Ifc4x3_add2::IfcPropertyEnumeratedValue::setEnumerationValues(const std::optional< std::vector< ::Ifc4x3_add2::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } -::Ifc4x3_add2::IfcPropertyEnumeration Ifc4x3_add2::IfcPropertyEnumeratedValue::EnumerationReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcPropertyEnumeration{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcPropertyEnumeration>(); } +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); } +void Ifc4x3_add2::IfcPropertyEnumeratedValue::setEnumerationValues(const std::optional< std::vector< ::Ifc4x3_add2::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +::Ifc4x3_add2::IfcPropertyEnumeration Ifc4x3_add2::IfcPropertyEnumeratedValue::EnumerationReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcPropertyEnumeration{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcPropertyEnumeration>(); } void Ifc4x3_add2::IfcPropertyEnumeratedValue::setEnumerationReference(const ::Ifc4x3_add2::IfcPropertyEnumeration& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_add2::IfcPropertyEnumeratedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[821]); } -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; } +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; } void Ifc4x3_add2::IfcPropertyEnumeration::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_add2::IfcValue > Ifc4x3_add2::IfcPropertyEnumeration::EnumerationValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcValue>(es); } -void Ifc4x3_add2::IfcPropertyEnumeration::setEnumerationValues(const std::vector< ::Ifc4x3_add2::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcUnit Ifc4x3_add2::IfcPropertyEnumeration::Unit() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcUnit{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcUnit>(); } +std::vector< ::Ifc4x3_add2::IfcValue > Ifc4x3_add2::IfcPropertyEnumeration::EnumerationValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcValue>(es); } +void Ifc4x3_add2::IfcPropertyEnumeration::setEnumerationValues(const std::vector< ::Ifc4x3_add2::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +::Ifc4x3_add2::IfcUnit Ifc4x3_add2::IfcPropertyEnumeration::Unit() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcUnit{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcUnit>(); } void Ifc4x3_add2::IfcPropertyEnumeration::setUnit(const ::Ifc4x3_add2::IfcUnit& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_add2::IfcPropertyEnumeration::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[822]); } -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; } +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); } -void Ifc4x3_add2::IfcPropertyListValue::setListValues(const std::optional< std::vector< ::Ifc4x3_add2::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } -::Ifc4x3_add2::IfcUnit Ifc4x3_add2::IfcPropertyListValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcUnit>(); } +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); } +void Ifc4x3_add2::IfcPropertyListValue::setListValues(const std::optional< std::vector< ::Ifc4x3_add2::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +::Ifc4x3_add2::IfcUnit Ifc4x3_add2::IfcPropertyListValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcUnit>(); } void Ifc4x3_add2::IfcPropertyListValue::setUnit(const ::Ifc4x3_add2::IfcUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_add2::IfcPropertyListValue::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[823]); } -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; } +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; } void Ifc4x3_add2::IfcPropertyReferenceValue::setUsageName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_add2::IfcObjectReferenceSelect Ifc4x3_add2::IfcPropertyReferenceValue::PropertyReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcObjectReferenceSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcObjectReferenceSelect>(); } +::Ifc4x3_add2::IfcObjectReferenceSelect Ifc4x3_add2::IfcPropertyReferenceValue::PropertyReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcObjectReferenceSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcObjectReferenceSelect>(); } void Ifc4x3_add2::IfcPropertyReferenceValue::setPropertyReference(const ::Ifc4x3_add2::IfcObjectReferenceSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -13071,12 +13071,12 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcPropertyReferenceValue::Class() { re 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); } -void Ifc4x3_add2::IfcPropertySet::setHasProperties(const std::vector< ::Ifc4x3_add2::IfcProperty >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +std::vector< ::Ifc4x3_add2::IfcProperty > Ifc4x3_add2::IfcPropertySet::HasProperties() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add2::IfcProperty>(es); } +void Ifc4x3_add2::IfcPropertySet::setHasProperties(const std::vector< ::Ifc4x3_add2::IfcProperty >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } const ifcopenshell::entity& Ifc4x3_add2::IfcPropertySet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[825]); } -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; } +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 @@ -13092,18 +13092,18 @@ std::optional< ::Ifc4x3_add2::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3_add void Ifc4x3_add2::IfcPropertySetTemplate::setTemplateType(const std::optional< ::Ifc4x3_add2::IfcPropertySetTemplateTypeEnum::Value >& v) { if (v) {set_attribute_value(4, enumeration_reference(&::Ifc4x3_add2::IfcPropertySetTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } std::optional< std::string > Ifc4x3_add2::IfcPropertySetTemplate::ApplicableEntity() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcPropertySetTemplate::setApplicableEntity(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector< ::Ifc4x3_add2::IfcPropertyTemplate > Ifc4x3_add2::IfcPropertySetTemplate::HasPropertyTemplates() const { std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_add2::IfcPropertyTemplate>(es); } -void Ifc4x3_add2::IfcPropertySetTemplate::setHasPropertyTemplates(const std::vector< ::Ifc4x3_add2::IfcPropertyTemplate >& v) { set_attribute_value(6, cast_vector(v));if constexpr (false)unset_attribute_value(6); } +std::vector< ::Ifc4x3_add2::IfcPropertyTemplate > Ifc4x3_add2::IfcPropertySetTemplate::HasPropertyTemplates() const { std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_add2::IfcPropertyTemplate>(es); } +void Ifc4x3_add2::IfcPropertySetTemplate::setHasPropertyTemplates(const std::vector< ::Ifc4x3_add2::IfcPropertyTemplate >& v) { set_attribute_value(6, cast_vector(v));if constexpr (false)unset_attribute_value(6); } 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]); } -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; } +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>(); } +::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>(); } void Ifc4x3_add2::IfcPropertySingleValue::setNominalValue(const ::Ifc4x3_add2::IfcValue& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcUnit Ifc4x3_add2::IfcPropertySingleValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcUnit>(); } +::Ifc4x3_add2::IfcUnit Ifc4x3_add2::IfcPropertySingleValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcUnit>(); } void Ifc4x3_add2::IfcPropertySingleValue::setUnit(const ::Ifc4x3_add2::IfcUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -13111,22 +13111,22 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcPropertySingleValue::Class() { retur 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); } -void Ifc4x3_add2::IfcPropertyTableValue::setDefiningValues(const std::optional< std::vector< ::Ifc4x3_add2::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } -std::optional< std::vector< ::Ifc4x3_add2::IfcValue > > Ifc4x3_add2::IfcPropertyTableValue::DefinedValues() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_add2::IfcValue>(es); } -void Ifc4x3_add2::IfcPropertyTableValue::setDefinedValues(const std::optional< std::vector< ::Ifc4x3_add2::IfcValue > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } +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); } +void Ifc4x3_add2::IfcPropertyTableValue::setDefiningValues(const std::optional< std::vector< ::Ifc4x3_add2::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4x3_add2::IfcValue > > Ifc4x3_add2::IfcPropertyTableValue::DefinedValues() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_add2::IfcValue>(es); } +void Ifc4x3_add2::IfcPropertyTableValue::setDefinedValues(const std::optional< std::vector< ::Ifc4x3_add2::IfcValue > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } std::optional< std::string > Ifc4x3_add2::IfcPropertyTableValue::Expression() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcPropertyTableValue::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_add2::IfcUnit Ifc4x3_add2::IfcPropertyTableValue::DefiningUnit() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_add2::IfcUnit{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcUnit>(); } +::Ifc4x3_add2::IfcUnit Ifc4x3_add2::IfcPropertyTableValue::DefiningUnit() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_add2::IfcUnit{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcUnit>(); } void Ifc4x3_add2::IfcPropertyTableValue::setDefiningUnit(const ::Ifc4x3_add2::IfcUnit& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add2::IfcUnit Ifc4x3_add2::IfcPropertyTableValue::DefinedUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcUnit{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcUnit>(); } +::Ifc4x3_add2::IfcUnit Ifc4x3_add2::IfcPropertyTableValue::DefinedUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcUnit{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcUnit>(); } void Ifc4x3_add2::IfcPropertyTableValue::setDefinedUnit(const ::Ifc4x3_add2::IfcUnit& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< ::Ifc4x3_add2::IfcCurveInterpolationEnum::Value > Ifc4x3_add2::IfcPropertyTableValue::CurveInterpolation() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcCurveInterpolationEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add2::IfcPropertyTableValue::setCurveInterpolation(const std::optional< ::Ifc4x3_add2::IfcCurveInterpolationEnum::Value >& v) { if (v) {set_attribute_value(7, enumeration_reference(&::Ifc4x3_add2::IfcCurveInterpolationEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const ifcopenshell::entity& Ifc4x3_add2::IfcPropertyTableValue::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[832]); } -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; } +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 @@ -13164,7 +13164,7 @@ void Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(const : const ifcopenshell::entity& Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[837]); } -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; } +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]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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]); } -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; } +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]); } -Ifc4x3_add2::IfcRationalBSplineCurveWithKnots Ifc4x3_add2::IfcRationalBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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; } +Ifc4x3_add2::IfcRationalBSplineCurveWithKnots Ifc4x3_add2::IfcRationalBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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]); } -Ifc4x3_add2::IfcRationalBSplineSurfaceWithKnots Ifc4x3_add2::IfcRationalBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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; } +Ifc4x3_add2::IfcRationalBSplineSurfaceWithKnots Ifc4x3_add2::IfcRationalBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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; } @@ -13397,7 +13397,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcRectangularPyramid::Class() { return 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>(); } +::Ifc4x3_add2::IfcSurface Ifc4x3_add2::IfcRectangularTrimmedSurface::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcSurface>(); } void Ifc4x3_add2::IfcRectangularTrimmedSurface::setBasisSurface(const ::Ifc4x3_add2::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_add2::IfcRectangularTrimmedSurface::U1() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcRectangularTrimmedSurface::setU1(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -13431,12 +13431,12 @@ std::optional< int64_t > Ifc4x3_add2::IfcRecurrencePattern::Interval() const { i void Ifc4x3_add2::IfcRecurrencePattern::setInterval(const std::optional< int64_t >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< int64_t > Ifc4x3_add2::IfcRecurrencePattern::Occurrences() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcRecurrencePattern::setOccurrences(const std::optional< int64_t >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x3_add2::IfcTimePeriod > > Ifc4x3_add2::IfcRecurrencePattern::TimePeriods() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_add2::IfcTimePeriod>(es); } -void Ifc4x3_add2::IfcRecurrencePattern::setTimePeriods(const std::optional< std::vector< ::Ifc4x3_add2::IfcTimePeriod > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x3_add2::IfcTimePeriod > > Ifc4x3_add2::IfcRecurrencePattern::TimePeriods() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_add2::IfcTimePeriod>(es); } +void Ifc4x3_add2::IfcRecurrencePattern::setTimePeriods(const std::optional< std::vector< ::Ifc4x3_add2::IfcTimePeriod > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } const ifcopenshell::entity& Ifc4x3_add2::IfcRecurrencePattern::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[877]); } -Ifc4x3_add2::IfcRecurrencePattern Ifc4x3_add2::IfcRecurrencePattern::initialize(::Ifc4x3_add2::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int64_t > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v4_MonthComponent, std::optional< int64_t > v5_Position, std::optional< int64_t > v6_Interval, std::optional< int64_t > 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; } +Ifc4x3_add2::IfcRecurrencePattern Ifc4x3_add2::IfcRecurrencePattern::initialize(::Ifc4x3_add2::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int64_t > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v4_MonthComponent, std::optional< int64_t > v5_Position, std::optional< int64_t > v6_Interval, std::optional< int64_t > 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; } @@ -13447,7 +13447,7 @@ std::optional< std::string > Ifc4x3_add2::IfcReference::InstanceName() const { i void Ifc4x3_add2::IfcReference::setInstanceName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } std::optional< std::vector< int64_t > /*[1:?]*/ > Ifc4x3_add2::IfcReference::ListPositions() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< int64_t > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcReference::setListPositions(const std::optional< std::vector< int64_t > /*[1:?]*/ >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_add2::IfcReference Ifc4x3_add2::IfcReference::InnerReference() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_add2::IfcReference{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcReference>(); } +::Ifc4x3_add2::IfcReference Ifc4x3_add2::IfcReference::InnerReference() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_add2::IfcReference{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcReference>(); } void Ifc4x3_add2::IfcReference::setInnerReference(const ::Ifc4x3_add2::IfcReference& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -13465,12 +13465,12 @@ Ifc4x3_add2::IfcReferent Ifc4x3_add2::IfcReferent::initialize(std::string v1_Glo // Function implementations for IfcRegularTimeSeries double Ifc4x3_add2::IfcRegularTimeSeries::TimeStep() const { double v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcRegularTimeSeries::setTimeStep(const double& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::vector< ::Ifc4x3_add2::IfcTimeSeriesValue > Ifc4x3_add2::IfcRegularTimeSeries::Values() const { std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_add2::IfcTimeSeriesValue>(es); } -void Ifc4x3_add2::IfcRegularTimeSeries::setValues(const std::vector< ::Ifc4x3_add2::IfcTimeSeriesValue >& v) { set_attribute_value(9, cast_vector(v));if constexpr (false)unset_attribute_value(9); } +std::vector< ::Ifc4x3_add2::IfcTimeSeriesValue > Ifc4x3_add2::IfcRegularTimeSeries::Values() const { std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_add2::IfcTimeSeriesValue>(es); } +void Ifc4x3_add2::IfcRegularTimeSeries::setValues(const std::vector< ::Ifc4x3_add2::IfcTimeSeriesValue >& v) { set_attribute_value(9, cast_vector(v));if constexpr (false)unset_attribute_value(9); } const ifcopenshell::entity& Ifc4x3_add2::IfcRegularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[883]); } -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; } +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)); } @@ -13501,12 +13501,12 @@ Ifc4x3_add2::IfcReinforcementBarProperties Ifc4x3_add2::IfcReinforcementBarPrope // 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; } void Ifc4x3_add2::IfcReinforcementDefinitionProperties::setDefinitionType(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector< ::Ifc4x3_add2::IfcSectionReinforcementProperties > Ifc4x3_add2::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_add2::IfcSectionReinforcementProperties>(es); } -void Ifc4x3_add2::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(const std::vector< ::Ifc4x3_add2::IfcSectionReinforcementProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_add2::IfcSectionReinforcementProperties > Ifc4x3_add2::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_add2::IfcSectionReinforcementProperties>(es); } +void Ifc4x3_add2::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(const std::vector< ::Ifc4x3_add2::IfcSectionReinforcementProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_add2::IfcReinforcementDefinitionProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[887]); } -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; } +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; } @@ -13537,12 +13537,12 @@ std::optional< ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_add2: void Ifc4x3_add2::IfcReinforcingBarType::setBarSurface(const std::optional< ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value >& v) { if (v) {set_attribute_value(13, enumeration_reference(&::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } std::optional< std::string > Ifc4x3_add2::IfcReinforcingBarType::BendingShapeCode() const { if(get_attribute_value(14).isNull()) { return std::nullopt; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_add2::IfcReinforcingBarType::setBendingShapeCode(const std::optional< std::string >& v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -std::optional< std::vector< ::Ifc4x3_add2::IfcBendingParameterSelect > > Ifc4x3_add2::IfcReinforcingBarType::BendingParameters() const { if(get_attribute_value(15).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(15); return cast_vector<::Ifc4x3_add2::IfcBendingParameterSelect>(es); } -void Ifc4x3_add2::IfcReinforcingBarType::setBendingParameters(const std::optional< std::vector< ::Ifc4x3_add2::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(15, cast_vector(*v));} else {unset_attribute_value(15);} } +std::optional< std::vector< ::Ifc4x3_add2::IfcBendingParameterSelect > > Ifc4x3_add2::IfcReinforcingBarType::BendingParameters() const { if(get_attribute_value(15).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(15); return cast_vector<::Ifc4x3_add2::IfcBendingParameterSelect>(es); } +void Ifc4x3_add2::IfcReinforcingBarType::setBendingParameters(const std::optional< std::vector< ::Ifc4x3_add2::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(15, cast_vector(*v));} else {unset_attribute_value(15);} } const ifcopenshell::entity& Ifc4x3_add2::IfcReinforcingBarType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[891]); } -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; } +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; } @@ -13556,7 +13556,7 @@ Ifc4x3_add2::IfcReinforcingElement Ifc4x3_add2::IfcReinforcingElement::initializ const ifcopenshell::entity& Ifc4x3_add2::IfcReinforcingElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[894]); } -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; } +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; } @@ -13603,68 +13603,68 @@ std::optional< double > Ifc4x3_add2::IfcReinforcingMeshType::TransverseBarSpacin void Ifc4x3_add2::IfcReinforcingMeshType::setTransverseBarSpacing(const std::optional< double >& v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } std::optional< std::string > Ifc4x3_add2::IfcReinforcingMeshType::BendingShapeCode() const { if(get_attribute_value(18).isNull()) { return std::nullopt; } std::string v = get_attribute_value(18); return v; } void Ifc4x3_add2::IfcReinforcingMeshType::setBendingShapeCode(const std::optional< std::string >& v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -std::optional< std::vector< ::Ifc4x3_add2::IfcBendingParameterSelect > > Ifc4x3_add2::IfcReinforcingMeshType::BendingParameters() const { if(get_attribute_value(19).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(19); return cast_vector<::Ifc4x3_add2::IfcBendingParameterSelect>(es); } -void Ifc4x3_add2::IfcReinforcingMeshType::setBendingParameters(const std::optional< std::vector< ::Ifc4x3_add2::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(19, cast_vector(*v));} else {unset_attribute_value(19);} } +std::optional< std::vector< ::Ifc4x3_add2::IfcBendingParameterSelect > > Ifc4x3_add2::IfcReinforcingMeshType::BendingParameters() const { if(get_attribute_value(19).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(19); return cast_vector<::Ifc4x3_add2::IfcBendingParameterSelect>(es); } +void Ifc4x3_add2::IfcReinforcingMeshType::setBendingParameters(const std::optional< std::vector< ::Ifc4x3_add2::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(19, cast_vector(*v));} else {unset_attribute_value(19);} } const ifcopenshell::entity& Ifc4x3_add2::IfcReinforcingMeshType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[896]); } -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; } +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>(); } +::Ifc4x3_add2::IfcElement Ifc4x3_add2::IfcRelAdheresToElement::RelatingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcElement>(); } void Ifc4x3_add2::IfcRelAdheresToElement::setRelatingElement(const ::Ifc4x3_add2::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_add2::IfcSurfaceFeature > Ifc4x3_add2::IfcRelAdheresToElement::RelatedSurfaceFeatures() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_add2::IfcSurfaceFeature>(es); } -void Ifc4x3_add2::IfcRelAdheresToElement::setRelatedSurfaceFeatures(const std::vector< ::Ifc4x3_add2::IfcSurfaceFeature >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_add2::IfcSurfaceFeature > Ifc4x3_add2::IfcRelAdheresToElement::RelatedSurfaceFeatures() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_add2::IfcSurfaceFeature>(es); } +void Ifc4x3_add2::IfcRelAdheresToElement::setRelatedSurfaceFeatures(const std::vector< ::Ifc4x3_add2::IfcSurfaceFeature >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_add2::IfcRelAdheresToElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[898]); } -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; } +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>(); } +::Ifc4x3_add2::IfcObjectDefinition Ifc4x3_add2::IfcRelAggregates::RelatingObject() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcObjectDefinition>(); } void Ifc4x3_add2::IfcRelAggregates::setRelatingObject(const ::Ifc4x3_add2::IfcObjectDefinition& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_add2::IfcObjectDefinition > Ifc4x3_add2::IfcRelAggregates::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_add2::IfcObjectDefinition>(es); } -void Ifc4x3_add2::IfcRelAggregates::setRelatedObjects(const std::vector< ::Ifc4x3_add2::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_add2::IfcObjectDefinition > Ifc4x3_add2::IfcRelAggregates::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_add2::IfcObjectDefinition>(es); } +void Ifc4x3_add2::IfcRelAggregates::setRelatedObjects(const std::vector< ::Ifc4x3_add2::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_add2::IfcRelAggregates::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[899]); } -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; } +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); } -void Ifc4x3_add2::IfcRelAssigns::setRelatedObjects(const std::vector< ::Ifc4x3_add2::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +std::vector< ::Ifc4x3_add2::IfcObjectDefinition > Ifc4x3_add2::IfcRelAssigns::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add2::IfcObjectDefinition>(es); } +void Ifc4x3_add2::IfcRelAssigns::setRelatedObjects(const std::vector< ::Ifc4x3_add2::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } std::optional< bool > Ifc4x3_add2::IfcRelAssigns::RelatedObjectsType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } bool v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcRelAssigns::setRelatedObjectsType(const std::optional< bool >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssigns::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[900]); } -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; } +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>(); } +::Ifc4x3_add2::IfcActor Ifc4x3_add2::IfcRelAssignsToActor::RelatingActor() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcActor>(); } void Ifc4x3_add2::IfcRelAssignsToActor::setRelatingActor(const ::Ifc4x3_add2::IfcActor& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_add2::IfcActorRole Ifc4x3_add2::IfcRelAssignsToActor::ActingRole() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_add2::IfcActorRole{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_add2::IfcActorRole>(); } +::Ifc4x3_add2::IfcActorRole Ifc4x3_add2::IfcRelAssignsToActor::ActingRole() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_add2::IfcActorRole{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_add2::IfcActorRole>(); } void Ifc4x3_add2::IfcRelAssignsToActor::setActingRole(const ::Ifc4x3_add2::IfcActorRole& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssignsToActor::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[901]); } -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; } +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>(); } +::Ifc4x3_add2::IfcControl Ifc4x3_add2::IfcRelAssignsToControl::RelatingControl() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcControl>(); } void Ifc4x3_add2::IfcRelAssignsToControl::setRelatingControl(const ::Ifc4x3_add2::IfcControl& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssignsToControl::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[902]); } -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; } +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>(); } +::Ifc4x3_add2::IfcGroup Ifc4x3_add2::IfcRelAssignsToGroup::RelatingGroup() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcGroup>(); } void Ifc4x3_add2::IfcRelAssignsToGroup::setRelatingGroup(const ::Ifc4x3_add2::IfcGroup& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssignsToGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[903]); } -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; } +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,99 +13672,99 @@ void Ifc4x3_add2::IfcRelAssignsToGroupByFactor::setFactor(const double& v) { set const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssignsToGroupByFactor::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[904]); } -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; } +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>(); } +::Ifc4x3_add2::IfcProcessSelect Ifc4x3_add2::IfcRelAssignsToProcess::RelatingProcess() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcProcessSelect>(); } void Ifc4x3_add2::IfcRelAssignsToProcess::setRelatingProcess(const ::Ifc4x3_add2::IfcProcessSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_add2::IfcMeasureWithUnit Ifc4x3_add2::IfcRelAssignsToProcess::QuantityInProcess() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_add2::IfcMeasureWithUnit{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_add2::IfcMeasureWithUnit>(); } +::Ifc4x3_add2::IfcMeasureWithUnit Ifc4x3_add2::IfcRelAssignsToProcess::QuantityInProcess() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_add2::IfcMeasureWithUnit{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_add2::IfcMeasureWithUnit>(); } void Ifc4x3_add2::IfcRelAssignsToProcess::setQuantityInProcess(const ::Ifc4x3_add2::IfcMeasureWithUnit& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssignsToProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[905]); } -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; } +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>(); } +::Ifc4x3_add2::IfcProductSelect Ifc4x3_add2::IfcRelAssignsToProduct::RelatingProduct() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcProductSelect>(); } void Ifc4x3_add2::IfcRelAssignsToProduct::setRelatingProduct(const ::Ifc4x3_add2::IfcProductSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssignsToProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[906]); } -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; } +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>(); } +::Ifc4x3_add2::IfcResourceSelect Ifc4x3_add2::IfcRelAssignsToResource::RelatingResource() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcResourceSelect>(); } void Ifc4x3_add2::IfcRelAssignsToResource::setRelatingResource(const ::Ifc4x3_add2::IfcResourceSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssignsToResource::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[907]); } -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; } +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); } -void Ifc4x3_add2::IfcRelAssociates::setRelatedObjects(const std::vector< ::Ifc4x3_add2::IfcDefinitionSelect >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > Ifc4x3_add2::IfcRelAssociates::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add2::IfcDefinitionSelect>(es); } +void Ifc4x3_add2::IfcRelAssociates::setRelatedObjects(const std::vector< ::Ifc4x3_add2::IfcDefinitionSelect >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssociates::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[908]); } -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; } +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>(); } +::Ifc4x3_add2::IfcApproval Ifc4x3_add2::IfcRelAssociatesApproval::RelatingApproval() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcApproval>(); } void Ifc4x3_add2::IfcRelAssociatesApproval::setRelatingApproval(const ::Ifc4x3_add2::IfcApproval& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssociatesApproval::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[909]); } -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; } +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>(); } +::Ifc4x3_add2::IfcClassificationSelect Ifc4x3_add2::IfcRelAssociatesClassification::RelatingClassification() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcClassificationSelect>(); } void Ifc4x3_add2::IfcRelAssociatesClassification::setRelatingClassification(const ::Ifc4x3_add2::IfcClassificationSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssociatesClassification::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[910]); } -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; } +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; } void Ifc4x3_add2::IfcRelAssociatesConstraint::setIntent(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_add2::IfcConstraint Ifc4x3_add2::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcConstraint>(); } +::Ifc4x3_add2::IfcConstraint Ifc4x3_add2::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcConstraint>(); } void Ifc4x3_add2::IfcRelAssociatesConstraint::setRelatingConstraint(const ::Ifc4x3_add2::IfcConstraint& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssociatesConstraint::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[911]); } -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; } +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>(); } +::Ifc4x3_add2::IfcDocumentSelect Ifc4x3_add2::IfcRelAssociatesDocument::RelatingDocument() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcDocumentSelect>(); } void Ifc4x3_add2::IfcRelAssociatesDocument::setRelatingDocument(const ::Ifc4x3_add2::IfcDocumentSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssociatesDocument::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[912]); } -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; } +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>(); } +::Ifc4x3_add2::IfcLibrarySelect Ifc4x3_add2::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcLibrarySelect>(); } void Ifc4x3_add2::IfcRelAssociatesLibrary::setRelatingLibrary(const ::Ifc4x3_add2::IfcLibrarySelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssociatesLibrary::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[913]); } -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; } +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>(); } +::Ifc4x3_add2::IfcMaterialSelect Ifc4x3_add2::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcMaterialSelect>(); } void Ifc4x3_add2::IfcRelAssociatesMaterial::setRelatingMaterial(const ::Ifc4x3_add2::IfcMaterialSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssociatesMaterial::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[914]); } -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; } +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>(); } +::Ifc4x3_add2::IfcProfileDef Ifc4x3_add2::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcProfileDef>(); } void Ifc4x3_add2::IfcRelAssociatesProfileDef::setRelatingProfileDef(const ::Ifc4x3_add2::IfcProfileDef& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssociatesProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[915]); } -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; } +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 @@ -13773,11 +13773,11 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcRelConnects::Class() { return *((ifc 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>(); } +::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>(); } void Ifc4x3_add2::IfcRelConnectsElements::setConnectionGeometry(const ::Ifc4x3_add2::IfcConnectionGeometry& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcElement Ifc4x3_add2::IfcRelConnectsElements::RelatingElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcElement>(); } +::Ifc4x3_add2::IfcElement Ifc4x3_add2::IfcRelConnectsElements::RelatingElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcElement>(); } void Ifc4x3_add2::IfcRelConnectsElements::setRelatingElement(const ::Ifc4x3_add2::IfcElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add2::IfcElement Ifc4x3_add2::IfcRelConnectsElements::RelatedElement() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcElement>(); } +::Ifc4x3_add2::IfcElement Ifc4x3_add2::IfcRelConnectsElements::RelatedElement() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcElement>(); } void Ifc4x3_add2::IfcRelConnectsElements::setRelatedElement(const ::Ifc4x3_add2::IfcElement& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -13799,9 +13799,9 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcRelConnectsPathElements::Class() { r 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< int64_t > /*[0:?]*/ v8_RelatingPriorities, std::vector< int64_t > /*[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>(); } +::Ifc4x3_add2::IfcPort Ifc4x3_add2::IfcRelConnectsPortToElement::RelatingPort() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcPort>(); } void Ifc4x3_add2::IfcRelConnectsPortToElement::setRelatingPort(const ::Ifc4x3_add2::IfcPort& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcDistributionElement Ifc4x3_add2::IfcRelConnectsPortToElement::RelatedElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcDistributionElement>(); } +::Ifc4x3_add2::IfcDistributionElement Ifc4x3_add2::IfcRelConnectsPortToElement::RelatedElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcDistributionElement>(); } void Ifc4x3_add2::IfcRelConnectsPortToElement::setRelatedElement(const ::Ifc4x3_add2::IfcDistributionElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -13809,11 +13809,11 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcRelConnectsPortToElement::Class() { 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>(); } +::Ifc4x3_add2::IfcPort Ifc4x3_add2::IfcRelConnectsPorts::RelatingPort() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcPort>(); } void Ifc4x3_add2::IfcRelConnectsPorts::setRelatingPort(const ::Ifc4x3_add2::IfcPort& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcPort Ifc4x3_add2::IfcRelConnectsPorts::RelatedPort() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcPort>(); } +::Ifc4x3_add2::IfcPort Ifc4x3_add2::IfcRelConnectsPorts::RelatedPort() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcPort>(); } void Ifc4x3_add2::IfcRelConnectsPorts::setRelatedPort(const ::Ifc4x3_add2::IfcPort& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add2::IfcElement Ifc4x3_add2::IfcRelConnectsPorts::RealizingElement() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcElement{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcElement>(); } +::Ifc4x3_add2::IfcElement Ifc4x3_add2::IfcRelConnectsPorts::RealizingElement() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcElement{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcElement>(); } void Ifc4x3_add2::IfcRelConnectsPorts::setRealizingElement(const ::Ifc4x3_add2::IfcElement& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -13821,9 +13821,9 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcRelConnectsPorts::Class() { return * 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>(); } +::Ifc4x3_add2::IfcStructuralActivityAssignmentSelect Ifc4x3_add2::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcStructuralActivityAssignmentSelect>(); } void Ifc4x3_add2::IfcRelConnectsStructuralActivity::setRelatingElement(const ::Ifc4x3_add2::IfcStructuralActivityAssignmentSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcStructuralActivity Ifc4x3_add2::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcStructuralActivity>(); } +::Ifc4x3_add2::IfcStructuralActivity Ifc4x3_add2::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcStructuralActivity>(); } void Ifc4x3_add2::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(const ::Ifc4x3_add2::IfcStructuralActivity& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -13831,17 +13831,17 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcRelConnectsStructuralActivity::Class 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>(); } +::Ifc4x3_add2::IfcStructuralMember Ifc4x3_add2::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcStructuralMember>(); } void Ifc4x3_add2::IfcRelConnectsStructuralMember::setRelatingStructuralMember(const ::Ifc4x3_add2::IfcStructuralMember& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcStructuralConnection Ifc4x3_add2::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcStructuralConnection>(); } +::Ifc4x3_add2::IfcStructuralConnection Ifc4x3_add2::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcStructuralConnection>(); } void Ifc4x3_add2::IfcRelConnectsStructuralMember::setRelatedStructuralConnection(const ::Ifc4x3_add2::IfcStructuralConnection& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add2::IfcBoundaryCondition Ifc4x3_add2::IfcRelConnectsStructuralMember::AppliedCondition() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcBoundaryCondition{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcBoundaryCondition>(); } +::Ifc4x3_add2::IfcBoundaryCondition Ifc4x3_add2::IfcRelConnectsStructuralMember::AppliedCondition() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcBoundaryCondition{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcBoundaryCondition>(); } void Ifc4x3_add2::IfcRelConnectsStructuralMember::setAppliedCondition(const ::Ifc4x3_add2::IfcBoundaryCondition& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_add2::IfcStructuralConnectionCondition Ifc4x3_add2::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_add2::IfcStructuralConnectionCondition{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_add2::IfcStructuralConnectionCondition>(); } +::Ifc4x3_add2::IfcStructuralConnectionCondition Ifc4x3_add2::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_add2::IfcStructuralConnectionCondition{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_add2::IfcStructuralConnectionCondition>(); } void Ifc4x3_add2::IfcRelConnectsStructuralMember::setAdditionalConditions(const ::Ifc4x3_add2::IfcStructuralConnectionCondition& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } std::optional< double > Ifc4x3_add2::IfcRelConnectsStructuralMember::SupportedLength() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcRelConnectsStructuralMember::setSupportedLength(const std::optional< double >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_add2::IfcAxis2Placement3D Ifc4x3_add2::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_add2::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_add2::IfcAxis2Placement3D>(); } +::Ifc4x3_add2::IfcAxis2Placement3D Ifc4x3_add2::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_add2::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_add2::IfcAxis2Placement3D>(); } void Ifc4x3_add2::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(const ::Ifc4x3_add2::IfcAxis2Placement3D& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } @@ -13849,7 +13849,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcRelConnectsStructuralMember::Class() 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>(); } +::Ifc4x3_add2::IfcConnectionGeometry Ifc4x3_add2::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((express::base)(get_attribute_value(10))).as<::Ifc4x3_add2::IfcConnectionGeometry>(); } void Ifc4x3_add2::IfcRelConnectsWithEccentricity::setConnectionConstraint(const ::Ifc4x3_add2::IfcConnectionGeometry& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } @@ -13857,54 +13857,54 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcRelConnectsWithEccentricity::Class() 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); } -void Ifc4x3_add2::IfcRelConnectsWithRealizingElements::setRealizingElements(const std::vector< ::Ifc4x3_add2::IfcElement >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } +std::vector< ::Ifc4x3_add2::IfcElement > Ifc4x3_add2::IfcRelConnectsWithRealizingElements::RealizingElements() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_add2::IfcElement>(es); } +void Ifc4x3_add2::IfcRelConnectsWithRealizingElements::setRealizingElements(const std::vector< ::Ifc4x3_add2::IfcElement >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } std::optional< std::string > Ifc4x3_add2::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcRelConnectsWithRealizingElements::setConnectionType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const ifcopenshell::entity& Ifc4x3_add2::IfcRelConnectsWithRealizingElements::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[925]); } -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; } +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); } -void Ifc4x3_add2::IfcRelContainedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4x3_add2::IfcProduct >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcSpatialElement Ifc4x3_add2::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcSpatialElement>(); } +std::vector< ::Ifc4x3_add2::IfcProduct > Ifc4x3_add2::IfcRelContainedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add2::IfcProduct>(es); } +void Ifc4x3_add2::IfcRelContainedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4x3_add2::IfcProduct >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_add2::IfcSpatialElement Ifc4x3_add2::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcSpatialElement>(); } void Ifc4x3_add2::IfcRelContainedInSpatialStructure::setRelatingStructure(const ::Ifc4x3_add2::IfcSpatialElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_add2::IfcRelContainedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[926]); } -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; } +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>(); } +::Ifc4x3_add2::IfcElement Ifc4x3_add2::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcElement>(); } void Ifc4x3_add2::IfcRelCoversBldgElements::setRelatingBuildingElement(const ::Ifc4x3_add2::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_add2::IfcCovering > Ifc4x3_add2::IfcRelCoversBldgElements::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_add2::IfcCovering>(es); } -void Ifc4x3_add2::IfcRelCoversBldgElements::setRelatedCoverings(const std::vector< ::Ifc4x3_add2::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_add2::IfcCovering > Ifc4x3_add2::IfcRelCoversBldgElements::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_add2::IfcCovering>(es); } +void Ifc4x3_add2::IfcRelCoversBldgElements::setRelatedCoverings(const std::vector< ::Ifc4x3_add2::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_add2::IfcRelCoversBldgElements::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[927]); } -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; } +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>(); } +::Ifc4x3_add2::IfcSpace Ifc4x3_add2::IfcRelCoversSpaces::RelatingSpace() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcSpace>(); } void Ifc4x3_add2::IfcRelCoversSpaces::setRelatingSpace(const ::Ifc4x3_add2::IfcSpace& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_add2::IfcCovering > Ifc4x3_add2::IfcRelCoversSpaces::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_add2::IfcCovering>(es); } -void Ifc4x3_add2::IfcRelCoversSpaces::setRelatedCoverings(const std::vector< ::Ifc4x3_add2::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_add2::IfcCovering > Ifc4x3_add2::IfcRelCoversSpaces::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_add2::IfcCovering>(es); } +void Ifc4x3_add2::IfcRelCoversSpaces::setRelatedCoverings(const std::vector< ::Ifc4x3_add2::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_add2::IfcRelCoversSpaces::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[928]); } -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; } +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>(); } +::Ifc4x3_add2::IfcContext Ifc4x3_add2::IfcRelDeclares::RelatingContext() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcContext>(); } void Ifc4x3_add2::IfcRelDeclares::setRelatingContext(const ::Ifc4x3_add2::IfcContext& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > Ifc4x3_add2::IfcRelDeclares::RelatedDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_add2::IfcDefinitionSelect>(es); } -void Ifc4x3_add2::IfcRelDeclares::setRelatedDefinitions(const std::vector< ::Ifc4x3_add2::IfcDefinitionSelect >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > Ifc4x3_add2::IfcRelDeclares::RelatedDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_add2::IfcDefinitionSelect>(es); } +void Ifc4x3_add2::IfcRelDeclares::setRelatedDefinitions(const std::vector< ::Ifc4x3_add2::IfcDefinitionSelect >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_add2::IfcRelDeclares::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[929]); } -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; } +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 @@ -13919,49 +13919,49 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcRelDefines::Class() { return *((ifco 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); } -void Ifc4x3_add2::IfcRelDefinesByObject::setRelatedObjects(const std::vector< ::Ifc4x3_add2::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcObject Ifc4x3_add2::IfcRelDefinesByObject::RelatingObject() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcObject>(); } +std::vector< ::Ifc4x3_add2::IfcObject > Ifc4x3_add2::IfcRelDefinesByObject::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add2::IfcObject>(es); } +void Ifc4x3_add2::IfcRelDefinesByObject::setRelatedObjects(const std::vector< ::Ifc4x3_add2::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_add2::IfcObject Ifc4x3_add2::IfcRelDefinesByObject::RelatingObject() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcObject>(); } void Ifc4x3_add2::IfcRelDefinesByObject::setRelatingObject(const ::Ifc4x3_add2::IfcObject& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_add2::IfcRelDefinesByObject::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[932]); } -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; } +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); } -void Ifc4x3_add2::IfcRelDefinesByProperties::setRelatedObjects(const std::vector< ::Ifc4x3_add2::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcPropertySetDefinitionSelect Ifc4x3_add2::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcPropertySetDefinitionSelect>(); } +std::vector< ::Ifc4x3_add2::IfcObjectDefinition > Ifc4x3_add2::IfcRelDefinesByProperties::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add2::IfcObjectDefinition>(es); } +void Ifc4x3_add2::IfcRelDefinesByProperties::setRelatedObjects(const std::vector< ::Ifc4x3_add2::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_add2::IfcPropertySetDefinitionSelect Ifc4x3_add2::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcPropertySetDefinitionSelect>(); } void Ifc4x3_add2::IfcRelDefinesByProperties::setRelatingPropertyDefinition(const ::Ifc4x3_add2::IfcPropertySetDefinitionSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_add2::IfcRelDefinesByProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[933]); } -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; } +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); } -void Ifc4x3_add2::IfcRelDefinesByTemplate::setRelatedPropertySets(const std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcPropertySetTemplate Ifc4x3_add2::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcPropertySetTemplate>(); } +std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > Ifc4x3_add2::IfcRelDefinesByTemplate::RelatedPropertySets() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add2::IfcPropertySetDefinition>(es); } +void Ifc4x3_add2::IfcRelDefinesByTemplate::setRelatedPropertySets(const std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_add2::IfcPropertySetTemplate Ifc4x3_add2::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcPropertySetTemplate>(); } void Ifc4x3_add2::IfcRelDefinesByTemplate::setRelatingTemplate(const ::Ifc4x3_add2::IfcPropertySetTemplate& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_add2::IfcRelDefinesByTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[934]); } -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; } +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); } -void Ifc4x3_add2::IfcRelDefinesByType::setRelatedObjects(const std::vector< ::Ifc4x3_add2::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcTypeObject Ifc4x3_add2::IfcRelDefinesByType::RelatingType() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcTypeObject>(); } +std::vector< ::Ifc4x3_add2::IfcObject > Ifc4x3_add2::IfcRelDefinesByType::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add2::IfcObject>(es); } +void Ifc4x3_add2::IfcRelDefinesByType::setRelatedObjects(const std::vector< ::Ifc4x3_add2::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_add2::IfcTypeObject Ifc4x3_add2::IfcRelDefinesByType::RelatingType() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcTypeObject>(); } void Ifc4x3_add2::IfcRelDefinesByType::setRelatingType(const ::Ifc4x3_add2::IfcTypeObject& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_add2::IfcRelDefinesByType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[935]); } -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; } +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>(); } +::Ifc4x3_add2::IfcOpeningElement Ifc4x3_add2::IfcRelFillsElement::RelatingOpeningElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcOpeningElement>(); } void Ifc4x3_add2::IfcRelFillsElement::setRelatingOpeningElement(const ::Ifc4x3_add2::IfcOpeningElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcElement Ifc4x3_add2::IfcRelFillsElement::RelatedBuildingElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcElement>(); } +::Ifc4x3_add2::IfcElement Ifc4x3_add2::IfcRelFillsElement::RelatedBuildingElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcElement>(); } void Ifc4x3_add2::IfcRelFillsElement::setRelatedBuildingElement(const ::Ifc4x3_add2::IfcElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -13969,27 +13969,27 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcRelFillsElement::Class() { return *( 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); } -void Ifc4x3_add2::IfcRelFlowControlElements::setRelatedControlElements(const std::vector< ::Ifc4x3_add2::IfcDistributionControlElement >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcDistributionFlowElement Ifc4x3_add2::IfcRelFlowControlElements::RelatingFlowElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcDistributionFlowElement>(); } +std::vector< ::Ifc4x3_add2::IfcDistributionControlElement > Ifc4x3_add2::IfcRelFlowControlElements::RelatedControlElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add2::IfcDistributionControlElement>(es); } +void Ifc4x3_add2::IfcRelFlowControlElements::setRelatedControlElements(const std::vector< ::Ifc4x3_add2::IfcDistributionControlElement >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_add2::IfcDistributionFlowElement Ifc4x3_add2::IfcRelFlowControlElements::RelatingFlowElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcDistributionFlowElement>(); } void Ifc4x3_add2::IfcRelFlowControlElements::setRelatingFlowElement(const ::Ifc4x3_add2::IfcDistributionFlowElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_add2::IfcRelFlowControlElements::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[937]); } -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; } +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>(); } +::Ifc4x3_add2::IfcInterferenceSelect Ifc4x3_add2::IfcRelInterferesElements::RelatingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcInterferenceSelect>(); } void Ifc4x3_add2::IfcRelInterferesElements::setRelatingElement(const ::Ifc4x3_add2::IfcInterferenceSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcInterferenceSelect Ifc4x3_add2::IfcRelInterferesElements::RelatedElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcInterferenceSelect>(); } +::Ifc4x3_add2::IfcInterferenceSelect Ifc4x3_add2::IfcRelInterferesElements::RelatedElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcInterferenceSelect>(); } void Ifc4x3_add2::IfcRelInterferesElements::setRelatedElement(const ::Ifc4x3_add2::IfcInterferenceSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add2::IfcConnectionGeometry Ifc4x3_add2::IfcRelInterferesElements::InterferenceGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcConnectionGeometry{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcConnectionGeometry>(); } +::Ifc4x3_add2::IfcConnectionGeometry Ifc4x3_add2::IfcRelInterferesElements::InterferenceGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcConnectionGeometry{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcConnectionGeometry>(); } void Ifc4x3_add2::IfcRelInterferesElements::setInterferenceGeometry(const ::Ifc4x3_add2::IfcConnectionGeometry& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< std::string > Ifc4x3_add2::IfcRelInterferesElements::InterferenceType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcRelInterferesElements::setInterferenceType(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } boost::logic::tribool Ifc4x3_add2::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcRelInterferesElements::setImpliedOrder(const boost::logic::tribool& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_add2::IfcSpatialZone Ifc4x3_add2::IfcRelInterferesElements::InterferenceSpace() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_add2::IfcSpatialZone{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_add2::IfcSpatialZone>(); } +::Ifc4x3_add2::IfcSpatialZone Ifc4x3_add2::IfcRelInterferesElements::InterferenceSpace() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_add2::IfcSpatialZone{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_add2::IfcSpatialZone>(); } void Ifc4x3_add2::IfcRelInterferesElements::setInterferenceSpace(const ::Ifc4x3_add2::IfcSpatialZone& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } @@ -13997,29 +13997,29 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcRelInterferesElements::Class() { ret 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>(); } +::Ifc4x3_add2::IfcObjectDefinition Ifc4x3_add2::IfcRelNests::RelatingObject() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcObjectDefinition>(); } void Ifc4x3_add2::IfcRelNests::setRelatingObject(const ::Ifc4x3_add2::IfcObjectDefinition& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_add2::IfcObjectDefinition > Ifc4x3_add2::IfcRelNests::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_add2::IfcObjectDefinition>(es); } -void Ifc4x3_add2::IfcRelNests::setRelatedObjects(const std::vector< ::Ifc4x3_add2::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_add2::IfcObjectDefinition > Ifc4x3_add2::IfcRelNests::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_add2::IfcObjectDefinition>(es); } +void Ifc4x3_add2::IfcRelNests::setRelatedObjects(const std::vector< ::Ifc4x3_add2::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_add2::IfcRelNests::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[939]); } -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; } +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>(); } +::Ifc4x3_add2::IfcPositioningElement Ifc4x3_add2::IfcRelPositions::RelatingPositioningElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcPositioningElement>(); } void Ifc4x3_add2::IfcRelPositions::setRelatingPositioningElement(const ::Ifc4x3_add2::IfcPositioningElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_add2::IfcProduct > Ifc4x3_add2::IfcRelPositions::RelatedProducts() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_add2::IfcProduct>(es); } -void Ifc4x3_add2::IfcRelPositions::setRelatedProducts(const std::vector< ::Ifc4x3_add2::IfcProduct >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_add2::IfcProduct > Ifc4x3_add2::IfcRelPositions::RelatedProducts() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_add2::IfcProduct>(es); } +void Ifc4x3_add2::IfcRelPositions::setRelatedProducts(const std::vector< ::Ifc4x3_add2::IfcProduct >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_add2::IfcRelPositions::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[940]); } -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; } +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>(); } +::Ifc4x3_add2::IfcElement Ifc4x3_add2::IfcRelProjectsElement::RelatingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcElement>(); } void Ifc4x3_add2::IfcRelProjectsElement::setRelatingElement(const ::Ifc4x3_add2::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcFeatureElementAddition Ifc4x3_add2::IfcRelProjectsElement::RelatedFeatureElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcFeatureElementAddition>(); } +::Ifc4x3_add2::IfcFeatureElementAddition Ifc4x3_add2::IfcRelProjectsElement::RelatedFeatureElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcFeatureElementAddition>(); } void Ifc4x3_add2::IfcRelProjectsElement::setRelatedFeatureElement(const ::Ifc4x3_add2::IfcFeatureElementAddition& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -14027,21 +14027,21 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcRelProjectsElement::Class() { return 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); } -void Ifc4x3_add2::IfcRelReferencedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4x3_add2::IfcSpatialReferenceSelect >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcSpatialElement Ifc4x3_add2::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcSpatialElement>(); } +std::vector< ::Ifc4x3_add2::IfcSpatialReferenceSelect > Ifc4x3_add2::IfcRelReferencedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add2::IfcSpatialReferenceSelect>(es); } +void Ifc4x3_add2::IfcRelReferencedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4x3_add2::IfcSpatialReferenceSelect >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_add2::IfcSpatialElement Ifc4x3_add2::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcSpatialElement>(); } void Ifc4x3_add2::IfcRelReferencedInSpatialStructure::setRelatingStructure(const ::Ifc4x3_add2::IfcSpatialElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_add2::IfcRelReferencedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[942]); } -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; } +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>(); } +::Ifc4x3_add2::IfcProcess Ifc4x3_add2::IfcRelSequence::RelatingProcess() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcProcess>(); } void Ifc4x3_add2::IfcRelSequence::setRelatingProcess(const ::Ifc4x3_add2::IfcProcess& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcProcess Ifc4x3_add2::IfcRelSequence::RelatedProcess() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcProcess>(); } +::Ifc4x3_add2::IfcProcess Ifc4x3_add2::IfcRelSequence::RelatedProcess() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcProcess>(); } void Ifc4x3_add2::IfcRelSequence::setRelatedProcess(const ::Ifc4x3_add2::IfcProcess& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add2::IfcLagTime Ifc4x3_add2::IfcRelSequence::TimeLag() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcLagTime{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcLagTime>(); } +::Ifc4x3_add2::IfcLagTime Ifc4x3_add2::IfcRelSequence::TimeLag() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcLagTime{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcLagTime>(); } void Ifc4x3_add2::IfcRelSequence::setTimeLag(const ::Ifc4x3_add2::IfcLagTime& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< ::Ifc4x3_add2::IfcSequenceEnum::Value > Ifc4x3_add2::IfcRelSequence::SequenceType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcSequenceEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add2::IfcRelSequence::setSequenceType(const std::optional< ::Ifc4x3_add2::IfcSequenceEnum::Value >& v) { if (v) {set_attribute_value(7, enumeration_reference(&::Ifc4x3_add2::IfcSequenceEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } @@ -14053,21 +14053,21 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcRelSequence::Class() { return *((ifc 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>(); } +::Ifc4x3_add2::IfcSystem Ifc4x3_add2::IfcRelServicesBuildings::RelatingSystem() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcSystem>(); } void Ifc4x3_add2::IfcRelServicesBuildings::setRelatingSystem(const ::Ifc4x3_add2::IfcSystem& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_add2::IfcSpatialElement > Ifc4x3_add2::IfcRelServicesBuildings::RelatedBuildings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_add2::IfcSpatialElement>(es); } -void Ifc4x3_add2::IfcRelServicesBuildings::setRelatedBuildings(const std::vector< ::Ifc4x3_add2::IfcSpatialElement >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_add2::IfcSpatialElement > Ifc4x3_add2::IfcRelServicesBuildings::RelatedBuildings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_add2::IfcSpatialElement>(es); } +void Ifc4x3_add2::IfcRelServicesBuildings::setRelatedBuildings(const std::vector< ::Ifc4x3_add2::IfcSpatialElement >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_add2::IfcRelServicesBuildings::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[944]); } -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; } +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>(); } +::Ifc4x3_add2::IfcSpaceBoundarySelect Ifc4x3_add2::IfcRelSpaceBoundary::RelatingSpace() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcSpaceBoundarySelect>(); } void Ifc4x3_add2::IfcRelSpaceBoundary::setRelatingSpace(const ::Ifc4x3_add2::IfcSpaceBoundarySelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcElement Ifc4x3_add2::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcElement>(); } +::Ifc4x3_add2::IfcElement Ifc4x3_add2::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcElement>(); } void Ifc4x3_add2::IfcRelSpaceBoundary::setRelatedBuildingElement(const ::Ifc4x3_add2::IfcElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add2::IfcConnectionGeometry Ifc4x3_add2::IfcRelSpaceBoundary::ConnectionGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcConnectionGeometry{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcConnectionGeometry>(); } +::Ifc4x3_add2::IfcConnectionGeometry Ifc4x3_add2::IfcRelSpaceBoundary::ConnectionGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcConnectionGeometry{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcConnectionGeometry>(); } void Ifc4x3_add2::IfcRelSpaceBoundary::setConnectionGeometry(const ::Ifc4x3_add2::IfcConnectionGeometry& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } ::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Value Ifc4x3_add2::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add2::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(const ::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } @@ -14079,7 +14079,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcRelSpaceBoundary::Class() { return * 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>(); } +::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>(); } void Ifc4x3_add2::IfcRelSpaceBoundary1stLevel::setParentBoundary(const ::Ifc4x3_add2::IfcRelSpaceBoundary1stLevel& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::vector<::Ifc4x3_add2::IfcRelSpaceBoundary1stLevel> Ifc4x3_add2::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[946], 9)); } @@ -14088,7 +14088,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcRelSpaceBoundary1stLevel::Class() { 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>(); } +::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>(); } void Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(const ::Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } std::vector<::Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel> Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[947], 10)); } @@ -14097,9 +14097,9 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel::Class() { 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>(); } +::Ifc4x3_add2::IfcElement Ifc4x3_add2::IfcRelVoidsElement::RelatingBuildingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcElement>(); } void Ifc4x3_add2::IfcRelVoidsElement::setRelatingBuildingElement(const ::Ifc4x3_add2::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcFeatureElementSubtraction Ifc4x3_add2::IfcRelVoidsElement::RelatedOpeningElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcFeatureElementSubtraction>(); } +::Ifc4x3_add2::IfcFeatureElementSubtraction Ifc4x3_add2::IfcRelVoidsElement::RelatedOpeningElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcFeatureElementSubtraction>(); } void Ifc4x3_add2::IfcRelVoidsElement::setRelatedOpeningElement(const ::Ifc4x3_add2::IfcFeatureElementSubtraction& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -14121,21 +14121,21 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcReparametrisedCompositeCurveSegment: 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>(); } +::Ifc4x3_add2::IfcRepresentationContext Ifc4x3_add2::IfcRepresentation::ContextOfItems() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcRepresentationContext>(); } void Ifc4x3_add2::IfcRepresentation::setContextOfItems(const ::Ifc4x3_add2::IfcRepresentationContext& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x3_add2::IfcRepresentation::RepresentationIdentifier() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcRepresentation::setRepresentationIdentifier(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x3_add2::IfcRepresentation::RepresentationType() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcRepresentation::setRepresentationType(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector< ::Ifc4x3_add2::IfcRepresentationItem > Ifc4x3_add2::IfcRepresentation::Items() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_add2::IfcRepresentationItem>(es); } -void Ifc4x3_add2::IfcRepresentation::setItems(const std::vector< ::Ifc4x3_add2::IfcRepresentationItem >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_add2::IfcRepresentationItem > Ifc4x3_add2::IfcRepresentation::Items() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_add2::IfcRepresentationItem>(es); } +void Ifc4x3_add2::IfcRepresentation::setItems(const std::vector< ::Ifc4x3_add2::IfcRepresentationItem >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } std::vector<::Ifc4x3_add2::IfcRepresentationMap> Ifc4x3_add2::IfcRepresentation::RepresentationMap() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[953], 1)); } std::vector<::Ifc4x3_add2::IfcPresentationLayerAssignment> Ifc4x3_add2::IfcRepresentation::LayerAssignments() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[791], 2)); } 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]); } -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; } +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; } @@ -14157,9 +14157,9 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcRepresentationItem::Class() { return 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>(); } +::Ifc4x3_add2::IfcAxis2Placement Ifc4x3_add2::IfcRepresentationMap::MappingOrigin() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcAxis2Placement>(); } void Ifc4x3_add2::IfcRepresentationMap::setMappingOrigin(const ::Ifc4x3_add2::IfcAxis2Placement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcRepresentation Ifc4x3_add2::IfcRepresentationMap::MappedRepresentation() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcRepresentation>(); } +::Ifc4x3_add2::IfcRepresentation Ifc4x3_add2::IfcRepresentationMap::MappedRepresentation() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcRepresentation>(); } void Ifc4x3_add2::IfcRepresentationMap::setMappedRepresentation(const ::Ifc4x3_add2::IfcRepresentation& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::vector<::Ifc4x3_add2::IfcShapeAspect> Ifc4x3_add2::IfcRepresentationMap::HasShapeAspects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[1006], 4)); } @@ -14180,24 +14180,24 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcResource::Class() { return *((ifcope 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); } -void Ifc4x3_add2::IfcResourceApprovalRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x3_add2::IfcResourceObjectSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcApproval Ifc4x3_add2::IfcResourceApprovalRelationship::RelatingApproval() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcApproval>(); } +std::vector< ::Ifc4x3_add2::IfcResourceObjectSelect > Ifc4x3_add2::IfcResourceApprovalRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcResourceObjectSelect>(es); } +void Ifc4x3_add2::IfcResourceApprovalRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x3_add2::IfcResourceObjectSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +::Ifc4x3_add2::IfcApproval Ifc4x3_add2::IfcResourceApprovalRelationship::RelatingApproval() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcApproval>(); } void Ifc4x3_add2::IfcResourceApprovalRelationship::setRelatingApproval(const ::Ifc4x3_add2::IfcApproval& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_add2::IfcResourceApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[955]); } -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; } +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>(); } +::Ifc4x3_add2::IfcConstraint Ifc4x3_add2::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcConstraint>(); } void Ifc4x3_add2::IfcResourceConstraintRelationship::setRelatingConstraint(const ::Ifc4x3_add2::IfcConstraint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_add2::IfcResourceObjectSelect > Ifc4x3_add2::IfcResourceConstraintRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_add2::IfcResourceObjectSelect>(es); } -void Ifc4x3_add2::IfcResourceConstraintRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x3_add2::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_add2::IfcResourceObjectSelect > Ifc4x3_add2::IfcResourceConstraintRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_add2::IfcResourceObjectSelect>(es); } +void Ifc4x3_add2::IfcResourceConstraintRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x3_add2::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_add2::IfcResourceConstraintRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[956]); } -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; } +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; } @@ -14246,7 +14246,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcResourceTime::Class() { return *((if 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>(); } +::Ifc4x3_add2::IfcAxis1Placement Ifc4x3_add2::IfcRevolvedAreaSolid::Axis() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcAxis1Placement>(); } void Ifc4x3_add2::IfcRevolvedAreaSolid::setAxis(const ::Ifc4x3_add2::IfcAxis1Placement& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc4x3_add2::IfcRevolvedAreaSolid::Angle() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcRevolvedAreaSolid::setAngle(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -14256,7 +14256,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcRevolvedAreaSolid::Class() { return 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>(); } +::Ifc4x3_add2::IfcProfileDef Ifc4x3_add2::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcProfileDef>(); } void Ifc4x3_add2::IfcRevolvedAreaSolidTapered::setEndSweptArea(const ::Ifc4x3_add2::IfcProfileDef& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -14284,9 +14284,9 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcRightCircularCylinder::Class() { ret 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>(); } +::Ifc4x3_add2::IfcMeasureValue Ifc4x3_add2::IfcRigidOperation::FirstCoordinate() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcMeasureValue>(); } void Ifc4x3_add2::IfcRigidOperation::setFirstCoordinate(const ::Ifc4x3_add2::IfcMeasureValue& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcMeasureValue Ifc4x3_add2::IfcRigidOperation::SecondCoordinate() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcMeasureValue>(); } +::Ifc4x3_add2::IfcMeasureValue Ifc4x3_add2::IfcRigidOperation::SecondCoordinate() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcMeasureValue>(); } void Ifc4x3_add2::IfcRigidOperation::setSecondCoordinate(const ::Ifc4x3_add2::IfcMeasureValue& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< double > Ifc4x3_add2::IfcRigidOperation::Height() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcRigidOperation::setHeight(const std::optional< double >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -14325,12 +14325,12 @@ void Ifc4x3_add2::IfcRoofType::setPredefinedType(const ::Ifc4x3_add2::IfcRoofTyp const ifcopenshell::entity& Ifc4x3_add2::IfcRoofType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[972]); } -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; } +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; } void Ifc4x3_add2::IfcRoot::setGlobalId(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcOwnerHistory Ifc4x3_add2::IfcRoot::OwnerHistory() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add2::IfcOwnerHistory{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcOwnerHistory>(); } +::Ifc4x3_add2::IfcOwnerHistory Ifc4x3_add2::IfcRoot::OwnerHistory() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add2::IfcOwnerHistory{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcOwnerHistory>(); } void Ifc4x3_add2::IfcRoot::setOwnerHistory(const ::Ifc4x3_add2::IfcOwnerHistory& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_add2::IfcRoot::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcRoot::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } @@ -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]); } -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; } +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; } @@ -14391,7 +14391,7 @@ Ifc4x3_add2::IfcSchedulingTime Ifc4x3_add2::IfcSchedulingTime::initialize(std::o const ifcopenshell::entity& Ifc4x3_add2::IfcSeamCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[984]); } -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; } +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; } @@ -14408,9 +14408,9 @@ Ifc4x3_add2::IfcSecondOrderPolynomialSpiral Ifc4x3_add2::IfcSecondOrderPolynomia // Function implementations for IfcSectionProperties ::Ifc4x3_add2::IfcSectionTypeEnum::Value Ifc4x3_add2::IfcSectionProperties::SectionType() const { return ::Ifc4x3_add2::IfcSectionTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3_add2::IfcSectionProperties::setSectionType(const ::Ifc4x3_add2::IfcSectionTypeEnum::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc4x3_add2::IfcSectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcProfileDef Ifc4x3_add2::IfcSectionProperties::StartProfile() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcProfileDef>(); } +::Ifc4x3_add2::IfcProfileDef Ifc4x3_add2::IfcSectionProperties::StartProfile() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcProfileDef>(); } void Ifc4x3_add2::IfcSectionProperties::setStartProfile(const ::Ifc4x3_add2::IfcProfileDef& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcProfileDef Ifc4x3_add2::IfcSectionProperties::EndProfile() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcProfileDef{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcProfileDef>(); } +::Ifc4x3_add2::IfcProfileDef Ifc4x3_add2::IfcSectionProperties::EndProfile() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcProfileDef{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcProfileDef>(); } void Ifc4x3_add2::IfcSectionProperties::setEndProfile(const ::Ifc4x3_add2::IfcProfileDef& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -14426,56 +14426,56 @@ std::optional< double > Ifc4x3_add2::IfcSectionReinforcementProperties::Transver void Ifc4x3_add2::IfcSectionReinforcementProperties::setTransversePosition(const std::optional< double >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_add2::IfcReinforcingBarRoleEnum::Value Ifc4x3_add2::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x3_add2::IfcReinforcingBarRoleEnum::FromString(get_attribute_value(3)); } void Ifc4x3_add2::IfcSectionReinforcementProperties::setReinforcementRole(const ::Ifc4x3_add2::IfcReinforcingBarRoleEnum::Value& v) { set_attribute_value(3, enumeration_reference(&::Ifc4x3_add2::IfcReinforcingBarRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add2::IfcSectionProperties Ifc4x3_add2::IfcSectionReinforcementProperties::SectionDefinition() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcSectionProperties>(); } +::Ifc4x3_add2::IfcSectionProperties Ifc4x3_add2::IfcSectionReinforcementProperties::SectionDefinition() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcSectionProperties>(); } void Ifc4x3_add2::IfcSectionReinforcementProperties::setSectionDefinition(const ::Ifc4x3_add2::IfcSectionProperties& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_add2::IfcReinforcementBarProperties > Ifc4x3_add2::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_add2::IfcReinforcementBarProperties>(es); } -void Ifc4x3_add2::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(const std::vector< ::Ifc4x3_add2::IfcReinforcementBarProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_add2::IfcReinforcementBarProperties > Ifc4x3_add2::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_add2::IfcReinforcementBarProperties>(es); } +void Ifc4x3_add2::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(const std::vector< ::Ifc4x3_add2::IfcReinforcementBarProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_add2::IfcSectionReinforcementProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[993]); } -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; } +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>(); } +::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcSectionedSolid::Directrix() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCurve>(); } void Ifc4x3_add2::IfcSectionedSolid::setDirectrix(const ::Ifc4x3_add2::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_add2::IfcProfileDef > Ifc4x3_add2::IfcSectionedSolid::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcProfileDef>(es); } -void Ifc4x3_add2::IfcSectionedSolid::setCrossSections(const std::vector< ::Ifc4x3_add2::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_add2::IfcProfileDef > Ifc4x3_add2::IfcSectionedSolid::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcProfileDef>(es); } +void Ifc4x3_add2::IfcSectionedSolid::setCrossSections(const std::vector< ::Ifc4x3_add2::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_add2::IfcSectionedSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[987]); } -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; } +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); } -void Ifc4x3_add2::IfcSectionedSolidHorizontal::setCrossSectionPositions(const std::vector< ::Ifc4x3_add2::IfcAxis2PlacementLinear >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_add2::IfcAxis2PlacementLinear > Ifc4x3_add2::IfcSectionedSolidHorizontal::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcAxis2PlacementLinear>(es); } +void Ifc4x3_add2::IfcSectionedSolidHorizontal::setCrossSectionPositions(const std::vector< ::Ifc4x3_add2::IfcAxis2PlacementLinear >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_add2::IfcSectionedSolidHorizontal::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[988]); } -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; } +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>(); } +::Ifc4x3_add2::IfcCompositeCurve Ifc4x3_add2::IfcSectionedSpine::SpineCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCompositeCurve>(); } void Ifc4x3_add2::IfcSectionedSpine::setSpineCurve(const ::Ifc4x3_add2::IfcCompositeCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_add2::IfcProfileDef > Ifc4x3_add2::IfcSectionedSpine::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcProfileDef>(es); } -void Ifc4x3_add2::IfcSectionedSpine::setCrossSections(const std::vector< ::Ifc4x3_add2::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x3_add2::IfcAxis2Placement3D > Ifc4x3_add2::IfcSectionedSpine::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcAxis2Placement3D>(es); } -void Ifc4x3_add2::IfcSectionedSpine::setCrossSectionPositions(const std::vector< ::Ifc4x3_add2::IfcAxis2Placement3D >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_add2::IfcProfileDef > Ifc4x3_add2::IfcSectionedSpine::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcProfileDef>(es); } +void Ifc4x3_add2::IfcSectionedSpine::setCrossSections(const std::vector< ::Ifc4x3_add2::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_add2::IfcAxis2Placement3D > Ifc4x3_add2::IfcSectionedSpine::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcAxis2Placement3D>(es); } +void Ifc4x3_add2::IfcSectionedSpine::setCrossSectionPositions(const std::vector< ::Ifc4x3_add2::IfcAxis2Placement3D >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_add2::IfcSectionedSpine::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[989]); } -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; } +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>(); } +::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcSectionedSurface::Directrix() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCurve>(); } void Ifc4x3_add2::IfcSectionedSurface::setDirectrix(const ::Ifc4x3_add2::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_add2::IfcAxis2PlacementLinear > Ifc4x3_add2::IfcSectionedSurface::CrossSectionPositions() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcAxis2PlacementLinear>(es); } -void Ifc4x3_add2::IfcSectionedSurface::setCrossSectionPositions(const std::vector< ::Ifc4x3_add2::IfcAxis2PlacementLinear >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x3_add2::IfcProfileDef > Ifc4x3_add2::IfcSectionedSurface::CrossSections() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcProfileDef>(es); } -void Ifc4x3_add2::IfcSectionedSurface::setCrossSections(const std::vector< ::Ifc4x3_add2::IfcProfileDef >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_add2::IfcAxis2PlacementLinear > Ifc4x3_add2::IfcSectionedSurface::CrossSectionPositions() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcAxis2PlacementLinear>(es); } +void Ifc4x3_add2::IfcSectionedSurface::setCrossSectionPositions(const std::vector< ::Ifc4x3_add2::IfcAxis2PlacementLinear >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_add2::IfcProfileDef > Ifc4x3_add2::IfcSectionedSurface::CrossSections() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcProfileDef>(es); } +void Ifc4x3_add2::IfcSectionedSurface::setCrossSections(const std::vector< ::Ifc4x3_add2::IfcProfileDef >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_add2::IfcSectionedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[990]); } -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; } +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)); } @@ -14487,14 +14487,14 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcSegment::Class() { return *((ifcopen 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>(); } +::Ifc4x3_add2::IfcBoundedCurve Ifc4x3_add2::IfcSegmentedReferenceCurve::BaseCurve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcBoundedCurve>(); } void Ifc4x3_add2::IfcSegmentedReferenceCurve::setBaseCurve(const ::Ifc4x3_add2::IfcBoundedCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcPlacement Ifc4x3_add2::IfcSegmentedReferenceCurve::EndPoint() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcPlacement{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcPlacement>(); } +::Ifc4x3_add2::IfcPlacement Ifc4x3_add2::IfcSegmentedReferenceCurve::EndPoint() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcPlacement{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcPlacement>(); } void Ifc4x3_add2::IfcSegmentedReferenceCurve::setEndPoint(const ::Ifc4x3_add2::IfcPlacement& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_add2::IfcSegmentedReferenceCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[996]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -14548,45 +14548,45 @@ void Ifc4x3_add2::IfcShadingDeviceType::setPredefinedType(const ::Ifc4x3_add2::I const ifcopenshell::entity& Ifc4x3_add2::IfcShadingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1004]); } -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; } +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); } -void Ifc4x3_add2::IfcShapeAspect::setShapeRepresentations(const std::vector< ::Ifc4x3_add2::IfcShapeModel >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_add2::IfcShapeModel > Ifc4x3_add2::IfcShapeAspect::ShapeRepresentations() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcShapeModel>(es); } +void Ifc4x3_add2::IfcShapeAspect::setShapeRepresentations(const std::vector< ::Ifc4x3_add2::IfcShapeModel >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x3_add2::IfcShapeAspect::Name() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcShapeAspect::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x3_add2::IfcShapeAspect::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcShapeAspect::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } boost::logic::tribool Ifc4x3_add2::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcShapeAspect::setProductDefinitional(const boost::logic::tribool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add2::IfcProductRepresentationSelect Ifc4x3_add2::IfcShapeAspect::PartOfProductDefinitionShape() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_add2::IfcProductRepresentationSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcProductRepresentationSelect>(); } +::Ifc4x3_add2::IfcProductRepresentationSelect Ifc4x3_add2::IfcShapeAspect::PartOfProductDefinitionShape() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_add2::IfcProductRepresentationSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcProductRepresentationSelect>(); } void Ifc4x3_add2::IfcShapeAspect::setPartOfProductDefinitionShape(const ::Ifc4x3_add2::IfcProductRepresentationSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } 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]); } -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; } +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]); } -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; } +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]); } -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; } +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); } -void Ifc4x3_add2::IfcShellBasedSurfaceModel::setSbsmBoundary(const std::vector< ::Ifc4x3_add2::IfcShell >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_add2::IfcShell > Ifc4x3_add2::IfcShellBasedSurfaceModel::SbsmBoundary() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcShell>(es); } +void Ifc4x3_add2::IfcShellBasedSurfaceModel::setSbsmBoundary(const std::vector< ::Ifc4x3_add2::IfcShell >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_add2::IfcShellBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1011]); } -Ifc4x3_add2::IfcShellBasedSurfaceModel Ifc4x3_add2::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_add2::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary));; return *this; } +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)); } @@ -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]); } -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; } +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)); } @@ -14618,7 +14618,7 @@ void Ifc4x3_add2::IfcSignalType::setPredefinedType(const ::Ifc4x3_add2::IfcSigna const ifcopenshell::entity& Ifc4x3_add2::IfcSignalType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1014]); } -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; } +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 @@ -14633,11 +14633,11 @@ std::optional< std::string > Ifc4x3_add2::IfcSimplePropertyTemplate::PrimaryMeas void Ifc4x3_add2::IfcSimplePropertyTemplate::setPrimaryMeasureType(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< std::string > Ifc4x3_add2::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcSimplePropertyTemplate::setSecondaryMeasureType(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_add2::IfcPropertyEnumeration Ifc4x3_add2::IfcSimplePropertyTemplate::Enumerators() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_add2::IfcPropertyEnumeration{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_add2::IfcPropertyEnumeration>(); } +::Ifc4x3_add2::IfcPropertyEnumeration Ifc4x3_add2::IfcSimplePropertyTemplate::Enumerators() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_add2::IfcPropertyEnumeration{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_add2::IfcPropertyEnumeration>(); } void Ifc4x3_add2::IfcSimplePropertyTemplate::setEnumerators(const ::Ifc4x3_add2::IfcPropertyEnumeration& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_add2::IfcUnit Ifc4x3_add2::IfcSimplePropertyTemplate::PrimaryUnit() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_add2::IfcUnit{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_add2::IfcUnit>(); } +::Ifc4x3_add2::IfcUnit Ifc4x3_add2::IfcSimplePropertyTemplate::PrimaryUnit() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_add2::IfcUnit{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_add2::IfcUnit>(); } void Ifc4x3_add2::IfcSimplePropertyTemplate::setPrimaryUnit(const ::Ifc4x3_add2::IfcUnit& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_add2::IfcUnit Ifc4x3_add2::IfcSimplePropertyTemplate::SecondaryUnit() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_add2::IfcUnit{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_add2::IfcUnit>(); } +::Ifc4x3_add2::IfcUnit Ifc4x3_add2::IfcSimplePropertyTemplate::SecondaryUnit() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_add2::IfcUnit{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_add2::IfcUnit>(); } void Ifc4x3_add2::IfcSimplePropertyTemplate::setSecondaryUnit(const ::Ifc4x3_add2::IfcUnit& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::optional< std::string > Ifc4x3_add2::IfcSimplePropertyTemplate::Expression() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcSimplePropertyTemplate::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } @@ -14669,7 +14669,7 @@ std::optional< double > Ifc4x3_add2::IfcSite::RefElevation() const { if(get_attr void Ifc4x3_add2::IfcSite::setRefElevation(const std::optional< double >& v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } std::optional< std::string > Ifc4x3_add2::IfcSite::LandTitleNumber() const { if(get_attribute_value(12).isNull()) { return std::nullopt; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_add2::IfcSite::setLandTitleNumber(const std::optional< std::string >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x3_add2::IfcPostalAddress Ifc4x3_add2::IfcSite::SiteAddress() const { if(get_attribute_value(13).isNull()) { return ::Ifc4x3_add2::IfcPostalAddress{}; } return ((express::Base)(get_attribute_value(13))).as<::Ifc4x3_add2::IfcPostalAddress>(); } +::Ifc4x3_add2::IfcPostalAddress Ifc4x3_add2::IfcSite::SiteAddress() const { if(get_attribute_value(13).isNull()) { return ::Ifc4x3_add2::IfcPostalAddress{}; } return ((express::base)(get_attribute_value(13))).as<::Ifc4x3_add2::IfcPostalAddress>(); } void Ifc4x3_add2::IfcSite::setSiteAddress(const ::Ifc4x3_add2::IfcPostalAddress& v) { set_attribute_value(13, v);if constexpr (false)unset_attribute_value(13); } @@ -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]); } -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; } +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; } @@ -14718,7 +14718,7 @@ void Ifc4x3_add2::IfcSolarDeviceType::setPredefinedType(const ::Ifc4x3_add2::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcSolarDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1033]); } -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; } +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 @@ -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]); } -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; } +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]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -14797,7 +14797,7 @@ Ifc4x3_add2::IfcSpatialStructureElement Ifc4x3_add2::IfcSpatialStructureElement: const ifcopenshell::entity& Ifc4x3_add2::IfcSpatialStructureElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1053]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -14834,7 +14834,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcSphericalSurface::Class() { return * 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>(); } +::Ifc4x3_add2::IfcAxis2Placement Ifc4x3_add2::IfcSpiral::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcAxis2Placement>(); } void Ifc4x3_add2::IfcSpiral::setPosition(const ::Ifc4x3_add2::IfcAxis2Placement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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]); } -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; } +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; } @@ -14906,7 +14906,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralAction::Class() { return * 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>(); } +::Ifc4x3_add2::IfcStructuralLoad Ifc4x3_add2::IfcStructuralActivity::AppliedLoad() const { return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_add2::IfcStructuralLoad>(); } void Ifc4x3_add2::IfcStructuralActivity::setAppliedLoad(const ::Ifc4x3_add2::IfcStructuralLoad& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value Ifc4x3_add2::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x3_add2::IfcGlobalOrLocalEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcStructuralActivity::setGlobalOrLocal(const ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value& v) { set_attribute_value(8, enumeration_reference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } @@ -14919,21 +14919,21 @@ Ifc4x3_add2::IfcStructuralActivity Ifc4x3_add2::IfcStructuralActivity::initializ // Function implementations for IfcStructuralAnalysisModel ::Ifc4x3_add2::IfcAnalysisModelTypeEnum::Value Ifc4x3_add2::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3_add2::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_add2::IfcStructuralAnalysisModel::setPredefinedType(const ::Ifc4x3_add2::IfcAnalysisModelTypeEnum::Value& v) { set_attribute_value(5, enumeration_reference(&::Ifc4x3_add2::IfcAnalysisModelTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add2::IfcAxis2Placement3D Ifc4x3_add2::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcAxis2Placement3D>(); } +::Ifc4x3_add2::IfcAxis2Placement3D Ifc4x3_add2::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcAxis2Placement3D>(); } void Ifc4x3_add2::IfcStructuralAnalysisModel::setOrientationOf2DPlane(const ::Ifc4x3_add2::IfcAxis2Placement3D& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::optional< std::vector< ::Ifc4x3_add2::IfcStructuralLoadGroup > > Ifc4x3_add2::IfcStructuralAnalysisModel::LoadedBy() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_add2::IfcStructuralLoadGroup>(es); } -void Ifc4x3_add2::IfcStructuralAnalysisModel::setLoadedBy(const std::optional< std::vector< ::Ifc4x3_add2::IfcStructuralLoadGroup > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } -std::optional< std::vector< ::Ifc4x3_add2::IfcStructuralResultGroup > > Ifc4x3_add2::IfcStructuralAnalysisModel::HasResults() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_add2::IfcStructuralResultGroup>(es); } -void Ifc4x3_add2::IfcStructuralAnalysisModel::setHasResults(const std::optional< std::vector< ::Ifc4x3_add2::IfcStructuralResultGroup > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } -::Ifc4x3_add2::IfcObjectPlacement Ifc4x3_add2::IfcStructuralAnalysisModel::SharedPlacement() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_add2::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_add2::IfcObjectPlacement>(); } +std::optional< std::vector< ::Ifc4x3_add2::IfcStructuralLoadGroup > > Ifc4x3_add2::IfcStructuralAnalysisModel::LoadedBy() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_add2::IfcStructuralLoadGroup>(es); } +void Ifc4x3_add2::IfcStructuralAnalysisModel::setLoadedBy(const std::optional< std::vector< ::Ifc4x3_add2::IfcStructuralLoadGroup > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x3_add2::IfcStructuralResultGroup > > Ifc4x3_add2::IfcStructuralAnalysisModel::HasResults() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_add2::IfcStructuralResultGroup>(es); } +void Ifc4x3_add2::IfcStructuralAnalysisModel::setHasResults(const std::optional< std::vector< ::Ifc4x3_add2::IfcStructuralResultGroup > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } +::Ifc4x3_add2::IfcObjectPlacement Ifc4x3_add2::IfcStructuralAnalysisModel::SharedPlacement() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_add2::IfcObjectPlacement{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_add2::IfcObjectPlacement>(); } void Ifc4x3_add2::IfcStructuralAnalysisModel::setSharedPlacement(const ::Ifc4x3_add2::IfcObjectPlacement& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralAnalysisModel::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1078]); } -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; } +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>(); } +::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>(); } void Ifc4x3_add2::IfcStructuralConnection::setAppliedCondition(const ::Ifc4x3_add2::IfcBoundaryCondition& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } std::vector<::Ifc4x3_add2::IfcRelConnectsStructuralMember> Ifc4x3_add2::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[923], 5)); } @@ -14960,7 +14960,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralCurveAction::Class() { ret 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>(); } +::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcStructuralCurveConnection::AxisDirection() const { return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_add2::IfcDirection>(); } void Ifc4x3_add2::IfcStructuralCurveConnection::setAxisDirection(const ::Ifc4x3_add2::IfcDirection& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -14970,7 +14970,7 @@ Ifc4x3_add2::IfcStructuralCurveConnection Ifc4x3_add2::IfcStructuralCurveConnect // Function implementations for IfcStructuralCurveMember ::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_add2::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add2::IfcStructuralCurveMember::setPredefinedType(const ::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcStructuralCurveMember::Axis() const { return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_add2::IfcDirection>(); } +::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcStructuralCurveMember::Axis() const { return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_add2::IfcDirection>(); } void Ifc4x3_add2::IfcStructuralCurveMember::setAxis(const ::Ifc4x3_add2::IfcDirection& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -15021,14 +15021,14 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralLoadCase::Class() { return 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); } -void Ifc4x3_add2::IfcStructuralLoadConfiguration::setValues(const std::vector< ::Ifc4x3_add2::IfcStructuralLoadOrResult >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_add2::IfcStructuralLoadOrResult > Ifc4x3_add2::IfcStructuralLoadConfiguration::Values() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcStructuralLoadOrResult>(es); } +void Ifc4x3_add2::IfcStructuralLoadConfiguration::setValues(const std::vector< ::Ifc4x3_add2::IfcStructuralLoadOrResult >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< std::vector< std::vector< double > > > Ifc4x3_add2::IfcStructuralLoadConfiguration::Locations() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector< std::vector< double > > v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcStructuralLoadConfiguration::setLocations(const std::optional< std::vector< std::vector< double > > >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralLoadConfiguration::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1092]); } -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; } +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)); } @@ -15174,7 +15174,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralPointAction::Class() { ret 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>(); } +::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>(); } void Ifc4x3_add2::IfcStructuralPointConnection::setConditionCoordinateSystem(const ::Ifc4x3_add2::IfcAxis2Placement3D& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -15196,7 +15196,7 @@ Ifc4x3_add2::IfcStructuralReaction Ifc4x3_add2::IfcStructuralReaction::initializ // Function implementations for IfcStructuralResultGroup ::Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_add2::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_add2::IfcStructuralResultGroup::setTheoryType(const ::Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::Value& v) { set_attribute_value(5, enumeration_reference(&::Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add2::IfcStructuralLoadGroup Ifc4x3_add2::IfcStructuralResultGroup::ResultForLoadGroup() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcStructuralLoadGroup{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcStructuralLoadGroup>(); } +::Ifc4x3_add2::IfcStructuralLoadGroup Ifc4x3_add2::IfcStructuralResultGroup::ResultForLoadGroup() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcStructuralLoadGroup{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcStructuralLoadGroup>(); } void Ifc4x3_add2::IfcStructuralResultGroup::setResultForLoadGroup(const ::Ifc4x3_add2::IfcStructuralLoadGroup& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } bool Ifc4x3_add2::IfcStructuralResultGroup::IsLinear() const { bool v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcStructuralResultGroup::setIsLinear(const bool& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -15250,25 +15250,25 @@ Ifc4x3_add2::IfcStructuralSurfaceReaction Ifc4x3_add2::IfcStructuralSurfaceReact const ifcopenshell::entity& Ifc4x3_add2::IfcStyleModel::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1119]); } -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; } +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>(); } +::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>(); } void Ifc4x3_add2::IfcStyledItem::setItem(const ::Ifc4x3_add2::IfcRepresentationItem& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_add2::IfcPresentationStyle > Ifc4x3_add2::IfcStyledItem::Styles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcPresentationStyle>(es); } -void Ifc4x3_add2::IfcStyledItem::setStyles(const std::vector< ::Ifc4x3_add2::IfcPresentationStyle >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_add2::IfcPresentationStyle > Ifc4x3_add2::IfcStyledItem::Styles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcPresentationStyle>(es); } +void Ifc4x3_add2::IfcStyledItem::setStyles(const std::vector< ::Ifc4x3_add2::IfcPresentationStyle >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_add2::IfcStyledItem::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcStyledItem::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_add2::IfcStyledItem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1117]); } -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; } +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]); } -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; } +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]); } -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; } +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,10 +15284,10 @@ void Ifc4x3_add2::IfcSubContractResourceType::setPredefinedType(const ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add2::IfcSubContractResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1121]); } -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; } +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>(); } +::Ifc4x3_add2::IfcEdge Ifc4x3_add2::IfcSubedge::ParentEdge() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcEdge>(); } void Ifc4x3_add2::IfcSubedge::setParentEdge(const ::Ifc4x3_add2::IfcEdge& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -15301,19 +15301,19 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcSurface::Class() { return *((ifcopen 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>(); } +::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcSurfaceCurve::Curve3D() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCurve>(); } void Ifc4x3_add2::IfcSurfaceCurve::setCurve3D(const ::Ifc4x3_add2::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_add2::IfcPcurve > Ifc4x3_add2::IfcSurfaceCurve::AssociatedGeometry() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcPcurve>(es); } -void Ifc4x3_add2::IfcSurfaceCurve::setAssociatedGeometry(const std::vector< ::Ifc4x3_add2::IfcPcurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_add2::IfcPcurve > Ifc4x3_add2::IfcSurfaceCurve::AssociatedGeometry() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcPcurve>(es); } +void Ifc4x3_add2::IfcSurfaceCurve::setAssociatedGeometry(const std::vector< ::Ifc4x3_add2::IfcPcurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } ::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3_add2::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::FromString(get_attribute_value(2)); } void Ifc4x3_add2::IfcSurfaceCurve::setMasterRepresentation(const ::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_add2::IfcSurfaceCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1125]); } -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; } +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>(); } +::Ifc4x3_add2::IfcSurface Ifc4x3_add2::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcSurface>(); } void Ifc4x3_add2::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(const ::Ifc4x3_add2::IfcSurface& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -15330,7 +15330,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcSurfaceFeature::Class() { return *(( 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>(); } +::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcDirection>(); } void Ifc4x3_add2::IfcSurfaceOfLinearExtrusion::setExtrudedDirection(const ::Ifc4x3_add2::IfcDirection& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc4x3_add2::IfcSurfaceOfLinearExtrusion::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcSurfaceOfLinearExtrusion::setDepth(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -15340,7 +15340,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcSurfaceOfLinearExtrusion::Class() { 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>(); } +::Ifc4x3_add2::IfcAxis1Placement Ifc4x3_add2::IfcSurfaceOfRevolution::AxisPosition() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcAxis1Placement>(); } void Ifc4x3_add2::IfcSurfaceOfRevolution::setAxisPosition(const ::Ifc4x3_add2::IfcAxis1Placement& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -15362,21 +15362,21 @@ Ifc4x3_add2::IfcSurfaceReinforcementArea Ifc4x3_add2::IfcSurfaceReinforcementAre // Function implementations for IfcSurfaceStyle ::Ifc4x3_add2::IfcSurfaceSide::Value Ifc4x3_add2::IfcSurfaceStyle::Side() const { return ::Ifc4x3_add2::IfcSurfaceSide::FromString(get_attribute_value(1)); } void Ifc4x3_add2::IfcSurfaceStyle::setSide(const ::Ifc4x3_add2::IfcSurfaceSide::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4x3_add2::IfcSurfaceSide::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x3_add2::IfcSurfaceStyleElementSelect > Ifc4x3_add2::IfcSurfaceStyle::Styles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcSurfaceStyleElementSelect>(es); } -void Ifc4x3_add2::IfcSurfaceStyle::setStyles(const std::vector< ::Ifc4x3_add2::IfcSurfaceStyleElementSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_add2::IfcSurfaceStyleElementSelect > Ifc4x3_add2::IfcSurfaceStyle::Styles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcSurfaceStyleElementSelect>(es); } +void Ifc4x3_add2::IfcSurfaceStyle::setStyles(const std::vector< ::Ifc4x3_add2::IfcSurfaceStyleElementSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_add2::IfcSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1134]); } -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; } +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>(); } +::Ifc4x3_add2::IfcColourRgb Ifc4x3_add2::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcColourRgb>(); } void Ifc4x3_add2::IfcSurfaceStyleLighting::setDiffuseTransmissionColour(const ::Ifc4x3_add2::IfcColourRgb& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcColourRgb Ifc4x3_add2::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcColourRgb>(); } +::Ifc4x3_add2::IfcColourRgb Ifc4x3_add2::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcColourRgb>(); } void Ifc4x3_add2::IfcSurfaceStyleLighting::setDiffuseReflectionColour(const ::Ifc4x3_add2::IfcColourRgb& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcColourRgb Ifc4x3_add2::IfcSurfaceStyleLighting::TransmissionColour() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcColourRgb>(); } +::Ifc4x3_add2::IfcColourRgb Ifc4x3_add2::IfcSurfaceStyleLighting::TransmissionColour() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcColourRgb>(); } void Ifc4x3_add2::IfcSurfaceStyleLighting::setTransmissionColour(const ::Ifc4x3_add2::IfcColourRgb& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcColourRgb Ifc4x3_add2::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcColourRgb>(); } +::Ifc4x3_add2::IfcColourRgb Ifc4x3_add2::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcColourRgb>(); } void Ifc4x3_add2::IfcSurfaceStyleLighting::setReflectanceColour(const ::Ifc4x3_add2::IfcColourRgb& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -15394,17 +15394,17 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcSurfaceStyleRefraction::Class() { re 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>(); } +::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>(); } void Ifc4x3_add2::IfcSurfaceStyleRendering::setDiffuseColour(const ::Ifc4x3_add2::IfcColourOrFactor& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcColourOrFactor Ifc4x3_add2::IfcSurfaceStyleRendering::TransmissionColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcColourOrFactor>(); } +::Ifc4x3_add2::IfcColourOrFactor Ifc4x3_add2::IfcSurfaceStyleRendering::TransmissionColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcColourOrFactor>(); } void Ifc4x3_add2::IfcSurfaceStyleRendering::setTransmissionColour(const ::Ifc4x3_add2::IfcColourOrFactor& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add2::IfcColourOrFactor Ifc4x3_add2::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_add2::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcColourOrFactor>(); } +::Ifc4x3_add2::IfcColourOrFactor Ifc4x3_add2::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_add2::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcColourOrFactor>(); } void Ifc4x3_add2::IfcSurfaceStyleRendering::setDiffuseTransmissionColour(const ::Ifc4x3_add2::IfcColourOrFactor& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcColourOrFactor Ifc4x3_add2::IfcSurfaceStyleRendering::ReflectionColour() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_add2::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcColourOrFactor>(); } +::Ifc4x3_add2::IfcColourOrFactor Ifc4x3_add2::IfcSurfaceStyleRendering::ReflectionColour() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_add2::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcColourOrFactor>(); } void Ifc4x3_add2::IfcSurfaceStyleRendering::setReflectionColour(const ::Ifc4x3_add2::IfcColourOrFactor& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add2::IfcColourOrFactor Ifc4x3_add2::IfcSurfaceStyleRendering::SpecularColour() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcColourOrFactor>(); } +::Ifc4x3_add2::IfcColourOrFactor Ifc4x3_add2::IfcSurfaceStyleRendering::SpecularColour() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcColourOrFactor>(); } void Ifc4x3_add2::IfcSurfaceStyleRendering::setSpecularColour(const ::Ifc4x3_add2::IfcColourOrFactor& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_add2::IfcSpecularHighlightSelect Ifc4x3_add2::IfcSurfaceStyleRendering::SpecularHighlight() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_add2::IfcSpecularHighlightSelect{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_add2::IfcSpecularHighlightSelect>(); } +::Ifc4x3_add2::IfcSpecularHighlightSelect Ifc4x3_add2::IfcSurfaceStyleRendering::SpecularHighlight() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_add2::IfcSpecularHighlightSelect{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_add2::IfcSpecularHighlightSelect>(); } void Ifc4x3_add2::IfcSurfaceStyleRendering::setSpecularHighlight(const ::Ifc4x3_add2::IfcSpecularHighlightSelect& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_add2::IfcReflectanceMethodEnum::Value Ifc4x3_add2::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x3_add2::IfcReflectanceMethodEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcSurfaceStyleRendering::setReflectanceMethod(const ::Ifc4x3_add2::IfcReflectanceMethodEnum::Value& v) { set_attribute_value(8, enumeration_reference(&::Ifc4x3_add2::IfcReflectanceMethodEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } @@ -15414,7 +15414,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcSurfaceStyleRendering::Class() { ret 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>(); } +::Ifc4x3_add2::IfcColourRgb Ifc4x3_add2::IfcSurfaceStyleShading::SurfaceColour() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcColourRgb>(); } void Ifc4x3_add2::IfcSurfaceStyleShading::setSurfaceColour(const ::Ifc4x3_add2::IfcColourRgb& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< double > Ifc4x3_add2::IfcSurfaceStyleShading::Transparency() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcSurfaceStyleShading::setTransparency(const std::optional< double >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } @@ -15424,12 +15424,12 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcSurfaceStyleShading::Class() { retur 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); } -void Ifc4x3_add2::IfcSurfaceStyleWithTextures::setTextures(const std::vector< ::Ifc4x3_add2::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > Ifc4x3_add2::IfcSurfaceStyleWithTextures::Textures() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcSurfaceTexture>(es); } +void Ifc4x3_add2::IfcSurfaceStyleWithTextures::setTextures(const std::vector< ::Ifc4x3_add2::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_add2::IfcSurfaceStyleWithTextures::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1140]); } -Ifc4x3_add2::IfcSurfaceStyleWithTextures Ifc4x3_add2::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures));; return *this; } +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; } @@ -15438,7 +15438,7 @@ bool Ifc4x3_add2::IfcSurfaceTexture::RepeatT() const { bool v = get_attribute_v void Ifc4x3_add2::IfcSurfaceTexture::setRepeatT(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_add2::IfcSurfaceTexture::Mode() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcSurfaceTexture::setMode(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_add2::IfcCartesianTransformationOperator2D Ifc4x3_add2::IfcSurfaceTexture::TextureTransform() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcCartesianTransformationOperator2D{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcCartesianTransformationOperator2D>(); } +::Ifc4x3_add2::IfcCartesianTransformationOperator2D Ifc4x3_add2::IfcSurfaceTexture::TextureTransform() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcCartesianTransformationOperator2D{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcCartesianTransformationOperator2D>(); } void Ifc4x3_add2::IfcSurfaceTexture::setTextureTransform(const ::Ifc4x3_add2::IfcCartesianTransformationOperator2D& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add2::IfcSurfaceTexture::Parameter() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcSurfaceTexture::setParameter(const std::optional< std::vector< std::string > /*[1:?]*/ >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -15450,9 +15450,9 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcSurfaceTexture::Class() { return *(( 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>(); } +::Ifc4x3_add2::IfcProfileDef Ifc4x3_add2::IfcSweptAreaSolid::SweptArea() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcProfileDef>(); } void Ifc4x3_add2::IfcSweptAreaSolid::setSweptArea(const ::Ifc4x3_add2::IfcProfileDef& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcAxis2Placement3D Ifc4x3_add2::IfcSweptAreaSolid::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add2::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcAxis2Placement3D>(); } +::Ifc4x3_add2::IfcAxis2Placement3D Ifc4x3_add2::IfcSweptAreaSolid::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add2::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcAxis2Placement3D>(); } void Ifc4x3_add2::IfcSweptAreaSolid::setPosition(const ::Ifc4x3_add2::IfcAxis2Placement3D& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -15460,7 +15460,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcSweptAreaSolid::Class() { return *(( 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>(); } +::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcSweptDiskSolid::Directrix() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCurve>(); } void Ifc4x3_add2::IfcSweptDiskSolid::setDirectrix(const ::Ifc4x3_add2::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_add2::IfcSweptDiskSolid::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcSweptDiskSolid::setRadius(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -15484,9 +15484,9 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcSweptDiskSolidPolygonal::Class() { r 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>(); } +::Ifc4x3_add2::IfcProfileDef Ifc4x3_add2::IfcSweptSurface::SweptCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcProfileDef>(); } void Ifc4x3_add2::IfcSweptSurface::setSweptCurve(const ::Ifc4x3_add2::IfcProfileDef& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcAxis2Placement3D Ifc4x3_add2::IfcSweptSurface::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add2::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcAxis2Placement3D>(); } +::Ifc4x3_add2::IfcAxis2Placement3D Ifc4x3_add2::IfcSweptSurface::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add2::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcAxis2Placement3D>(); } void Ifc4x3_add2::IfcSweptSurface::setPosition(const ::Ifc4x3_add2::IfcAxis2Placement3D& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -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]); } -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; } +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 @@ -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]); } -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; } +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; } @@ -15560,14 +15560,14 @@ Ifc4x3_add2::IfcTShapeProfileDef Ifc4x3_add2::IfcTShapeProfileDef::initialize(:: // 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; } void Ifc4x3_add2::IfcTable::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::optional< std::vector< ::Ifc4x3_add2::IfcTableRow > > Ifc4x3_add2::IfcTable::Rows() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcTableRow>(es); } -void Ifc4x3_add2::IfcTable::setRows(const std::optional< std::vector< ::Ifc4x3_add2::IfcTableRow > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } -std::optional< std::vector< ::Ifc4x3_add2::IfcTableColumn > > Ifc4x3_add2::IfcTable::Columns() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcTableColumn>(es); } -void Ifc4x3_add2::IfcTable::setColumns(const std::optional< std::vector< ::Ifc4x3_add2::IfcTableColumn > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4x3_add2::IfcTableRow > > Ifc4x3_add2::IfcTable::Rows() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcTableRow>(es); } +void Ifc4x3_add2::IfcTable::setRows(const std::optional< std::vector< ::Ifc4x3_add2::IfcTableRow > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } +std::optional< std::vector< ::Ifc4x3_add2::IfcTableColumn > > Ifc4x3_add2::IfcTable::Columns() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcTableColumn>(es); } +void Ifc4x3_add2::IfcTable::setColumns(const std::optional< std::vector< ::Ifc4x3_add2::IfcTableColumn > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_add2::IfcTable::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1153]); } -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; } +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; } @@ -15576,9 +15576,9 @@ std::optional< std::string > Ifc4x3_add2::IfcTableColumn::Name() const { if(get_ void Ifc4x3_add2::IfcTableColumn::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x3_add2::IfcTableColumn::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcTableColumn::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_add2::IfcUnit Ifc4x3_add2::IfcTableColumn::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcUnit>(); } +::Ifc4x3_add2::IfcUnit Ifc4x3_add2::IfcTableColumn::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcUnit>(); } void Ifc4x3_add2::IfcTableColumn::setUnit(const ::Ifc4x3_add2::IfcUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add2::IfcReference Ifc4x3_add2::IfcTableColumn::ReferencePath() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_add2::IfcReference{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcReference>(); } +::Ifc4x3_add2::IfcReference Ifc4x3_add2::IfcTableColumn::ReferencePath() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_add2::IfcReference{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcReference>(); } void Ifc4x3_add2::IfcTableColumn::setReferencePath(const ::Ifc4x3_add2::IfcReference& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -15586,14 +15586,14 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcTableColumn::Class() { return *((ifc 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); } -void Ifc4x3_add2::IfcTableRow::setRowCells(const std::optional< std::vector< ::Ifc4x3_add2::IfcValue > >& v) { if (v) {set_attribute_value(0, cast_vector(*v));} else {unset_attribute_value(0);} } +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); } +void Ifc4x3_add2::IfcTableRow::setRowCells(const std::optional< std::vector< ::Ifc4x3_add2::IfcValue > >& v) { if (v) {set_attribute_value(0, cast_vector(*v));} else {unset_attribute_value(0);} } std::optional< bool > Ifc4x3_add2::IfcTableRow::IsHeading() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } bool v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcTableRow::setIsHeading(const std::optional< bool >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const ifcopenshell::entity& Ifc4x3_add2::IfcTableRow::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1155]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -15620,7 +15620,7 @@ bool Ifc4x3_add2::IfcTask::IsMilestone() const { bool v = get_attribute_value(9 void Ifc4x3_add2::IfcTask::setIsMilestone(const bool& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::optional< int64_t > Ifc4x3_add2::IfcTask::Priority() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcTask::setPriority(const std::optional< int64_t >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x3_add2::IfcTaskTime Ifc4x3_add2::IfcTask::TaskTime() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x3_add2::IfcTaskTime{}; } return ((express::Base)(get_attribute_value(11))).as<::Ifc4x3_add2::IfcTaskTime>(); } +::Ifc4x3_add2::IfcTaskTime Ifc4x3_add2::IfcTask::TaskTime() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x3_add2::IfcTaskTime{}; } return ((express::base)(get_attribute_value(11))).as<::Ifc4x3_add2::IfcTaskTime>(); } void Ifc4x3_add2::IfcTask::setTaskTime(const ::Ifc4x3_add2::IfcTaskTime& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } std::optional< ::Ifc4x3_add2::IfcTaskTypeEnum::Value > Ifc4x3_add2::IfcTask::PredefinedType() const { if(get_attribute_value(12).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcTaskTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x3_add2::IfcTask::setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcTaskTypeEnum::Value >& v) { if (v) {set_attribute_value(12, enumeration_reference(&::Ifc4x3_add2::IfcTaskTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } @@ -15670,7 +15670,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcTaskTime::Class() { return *((ifcope 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>(); } +::Ifc4x3_add2::IfcRecurrencePattern Ifc4x3_add2::IfcTaskTimeRecurring::Recurrence() const { return ((express::base)(get_attribute_value(20))).as<::Ifc4x3_add2::IfcRecurrencePattern>(); } void Ifc4x3_add2::IfcTaskTimeRecurring::setRecurrence(const ::Ifc4x3_add2::IfcRecurrencePattern& v) { set_attribute_value(20, v);if constexpr (false)unset_attribute_value(20); } @@ -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]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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,10 +15771,10 @@ void Ifc4x3_add2::IfcTendonType::setSheathDiameter(const std::optional< double > const ifcopenshell::entity& Ifc4x3_add2::IfcTendonType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1175]); } -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; } +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>(); } +::Ifc4x3_add2::IfcCartesianPointList3D Ifc4x3_add2::IfcTessellatedFaceSet::Coordinates() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCartesianPointList3D>(); } void Ifc4x3_add2::IfcTessellatedFaceSet::setCoordinates(const ::Ifc4x3_add2::IfcCartesianPointList3D& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::vector<::Ifc4x3_add2::IfcIndexedColourMap> Ifc4x3_add2::IfcTessellatedFaceSet::HasColours() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[542], 0)); } @@ -15792,7 +15792,7 @@ Ifc4x3_add2::IfcTessellatedItem Ifc4x3_add2::IfcTessellatedItem::initialize() { // Function implementations for IfcTextLiteral std::string Ifc4x3_add2::IfcTextLiteral::Literal() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcTextLiteral::setLiteral(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcAxis2Placement Ifc4x3_add2::IfcTextLiteral::Placement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcAxis2Placement>(); } +::Ifc4x3_add2::IfcAxis2Placement Ifc4x3_add2::IfcTextLiteral::Placement() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcAxis2Placement>(); } void Ifc4x3_add2::IfcTextLiteral::setPlacement(const ::Ifc4x3_add2::IfcAxis2Placement& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } ::Ifc4x3_add2::IfcTextPath::Value Ifc4x3_add2::IfcTextLiteral::Path() const { return ::Ifc4x3_add2::IfcTextPath::FromString(get_attribute_value(2)); } void Ifc4x3_add2::IfcTextLiteral::setPath(const ::Ifc4x3_add2::IfcTextPath::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4x3_add2::IfcTextPath::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } @@ -15802,7 +15802,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcTextLiteral::Class() { return *((ifc 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>(); } +::Ifc4x3_add2::IfcPlanarExtent Ifc4x3_add2::IfcTextLiteralWithExtent::Extent() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcPlanarExtent>(); } void Ifc4x3_add2::IfcTextLiteralWithExtent::setExtent(const ::Ifc4x3_add2::IfcPlanarExtent& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::string Ifc4x3_add2::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcTextLiteralWithExtent::setBoxAlignment(const std::string& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -15812,11 +15812,11 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcTextLiteralWithExtent::Class() { ret 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>(); } +::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>(); } void Ifc4x3_add2::IfcTextStyle::setTextCharacterAppearance(const ::Ifc4x3_add2::IfcTextStyleForDefinedFont& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcTextStyleTextModel Ifc4x3_add2::IfcTextStyle::TextStyle() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcTextStyleTextModel{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcTextStyleTextModel>(); } +::Ifc4x3_add2::IfcTextStyleTextModel Ifc4x3_add2::IfcTextStyle::TextStyle() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcTextStyleTextModel{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcTextStyleTextModel>(); } void Ifc4x3_add2::IfcTextStyle::setTextStyle(const ::Ifc4x3_add2::IfcTextStyleTextModel& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcTextFontSelect Ifc4x3_add2::IfcTextStyle::TextFontStyle() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcTextFontSelect>(); } +::Ifc4x3_add2::IfcTextFontSelect Ifc4x3_add2::IfcTextStyle::TextFontStyle() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcTextFontSelect>(); } void Ifc4x3_add2::IfcTextStyle::setTextFontStyle(const ::Ifc4x3_add2::IfcTextFontSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< bool > Ifc4x3_add2::IfcTextStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } bool v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcTextStyle::setModelOrDraughting(const std::optional< bool >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -15834,7 +15834,7 @@ std::optional< std::string > Ifc4x3_add2::IfcTextStyleFontModel::FontVariant() c void Ifc4x3_add2::IfcTextStyleFontModel::setFontVariant(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } std::optional< std::string > Ifc4x3_add2::IfcTextStyleFontModel::FontWeight() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcTextStyleFontModel::setFontWeight(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_add2::IfcSizeSelect Ifc4x3_add2::IfcTextStyleFontModel::FontSize() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcSizeSelect>(); } +::Ifc4x3_add2::IfcSizeSelect Ifc4x3_add2::IfcTextStyleFontModel::FontSize() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcSizeSelect>(); } void Ifc4x3_add2::IfcTextStyleFontModel::setFontSize(const ::Ifc4x3_add2::IfcSizeSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -15842,9 +15842,9 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcTextStyleFontModel::Class() { return 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>(); } +::Ifc4x3_add2::IfcColour Ifc4x3_add2::IfcTextStyleForDefinedFont::Colour() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcColour>(); } void Ifc4x3_add2::IfcTextStyleForDefinedFont::setColour(const ::Ifc4x3_add2::IfcColour& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcColour Ifc4x3_add2::IfcTextStyleForDefinedFont::BackgroundColour() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add2::IfcColour{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcColour>(); } +::Ifc4x3_add2::IfcColour Ifc4x3_add2::IfcTextStyleForDefinedFont::BackgroundColour() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add2::IfcColour{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcColour>(); } void Ifc4x3_add2::IfcTextStyleForDefinedFont::setBackgroundColour(const ::Ifc4x3_add2::IfcColour& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -15852,19 +15852,19 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcTextStyleForDefinedFont::Class() { r 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>(); } +::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>(); } void Ifc4x3_add2::IfcTextStyleTextModel::setTextIndent(const ::Ifc4x3_add2::IfcSizeSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x3_add2::IfcTextStyleTextModel::TextAlign() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcTextStyleTextModel::setTextAlign(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x3_add2::IfcTextStyleTextModel::TextDecoration() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcTextStyleTextModel::setTextDecoration(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_add2::IfcSizeSelect Ifc4x3_add2::IfcTextStyleTextModel::LetterSpacing() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcSizeSelect>(); } +::Ifc4x3_add2::IfcSizeSelect Ifc4x3_add2::IfcTextStyleTextModel::LetterSpacing() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcSizeSelect>(); } void Ifc4x3_add2::IfcTextStyleTextModel::setLetterSpacing(const ::Ifc4x3_add2::IfcSizeSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add2::IfcSizeSelect Ifc4x3_add2::IfcTextStyleTextModel::WordSpacing() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_add2::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcSizeSelect>(); } +::Ifc4x3_add2::IfcSizeSelect Ifc4x3_add2::IfcTextStyleTextModel::WordSpacing() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_add2::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcSizeSelect>(); } void Ifc4x3_add2::IfcTextStyleTextModel::setWordSpacing(const ::Ifc4x3_add2::IfcSizeSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::optional< std::string > Ifc4x3_add2::IfcTextStyleTextModel::TextTransform() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcTextStyleTextModel::setTextTransform(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_add2::IfcSizeSelect Ifc4x3_add2::IfcTextStyleTextModel::LineHeight() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcSizeSelect>(); } +::Ifc4x3_add2::IfcSizeSelect Ifc4x3_add2::IfcTextStyleTextModel::LineHeight() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add2::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcSizeSelect>(); } void Ifc4x3_add2::IfcTextStyleTextModel::setLineHeight(const ::Ifc4x3_add2::IfcSizeSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -15872,12 +15872,12 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcTextStyleTextModel::Class() { return 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); } -void Ifc4x3_add2::IfcTextureCoordinate::setMaps(const std::vector< ::Ifc4x3_add2::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > Ifc4x3_add2::IfcTextureCoordinate::Maps() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcSurfaceTexture>(es); } +void Ifc4x3_add2::IfcTextureCoordinate::setMaps(const std::vector< ::Ifc4x3_add2::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_add2::IfcTextureCoordinate::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1192]); } -Ifc4x3_add2::IfcTextureCoordinate Ifc4x3_add2::IfcTextureCoordinate::initialize(std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > v1_Maps) { set_attribute_value(0, cast_vector(v1_Maps));; return *this; } +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,12 +15887,12 @@ void Ifc4x3_add2::IfcTextureCoordinateGenerator::setParameter(const std::optiona const ifcopenshell::entity& Ifc4x3_add2::IfcTextureCoordinateGenerator::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1193]); } -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; } +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< int64_t > /*[3:?]*/ Ifc4x3_add2::IfcTextureCoordinateIndices::TexCoordIndex() const { std::vector< int64_t > /*[3:?]*/ v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcTextureCoordinateIndices::setTexCoordIndex(const std::vector< int64_t > /*[3:?]*/& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcIndexedPolygonalFace Ifc4x3_add2::IfcTextureCoordinateIndices::TexCoordsOf() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcIndexedPolygonalFace>(); } +::Ifc4x3_add2::IfcIndexedPolygonalFace Ifc4x3_add2::IfcTextureCoordinateIndices::TexCoordsOf() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcIndexedPolygonalFace>(); } void Ifc4x3_add2::IfcTextureCoordinateIndices::setTexCoordsOf(const ::Ifc4x3_add2::IfcIndexedPolygonalFace& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::vector<::Ifc4x3_add2::IfcIndexedPolygonalTextureMap> Ifc4x3_add2::IfcTextureCoordinateIndices::ToTexMap() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[546], 3)); } @@ -15909,14 +15909,14 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcTextureCoordinateIndicesWithVoids::C Ifc4x3_add2::IfcTextureCoordinateIndicesWithVoids Ifc4x3_add2::IfcTextureCoordinateIndicesWithVoids::initialize(std::vector< int64_t > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_add2::IfcIndexedPolygonalFace v2_TexCoordsOf, std::vector< std::vector< int64_t > > 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); } -void Ifc4x3_add2::IfcTextureMap::setVertices(const std::vector< ::Ifc4x3_add2::IfcTextureVertex >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcFace Ifc4x3_add2::IfcTextureMap::MappedTo() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcFace>(); } +std::vector< ::Ifc4x3_add2::IfcTextureVertex > Ifc4x3_add2::IfcTextureMap::Vertices() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcTextureVertex>(es); } +void Ifc4x3_add2::IfcTextureMap::setVertices(const std::vector< ::Ifc4x3_add2::IfcTextureVertex >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +::Ifc4x3_add2::IfcFace Ifc4x3_add2::IfcTextureMap::MappedTo() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcFace>(); } void Ifc4x3_add2::IfcTextureMap::setMappedTo(const ::Ifc4x3_add2::IfcFace& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_add2::IfcTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1196]); } -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; } +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; } @@ -15973,7 +15973,7 @@ void Ifc4x3_add2::IfcTimeSeries::setTimeSeriesDataType(const ::Ifc4x3_add2::IfcT void Ifc4x3_add2::IfcTimeSeries::setDataOrigin(const ::Ifc4x3_add2::IfcDataOriginEnum::Value& v) { set_attribute_value(5, enumeration_reference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } std::optional< std::string > Ifc4x3_add2::IfcTimeSeries::UserDefinedDataOrigin() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcTimeSeries::setUserDefinedDataOrigin(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_add2::IfcUnit Ifc4x3_add2::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_add2::IfcUnit{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_add2::IfcUnit>(); } +::Ifc4x3_add2::IfcUnit Ifc4x3_add2::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_add2::IfcUnit{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_add2::IfcUnit>(); } void Ifc4x3_add2::IfcTimeSeries::setUnit(const ::Ifc4x3_add2::IfcUnit& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcTimeSeries::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } @@ -15982,12 +15982,12 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcTimeSeries::Class() { return *((ifco 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); } -void Ifc4x3_add2::IfcTimeSeriesValue::setListValues(const std::vector< ::Ifc4x3_add2::IfcValue >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_add2::IfcValue > Ifc4x3_add2::IfcTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcValue>(es); } +void Ifc4x3_add2::IfcTimeSeriesValue::setListValues(const std::vector< ::Ifc4x3_add2::IfcValue >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_add2::IfcTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1212]); } -Ifc4x3_add2::IfcTimeSeriesValue Ifc4x3_add2::IfcTimeSeriesValue::initialize(std::vector< ::Ifc4x3_add2::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues));; return *this; } +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 @@ -15999,7 +15999,7 @@ Ifc4x3_add2::IfcTopologicalRepresentationItem Ifc4x3_add2::IfcTopologicalReprese const ifcopenshell::entity& Ifc4x3_add2::IfcTopologyRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1215]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -16057,7 +16057,7 @@ void Ifc4x3_add2::IfcTransportElementType::setPredefinedType(const ::Ifc4x3_add2 const ifcopenshell::entity& Ifc4x3_add2::IfcTransportElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1229]); } -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; } +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 @@ -16069,7 +16069,7 @@ Ifc4x3_add2::IfcTransportationDevice Ifc4x3_add2::IfcTransportationDevice::initi const ifcopenshell::entity& Ifc4x3_add2::IfcTransportationDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1227]); } -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; } +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; } @@ -16108,12 +16108,12 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcTriangulatedIrregularNetwork::Class( 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< int64_t > > v4_CoordIndex, std::optional< std::vector< int64_t > /*[1:?]*/ > v5_PnIndex, std::vector< int64_t > /*[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>(); } +::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcTrimmedCurve::BasisCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCurve>(); } void Ifc4x3_add2::IfcTrimmedCurve::setBasisCurve(const ::Ifc4x3_add2::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_add2::IfcTrimmingSelect > Ifc4x3_add2::IfcTrimmedCurve::Trim1() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcTrimmingSelect>(es); } -void Ifc4x3_add2::IfcTrimmedCurve::setTrim1(const std::vector< ::Ifc4x3_add2::IfcTrimmingSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x3_add2::IfcTrimmingSelect > Ifc4x3_add2::IfcTrimmedCurve::Trim2() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcTrimmingSelect>(es); } -void Ifc4x3_add2::IfcTrimmedCurve::setTrim2(const std::vector< ::Ifc4x3_add2::IfcTrimmingSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_add2::IfcTrimmingSelect > Ifc4x3_add2::IfcTrimmedCurve::Trim1() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcTrimmingSelect>(es); } +void Ifc4x3_add2::IfcTrimmedCurve::setTrim1(const std::vector< ::Ifc4x3_add2::IfcTrimmingSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_add2::IfcTrimmingSelect > Ifc4x3_add2::IfcTrimmedCurve::Trim2() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcTrimmingSelect>(es); } +void Ifc4x3_add2::IfcTrimmedCurve::setTrim2(const std::vector< ::Ifc4x3_add2::IfcTrimmingSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } bool Ifc4x3_add2::IfcTrimmedCurve::SenseAgreement() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcTrimmedCurve::setSenseAgreement(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } ::Ifc4x3_add2::IfcTrimmingPreference::Value Ifc4x3_add2::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_add2::IfcTrimmingPreference::FromString(get_attribute_value(4)); } @@ -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]); } -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; } +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)); } @@ -16137,18 +16137,18 @@ void Ifc4x3_add2::IfcTubeBundleType::setPredefinedType(const ::Ifc4x3_add2::IfcT const ifcopenshell::entity& Ifc4x3_add2::IfcTubeBundleType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1239]); } -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; } +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; } void Ifc4x3_add2::IfcTypeObject::setApplicableOccurrence(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > Ifc4x3_add2::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_add2::IfcPropertySetDefinition>(es); } -void Ifc4x3_add2::IfcTypeObject::setHasPropertySets(const std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > >& v) { if (v) {set_attribute_value(5, cast_vector(*v));} else {unset_attribute_value(5);} } +std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > Ifc4x3_add2::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_add2::IfcPropertySetDefinition>(es); } +void Ifc4x3_add2::IfcTypeObject::setHasPropertySets(const std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > >& v) { if (v) {set_attribute_value(5, cast_vector(*v));} else {unset_attribute_value(5);} } 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]); } -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; } +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,18 +16161,18 @@ 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]); } -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; } +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); } -void Ifc4x3_add2::IfcTypeProduct::setRepresentationMaps(const std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +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); } +void Ifc4x3_add2::IfcTypeProduct::setRepresentationMaps(const std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } std::optional< std::string > Ifc4x3_add2::IfcTypeProduct::Tag() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcTypeProduct::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } 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]); } -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; } +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]); } -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; } +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; } @@ -16208,12 +16208,12 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcUShapeProfileDef::Class() { return * 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); } -void Ifc4x3_add2::IfcUnitAssignment::setUnits(const std::vector< ::Ifc4x3_add2::IfcUnit >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_add2::IfcUnit > Ifc4x3_add2::IfcUnitAssignment::Units() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcUnit>(es); } +void Ifc4x3_add2::IfcUnitAssignment::setUnits(const std::vector< ::Ifc4x3_add2::IfcUnit >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_add2::IfcUnitAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1252]); } -Ifc4x3_add2::IfcUnitAssignment Ifc4x3_add2::IfcUnitAssignment::initialize(std::vector< ::Ifc4x3_add2::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units));; return *this; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -16261,10 +16261,10 @@ void Ifc4x3_add2::IfcValveType::setPredefinedType(const ::Ifc4x3_add2::IfcValveT const ifcopenshell::entity& Ifc4x3_add2::IfcValveType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1258]); } -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; } +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>(); } +::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcVector::Orientation() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcDirection>(); } void Ifc4x3_add2::IfcVector::setOrientation(const ::Ifc4x3_add2::IfcDirection& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_add2::IfcVector::Magnitude() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcVector::setMagnitude(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -16287,7 +16287,7 @@ void Ifc4x3_add2::IfcVehicleType::setPredefinedType(const ::Ifc4x3_add2::IfcVehi const ifcopenshell::entity& Ifc4x3_add2::IfcVehicleType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1264]); } -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; } +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 @@ -16296,7 +16296,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcVertex::Class() { return *((ifcopens 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>(); } +::Ifc4x3_add2::IfcVertex Ifc4x3_add2::IfcVertexLoop::LoopVertex() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcVertex>(); } void Ifc4x3_add2::IfcVertexLoop::setLoopVertex(const ::Ifc4x3_add2::IfcVertex& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -16304,7 +16304,7 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcVertexLoop::Class() { return *((ifco 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>(); } +::Ifc4x3_add2::IfcPoint Ifc4x3_add2::IfcVertexPoint::VertexGeometry() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcPoint>(); } void Ifc4x3_add2::IfcVertexPoint::setVertexGeometry(const ::Ifc4x3_add2::IfcPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -16352,14 +16352,14 @@ const ifcopenshell::entity& Ifc4x3_add2::IfcVirtualElement::Class() { return *(( 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); } -void Ifc4x3_add2::IfcVirtualGridIntersection::setIntersectingAxes(const std::vector< ::Ifc4x3_add2::IfcGridAxis >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_add2::IfcGridAxis > Ifc4x3_add2::IfcVirtualGridIntersection::IntersectingAxes() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcGridAxis>(es); } +void Ifc4x3_add2::IfcVirtualGridIntersection::setIntersectingAxes(const std::vector< ::Ifc4x3_add2::IfcGridAxis >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } std::vector< double > /*[2:3]*/ Ifc4x3_add2::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcVirtualGridIntersection::setOffsetDistances(const std::vector< double > /*[2:3]*/& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_add2::IfcVirtualGridIntersection::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1277]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -16405,12 +16405,12 @@ void Ifc4x3_add2::IfcWasteTerminalType::setPredefinedType(const ::Ifc4x3_add2::I const ifcopenshell::entity& Ifc4x3_add2::IfcWasteTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1290]); } -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; } +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; } void Ifc4x3_add2::IfcWellKnownText::setWellKnownText(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcCoordinateReferenceSystem Ifc4x3_add2::IfcWellKnownText::CoordinateReferenceSystem() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcCoordinateReferenceSystem>(); } +::Ifc4x3_add2::IfcCoordinateReferenceSystem Ifc4x3_add2::IfcWellKnownText::CoordinateReferenceSystem() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcCoordinateReferenceSystem>(); } void Ifc4x3_add2::IfcWellKnownText::setCoordinateReferenceSystem(const ::Ifc4x3_add2::IfcCoordinateReferenceSystem& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -16450,7 +16450,7 @@ std::optional< double > Ifc4x3_add2::IfcWindowLiningProperties::FirstMullionOffs void Ifc4x3_add2::IfcWindowLiningProperties::setFirstMullionOffset(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } std::optional< double > Ifc4x3_add2::IfcWindowLiningProperties::SecondMullionOffset() const { if(get_attribute_value(11).isNull()) { return std::nullopt; } double v = get_attribute_value(11); return v; } void Ifc4x3_add2::IfcWindowLiningProperties::setSecondMullionOffset(const std::optional< double >& v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -::Ifc4x3_add2::IfcShapeAspect Ifc4x3_add2::IfcWindowLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(12).isNull()) { return ::Ifc4x3_add2::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(12))).as<::Ifc4x3_add2::IfcShapeAspect>(); } +::Ifc4x3_add2::IfcShapeAspect Ifc4x3_add2::IfcWindowLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(12).isNull()) { return ::Ifc4x3_add2::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(12))).as<::Ifc4x3_add2::IfcShapeAspect>(); } void Ifc4x3_add2::IfcWindowLiningProperties::setShapeAspectStyle(const ::Ifc4x3_add2::IfcShapeAspect& v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } std::optional< double > Ifc4x3_add2::IfcWindowLiningProperties::LiningOffset() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } double v = get_attribute_value(13); return v; } void Ifc4x3_add2::IfcWindowLiningProperties::setLiningOffset(const std::optional< double >& v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } @@ -16472,7 +16472,7 @@ std::optional< double > Ifc4x3_add2::IfcWindowPanelProperties::FrameDepth() cons void Ifc4x3_add2::IfcWindowPanelProperties::setFrameDepth(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } std::optional< double > Ifc4x3_add2::IfcWindowPanelProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcWindowPanelProperties::setFrameThickness(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_add2::IfcShapeAspect Ifc4x3_add2::IfcWindowPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_add2::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_add2::IfcShapeAspect>(); } +::Ifc4x3_add2::IfcShapeAspect Ifc4x3_add2::IfcWindowPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_add2::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_add2::IfcShapeAspect>(); } void Ifc4x3_add2::IfcWindowPanelProperties::setShapeAspectStyle(const ::Ifc4x3_add2::IfcShapeAspect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -16491,25 +16491,25 @@ void Ifc4x3_add2::IfcWindowType::setUserDefinedPartitioningType(const std::optio const ifcopenshell::entity& Ifc4x3_add2::IfcWindowType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1299]); } -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; } +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); } -void Ifc4x3_add2::IfcWorkCalendar::setWorkingTimes(const std::optional< std::vector< ::Ifc4x3_add2::IfcWorkTime > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x3_add2::IfcWorkTime > > Ifc4x3_add2::IfcWorkCalendar::ExceptionTimes() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_add2::IfcWorkTime>(es); } -void Ifc4x3_add2::IfcWorkCalendar::setExceptionTimes(const std::optional< std::vector< ::Ifc4x3_add2::IfcWorkTime > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +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); } +void Ifc4x3_add2::IfcWorkCalendar::setWorkingTimes(const std::optional< std::vector< ::Ifc4x3_add2::IfcWorkTime > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +std::optional< std::vector< ::Ifc4x3_add2::IfcWorkTime > > Ifc4x3_add2::IfcWorkCalendar::ExceptionTimes() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_add2::IfcWorkTime>(es); } +void Ifc4x3_add2::IfcWorkCalendar::setExceptionTimes(const std::optional< std::vector< ::Ifc4x3_add2::IfcWorkTime > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< ::Ifc4x3_add2::IfcWorkCalendarTypeEnum::Value > Ifc4x3_add2::IfcWorkCalendar::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcWorkCalendarTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcWorkCalendar::setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcWorkCalendarTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_add2::IfcWorkCalendarTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const ifcopenshell::entity& Ifc4x3_add2::IfcWorkCalendar::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1302]); } -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; } +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; } void Ifc4x3_add2::IfcWorkControl::setCreationDate(const std::string& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::optional< std::vector< ::Ifc4x3_add2::IfcPerson > > Ifc4x3_add2::IfcWorkControl::Creators() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_add2::IfcPerson>(es); } -void Ifc4x3_add2::IfcWorkControl::setCreators(const std::optional< std::vector< ::Ifc4x3_add2::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x3_add2::IfcPerson > > Ifc4x3_add2::IfcWorkControl::Creators() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_add2::IfcPerson>(es); } +void Ifc4x3_add2::IfcWorkControl::setCreators(const std::optional< std::vector< ::Ifc4x3_add2::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< std::string > Ifc4x3_add2::IfcWorkControl::Purpose() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcWorkControl::setPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } std::optional< std::string > Ifc4x3_add2::IfcWorkControl::Duration() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::string v = get_attribute_value(9); 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]); } -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; } +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]); } -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; } +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,10 +16539,10 @@ void Ifc4x3_add2::IfcWorkSchedule::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_add2::IfcWorkSchedule::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1307]); } -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; } +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>(); } +::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>(); } void Ifc4x3_add2::IfcWorkTime::setRecurrencePattern(const ::Ifc4x3_add2::IfcRecurrencePattern& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_add2::IfcWorkTime::StartDate() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcWorkTime::setStartDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } diff --git a/src/ifcparse/schemas/Ifc4x3_add2.h b/src/ifcparse/schemas/Ifc4x3_add2.h index 791243e7c0..ac32d14d41 100644 --- a/src/ifcparse/schemas/Ifc4x3_add2.h +++ b/src/ifcparse/schemas/Ifc4x3_add2.h @@ -65,28 +65,28 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcOrganization An organization. /// IfcPerson A person. /// IfcPersonAndOrganization A person related to an organization. -class IFC_SCHEMA_API IfcActorSelect : public express::Select { +class IFC_SCHEMA_API IfcActorSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOrganization as() const { return express::Base::as(); } + // IfcOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPerson as() const { return express::Base::as(); } + // IfcPerson as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPersonAndOrganization as() const { return express::Base::as(); } + // IfcPersonAndOrganization as() const { return express::base::as(); } - IfcActorSelect(const IfcOrganization& c) : express::Select(c) {}; + IfcActorSelect(const IfcOrganization& c) : express::select(c) {}; - IfcActorSelect(const IfcPerson& c) : express::Select(c) {}; + IfcActorSelect(const IfcPerson& c) : express::select(c) {}; - IfcActorSelect(const IfcPersonAndOrganization& c) : express::Select(c) {}; + IfcActorSelect(const IfcPersonAndOrganization& c) : express::select(c) {}; }; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. @@ -103,700 +103,700 @@ public: /// Selecting IfcMeasureWithUnit allows the specification of both the actual figure for the value together with the currency in which the value is represented. /// Selecting IfcMonetaryMeasure allows the specification only of the value, the currency being as set by the global context /// 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_SCHEMA_API IfcAppliedValueSelect : public express::Select { +class IFC_SCHEMA_API IfcAppliedValueSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureWithUnit as() const { return express::Base::as(); } + // IfcMeasureWithUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReference as() const { return express::Base::as(); } + // IfcReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcValue as() const { return express::Base::as(); } + // IfcValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedMeasureValue as() const { return express::Base::as(); } + // IfcDerivedMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureValue as() const { return express::Base::as(); } + // IfcMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSimpleValue as() const { return express::Base::as(); } + // IfcSimpleValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcURIReference as() const { return express::Base::as(); } + // IfcURIReference as() const { return express::base::as(); } - IfcAppliedValueSelect(const IfcMeasureWithUnit& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMeasureWithUnit& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcReference& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcReference& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDerivedMeasureValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDerivedMeasureValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcForceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcForceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPHMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPHMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPowerMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPressureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcWarpingMomentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMeasureValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMeasureValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAreaMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcComplexNumber& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcComplexNumber& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcCountMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcCountMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcNumericMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcParameterValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcParameterValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRatioMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTimeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcVolumeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSimpleValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSimpleValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcBinary& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcBinary& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcBoolean& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDate& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDate& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDateTime& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDateTime& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDuration& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDuration& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIdentifier& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIdentifier& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcInteger& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcInteger& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLabel& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLabel& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLogical& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLogical& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositiveInteger& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcReal& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcReal& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcText& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcText& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTime& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTime& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTimeStamp& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTimeStamp& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcURIReference& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcURIReference& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. @@ -804,43 +804,43 @@ public: /// NOTE: Corresponding STEP type: axis2_placement, please refer to ISO/IS 10303-42:1994, p. 19 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 1.5 -class IFC_SCHEMA_API IfcAxis2Placement : public express::Select { +class IFC_SCHEMA_API IfcAxis2Placement : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAxis2Placement2D as() const { return express::Base::as(); } + // IfcAxis2Placement2D as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAxis2Placement3D as() const { return express::Base::as(); } + // IfcAxis2Placement3D as() const { return express::base::as(); } - IfcAxis2Placement(const IfcAxis2Placement2D& c) : express::Select(c) {}; + IfcAxis2Placement(const IfcAxis2Placement2D& c) : express::select(c) {}; - IfcAxis2Placement(const IfcAxis2Placement3D& c) : express::Select(c) {}; + IfcAxis2Placement(const IfcAxis2Placement3D& c) : express::select(c) {}; }; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// /// HISTORY New type in IFC Release 2x4 -class IFC_SCHEMA_API IfcBendingParameterSelect : public express::Select { +class IFC_SCHEMA_API IfcBendingParameterSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } - IfcBendingParameterSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcBendingParameterSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcBendingParameterSelect(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcBendingParameterSelect(const IfcPlaneAngleMeasure& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies @@ -859,40 +859,40 @@ public: /// (IfcSolidModel) are defined for being valid Boolean operands. /// /// HISTORY: New Type in IFC Release 1.5.1 -class IFC_SCHEMA_API IfcBooleanOperand : public express::Select { +class IFC_SCHEMA_API IfcBooleanOperand : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBooleanResult as() const { return express::Base::as(); } + // IfcBooleanResult as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCsgPrimitive3D as() const { return express::Base::as(); } + // IfcCsgPrimitive3D as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHalfSpaceSolid as() const { return express::Base::as(); } + // IfcHalfSpaceSolid as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidModel as() const { return express::Base::as(); } + // IfcSolidModel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTessellatedFaceSet as() const { return express::Base::as(); } + // IfcTessellatedFaceSet as() const { return express::base::as(); } - IfcBooleanOperand(const IfcBooleanResult& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcBooleanResult& c) : express::select(c) {}; - IfcBooleanOperand(const IfcCsgPrimitive3D& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcCsgPrimitive3D& c) : express::select(c) {}; - IfcBooleanOperand(const IfcHalfSpaceSolid& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcHalfSpaceSolid& c) : express::select(c) {}; - IfcBooleanOperand(const IfcSolidModel& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcSolidModel& c) : express::select(c) {}; - IfcBooleanOperand(const IfcTessellatedFaceSet& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcTessellatedFaceSet& c) : express::select(c) {}; }; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. @@ -903,22 +903,22 @@ public: /// /// IfcClassification (for classification information) /// IfcClassificationReference (for reference into a classification source) -class IFC_SCHEMA_API IfcClassificationReferenceSelect : public express::Select { +class IFC_SCHEMA_API IfcClassificationReferenceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassification as() const { return express::Base::as(); } + // IfcClassification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassificationReference as() const { return express::Base::as(); } + // IfcClassificationReference as() const { return express::base::as(); } - IfcClassificationReferenceSelect(const IfcClassification& c) : express::Select(c) {}; + IfcClassificationReferenceSelect(const IfcClassification& c) : express::select(c) {}; - IfcClassificationReferenceSelect(const IfcClassificationReference& c) : express::Select(c) {}; + IfcClassificationReferenceSelect(const IfcClassificationReference& c) : express::select(c) {}; }; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. @@ -934,22 +934,22 @@ public: /// /// IfcClassification (for referencing a classification system) /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) -class IFC_SCHEMA_API IfcClassificationSelect : public express::Select { +class IFC_SCHEMA_API IfcClassificationSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassification as() const { return express::Base::as(); } + // IfcClassification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassificationReference as() const { return express::Base::as(); } + // IfcClassificationReference as() const { return express::base::as(); } - IfcClassificationSelect(const IfcClassification& c) : express::Select(c) {}; + IfcClassificationSelect(const IfcClassification& c) : express::select(c) {}; - IfcClassificationSelect(const IfcClassificationReference& c) : express::Select(c) {}; + IfcClassificationSelect(const IfcClassificationReference& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. @@ -957,64 +957,64 @@ public: /// NOTE  Corresponding STEP name: colour. It has been made into a SELECT type in IFC to avoid multiple inheritance for pre defined colour. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_SCHEMA_API IfcColour : public express::Select { +class IFC_SCHEMA_API IfcColour : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColourSpecification as() const { return express::Base::as(); } + // IfcColourSpecification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedColour as() const { return express::Base::as(); } + // IfcPreDefinedColour as() const { return express::base::as(); } - IfcColour(const IfcColourSpecification& c) : express::Select(c) {}; + IfcColour(const IfcColourSpecification& c) : express::select(c) {}; - IfcColour(const IfcPreDefinedColour& c) : express::Select(c) {}; + IfcColour(const IfcPreDefinedColour& c) : express::select(c) {}; }; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcColourOrFactor : public express::Select { +class IFC_SCHEMA_API IfcColourOrFactor : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColourRgb as() const { return express::Base::as(); } + // IfcColourRgb as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } - IfcColourOrFactor(const IfcColourRgb& c) : express::Select(c) {}; + IfcColourOrFactor(const IfcColourRgb& c) : express::select(c) {}; - IfcColourOrFactor(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcColourOrFactor(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; }; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// /// HISTORY  New select type in IFC2x4. -class IFC_SCHEMA_API IfcCoordinateReferenceSystemSelect : public express::Select { +class IFC_SCHEMA_API IfcCoordinateReferenceSystemSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCoordinateReferenceSystem as() const { return express::Base::as(); } + // IfcCoordinateReferenceSystem as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcGeometricRepresentationContext as() const { return express::Base::as(); } + // IfcGeometricRepresentationContext as() const { return express::base::as(); } - IfcCoordinateReferenceSystemSelect(const IfcCoordinateReferenceSystem& c) : express::Select(c) {}; + IfcCoordinateReferenceSystemSelect(const IfcCoordinateReferenceSystem& c) : express::select(c) {}; - IfcCoordinateReferenceSystemSelect(const IfcGeometricRepresentationContext& c) : express::Select(c) {}; + IfcCoordinateReferenceSystemSelect(const IfcGeometricRepresentationContext& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. @@ -1023,22 +1023,22 @@ public: /// NOTE Corresponding ISO 10303-42 type: csg_select, please refer to ISO/IS 10303-42:1994, p.168 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcCsgSelect : public express::Select { +class IFC_SCHEMA_API IfcCsgSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBooleanResult as() const { return express::Base::as(); } + // IfcBooleanResult as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCsgPrimitive3D as() const { return express::Base::as(); } + // IfcCsgPrimitive3D as() const { return express::base::as(); } - IfcCsgSelect(const IfcBooleanResult& c) : express::Select(c) {}; + IfcCsgSelect(const IfcBooleanResult& c) : express::select(c) {}; - IfcCsgSelect(const IfcCsgPrimitive3D& c) : express::Select(c) {}; + IfcCsgSelect(const IfcCsgPrimitive3D& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. @@ -1046,78 +1046,78 @@ public: /// NOTE Corresponding ISO 10303 name: curve_font_or_scaled_curve_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_SCHEMA_API IfcCurveFontOrScaledCurveFontSelect : public express::Select { +class IFC_SCHEMA_API IfcCurveFontOrScaledCurveFontSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFontAndScaling as() const { return express::Base::as(); } + // IfcCurveStyleFontAndScaling as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFontSelect as() const { return express::Base::as(); } + // IfcCurveStyleFontSelect as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFont as() const { return express::Base::as(); } + // IfcCurveStyleFont as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedCurveFont as() const { return express::Base::as(); } + // IfcPreDefinedCurveFont as() const { return express::base::as(); } - IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontAndScaling& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontAndScaling& c) : express::select(c) {}; - IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontSelect& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontSelect& c) : express::select(c) {}; - IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFont& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFont& c) : express::select(c) {}; - IfcCurveFontOrScaledCurveFontSelect(const IfcPreDefinedCurveFont& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcPreDefinedCurveFont& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcCurveMeasureSelect : public express::Select { +class IFC_SCHEMA_API IfcCurveMeasureSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } - IfcCurveMeasureSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcCurveMeasureSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcCurveMeasureSelect(const IfcParameterValue& c) : express::Select(c) {}; + IfcCurveMeasureSelect(const IfcParameterValue& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcCurveOnSurface : public express::Select { +class IFC_SCHEMA_API IfcCurveOnSurface : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompositeCurveOnSurface as() const { return express::Base::as(); } + // IfcCompositeCurveOnSurface as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPcurve as() const { return express::Base::as(); } + // IfcPcurve as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceCurve as() const { return express::Base::as(); } + // IfcSurfaceCurve as() const { return express::base::as(); } - IfcCurveOnSurface(const IfcCompositeCurveOnSurface& c) : express::Select(c) {}; + IfcCurveOnSurface(const IfcCompositeCurveOnSurface& c) : express::select(c) {}; - IfcCurveOnSurface(const IfcPcurve& c) : express::Select(c) {}; + IfcCurveOnSurface(const IfcPcurve& c) : express::select(c) {}; - IfcCurveOnSurface(const IfcSurfaceCurve& c) : express::Select(c) {}; + IfcCurveOnSurface(const IfcSurfaceCurve& c) : express::select(c) {}; }; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve @@ -1128,22 +1128,22 @@ public: /// IfcEdgeCurve /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_SCHEMA_API IfcCurveOrEdgeCurve : public express::Select { +class IFC_SCHEMA_API IfcCurveOrEdgeCurve : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoundedCurve as() const { return express::Base::as(); } + // IfcBoundedCurve as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEdgeCurve as() const { return express::Base::as(); } + // IfcEdgeCurve as() const { return express::base::as(); } - IfcCurveOrEdgeCurve(const IfcBoundedCurve& c) : express::Select(c) {}; + IfcCurveOrEdgeCurve(const IfcBoundedCurve& c) : express::select(c) {}; - IfcCurveOrEdgeCurve(const IfcEdgeCurve& c) : express::Select(c) {}; + IfcCurveOrEdgeCurve(const IfcEdgeCurve& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. @@ -1151,22 +1151,22 @@ public: /// NOTE Corresponding ISO 10303 name: curve_style_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_SCHEMA_API IfcCurveStyleFontSelect : public express::Select { +class IFC_SCHEMA_API IfcCurveStyleFontSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFont as() const { return express::Base::as(); } + // IfcCurveStyleFont as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedCurveFont as() const { return express::Base::as(); } + // IfcPreDefinedCurveFont as() const { return express::base::as(); } - IfcCurveStyleFontSelect(const IfcCurveStyleFont& c) : express::Select(c) {}; + IfcCurveStyleFontSelect(const IfcCurveStyleFont& c) : express::select(c) {}; - IfcCurveStyleFontSelect(const IfcPreDefinedCurveFont& c) : express::Select(c) {}; + IfcCurveStyleFontSelect(const IfcPreDefinedCurveFont& c) : express::select(c) {}; }; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. @@ -1176,22 +1176,22 @@ public: /// IfcPropertyDefinition /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcDefinitionSelect : public express::Select { +class IFC_SCHEMA_API IfcDefinitionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcObjectDefinition as() const { return express::Base::as(); } + // IfcObjectDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertyDefinition as() const { return express::Base::as(); } + // IfcPropertyDefinition as() const { return express::base::as(); } - IfcDefinitionSelect(const IfcObjectDefinition& c) : express::Select(c) {}; + IfcDefinitionSelect(const IfcObjectDefinition& c) : express::select(c) {}; - IfcDefinitionSelect(const IfcPropertyDefinition& c) : express::Select(c) {}; + IfcDefinitionSelect(const IfcPropertyDefinition& c) : express::select(c) {}; }; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. @@ -1268,436 +1268,436 @@ public: /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. -class IFC_SCHEMA_API IfcDerivedMeasureValue : public express::Select { +class IFC_SCHEMA_API IfcDerivedMeasureValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } - IfcDerivedMeasureValue(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcForceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcForceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPHMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPHMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPowerMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPressureMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcWarpingMomentMeasure& c) : express::select(c) {}; }; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. @@ -1708,22 +1708,22 @@ public: /// /// IfcDocumentInformation (for "metadata" of an external document) /// IfcDocumentReference (for reference within a document) -class IFC_SCHEMA_API IfcDocumentSelect : public express::Select { +class IFC_SCHEMA_API IfcDocumentSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDocumentInformation as() const { return express::Base::as(); } + // IfcDocumentInformation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDocumentReference as() const { return express::Base::as(); } + // IfcDocumentReference as() const { return express::base::as(); } - IfcDocumentSelect(const IfcDocumentInformation& c) : express::Select(c) {}; + IfcDocumentSelect(const IfcDocumentInformation& c) : express::select(c) {}; - IfcDocumentSelect(const IfcDocumentReference& c) : express::Select(c) {}; + IfcDocumentSelect(const IfcDocumentReference& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. @@ -1732,46 +1732,46 @@ public: /// the final definition of the formal standard. /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcFillStyleSelect : public express::Select { +class IFC_SCHEMA_API IfcFillStyleSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColour as() const { return express::Base::as(); } + // IfcColour as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColourSpecification as() const { return express::Base::as(); } + // IfcColourSpecification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedColour as() const { return express::Base::as(); } + // IfcPreDefinedColour as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternallyDefinedHatchStyle as() const { return express::Base::as(); } + // IfcExternallyDefinedHatchStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFillAreaStyleHatching as() const { return express::Base::as(); } + // IfcFillAreaStyleHatching as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFillAreaStyleTiles as() const { return express::Base::as(); } + // IfcFillAreaStyleTiles as() const { return express::base::as(); } - IfcFillStyleSelect(const IfcColour& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcColour& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcColourSpecification& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcColourSpecification& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcPreDefinedColour& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcPreDefinedColour& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcExternallyDefinedHatchStyle& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcExternallyDefinedHatchStyle& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcFillAreaStyleHatching& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcFillAreaStyleHatching& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcFillAreaStyleTiles& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcFillAreaStyleTiles& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. @@ -1779,28 +1779,28 @@ public: /// NOTE: Corresponding ISO 10303 type: geometric_set_select. Please refer to ISO/IS 10303-42:1994, p. 169 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 2x. -class IFC_SCHEMA_API IfcGeometricSetSelect : public express::Select { +class IFC_SCHEMA_API IfcGeometricSetSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurve as() const { return express::Base::as(); } + // IfcCurve as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPoint as() const { return express::Base::as(); } + // IfcPoint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurface as() const { return express::Base::as(); } + // IfcSurface as() const { return express::base::as(); } - IfcGeometricSetSelect(const IfcCurve& c) : express::Select(c) {}; + IfcGeometricSetSelect(const IfcCurve& c) : express::select(c) {}; - IfcGeometricSetSelect(const IfcPoint& c) : express::Select(c) {}; + IfcGeometricSetSelect(const IfcPoint& c) : express::select(c) {}; - IfcGeometricSetSelect(const IfcSurface& c) : express::Select(c) {}; + IfcGeometricSetSelect(const IfcSurface& c) : express::select(c) {}; }; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. @@ -1811,62 +1811,62 @@ public: /// IfcVirtualGridIntersection /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcGridPlacementDirectionSelect : public express::Select { +class IFC_SCHEMA_API IfcGridPlacementDirectionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDirection as() const { return express::Base::as(); } + // IfcDirection as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVirtualGridIntersection as() const { return express::Base::as(); } + // IfcVirtualGridIntersection as() const { return express::base::as(); } - IfcGridPlacementDirectionSelect(const IfcDirection& c) : express::Select(c) {}; + IfcGridPlacementDirectionSelect(const IfcDirection& c) : express::select(c) {}; - IfcGridPlacementDirectionSelect(const IfcVirtualGridIntersection& c) : express::Select(c) {}; + IfcGridPlacementDirectionSelect(const IfcVirtualGridIntersection& c) : express::select(c) {}; }; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcHatchLineDistanceSelect : public express::Select { +class IFC_SCHEMA_API IfcHatchLineDistanceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVector as() const { return express::Base::as(); } + // IfcVector as() const { return express::base::as(); } - IfcHatchLineDistanceSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcHatchLineDistanceSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcHatchLineDistanceSelect(const IfcVector& c) : express::Select(c) {}; + IfcHatchLineDistanceSelect(const IfcVector& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcInterferenceSelect : public express::Select { +class IFC_SCHEMA_API IfcInterferenceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElement as() const { return express::Base::as(); } + // IfcElement as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpatialElement as() const { return express::Base::as(); } + // IfcSpatialElement as() const { return express::base::as(); } - IfcInterferenceSelect(const IfcElement& c) : express::Select(c) {}; + IfcInterferenceSelect(const IfcElement& c) : express::select(c) {}; - IfcInterferenceSelect(const IfcSpatialElement& c) : express::Select(c) {}; + IfcInterferenceSelect(const IfcSpatialElement& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. @@ -1876,22 +1876,22 @@ public: /// NOTE: Corresponding ISO 10303 name: layered_item. It was called layered_things in the ISO/CD version and had been renamed to layered_item in the ISO/IS final version. Please refer to ISO/IS 10303-46:1994, p. 13 for the final definition of the formal standard. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcLayeredItem : public express::Select { +class IFC_SCHEMA_API IfcLayeredItem : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRepresentation as() const { return express::Base::as(); } + // IfcRepresentation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRepresentationItem as() const { return express::Base::as(); } + // IfcRepresentationItem as() const { return express::base::as(); } - IfcLayeredItem(const IfcRepresentation& c) : express::Select(c) {}; + IfcLayeredItem(const IfcRepresentation& c) : express::select(c) {}; - IfcLayeredItem(const IfcRepresentationItem& c) : express::Select(c) {}; + IfcLayeredItem(const IfcRepresentationItem& c) : express::select(c) {}; }; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. @@ -1904,22 +1904,22 @@ public: /// IfcLibraryReference (for reference into a library of information by location) /// /// 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_SCHEMA_API IfcLibrarySelect : public express::Select { +class IFC_SCHEMA_API IfcLibrarySelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLibraryInformation as() const { return express::Base::as(); } + // IfcLibraryInformation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLibraryReference as() const { return express::Base::as(); } + // IfcLibraryReference as() const { return express::base::as(); } - IfcLibrarySelect(const IfcLibraryInformation& c) : express::Select(c) {}; + IfcLibrarySelect(const IfcLibraryInformation& c) : express::select(c) {}; - IfcLibrarySelect(const IfcLibraryReference& c) : express::Select(c) {}; + IfcLibrarySelect(const IfcLibraryReference& c) : express::select(c) {}; }; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. @@ -1944,22 +1944,22 @@ public: /// directions covers all cases. /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcLightDistributionDataSourceSelect : public express::Select { +class IFC_SCHEMA_API IfcLightDistributionDataSourceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalReference as() const { return express::Base::as(); } + // IfcExternalReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLightIntensityDistribution as() const { return express::Base::as(); } + // IfcLightIntensityDistribution as() const { return express::base::as(); } - IfcLightDistributionDataSourceSelect(const IfcExternalReference& c) : express::Select(c) {}; + IfcLightDistributionDataSourceSelect(const IfcExternalReference& c) : express::select(c) {}; - IfcLightDistributionDataSourceSelect(const IfcLightIntensityDistribution& c) : express::Select(c) {}; + IfcLightDistributionDataSourceSelect(const IfcLightIntensityDistribution& c) : express::select(c) {}; }; /// IfcMaterialSelect provides selection of either a material @@ -1988,28 +1988,28 @@ public: /// /// IFC2x4 CHANGE The select now includes two new abstract entities IfcMaterialDefinition /// and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards. -class IFC_SCHEMA_API IfcMaterialSelect : public express::Select { +class IFC_SCHEMA_API IfcMaterialSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialDefinition as() const { return express::Base::as(); } + // IfcMaterialDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialList as() const { return express::Base::as(); } + // IfcMaterialList as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialUsageDefinition as() const { return express::Base::as(); } + // IfcMaterialUsageDefinition as() const { return express::base::as(); } - IfcMaterialSelect(const IfcMaterialDefinition& c) : express::Select(c) {}; + IfcMaterialSelect(const IfcMaterialDefinition& c) : express::select(c) {}; - IfcMaterialSelect(const IfcMaterialList& c) : express::Select(c) {}; + IfcMaterialSelect(const IfcMaterialList& c) : express::select(c) {}; - IfcMaterialSelect(const IfcMaterialUsageDefinition& c) : express::Select(c) {}; + IfcMaterialSelect(const IfcMaterialUsageDefinition& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). @@ -2021,148 +2021,148 @@ public: /// HISTORY New type in IFC Release 1.5.1. /// /// IFC 2x4 change: added IfcNonNegativeLengthMeasure -class IFC_SCHEMA_API IfcMeasureValue : public express::Select { +class IFC_SCHEMA_API IfcMeasureValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } - IfcMeasureValue(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcAreaMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcComplexNumber& c) : express::Select(c) {}; + IfcMeasureValue(const IfcComplexNumber& c) : express::select(c) {}; - IfcMeasureValue(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcCountMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcCountMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcLengthMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcMassMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcMassMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcNumericMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcParameterValue& c) : express::Select(c) {}; + IfcMeasureValue(const IfcParameterValue& c) : express::select(c) {}; - IfcMeasureValue(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcRatioMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcTimeMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcVolumeMeasure& c) : express::select(c) {}; }; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. @@ -2177,844 +2177,844 @@ public: /// IfcTable /// IfcText /// IfcTimeSeries -class IFC_SCHEMA_API IfcMetricValueSelect : public express::Select { +class IFC_SCHEMA_API IfcMetricValueSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAppliedValue as() const { return express::Base::as(); } + // IfcAppliedValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureWithUnit as() const { return express::Base::as(); } + // IfcMeasureWithUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReference as() const { return express::Base::as(); } + // IfcReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTable as() const { return express::Base::as(); } + // IfcTable as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeSeries as() const { return express::Base::as(); } + // IfcTimeSeries as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcValue as() const { return express::Base::as(); } + // IfcValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedMeasureValue as() const { return express::Base::as(); } + // IfcDerivedMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureValue as() const { return express::Base::as(); } + // IfcMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSimpleValue as() const { return express::Base::as(); } + // IfcSimpleValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcURIReference as() const { return express::Base::as(); } + // IfcURIReference as() const { return express::base::as(); } - IfcMetricValueSelect(const IfcAppliedValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAppliedValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMeasureWithUnit& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMeasureWithUnit& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcReference& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcReference& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTable& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTable& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTimeSeries& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTimeSeries& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDerivedMeasureValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDerivedMeasureValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcForceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcForceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPHMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPHMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPowerMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPressureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcWarpingMomentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMeasureValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMeasureValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAreaMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcComplexNumber& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcComplexNumber& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcCountMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcCountMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcNumericMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcParameterValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcParameterValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRatioMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTimeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcVolumeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSimpleValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSimpleValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcBinary& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcBinary& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcBoolean& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDate& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDate& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDateTime& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDateTime& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDuration& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDuration& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIdentifier& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIdentifier& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcInteger& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcInteger& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLabel& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLabel& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLogical& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLogical& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositiveInteger& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcReal& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcReal& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcText& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcText& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTime& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTime& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTimeStamp& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTimeStamp& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcURIReference& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcURIReference& c) : express::select(c) {}; }; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionSelect : public express::Select { +class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } - IfcModulusOfRotationalSubgradeReactionSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcModulusOfRotationalSubgradeReactionSelect(const IfcBoolean& c) : express::select(c) {}; - IfcModulusOfRotationalSubgradeReactionSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcModulusOfRotationalSubgradeReactionSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; }; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcModulusOfSubgradeReactionSelect : public express::Select { +class IFC_SCHEMA_API IfcModulusOfSubgradeReactionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } - IfcModulusOfSubgradeReactionSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcModulusOfSubgradeReactionSelect(const IfcBoolean& c) : express::select(c) {}; - IfcModulusOfSubgradeReactionSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcModulusOfSubgradeReactionSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; }; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcModulusOfTranslationalSubgradeReactionSelect : public express::Select { +class IFC_SCHEMA_API IfcModulusOfTranslationalSubgradeReactionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } - IfcModulusOfTranslationalSubgradeReactionSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcModulusOfTranslationalSubgradeReactionSelect(const IfcBoolean& c) : express::select(c) {}; - IfcModulusOfTranslationalSubgradeReactionSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcModulusOfTranslationalSubgradeReactionSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; }; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// /// HISTORY  New select type in IFC Release 2.0. -class IFC_SCHEMA_API IfcObjectReferenceSelect : public express::Select { +class IFC_SCHEMA_API IfcObjectReferenceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAddress as() const { return express::Base::as(); } + // IfcAddress as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAppliedValue as() const { return express::Base::as(); } + // IfcAppliedValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalReference as() const { return express::Base::as(); } + // IfcExternalReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialDefinition as() const { return express::Base::as(); } + // IfcMaterialDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOrganization as() const { return express::Base::as(); } + // IfcOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPerson as() const { return express::Base::as(); } + // IfcPerson as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPersonAndOrganization as() const { return express::Base::as(); } + // IfcPersonAndOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTable as() const { return express::Base::as(); } + // IfcTable as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeSeries as() const { return express::Base::as(); } + // IfcTimeSeries as() const { return express::base::as(); } - IfcObjectReferenceSelect(const IfcAddress& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcAddress& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcAppliedValue& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcAppliedValue& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcExternalReference& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcExternalReference& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcMaterialDefinition& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcMaterialDefinition& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcOrganization& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcOrganization& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcPerson& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcPerson& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcPersonAndOrganization& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcPersonAndOrganization& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcTable& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcTable& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcTimeSeries& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcTimeSeries& c) : express::select(c) {}; }; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. @@ -3024,22 +3024,22 @@ public: /// IfcVertexPoint /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_SCHEMA_API IfcPointOrVertexPoint : public express::Select { +class IFC_SCHEMA_API IfcPointOrVertexPoint : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPoint as() const { return express::Base::as(); } + // IfcPoint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVertexPoint as() const { return express::Base::as(); } + // IfcVertexPoint as() const { return express::base::as(); } - IfcPointOrVertexPoint(const IfcPoint& c) : express::Select(c) {}; + IfcPointOrVertexPoint(const IfcPoint& c) : express::select(c) {}; - IfcPointOrVertexPoint(const IfcVertexPoint& c) : express::Select(c) {}; + IfcPointOrVertexPoint(const IfcVertexPoint& c) : express::select(c) {}; }; /// IfcProcessSelectprovides the option to either @@ -3052,41 +3052,41 @@ public: /// IfcTypeProcess /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcProcessSelect : public express::Select { +class IFC_SCHEMA_API IfcProcessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProcess as() const { return express::Base::as(); } + // IfcProcess as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTypeProcess as() const { return express::Base::as(); } + // IfcTypeProcess as() const { return express::base::as(); } - IfcProcessSelect(const IfcProcess& c) : express::Select(c) {}; + IfcProcessSelect(const IfcProcess& c) : express::select(c) {}; - IfcProcessSelect(const IfcTypeProcess& c) : express::Select(c) {}; + IfcProcessSelect(const IfcTypeProcess& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcProductRepresentationSelect : public express::Select { +class IFC_SCHEMA_API IfcProductRepresentationSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProductDefinitionShape as() const { return express::Base::as(); } + // IfcProductDefinitionShape as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRepresentationMap as() const { return express::Base::as(); } + // IfcRepresentationMap as() const { return express::base::as(); } - IfcProductRepresentationSelect(const IfcProductDefinitionShape& c) : express::Select(c) {}; + IfcProductRepresentationSelect(const IfcProductDefinitionShape& c) : express::select(c) {}; - IfcProductRepresentationSelect(const IfcRepresentationMap& c) : express::Select(c) {}; + IfcProductRepresentationSelect(const IfcRepresentationMap& c) : express::select(c) {}; }; /// IfcProductSelectprovides the option to either select a @@ -3098,152 +3098,152 @@ public: /// IfcTypeProduct /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcProductSelect : public express::Select { +class IFC_SCHEMA_API IfcProductSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProduct as() const { return express::Base::as(); } + // IfcProduct as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTypeProduct as() const { return express::Base::as(); } + // IfcTypeProduct as() const { return express::base::as(); } - IfcProductSelect(const IfcProduct& c) : express::Select(c) {}; + IfcProductSelect(const IfcProduct& c) : express::select(c) {}; - IfcProductSelect(const IfcTypeProduct& c) : express::Select(c) {}; + IfcProductSelect(const IfcTypeProduct& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcPropertySetDefinitionSelect : public express::Select { +class IFC_SCHEMA_API IfcPropertySetDefinitionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertySetDefinition as() const { return express::Base::as(); } + // IfcPropertySetDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertySetDefinitionSet as() const { return express::Base::as(); } + // IfcPropertySetDefinitionSet as() const { return express::base::as(); } - IfcPropertySetDefinitionSelect(const IfcPropertySetDefinition& c) : express::Select(c) {}; + IfcPropertySetDefinitionSelect(const IfcPropertySetDefinition& c) : express::select(c) {}; - IfcPropertySetDefinitionSelect(const IfcPropertySetDefinitionSet& c) : express::Select(c) {}; + IfcPropertySetDefinitionSelect(const IfcPropertySetDefinitionSet& c) : express::select(c) {}; }; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// /// HISTORY  New Select type in IFC2x4. -class IFC_SCHEMA_API IfcResourceObjectSelect : public express::Select { +class IFC_SCHEMA_API IfcResourceObjectSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcActorRole as() const { return express::Base::as(); } + // IfcActorRole as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAppliedValue as() const { return express::Base::as(); } + // IfcAppliedValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcApproval as() const { return express::Base::as(); } + // IfcApproval as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcConstraint as() const { return express::Base::as(); } + // IfcConstraint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentUnit as() const { return express::Base::as(); } + // IfcContextDependentUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcConversionBasedUnit as() const { return express::Base::as(); } + // IfcConversionBasedUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalInformation as() const { return express::Base::as(); } + // IfcExternalInformation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalReference as() const { return express::Base::as(); } + // IfcExternalReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialDefinition as() const { return express::Base::as(); } + // IfcMaterialDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOrganization as() const { return express::Base::as(); } + // IfcOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPerson as() const { return express::Base::as(); } + // IfcPerson as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPersonAndOrganization as() const { return express::Base::as(); } + // IfcPersonAndOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPhysicalQuantity as() const { return express::Base::as(); } + // IfcPhysicalQuantity as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProfileDef as() const { return express::Base::as(); } + // IfcProfileDef as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertyAbstraction as() const { return express::Base::as(); } + // IfcPropertyAbstraction as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShapeAspect as() const { return express::Base::as(); } + // IfcShapeAspect as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeSeries as() const { return express::Base::as(); } + // IfcTimeSeries as() const { return express::base::as(); } - IfcResourceObjectSelect(const IfcActorRole& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcActorRole& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcAppliedValue& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcAppliedValue& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcApproval& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcApproval& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcConstraint& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcConstraint& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcContextDependentUnit& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcContextDependentUnit& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcConversionBasedUnit& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcConversionBasedUnit& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcExternalInformation& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcExternalInformation& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcExternalReference& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcExternalReference& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcMaterialDefinition& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcMaterialDefinition& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcOrganization& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcOrganization& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPerson& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPerson& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPersonAndOrganization& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPersonAndOrganization& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPhysicalQuantity& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPhysicalQuantity& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcProfileDef& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcProfileDef& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPropertyAbstraction& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPropertyAbstraction& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcShapeAspect& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcShapeAspect& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcTimeSeries& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcTimeSeries& c) : express::select(c) {}; }; /// IfcResourceSelectprovides the option to either select a @@ -3255,62 +3255,62 @@ public: /// IfcTypeResource /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcResourceSelect : public express::Select { +class IFC_SCHEMA_API IfcResourceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcResource as() const { return express::Base::as(); } + // IfcResource as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTypeResource as() const { return express::Base::as(); } + // IfcTypeResource as() const { return express::base::as(); } - IfcResourceSelect(const IfcResource& c) : express::Select(c) {}; + IfcResourceSelect(const IfcResource& c) : express::select(c) {}; - IfcResourceSelect(const IfcTypeResource& c) : express::Select(c) {}; + IfcResourceSelect(const IfcTypeResource& c) : express::select(c) {}; }; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcRotationalStiffnessSelect : public express::Select { +class IFC_SCHEMA_API IfcRotationalStiffnessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } - IfcRotationalStiffnessSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcRotationalStiffnessSelect(const IfcBoolean& c) : express::select(c) {}; - IfcRotationalStiffnessSelect(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcRotationalStiffnessSelect(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcSegmentIndexSelect : public express::Select { +class IFC_SCHEMA_API IfcSegmentIndexSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcArcIndex as() const { return express::Base::as(); } + // IfcArcIndex as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLineIndex as() const { return express::Base::as(); } + // IfcLineIndex as() const { return express::base::as(); } - IfcSegmentIndexSelect(const IfcArcIndex& c) : express::Select(c) {}; + IfcSegmentIndexSelect(const IfcArcIndex& c) : express::select(c) {}; - IfcSegmentIndexSelect(const IfcLineIndex& c) : express::Select(c) {}; + IfcSegmentIndexSelect(const IfcLineIndex& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. @@ -3324,22 +3324,22 @@ public: /// NOTE  Corresponding ISO 10303 type: shell. Please refer to ISO/IS 10303-42:1994, p. 127 for the final definition of the formal standard. Only the select items closed_shell (IfcClosedShell) and open_shell (IfcOpenShell) have been incorporated in the current IFC release. /// /// HISTORY  New type in IFC2x. -class IFC_SCHEMA_API IfcShell : public express::Select { +class IFC_SCHEMA_API IfcShell : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClosedShell as() const { return express::Base::as(); } + // IfcClosedShell as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOpenShell as() const { return express::Base::as(); } + // IfcOpenShell as() const { return express::base::as(); } - IfcShell(const IfcClosedShell& c) : express::Select(c) {}; + IfcShell(const IfcClosedShell& c) : express::select(c) {}; - IfcShell(const IfcOpenShell& c) : express::Select(c) {}; + IfcShell(const IfcOpenShell& c) : express::select(c) {}; }; /// IfcSimpleValue is a select type for selecting between simple value types. @@ -3361,100 +3361,100 @@ public: /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. -class IFC_SCHEMA_API IfcSimpleValue : public express::Select { +class IFC_SCHEMA_API IfcSimpleValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcURIReference as() const { return express::Base::as(); } + // IfcURIReference as() const { return express::base::as(); } - IfcSimpleValue(const IfcBinary& c) : express::Select(c) {}; + IfcSimpleValue(const IfcBinary& c) : express::select(c) {}; - IfcSimpleValue(const IfcBoolean& c) : express::Select(c) {}; + IfcSimpleValue(const IfcBoolean& c) : express::select(c) {}; - IfcSimpleValue(const IfcDate& c) : express::Select(c) {}; + IfcSimpleValue(const IfcDate& c) : express::select(c) {}; - IfcSimpleValue(const IfcDateTime& c) : express::Select(c) {}; + IfcSimpleValue(const IfcDateTime& c) : express::select(c) {}; - IfcSimpleValue(const IfcDuration& c) : express::Select(c) {}; + IfcSimpleValue(const IfcDuration& c) : express::select(c) {}; - IfcSimpleValue(const IfcIdentifier& c) : express::Select(c) {}; + IfcSimpleValue(const IfcIdentifier& c) : express::select(c) {}; - IfcSimpleValue(const IfcInteger& c) : express::Select(c) {}; + IfcSimpleValue(const IfcInteger& c) : express::select(c) {}; - IfcSimpleValue(const IfcLabel& c) : express::Select(c) {}; + IfcSimpleValue(const IfcLabel& c) : express::select(c) {}; - IfcSimpleValue(const IfcLogical& c) : express::Select(c) {}; + IfcSimpleValue(const IfcLogical& c) : express::select(c) {}; - IfcSimpleValue(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcSimpleValue(const IfcPositiveInteger& c) : express::select(c) {}; - IfcSimpleValue(const IfcReal& c) : express::Select(c) {}; + IfcSimpleValue(const IfcReal& c) : express::select(c) {}; - IfcSimpleValue(const IfcText& c) : express::Select(c) {}; + IfcSimpleValue(const IfcText& c) : express::select(c) {}; - IfcSimpleValue(const IfcTime& c) : express::Select(c) {}; + IfcSimpleValue(const IfcTime& c) : express::select(c) {}; - IfcSimpleValue(const IfcTimeStamp& c) : express::Select(c) {}; + IfcSimpleValue(const IfcTimeStamp& c) : express::select(c) {}; - IfcSimpleValue(const IfcURIReference& c) : express::Select(c) {}; + IfcSimpleValue(const IfcURIReference& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. @@ -3469,46 +3469,46 @@ public: /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. -class IFC_SCHEMA_API IfcSizeSelect : public express::Select { +class IFC_SCHEMA_API IfcSizeSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } - IfcSizeSelect(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcRatioMeasure& c) : express::select(c) {}; }; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. @@ -3518,22 +3518,22 @@ public: /// IfcClosedShell /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcSolidOrShell : public express::Select { +class IFC_SCHEMA_API IfcSolidOrShell : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClosedShell as() const { return express::Base::as(); } + // IfcClosedShell as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidModel as() const { return express::Base::as(); } + // IfcSolidModel as() const { return express::base::as(); } - IfcSolidOrShell(const IfcClosedShell& c) : express::Select(c) {}; + IfcSolidOrShell(const IfcClosedShell& c) : express::select(c) {}; - IfcSolidOrShell(const IfcSolidModel& c) : express::Select(c) {}; + IfcSolidOrShell(const IfcSolidModel& c) : express::select(c) {}; }; /// Definition from IAI: The @@ -3548,41 +3548,41 @@ public: /// /// HISTORY New select type /// in IFC2x4. -class IFC_SCHEMA_API IfcSpaceBoundarySelect : public express::Select { +class IFC_SCHEMA_API IfcSpaceBoundarySelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalSpatialElement as() const { return express::Base::as(); } + // IfcExternalSpatialElement as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpace as() const { return express::Base::as(); } + // IfcSpace as() const { return express::base::as(); } - IfcSpaceBoundarySelect(const IfcExternalSpatialElement& c) : express::Select(c) {}; + IfcSpaceBoundarySelect(const IfcExternalSpatialElement& c) : express::select(c) {}; - IfcSpaceBoundarySelect(const IfcSpace& c) : express::Select(c) {}; + IfcSpaceBoundarySelect(const IfcSpace& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcSpatialReferenceSelect : public express::Select { +class IFC_SCHEMA_API IfcSpatialReferenceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcGroup as() const { return express::Base::as(); } + // IfcGroup as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProduct as() const { return express::Base::as(); } + // IfcProduct as() const { return express::base::as(); } - IfcSpatialReferenceSelect(const IfcGroup& c) : express::Select(c) {}; + IfcSpatialReferenceSelect(const IfcGroup& c) : express::select(c) {}; - IfcSpatialReferenceSelect(const IfcProduct& c) : express::Select(c) {}; + IfcSpatialReferenceSelect(const IfcProduct& c) : express::select(c) {}; }; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. @@ -3595,22 +3595,22 @@ public: /// For each surface side style only one of the two methods is needed for calculating the specular part of the equation. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcSpecularHighlightSelect : public express::Select { +class IFC_SCHEMA_API IfcSpecularHighlightSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecularExponent as() const { return express::Base::as(); } + // IfcSpecularExponent as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecularRoughness as() const { return express::Base::as(); } + // IfcSpecularRoughness as() const { return express::base::as(); } - IfcSpecularHighlightSelect(const IfcSpecularExponent& c) : express::Select(c) {}; + IfcSpecularHighlightSelect(const IfcSpecularExponent& c) : express::select(c) {}; - IfcSpecularHighlightSelect(const IfcSpecularRoughness& c) : express::Select(c) {}; + IfcSpecularHighlightSelect(const IfcSpecularRoughness& c) : express::select(c) {}; }; /// Definition from IAI: This type definition shall be used to @@ -3622,22 +3622,22 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcStructuralActivityAssignmentSelect : public express::Select { +class IFC_SCHEMA_API IfcStructuralActivityAssignmentSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElement as() const { return express::Base::as(); } + // IfcElement as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcStructuralItem as() const { return express::Base::as(); } + // IfcStructuralItem as() const { return express::base::as(); } - IfcStructuralActivityAssignmentSelect(const IfcElement& c) : express::Select(c) {}; + IfcStructuralActivityAssignmentSelect(const IfcElement& c) : express::select(c) {}; - IfcStructuralActivityAssignmentSelect(const IfcStructuralItem& c) : express::Select(c) {}; + IfcStructuralActivityAssignmentSelect(const IfcStructuralItem& c) : express::select(c) {}; }; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface @@ -3649,28 +3649,28 @@ public: /// IfcFaceBasedSurfaceModel (a connected face set, representing a faceted surface as an approximation of a non planar, non rectangular bounded surface) /// /// HISTORY  New select type in IFC2x3. -class IFC_SCHEMA_API IfcSurfaceOrFaceSurface : public express::Select { +class IFC_SCHEMA_API IfcSurfaceOrFaceSurface : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFaceBasedSurfaceModel as() const { return express::Base::as(); } + // IfcFaceBasedSurfaceModel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFaceSurface as() const { return express::Base::as(); } + // IfcFaceSurface as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurface as() const { return express::Base::as(); } + // IfcSurface as() const { return express::base::as(); } - IfcSurfaceOrFaceSurface(const IfcFaceBasedSurfaceModel& c) : express::Select(c) {}; + IfcSurfaceOrFaceSurface(const IfcFaceBasedSurfaceModel& c) : express::select(c) {}; - IfcSurfaceOrFaceSurface(const IfcFaceSurface& c) : express::Select(c) {}; + IfcSurfaceOrFaceSurface(const IfcFaceSurface& c) : express::select(c) {}; - IfcSurfaceOrFaceSurface(const IfcSurface& c) : express::Select(c) {}; + IfcSurfaceOrFaceSurface(const IfcSurface& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. @@ -3682,40 +3682,40 @@ public: /// NOTE: Corresponding ISO 10303 type: surface_style_element_select. Please refer to ISO/IS 10303-46:1994, p. 85 for the final definition of the formal standard. /// /// HISTORY: New Select type in IFC2x2. -class IFC_SCHEMA_API IfcSurfaceStyleElementSelect : public express::Select { +class IFC_SCHEMA_API IfcSurfaceStyleElementSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternallyDefinedSurfaceStyle as() const { return express::Base::as(); } + // IfcExternallyDefinedSurfaceStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleLighting as() const { return express::Base::as(); } + // IfcSurfaceStyleLighting as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleRefraction as() const { return express::Base::as(); } + // IfcSurfaceStyleRefraction as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleShading as() const { return express::Base::as(); } + // IfcSurfaceStyleShading as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleWithTextures as() const { return express::Base::as(); } + // IfcSurfaceStyleWithTextures as() const { return express::base::as(); } - IfcSurfaceStyleElementSelect(const IfcExternallyDefinedSurfaceStyle& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcExternallyDefinedSurfaceStyle& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleLighting& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleLighting& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleRefraction& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleRefraction& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleShading& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleShading& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleWithTextures& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleWithTextures& c) : express::select(c) {}; }; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. @@ -3725,63 +3725,63 @@ public: /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. -class IFC_SCHEMA_API IfcTextFontSelect : public express::Select { +class IFC_SCHEMA_API IfcTextFontSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternallyDefinedTextFont as() const { return express::Base::as(); } + // IfcExternallyDefinedTextFont as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedTextFont as() const { return express::Base::as(); } + // IfcPreDefinedTextFont as() const { return express::base::as(); } - IfcTextFontSelect(const IfcExternallyDefinedTextFont& c) : express::Select(c) {}; + IfcTextFontSelect(const IfcExternallyDefinedTextFont& c) : express::select(c) {}; - IfcTextFontSelect(const IfcPreDefinedTextFont& c) : express::Select(c) {}; + IfcTextFontSelect(const IfcPreDefinedTextFont& c) : express::select(c) {}; }; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 -class IFC_SCHEMA_API IfcTimeOrRatioSelect : public express::Select { +class IFC_SCHEMA_API IfcTimeOrRatioSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } - IfcTimeOrRatioSelect(const IfcDuration& c) : express::Select(c) {}; + IfcTimeOrRatioSelect(const IfcDuration& c) : express::select(c) {}; - IfcTimeOrRatioSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcTimeOrRatioSelect(const IfcRatioMeasure& c) : express::select(c) {}; }; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcTranslationalStiffnessSelect : public express::Select { +class IFC_SCHEMA_API IfcTranslationalStiffnessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } - IfcTranslationalStiffnessSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcTranslationalStiffnessSelect(const IfcBoolean& c) : express::select(c) {}; - IfcTranslationalStiffnessSelect(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcTranslationalStiffnessSelect(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. @@ -3789,22 +3789,22 @@ public: /// NOTE Corresponding ISO 10303 type: trimming_select, please refer to ISO/IS 10303-42:1994, p. 20 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.0 -class IFC_SCHEMA_API IfcTrimmingSelect : public express::Select { +class IFC_SCHEMA_API IfcTrimmingSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCartesianPoint as() const { return express::Base::as(); } + // IfcCartesianPoint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } - IfcTrimmingSelect(const IfcCartesianPoint& c) : express::Select(c) {}; + IfcTrimmingSelect(const IfcCartesianPoint& c) : express::select(c) {}; - IfcTrimmingSelect(const IfcParameterValue& c) : express::Select(c) {}; + IfcTrimmingSelect(const IfcParameterValue& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. @@ -3820,28 +3820,28 @@ public: /// IfcMonetaryUnit: A unit for defining currencies. /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcUnit : public express::Select { +class IFC_SCHEMA_API IfcUnit : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedUnit as() const { return express::Base::as(); } + // IfcDerivedUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryUnit as() const { return express::Base::as(); } + // IfcMonetaryUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNamedUnit as() const { return express::Base::as(); } + // IfcNamedUnit as() const { return express::base::as(); } - IfcUnit(const IfcDerivedUnit& c) : express::Select(c) {}; + IfcUnit(const IfcDerivedUnit& c) : express::select(c) {}; - IfcUnit(const IfcMonetaryUnit& c) : express::Select(c) {}; + IfcUnit(const IfcMonetaryUnit& c) : express::select(c) {}; - IfcUnit(const IfcNamedUnit& c) : express::Select(c) {}; + IfcUnit(const IfcNamedUnit& c) : express::select(c) {}; }; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, @@ -3854,682 +3854,682 @@ public: /// IfcDerivedMeasureValue A select type for derived measure types. /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcValue : public express::Select { +class IFC_SCHEMA_API IfcValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedMeasureValue as() const { return express::Base::as(); } + // IfcDerivedMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureValue as() const { return express::Base::as(); } + // IfcMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSimpleValue as() const { return express::Base::as(); } + // IfcSimpleValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcURIReference as() const { return express::Base::as(); } + // IfcURIReference as() const { return express::base::as(); } - IfcValue(const IfcDerivedMeasureValue& c) : express::Select(c) {}; + IfcValue(const IfcDerivedMeasureValue& c) : express::select(c) {}; - IfcValue(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcValue(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcValue(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcValue(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcValue(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcValue(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcValue(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcValue(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcValue(const IfcForceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcForceMeasure& c) : express::select(c) {}; - IfcValue(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcValue(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcValue(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcValue(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcValue(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcValue(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcValue(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcValue(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcValue(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcValue(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcValue(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcValue(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcValue(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcValue(const IfcPHMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPHMeasure& c) : express::select(c) {}; - IfcValue(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcValue(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPowerMeasure& c) : express::select(c) {}; - IfcValue(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPressureMeasure& c) : express::select(c) {}; - IfcValue(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcValue(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcValue(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcValue(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcValue(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcValue(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcValue(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcValue(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcValue(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcValue(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcValue(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcValue(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcValue(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcValue(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcValue(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcValue(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcValue(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcWarpingMomentMeasure& c) : express::select(c) {}; - IfcValue(const IfcMeasureValue& c) : express::Select(c) {}; + IfcValue(const IfcMeasureValue& c) : express::select(c) {}; - IfcValue(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAreaMeasure& c) : express::select(c) {}; - IfcValue(const IfcComplexNumber& c) : express::Select(c) {}; + IfcValue(const IfcComplexNumber& c) : express::select(c) {}; - IfcValue(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcValue(const IfcCountMeasure& c) : express::Select(c) {}; + IfcValue(const IfcCountMeasure& c) : express::select(c) {}; - IfcValue(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcValue(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcValue(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassMeasure& c) : express::select(c) {}; - IfcValue(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcValue(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcValue(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcValue(const IfcNumericMeasure& c) : express::select(c) {}; - IfcValue(const IfcParameterValue& c) : express::Select(c) {}; + IfcValue(const IfcParameterValue& c) : express::select(c) {}; - IfcValue(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcValue(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRatioMeasure& c) : express::select(c) {}; - IfcValue(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcValue(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTimeMeasure& c) : express::select(c) {}; - IfcValue(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcVolumeMeasure& c) : express::select(c) {}; - IfcValue(const IfcSimpleValue& c) : express::Select(c) {}; + IfcValue(const IfcSimpleValue& c) : express::select(c) {}; - IfcValue(const IfcBinary& c) : express::Select(c) {}; + IfcValue(const IfcBinary& c) : express::select(c) {}; - IfcValue(const IfcBoolean& c) : express::Select(c) {}; + IfcValue(const IfcBoolean& c) : express::select(c) {}; - IfcValue(const IfcDate& c) : express::Select(c) {}; + IfcValue(const IfcDate& c) : express::select(c) {}; - IfcValue(const IfcDateTime& c) : express::Select(c) {}; + IfcValue(const IfcDateTime& c) : express::select(c) {}; - IfcValue(const IfcDuration& c) : express::Select(c) {}; + IfcValue(const IfcDuration& c) : express::select(c) {}; - IfcValue(const IfcIdentifier& c) : express::Select(c) {}; + IfcValue(const IfcIdentifier& c) : express::select(c) {}; - IfcValue(const IfcInteger& c) : express::Select(c) {}; + IfcValue(const IfcInteger& c) : express::select(c) {}; - IfcValue(const IfcLabel& c) : express::Select(c) {}; + IfcValue(const IfcLabel& c) : express::select(c) {}; - IfcValue(const IfcLogical& c) : express::Select(c) {}; + IfcValue(const IfcLogical& c) : express::select(c) {}; - IfcValue(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcValue(const IfcPositiveInteger& c) : express::select(c) {}; - IfcValue(const IfcReal& c) : express::Select(c) {}; + IfcValue(const IfcReal& c) : express::select(c) {}; - IfcValue(const IfcText& c) : express::Select(c) {}; + IfcValue(const IfcText& c) : express::select(c) {}; - IfcValue(const IfcTime& c) : express::Select(c) {}; + IfcValue(const IfcTime& c) : express::select(c) {}; - IfcValue(const IfcTimeStamp& c) : express::Select(c) {}; + IfcValue(const IfcTimeStamp& c) : express::select(c) {}; - IfcValue(const IfcURIReference& c) : express::Select(c) {}; + IfcValue(const IfcURIReference& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This type is used to @@ -4540,43 +4540,43 @@ public: /// definition of the formal standard. /// HISTORY New Type in IFC Release /// 1.5 -class IFC_SCHEMA_API IfcVectorOrDirection : public express::Select { +class IFC_SCHEMA_API IfcVectorOrDirection : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDirection as() const { return express::Base::as(); } + // IfcDirection as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVector as() const { return express::Base::as(); } + // IfcVector as() const { return express::base::as(); } - IfcVectorOrDirection(const IfcDirection& c) : express::Select(c) {}; + IfcVectorOrDirection(const IfcDirection& c) : express::select(c) {}; - IfcVectorOrDirection(const IfcVector& c) : express::Select(c) {}; + IfcVectorOrDirection(const IfcVector& c) : express::select(c) {}; }; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcWarpingStiffnessSelect : public express::Select { +class IFC_SCHEMA_API IfcWarpingStiffnessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } - IfcWarpingStiffnessSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcWarpingStiffnessSelect(const IfcBoolean& c) : express::select(c) {}; - IfcWarpingStiffnessSelect(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcWarpingStiffnessSelect(const IfcWarpingMomentMeasure& c) : express::select(c) {}; }; /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. @@ -4590,9 +4590,9 @@ public: /// VERBAL: Request was made verbally in person. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcActionRequestTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActionRequestTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcActionRequestType_EMAIL, IfcActionRequestType_FAX, IfcActionRequestType_PHONE, IfcActionRequestType_POST, IfcActionRequestType_VERBAL, IfcActionRequestType_USERDEFINED, IfcActionRequestType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4608,9 +4608,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcActionSourceTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActionSourceTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4628,9 +4628,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcActionTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActionTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcActionType_EXTRAORDINARY_A, IfcActionType_PERMANENT_G, IfcActionType_VARIABLE_Q, IfcActionType_USERDEFINED, IfcActionType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4657,9 +4657,9 @@ public: /// /// See property set of actuator common attributes for specification of /// properties for hand operated actuators. -class IFC_SCHEMA_API IfcActuatorTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActuatorTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcActuatorType_ELECTRICACTUATOR, IfcActuatorType_HANDOPERATEDACTUATOR, IfcActuatorType_HYDRAULICACTUATOR, IfcActuatorType_PNEUMATICACTUATOR, IfcActuatorType_THERMOSTATICACTUATOR, IfcActuatorType_USERDEFINED, IfcActuatorType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4681,9 +4681,9 @@ public: /// HOME A home address. /// DISTRIBUTIONPOINT A postal distribution point address. /// USERDEFINED A user defined address type to be provided. -class IFC_SCHEMA_API IfcAddressTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAddressTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAddressType_DISTRIBUTIONPOINT, IfcAddressType_HOME, IfcAddressType_OFFICE, IfcAddressType_SITE, IfcAddressType_USERDEFINED} Value; static const char* ToString(Value v); @@ -4705,9 +4705,9 @@ public: /// NOTDEFINED: Undefined terminal box. /// /// HISTORY: New enumeration in IFC R2.0 -class IFC_SCHEMA_API IfcAirTerminalBoxTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAirTerminalBoxTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAirTerminalBoxType_CONSTANTFLOW, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREDEPENDANT, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREINDEPENDANT, IfcAirTerminalBoxType_USERDEFINED, IfcAirTerminalBoxType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4731,9 +4731,9 @@ public: /// NOTE: Architectural louvres within doors or windows are defined by IfcPermeableCoveringProperties. /// /// HISTORY: New enumeration in IFC R2x2. Modified in IFC R2x4 to add LOUVRE and remove EYEBALL, IRIS, LINEARGRILLE, LINEARDIFFUSER -class IFC_SCHEMA_API IfcAirTerminalTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAirTerminalTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAirTerminalType_DIFFUSER, IfcAirTerminalType_GRILLE, IfcAirTerminalType_LOUVRE, IfcAirTerminalType_REGISTER, IfcAirTerminalType_USERDEFINED, IfcAirTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4760,9 +4760,9 @@ public: /// NOTDEFINED: Undefined air to air heat recovery type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcAirToAirHeatRecoveryTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAirToAirHeatRecoveryTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4787,9 +4787,9 @@ public: /// WHISTLE: An audible alarm. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcAlarmTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAlarmTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4801,9 +4801,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcAlignmentCantSegmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAlignmentCantSegmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAlignmentCantSegmentType_BLOSSCURVE, IfcAlignmentCantSegmentType_CONSTANTCANT, IfcAlignmentCantSegmentType_COSINECURVE, IfcAlignmentCantSegmentType_HELMERTCURVE, IfcAlignmentCantSegmentType_LINEARTRANSITION, IfcAlignmentCantSegmentType_SINECURVE, IfcAlignmentCantSegmentType_VIENNESEBEND} Value; static const char* ToString(Value v); @@ -4815,9 +4815,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcAlignmentHorizontalSegmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAlignmentHorizontalSegmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4829,9 +4829,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcAlignmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAlignmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAlignmentType_USERDEFINED, IfcAlignmentType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4843,9 +4843,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcAlignmentVerticalSegmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAlignmentVerticalSegmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAlignmentVerticalSegmentType_CIRCULARARC, IfcAlignmentVerticalSegmentType_CLOTHOID, IfcAlignmentVerticalSegmentType_CONSTANTGRADIENT, IfcAlignmentVerticalSegmentType_PARABOLICARC} Value; static const char* ToString(Value v); @@ -4862,9 +4862,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcAnalysisModelTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAnalysisModelTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4882,9 +4882,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcAnalysisTheoryTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAnalysisTheoryTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4896,9 +4896,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcAnnotationTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAnnotationTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4921,9 +4921,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcArithmeticOperatorEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcArithmeticOperatorEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcArithmeticOperator_ADD, IfcArithmeticOperator_DIVIDE, IfcArithmeticOperator_MODULO, IfcArithmeticOperator_MULTIPLY, IfcArithmeticOperator_SUBTRACT} Value; static const char* ToString(Value v); @@ -4946,9 +4946,9 @@ public: /// SITE - this assembly is assembled at site /// /// FACTORY - this assembly is assembled in a factory -class IFC_SCHEMA_API IfcAssemblyPlaceEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAssemblyPlaceEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAssemblyPlace_FACTORY, IfcAssemblyPlace_SITE, IfcAssemblyPlace_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4973,9 +4973,9 @@ public: /// SWITCHER: A device that receives audio and/or video signals, switches sources, and transmits signals to downstream devices. /// TELEPHONE: A telecommunications device that is used to transmit and receive sound, and optionally video. /// TUNER: An electronic receiver that detects, demodulates, and amplifies transmitted signals. -class IFC_SCHEMA_API IfcAudioVisualApplianceTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAudioVisualApplianceTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5000,9 +5000,9 @@ public: /// NOTE Corresponding ISO 10303 type: b_spline_curve_form. Please refer to ISO/IS 10303-42:1994, p. 15 for the final definition of the formal standard. /// /// HISTORY New type in Release IFC2x2. -class IFC_SCHEMA_API IfcBSplineCurveForm : public express::DeclaredType { +class IFC_SCHEMA_API IfcBSplineCurveForm : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5014,9 +5014,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBSplineSurfaceForm : public express::DeclaredType { +class IFC_SCHEMA_API IfcBSplineSurfaceForm : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5066,9 +5066,9 @@ public: /// IFC2x4 CHANGE The enumerators /// HOLLOWCORE and SPANDREL have been /// added. -class IFC_SCHEMA_API IfcBeamTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBeamTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5080,9 +5080,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBearingTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBearingTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5133,9 +5133,9 @@ public: /// /// NOTINCLUDEDIN /// 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_SCHEMA_API IfcBenchmarkEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBenchmarkEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5155,9 +5155,9 @@ public: /// NOTDEFINED: Undefined Boiler type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcBoilerTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBoilerTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBoilerType_STEAM, IfcBoilerType_WATER, IfcBoilerType_USERDEFINED, IfcBoilerType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5177,9 +5177,9 @@ public: /// NOTE Corresponding STEP type: boolean_operator, please refer to ISO/IS 10303-42:1994, p.167 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcBooleanOperator : public express::DeclaredType { +class IFC_SCHEMA_API IfcBooleanOperator : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBooleanOperator_DIFFERENCE, IfcBooleanOperator_INTERSECTION, IfcBooleanOperator_UNION} Value; static const char* ToString(Value v); @@ -5191,9 +5191,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBridgePartTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBridgePartTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5205,9 +5205,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBridgeTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBridgeTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5226,9 +5226,9 @@ public: /// NOTDEFINED: Undefined accessory /// /// HISTORY New Enumeration in IFC 2x4. -class IFC_SCHEMA_API IfcBuildingElementPartTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBuildingElementPartTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBuildingElementPartType_APRON, IfcBuildingElementPartType_ARMOURUNIT, IfcBuildingElementPartType_INSULATION, IfcBuildingElementPartType_PRECASTPANEL, IfcBuildingElementPartType_SAFETYCAGE, IfcBuildingElementPartType_USERDEFINED, IfcBuildingElementPartType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5250,9 +5250,9 @@ public: /// USERDEFINED /// /// NOTDEFINED -class IFC_SCHEMA_API IfcBuildingElementProxyTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBuildingElementProxyTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBuildingElementProxyType_COMPLEX, IfcBuildingElementProxyType_ELEMENT, IfcBuildingElementProxyType_PARTIAL, IfcBuildingElementProxyType_PROVISIONFORSPACE, IfcBuildingElementProxyType_PROVISIONFORVOID, IfcBuildingElementProxyType_USERDEFINED, IfcBuildingElementProxyType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5277,9 +5277,9 @@ public: /// natural sun light, /// TRANSPORT: System of all transport elements in a /// building that enables the transport of people or goods. -class IFC_SCHEMA_API IfcBuildingSystemTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBuildingSystemTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5291,9 +5291,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBuiltSystemTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBuiltSystemTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5311,9 +5311,9 @@ public: /// NOTDEFINED: Undefined burner type. /// /// HISTORY: New enumeration in IFC R2x4. -class IFC_SCHEMA_API IfcBurnerTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBurnerTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBurnerType_USERDEFINED, IfcBurnerType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5334,9 +5334,9 @@ public: /// TEE: A fitting at which a branch is taken from the main route of the cable carrier. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableCarrierFittingTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableCarrierFittingTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5357,9 +5357,9 @@ public: /// CONDUITSEGMENT: An enclosed tubular carrier segment through which cables are pulled. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableCarrierSegmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableCarrierSegmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5381,9 +5381,9 @@ public: /// TRANSITION: A fitting that joins two cable segments of different connector types. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableFittingTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableFittingTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5406,9 +5406,9 @@ public: /// CORESEGMENT: A self contained element of a cable that comprises one or more conductors and sheathing.The core of one lead is normally single wired or multiwired which are intertwined. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableSegmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableSegmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5420,9 +5420,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcCaissonFoundationTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCaissonFoundationTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcCaissonFoundationType_CAISSON, IfcCaissonFoundationType_WELL, IfcCaissonFoundationType_USERDEFINED, IfcCaissonFoundationType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5444,9 +5444,9 @@ public: /// Consider Application A will create an IFC dataset that it wants to publish to others for modification and have the ability to subsequently merge these changes back into the original model. Before publication, it may want to set the IfcChangeActionEnum to NOCHANGE to establish a baseline so that other application changes can be easily identified. Application B then receives this IFC dataset and adds a new object and sets IfcChangeActionEnum to ADDED with Application B defined as the OwningApplication. Application B then modifies an existing object and (re)defines the LastModifiedDate to the time of the modification, LastModifyingUser to the IfcPersonAndOrganization making the change, and sets the LastModifyingApplication to Application B. When Application A receives this modified dataset, it can determine which objects have been added and modified by Application B and either merge or reject these changes as necessary. Consequently, the intent is that an application only modifies the value of IfcChangeActionEnum when it does something to the object, with the further intent that a model server is responsible for clearing the IfcChangeActionEnum back to NOCHANGE when it is ready to be republished. /// /// HISTORY: New enumeration in IFC R2.0. Modified in IFC2x4. -class IFC_SCHEMA_API IfcChangeActionEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcChangeActionEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcChangeAction_ADDED, IfcChangeAction_DELETED, IfcChangeAction_MODIFIED, IfcChangeAction_NOCHANGE, IfcChangeAction_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5467,9 +5467,9 @@ public: /// NOTDEFINED: Undefined chiller type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcChillerTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcChillerTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcChillerType_AIRCOOLED, IfcChillerType_HEATRECOVERY, IfcChillerType_WATERCOOLED, IfcChillerType_USERDEFINED, IfcChillerType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5490,9 +5490,9 @@ public: /// NOTE Currently there are no specific enumerators /// defined, the IfcChimneyTypeEnum has been added /// for future extensions. -class IFC_SCHEMA_API IfcChimneyTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcChimneyTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcChimneyType_USERDEFINED, IfcChimneyType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5525,9 +5525,9 @@ public: /// NOTDEFINED: Undefined coil type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcCoilTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCoilTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5552,9 +5552,9 @@ public: /// future releases of IFC. /// HISTORY New Enumeration /// in Release IFC2x Edition 2. -class IFC_SCHEMA_API IfcColumnTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcColumnTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcColumnType_COLUMN, IfcColumnType_PIERSTEM, IfcColumnType_PIERSTEM_SEGMENT, IfcColumnType_PILASTER, IfcColumnType_STANDCOLUMN, IfcColumnType_USERDEFINED, IfcColumnType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5581,9 +5581,9 @@ public: /// REPEATER: A repeater is an electronic device that receives a signal and retransmits it at a higher level and/or higher power, or onto the other side of an obstruction, so that the signal can cover longer distances without degradation. /// ROUTER: A router is a networking device whose software and hardware are usually tailored to the tasks of routing and forwarding information. For example, on the Internet, information is directed to various paths by routers. /// 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_SCHEMA_API IfcCommunicationsApplianceTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCommunicationsApplianceTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5602,9 +5602,9 @@ public: /// /// P_COMPLEX: the properties defined by this IfcComplexPropertyTemplate are of type IfcComplexProperty. /// Q_COMPLEX: the properties defined by this IfcComplexPropertyTemplate are of type IfcPhysicalComplexQuantity. -class IFC_SCHEMA_API IfcComplexPropertyTemplateTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcComplexPropertyTemplateTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcComplexPropertyTemplateType_P_COMPLEX, IfcComplexPropertyTemplateType_Q_COMPLEX} Value; static const char* ToString(Value v); @@ -5637,9 +5637,9 @@ public: /// NOTDEFINED: Undefined compressor type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcCompressorTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCompressorTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5663,9 +5663,9 @@ public: /// NOTDEFINED: Undefined condenser type. /// /// HISTORY: New enumeration in IFC 2x2. WATERCOOLED added in IFC 2x4. -class IFC_SCHEMA_API IfcCondenserTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCondenserTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5696,9 +5696,9 @@ public: /// RelatedConnectionType: AtStart /// /// Figure 65 — Connection types /*[3:3]*/ v); operator std::vector< int64_t > /*[3:3]*/() const; }; -class IFC_SCHEMA_API IfcAreaDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcAreaDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcAreaDensityMeasure initialize(double v); @@ -11637,18 +11637,18 @@ public: /// NOTE Corresponding ISO 10303 name: area_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcAreaMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcAreaMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcAreaMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcBinary : public express::DeclaredType { +class IFC_SCHEMA_API IfcBinary : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcBinary initialize(boost::dynamic_bitset<> v); @@ -11659,9 +11659,9 @@ public: /// Type: BOOLEAN /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcBoolean : public express::DeclaredType { +class IFC_SCHEMA_API IfcBoolean : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcBoolean initialize(bool v); @@ -11710,9 +11710,9 @@ public: /// Figure 284 illustrates an example extrusion shape with arbitrary profile (IfcArbitraryClosedProfileDef), aligned "mid-depth right" on the member axis. The line of sight follows the extrusion direction Z which points into the drawing plane of above illustration. Hence, "left" is in the positive X direction of the IfcProfileDef. "Top" is in the positive Y direction of the IfcProfileDef. /// /// Figure 284 — Cardinal point extrusion -class IFC_SCHEMA_API IfcCardinalPointReference : public express::DeclaredType { +class IFC_SCHEMA_API IfcCardinalPointReference : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCardinalPointReference initialize(int64_t v); @@ -11729,9 +11729,9 @@ public: /// Type: ARRAY [1:2] OF REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_SCHEMA_API IfcComplexNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcComplexNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcComplexNumber initialize(std::vector< double > /*[1:2]*/ v); @@ -11785,9 +11785,9 @@ public: ///      + FORMAT(ABS(c[4]), '##');  -- -50° 58' 33" 110400 /// /// 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_SCHEMA_API IfcCompoundPlaneAngleMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcCompoundPlaneAngleMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCompoundPlaneAngleMeasure initialize(std::vector< int64_t > /*[3:4]*/ v); @@ -11799,9 +11799,9 @@ public: /// NOTE Corresponding ISO 10303 name: context_dependent_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcContextDependentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcContextDependentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcContextDependentMeasure initialize(double v); @@ -11813,9 +11813,9 @@ public: /// NOTE Corresponding ISO 10303 name: count_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcCountMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcCountMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCountMeasure initialize(int64_t v); @@ -11828,9 +11828,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcCurvatureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcCurvatureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCurvatureMeasure initialize(double v); @@ -11842,9 +11842,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcDate : public express::DeclaredType { +class IFC_SCHEMA_API IfcDate : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDate initialize(std::string v); @@ -11868,9 +11868,9 @@ public: /// otherwise they are forbidden. The year 0000 is prohibited. /// /// HISTORY: New type in IFC2x4 -class IFC_SCHEMA_API IfcDateTime : public express::DeclaredType { +class IFC_SCHEMA_API IfcDateTime : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDateTime initialize(std::string v); @@ -11888,9 +11888,9 @@ public: /// Release 1.5.1. /// IFC2x4 CHANGE Where rule /// ValidRange added. -class IFC_SCHEMA_API IfcDayInMonthNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcDayInMonthNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDayInMonthNumber initialize(int64_t v); @@ -11930,9 +11930,9 @@ public: /// Type: INTEGER /// HISTORY New type in /// IFC2x4. -class IFC_SCHEMA_API IfcDayInWeekNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcDayInWeekNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDayInWeekNumber initialize(int64_t v); @@ -11944,9 +11944,9 @@ public: /// NOTE Corresponding ISO 10303 name:descriptive_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDescriptiveMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcDescriptiveMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDescriptiveMeasure initialize(std::string v); @@ -11959,9 +11959,9 @@ public: /// NOTE Corresponding ISO 10303 type: dimension_count, please refer to ISO/IS 10303-42:1994, p. 14 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5 -class IFC_SCHEMA_API IfcDimensionCount : public express::DeclaredType { +class IFC_SCHEMA_API IfcDimensionCount : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDimensionCount initialize(int64_t v); @@ -11972,9 +11972,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcDoseEquivalentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcDoseEquivalentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDoseEquivalentMeasure initialize(double v); @@ -11985,9 +11985,9 @@ public: /// EXAMPLE: P0002-10-15T10:30:20 (duration of two years, 10 months, 15 days, 10 hours, 30 minutes and 20 seconds). /// /// HISTORY: New type in IFC2x4 -class IFC_SCHEMA_API IfcDuration : public express::DeclaredType { +class IFC_SCHEMA_API IfcDuration : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDuration initialize(std::string v); @@ -11999,9 +11999,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcDynamicViscosityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcDynamicViscosityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDynamicViscosityMeasure initialize(double v); @@ -12012,9 +12012,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricCapacitanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricCapacitanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricCapacitanceMeasure initialize(double v); @@ -12025,9 +12025,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricChargeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricChargeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricChargeMeasure initialize(double v); @@ -12038,9 +12038,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricConductanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricConductanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricConductanceMeasure initialize(double v); @@ -12053,9 +12053,9 @@ public: /// NOTE Corresponding ISO 10303 name: electric_current_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcElectricCurrentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricCurrentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricCurrentMeasure initialize(double v); @@ -12066,9 +12066,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricResistanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricResistanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricResistanceMeasure initialize(double v); @@ -12079,9 +12079,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcElectricVoltageMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricVoltageMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricVoltageMeasure initialize(double v); @@ -12092,9 +12092,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcEnergyMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcEnergyMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcEnergyMeasure initialize(double v); @@ -12114,9 +12114,9 @@ public: /// NOTE  Corresponding CSS1 definitions is font-style. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcFontStyle : public express::DeclaredType { +class IFC_SCHEMA_API IfcFontStyle : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFontStyle initialize(std::string v); @@ -12134,9 +12134,9 @@ public: /// NOTE  Corresponding CSS1 definitions is font-variant. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcFontVariant : public express::DeclaredType { +class IFC_SCHEMA_API IfcFontVariant : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFontVariant initialize(std::string v); @@ -12165,9 +12165,9 @@ public: /// NOTE  Corresponding CSS1 definitions is font-weight. /// /// HISTORY  New type in IFC2x2 Addendum 2. -class IFC_SCHEMA_API IfcFontWeight : public express::DeclaredType { +class IFC_SCHEMA_API IfcFontWeight : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFontWeight initialize(std::string v); @@ -12178,9 +12178,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcForceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcForceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcForceMeasure initialize(double v); @@ -12191,9 +12191,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcFrequencyMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcFrequencyMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFrequencyMeasure initialize(double v); @@ -12212,9 +12212,9 @@ public: /// Refer to the BuildingSMART website (www.buildingsmart-tech.org) for more information and sample encoding algorithms. /// /// HISTORY  New type in IFC R1.5.1. -class IFC_SCHEMA_API IfcGloballyUniqueId : public express::DeclaredType { +class IFC_SCHEMA_API IfcGloballyUniqueId : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcGloballyUniqueId initialize(std::string v); @@ -12225,9 +12225,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcHeatFluxDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcHeatFluxDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcHeatFluxDensityMeasure initialize(double v); @@ -12236,9 +12236,9 @@ public: /// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. /// /// HISTORY: This is new type in IFC2x2. -class IFC_SCHEMA_API IfcHeatingValueMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcHeatingValueMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcHeatingValueMeasure initialize(double v); @@ -12258,9 +12258,9 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// 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_SCHEMA_API IfcIdentifier : public express::DeclaredType { +class IFC_SCHEMA_API IfcIdentifier : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIdentifier initialize(std::string v); @@ -12271,9 +12271,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcIlluminanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIlluminanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIlluminanceMeasure initialize(double v); @@ -12284,9 +12284,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcInductanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcInductanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcInductanceMeasure initialize(double v); @@ -12299,9 +12299,9 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcInteger : public express::DeclaredType { +class IFC_SCHEMA_API IfcInteger : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcInteger initialize(int64_t v); @@ -12314,9 +12314,9 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcIntegerCountRateMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIntegerCountRateMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIntegerCountRateMeasure initialize(int64_t v); @@ -12325,9 +12325,9 @@ public: /// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcIonConcentrationMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIonConcentrationMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIonConcentrationMeasure initialize(double v); @@ -12338,9 +12338,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcIsothermalMoistureCapacityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIsothermalMoistureCapacityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIsothermalMoistureCapacityMeasure initialize(double v); @@ -12351,9 +12351,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcKinematicViscosityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcKinematicViscosityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcKinematicViscosityMeasure initialize(double v); @@ -12373,9 +12373,9 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// 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_SCHEMA_API IfcLabel : public express::DeclaredType { +class IFC_SCHEMA_API IfcLabel : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLabel initialize(std::string v); @@ -12406,18 +12406,18 @@ public: /// NOTE Corresponding ISO 10303 name: length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcLengthMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLengthMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLengthMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcLineIndex : public express::DeclaredType { +class IFC_SCHEMA_API IfcLineIndex : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLineIndex initialize(std::vector< int64_t > /*[2:?]*/ v); @@ -12428,9 +12428,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLinearForceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearForceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearForceMeasure initialize(double v); @@ -12441,9 +12441,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLinearMomentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearMomentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearMomentMeasure initialize(double v); @@ -12454,9 +12454,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLinearStiffnessMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearStiffnessMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearStiffnessMeasure initialize(double v); @@ -12467,9 +12467,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcLinearVelocityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearVelocityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearVelocityMeasure initialize(double v); @@ -12480,9 +12480,9 @@ public: /// Type: LOGICAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLogical : public express::DeclaredType { +class IFC_SCHEMA_API IfcLogical : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLogical initialize(boost::logic::tribool v); @@ -12493,9 +12493,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLuminousFluxMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLuminousFluxMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLuminousFluxMeasure initialize(double v); @@ -12508,9 +12508,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcLuminousIntensityDistributionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLuminousIntensityDistributionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLuminousIntensityDistributionMeasure initialize(double v); @@ -12523,9 +12523,9 @@ public: /// NOTE Corresponding ISO 10303 name: luminous_intensity_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcLuminousIntensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLuminousIntensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLuminousIntensityMeasure initialize(double v); @@ -12536,9 +12536,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMagneticFluxDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMagneticFluxDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMagneticFluxDensityMeasure initialize(double v); @@ -12549,9 +12549,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMagneticFluxMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMagneticFluxMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMagneticFluxMeasure initialize(double v); @@ -12562,9 +12562,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcMassDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassDensityMeasure initialize(double v); @@ -12575,9 +12575,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcMassFlowRateMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassFlowRateMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassFlowRateMeasure initialize(double v); @@ -12590,9 +12590,9 @@ public: /// NOTE Corresponding ISO 10303 name: mass_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcMassMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassMeasure initialize(double v); @@ -12605,9 +12605,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcMassPerLengthMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassPerLengthMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassPerLengthMeasure initialize(double v); @@ -12618,9 +12618,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcModulusOfElasticityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfElasticityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfElasticityMeasure initialize(double v); @@ -12631,9 +12631,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_SCHEMA_API IfcModulusOfLinearSubgradeReactionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfLinearSubgradeReactionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfLinearSubgradeReactionMeasure initialize(double v); @@ -12644,9 +12644,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfRotationalSubgradeReactionMeasure initialize(double v); @@ -12661,9 +12661,9 @@ public: /// Figure 290 illustrates elastic support of a planar member. /// /// Figure 290 — Modulus of subgrade reaction measure -class IFC_SCHEMA_API IfcModulusOfSubgradeReactionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfSubgradeReactionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfSubgradeReactionMeasure initialize(double v); @@ -12674,9 +12674,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMoistureDiffusivityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMoistureDiffusivityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMoistureDiffusivityMeasure initialize(double v); @@ -12687,9 +12687,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMolecularWeightMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMolecularWeightMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMolecularWeightMeasure initialize(double v); @@ -12700,9 +12700,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMomentOfInertiaMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMomentOfInertiaMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMomentOfInertiaMeasure initialize(double v); @@ -12712,9 +12712,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcMonetaryMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMonetaryMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMonetaryMeasure initialize(double v); @@ -12776,9 +12776,9 @@ public: /// standard. /// HISTORY New type in IFC /// Release 1.5.1. -class IFC_SCHEMA_API IfcMonthInYearNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcMonthInYearNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMonthInYearNumber initialize(int64_t v); @@ -12803,9 +12803,9 @@ public: /// NOTE Corresponding ISO 10303 name: numeric_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcNumericMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcNumericMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcNumericMeasure initialize(double v); @@ -12814,9 +12814,9 @@ public: /// 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. /// /// HISTORY: New type in IFC 2x2. -class IFC_SCHEMA_API IfcPHMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPHMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPHMeasure initialize(double v); @@ -12829,9 +12829,9 @@ public: /// NOTE Corresponding STEP name: parameter_value, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcParameterValue : public express::DeclaredType { +class IFC_SCHEMA_API IfcParameterValue : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcParameterValue initialize(double v); @@ -12842,9 +12842,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcPlanarForceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPlanarForceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPlanarForceMeasure initialize(double v); @@ -12861,9 +12861,9 @@ public: /// NOTE Corresponding ISO 10303 name: plane_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcPlaneAngleMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPlaneAngleMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPlaneAngleMeasure initialize(double v); @@ -12911,9 +12911,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcPowerMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPowerMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPowerMeasure initialize(double v); @@ -12928,9 +12928,9 @@ public: /// NOTE  Corresponding ISO 10303 name: presentable_text. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. /// /// HISTORY  New type in IFC2x2. -class IFC_SCHEMA_API IfcPresentableText : public express::DeclaredType { +class IFC_SCHEMA_API IfcPresentableText : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPresentableText initialize(std::string v); @@ -12941,18 +12941,18 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcPressureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPressureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPressureMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcPropertySetDefinitionSet : public express::DeclaredType { +class IFC_SCHEMA_API IfcPropertySetDefinitionSet : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPropertySetDefinitionSet initialize(std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > v); @@ -12963,9 +12963,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcRadioActivityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRadioActivityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRadioActivityMeasure initialize(double v); @@ -12981,9 +12981,9 @@ public: /// NOTE Corresponding STEP name: ratio_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcRatioMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRatioMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRatioMeasure initialize(double v); @@ -12996,9 +12996,9 @@ public: /// Type: REAL /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcReal : public express::DeclaredType { +class IFC_SCHEMA_API IfcReal : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcReal initialize(double v); @@ -13009,9 +13009,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcRotationalFrequencyMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRotationalFrequencyMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRotationalFrequencyMeasure initialize(double v); @@ -13023,9 +13023,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcRotationalMassMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRotationalMassMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRotationalMassMeasure initialize(double v); @@ -13036,9 +13036,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcRotationalStiffnessMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRotationalStiffnessMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRotationalStiffnessMeasure initialize(double v); @@ -13049,9 +13049,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_SCHEMA_API IfcSectionModulusMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSectionModulusMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSectionModulusMeasure initialize(double v); @@ -13062,9 +13062,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcSectionalAreaIntegralMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSectionalAreaIntegralMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSectionalAreaIntegralMeasure initialize(double v); @@ -13075,9 +13075,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcShearModulusMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcShearModulusMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcShearModulusMeasure initialize(double v); @@ -13090,18 +13090,18 @@ public: /// NOTE Corresponding ISO 10303 name: solid_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcSolidAngleMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSolidAngleMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSolidAngleMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcSoundPowerLevelMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPowerLevelMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPowerLevelMeasure initialize(double v); @@ -13112,18 +13112,18 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcSoundPowerMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPowerMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPowerMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcSoundPressureLevelMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPressureLevelMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPressureLevelMeasure initialize(double v); @@ -13134,9 +13134,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcSoundPressureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPressureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPressureMeasure initialize(double v); @@ -13147,9 +13147,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcSpecificHeatCapacityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSpecificHeatCapacityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSpecificHeatCapacityMeasure initialize(double v); @@ -13162,9 +13162,9 @@ public: /// NOTE: The datatype relates to the definition of specular_exponent in ISO 10303-46 entity surface_style_reflectance_ambient_diffuse_specular. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcSpecularExponent : public express::DeclaredType { +class IFC_SCHEMA_API IfcSpecularExponent : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSpecularExponent initialize(double v); @@ -13179,18 +13179,18 @@ public: /// NOTE: The datatype relates to the definition of "shiness" in VRML97, which is the reciprocate value to the specular roughness. /// /// HISTORY: New type in Release IFC2x2. -class IFC_SCHEMA_API IfcSpecularRoughness : public express::DeclaredType { +class IFC_SCHEMA_API IfcSpecularRoughness : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSpecularRoughness initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcStrippedOptional : public express::DeclaredType { +class IFC_SCHEMA_API IfcStrippedOptional : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcStrippedOptional initialize(bool v); @@ -13201,9 +13201,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcTemperatureGradientMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTemperatureGradientMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTemperatureGradientMeasure initialize(double v); @@ -13214,9 +13214,9 @@ public: /// Type: REAL /// /// HISTORY  New type in IFC2x4. -class IFC_SCHEMA_API IfcTemperatureRateOfChangeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTemperatureRateOfChangeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTemperatureRateOfChangeMeasure initialize(double v); @@ -13233,9 +13233,9 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// 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_SCHEMA_API IfcText : public express::DeclaredType { +class IFC_SCHEMA_API IfcText : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcText initialize(std::string v); @@ -13251,9 +13251,9 @@ public: /// NOTE  Corresponding CSS1 definition is text-align. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcTextAlignment : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextAlignment : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextAlignment initialize(std::string v); @@ -13272,9 +13272,9 @@ public: /// NOTE  Corresponding CSS1 definition is text-decoration. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcTextDecoration : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextDecoration : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextDecoration initialize(std::string v); @@ -13299,9 +13299,9 @@ public: /// HISTORY  New type in IFC2x2 Addendum 2. /// /// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. -class IFC_SCHEMA_API IfcTextFontName : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextFontName : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextFontName initialize(std::string v); @@ -13317,9 +13317,9 @@ public: /// NOTE  Corresponding CSS1 definition is text-transform. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcTextTransformation : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextTransformation : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextTransformation initialize(std::string v); @@ -13330,9 +13330,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcThermalAdmittanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalAdmittanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalAdmittanceMeasure initialize(double v); @@ -13343,9 +13343,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcThermalConductivityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalConductivityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalConductivityMeasure initialize(double v); @@ -13355,9 +13355,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcThermalExpansionCoefficientMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalExpansionCoefficientMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalExpansionCoefficientMeasure initialize(double v); @@ -13367,9 +13367,9 @@ public: /// Usually measured in m2 Kelvin/Watt. /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcThermalResistanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalResistanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalResistanceMeasure initialize(double v); @@ -13380,9 +13380,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcThermalTransmittanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalTransmittanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalTransmittanceMeasure initialize(double v); @@ -13395,9 +13395,9 @@ public: /// NOTE Corresponding ISO 10303 name: thermodynamic_temperature_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcThermodynamicTemperatureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermodynamicTemperatureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermodynamicTemperatureMeasure initialize(double v); @@ -13411,9 +13411,9 @@ public: /// 13:20:00-05:00. /// /// HISTORY: New type in IFC2x4 -class IFC_SCHEMA_API IfcTime : public express::DeclaredType { +class IFC_SCHEMA_API IfcTime : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTime initialize(std::string v); @@ -13426,9 +13426,9 @@ public: /// NOTE Corresponding ISO 10303 name: time_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcTimeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTimeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTimeMeasure initialize(double v); @@ -13438,9 +13438,9 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcTimeStamp : public express::DeclaredType { +class IFC_SCHEMA_API IfcTimeStamp : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTimeStamp initialize(int64_t v); @@ -13451,9 +13451,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcTorqueMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTorqueMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTorqueMeasure initialize(double v); @@ -13466,9 +13466,9 @@ public: /// designed to make it easy to map other namespaces (that share the properties of URNs) into URN-space. /// /// HISTORY New defined datatype in IFC 2x4. -class IFC_SCHEMA_API IfcURIReference : public express::DeclaredType { +class IFC_SCHEMA_API IfcURIReference : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcURIReference initialize(std::string v); @@ -13479,9 +13479,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcVaporPermeabilityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcVaporPermeabilityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcVaporPermeabilityMeasure initialize(double v); @@ -13494,9 +13494,9 @@ public: /// NOTE Corresponding ISO 10303 name: volume_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcVolumeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcVolumeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcVolumeMeasure initialize(double v); @@ -13507,9 +13507,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcVolumetricFlowRateMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcVolumetricFlowRateMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcVolumetricFlowRateMeasure initialize(double v); @@ -13520,9 +13520,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcWarpingConstantMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcWarpingConstantMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcWarpingConstantMeasure initialize(double v); @@ -13533,18 +13533,18 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcWarpingMomentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcWarpingMomentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcWarpingMomentMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcWellKnownTextLiteral : public express::DeclaredType { +class IFC_SCHEMA_API IfcWellKnownTextLiteral : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcWellKnownTextLiteral initialize(std::string v); @@ -13622,9 +13622,9 @@ public: /// Corresponds to the following entity in ISO-10303-41: organization_role and person_role. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_SCHEMA_API IfcActorRole : public express::Entity { +class IFC_SCHEMA_API IfcActorRole : public express::entity { public: - using express::Entity::Entity; + 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. @@ -13649,9 +13649,9 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: address. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcAddress : public express::Entity { +class IFC_SCHEMA_API IfcAddress : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Identifies the logical location of the address. std::optional< ::Ifc4x3_add2::IfcAddressTypeEnum::Value > Purpose() const; @@ -13672,9 +13672,9 @@ public: IfcAddress initialize(std::optional< ::Ifc4x3_add2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose); }; -class IFC_SCHEMA_API IfcAlignmentParameterSegment : public express::Entity { +class IFC_SCHEMA_API IfcAlignmentParameterSegment : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::optional< std::string > StartTag() const; void setStartTag(const std::optional< std::string >& v); @@ -13710,9 +13710,9 @@ public: /// 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_SCHEMA_API IfcApplication : public express::Entity { +class IFC_SCHEMA_API IfcApplication : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Name of the application developer, being requested to be member of the IAI. ::Ifc4x3_add2::IfcOrganization ApplicationDeveloper() const; @@ -13744,9 +13744,9 @@ public: /// An instance of IfcAppliedValue may have a unit basis asserted. This is defined as an IfcMeasureWithUnit that determines the extent of the unit value for application purposes. It is assumed that when this attribute is asserted, then the value given to IfcAppliedValue is that for unit quantity. This is not enforced within the IFC schema and thus needs to be controlled within an application. /// /// 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_SCHEMA_API IfcAppliedValue : public express::Entity { +class IFC_SCHEMA_API IfcAppliedValue : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A name or additional clarification given to a cost value. std::optional< std::string > Name() const; @@ -13792,9 +13792,9 @@ public: /// HISTORY New Entity in IFC Release 2.0 /// /// 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_SCHEMA_API IfcApproval : public express::Entity { +class IFC_SCHEMA_API IfcApproval : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A computer interpretable identifier by which the approval is known. std::optional< std::string > Identifier() const; @@ -13853,9 +13853,9 @@ public: /// HISTORY: New entity /// in Release IFC2x Edition /// 2. -class IFC_SCHEMA_API IfcBoundaryCondition : public express::Entity { +class IFC_SCHEMA_API IfcBoundaryCondition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optionally defines a name for this boundary condition. std::optional< std::string > Name() const; @@ -13997,9 +13997,9 @@ public: /// HISTORY  New entity in IFC Release 1.5. /// /// 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_SCHEMA_API IfcConnectionGeometry : public express::Entity { +class IFC_SCHEMA_API IfcConnectionGeometry : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; static const ifcopenshell::entity& Class(); @@ -14089,9 +14089,9 @@ public: /// A constraint must have a name applied through the IfcConstraint.Name attribute and optionally, a description through IfcConstraint.Description. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade or IfcConstraint.UserDefinedGrade whilst the source, creating actor and time at which the constraint is created may be optionally asserted through IfcConstraint.ConstraintSource, IfcConstraint.CreatingActor and IfcConstraint.CreationTime. /// /// 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_SCHEMA_API IfcConstraint : public express::Entity { +class IFC_SCHEMA_API IfcConstraint : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; @@ -14169,9 +14169,9 @@ public: /// and any map or other coordinate reference system. /// /// HISTORY  New entity in IFC2x4. -class IFC_SCHEMA_API IfcCoordinateOperation : public express::Entity { +class IFC_SCHEMA_API IfcCoordinateOperation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Source coordinate reference system for the operation. ::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect SourceCRS() const; @@ -14205,9 +14205,9 @@ public: /// Specifications. /// /// HISTORY  New entity in IFC2x4. -class IFC_SCHEMA_API IfcCoordinateReferenceSystem : public express::Entity { +class IFC_SCHEMA_API IfcCoordinateReferenceSystem : public express::entity { public: - using express::Entity::Entity; + 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. @@ -14286,9 +14286,9 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDerivedUnit : public express::Entity { +class IFC_SCHEMA_API IfcDerivedUnit : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The group of units and their exponents that define the derived unit. std::vector< ::Ifc4x3_add2::IfcDerivedUnitElement > Elements() const; @@ -14313,9 +14313,9 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit_element, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDerivedUnitElement : public express::Entity { +class IFC_SCHEMA_API IfcDerivedUnitElement : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The fixed quantity which is used as the mathematical factor. ::Ifc4x3_add2::IfcNamedUnit Unit() const; @@ -14344,9 +14344,9 @@ public: /// for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDimensionalExponents : public express::Entity { +class IFC_SCHEMA_API IfcDimensionalExponents : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The power of the length base quantity. int64_t LengthExponent() const; @@ -14379,9 +14379,9 @@ public: /// all external information entities. /// /// HISTORY New entity in IFC2x4. -class IFC_SCHEMA_API IfcExternalInformation : public express::Entity { +class IFC_SCHEMA_API IfcExternalInformation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; static const ifcopenshell::entity& Class(); @@ -14396,9 +14396,9 @@ public: /// IfcExternalReference is an abstract supertype of all external reference entities. /// /// HISTORY New entity in IFC2x. -class IFC_SCHEMA_API IfcExternalReference : public express::Entity { +class IFC_SCHEMA_API IfcExternalReference : public express::entity { public: - using express::Entity::Entity; + 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. /// @@ -14508,9 +14508,9 @@ public: /// underlying AxisCurve supports this concept. /// /// Figure 242 — Grid axis -class IFC_SCHEMA_API IfcGridAxis : public express::Entity { +class IFC_SCHEMA_API IfcGridAxis : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The tag or name for this grid axis. std::optional< std::string > AxisTag() const; @@ -14532,9 +14532,9 @@ public: /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// /// HISTORY: New entity in IFC 2x2. -class IFC_SCHEMA_API IfcIrregularTimeSeriesValue : public express::Entity { +class IFC_SCHEMA_API IfcIrregularTimeSeriesValue : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The specification of the time point. std::string TimeStamp() const; @@ -14629,9 +14629,9 @@ public: /// For each pair of MainPlaneAngle and SecondaryPlaneAngle the LuminousIntensity is provided (the unit is given by the IfcUnitAssignment referring to the LuminousIntensityDistributionUnit, normally cd/klm). /// /// HISTORY: New entity in IFC2x2. -class IFC_SCHEMA_API IfcLightDistributionData : public express::Entity { +class IFC_SCHEMA_API IfcLightDistributionData : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; @@ -14651,9 +14651,9 @@ public: /// 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_SCHEMA_API IfcLightIntensityDistribution : public express::Entity { +class IFC_SCHEMA_API IfcLightIntensityDistribution : public express::entity { public: - using express::Entity::Entity; + 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; @@ -14729,9 +14729,9 @@ public: /// HISTORY New entity in IFC2x. /// /// IFC2x4 CHANGE The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. -class IFC_SCHEMA_API IfcMaterialClassificationRelationship : public express::Entity { +class IFC_SCHEMA_API IfcMaterialClassificationRelationship : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The material classifications identifying the type of material. std::vector< ::Ifc4x3_add2::IfcClassificationSelect > MaterialClassifications() const; @@ -14767,9 +14767,9 @@ public: /// IfcRelAssociatesMaterial. /// /// HISTORY New entity in IFC2x4 -class IFC_SCHEMA_API IfcMaterialDefinition : public express::Entity { +class IFC_SCHEMA_API IfcMaterialDefinition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects @@ -14965,9 +14965,9 @@ public: /// /// IFC2x4 CHANGE The entity IfcMaterialList is deprecated and shall no longer /// be used. Use IfcMaterialConstituentSet instead. -class IFC_SCHEMA_API IfcMaterialList : public express::Entity { +class IFC_SCHEMA_API IfcMaterialList : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Materials used in a composition of substances. std::vector< ::Ifc4x3_add2::IfcMaterial > Materials() const; @@ -15083,9 +15083,9 @@ public: /// IfcMaterialUsageDefinition to a subtype of /// IfcElementType, it shall only be assigned to an element /// occurrence. -class IFC_SCHEMA_API IfcMaterialUsageDefinition : public express::Entity { +class IFC_SCHEMA_API IfcMaterialUsageDefinition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial @@ -15102,9 +15102,9 @@ public: /// NOTE Corresponding ISO 10303 name: measure_with_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcMeasureWithUnit : public express::Entity { +class IFC_SCHEMA_API IfcMeasureWithUnit : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The value of the physical quantity when expressed in the specified units. ::Ifc4x3_add2::IfcValue ValueComponent() const; @@ -15192,9 +15192,9 @@ public: /// HISTORY: New entity in IFC Release 2x. /// /// IFC2x4 CHANGE: Type of the attribute Currency changed. -class IFC_SCHEMA_API IfcMonetaryUnit : public express::Entity { +class IFC_SCHEMA_API IfcMonetaryUnit : public express::entity { public: - using express::Entity::Entity; + 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; @@ -15208,9 +15208,9 @@ public: /// NOTE Corresponding ISO 10303 name: named_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcNamedUnit : public express::Entity { +class IFC_SCHEMA_API IfcNamedUnit : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The dimensional exponents of the SI base units by which the named unit is defined. ::Ifc4x3_add2::IfcDimensionalExponents Dimensions() const; @@ -15233,9 +15233,9 @@ public: /// In any case the object placement has to unambiguously define the object coordinate system as either two-dimensional axis placement (IfcAxis2Placement2D) or three-dimensional axis placement (IfcAxis2Placement3D). The axis placement may have to be calculated. /// /// HISTORY New entity in IFC Release 2x. -class IFC_SCHEMA_API IfcObjectPlacement : public express::Entity { +class IFC_SCHEMA_API IfcObjectPlacement : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; ::Ifc4x3_add2::IfcObjectPlacement PlacementRelTo() const; void setPlacementRelTo(const ::Ifc4x3_add2::IfcObjectPlacement& v); @@ -15281,9 +15281,9 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. -class IFC_SCHEMA_API IfcOrganization : public express::Entity { +class IFC_SCHEMA_API IfcOrganization : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Identification of the organization. std::optional< std::string > Identification() const; @@ -15318,9 +15318,9 @@ public: /// /// If LastModifiedDate is defined but ChangeAction is not asserted, then the state of ChangeAction is assumed to be UNDEFINED. /// If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate. -class IFC_SCHEMA_API IfcOwnerHistory : public express::Entity { +class IFC_SCHEMA_API IfcOwnerHistory : public express::entity { public: - using express::Entity::Entity; + 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; @@ -15359,9 +15359,9 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. -class IFC_SCHEMA_API IfcPerson : public express::Entity { +class IFC_SCHEMA_API IfcPerson : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Identification of the person. std::optional< std::string > Identification() const; @@ -15403,9 +15403,9 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: person_and_organization. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_SCHEMA_API IfcPersonAndOrganization : public express::Entity { +class IFC_SCHEMA_API IfcPersonAndOrganization : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The person who is related to the organization. ::Ifc4x3_add2::IfcPerson ThePerson() const; @@ -15425,9 +15425,9 @@ public: /// The Name attribute defines the actual usage or kind of measure. The interpretation of the name label has to be established within the actual exchange context. In addition an informative text may be associated to each quantity by the Description attribute. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_SCHEMA_API IfcPhysicalQuantity : public express::Entity { +class IFC_SCHEMA_API IfcPhysicalQuantity : public express::entity { public: - using express::Entity::Entity; + 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; @@ -15500,9 +15500,9 @@ public: 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_SCHEMA_API IfcPresentationItem : public express::Entity { +class IFC_SCHEMA_API IfcPresentationItem : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; static const ifcopenshell::entity& Class(); @@ -15523,9 +15523,9 @@ public: /// Figure 305 illustrates assignment of items by shape representation or representation item. The set of AssignedItems can either include a whole shape representation, or individual geometric representation items. If both, the IfcShapeRepresentation has a layer assignment, and an individual geometric representation item in the set of IfcShapeRepresentation.Items, then the layer assignment of the IfcGeometricRepresentationItem overides the layer assignment of the IfcShapeRepresentation. /// /// Figure 305 — Presentation layer assignment -class IFC_SCHEMA_API IfcPresentationLayerAssignment : public express::Entity { +class IFC_SCHEMA_API IfcPresentationLayerAssignment : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Name of the layer. std::string Name() const; @@ -15585,9 +15585,9 @@ public: /// Each subtype of  IfcPresentationStyle can be assigned to IfcGeometricRepresentationItem's via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or one of its subtypes. /// /// HISTORY  New entity in IFC2x3. -class IFC_SCHEMA_API IfcPresentationStyle : public express::Entity { +class IFC_SCHEMA_API IfcPresentationStyle : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Name of the presentation style. std::optional< std::string > Name() const; @@ -15613,9 +15613,9 @@ public: /// IFC2x3 NOTE Users should not instantiate the entity from IFC2x Edition 3 onwards. /// /// IFC2x4 CHANGE  Entity made abstract. -class IFC_SCHEMA_API IfcProductRepresentation : public express::Entity { +class IFC_SCHEMA_API IfcProductRepresentation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The word or group of words by which the product representation is known. std::optional< std::string > Name() const; @@ -15800,9 +15800,9 @@ public: /// possible to directly instantiate IfcProfileDef and further specify /// the profile only by external reference or by profile properties. The latter /// are tracked by the inverse attribute HasProperties. -class IFC_SCHEMA_API IfcProfileDef : public express::Entity { +class IFC_SCHEMA_API IfcProfileDef : public express::entity { public: - using express::Entity::Entity; + 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; @@ -15866,9 +15866,9 @@ public: 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_SCHEMA_API IfcPropertyAbstraction : public express::Entity { +class IFC_SCHEMA_API IfcPropertyAbstraction : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects @@ -16083,9 +16083,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcRecurrencePattern : public express::Entity { +class IFC_SCHEMA_API IfcRecurrencePattern : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Defines the recurrence type that gives meaning to the used /// attributes and decides about possible attribute @@ -16129,9 +16129,9 @@ public: IfcRecurrencePattern initialize(::Ifc4x3_add2::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int64_t > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v4_MonthComponent, std::optional< int64_t > v5_Position, std::optional< int64_t > v6_Interval, std::optional< int64_t > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_add2::IfcTimePeriod > > v8_TimePeriods); }; -class IFC_SCHEMA_API IfcReference : public express::Entity { +class IFC_SCHEMA_API IfcReference : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::optional< std::string > TypeIdentifier() const; void setTypeIdentifier(const std::optional< std::string >& v); @@ -16193,9 +16193,9 @@ public: /// IFC2x4 CHANGE  Entity /// IfcRepresentation has been changed into an ABSTRACT /// supertype. -class IFC_SCHEMA_API IfcRepresentation : public express::Entity { +class IFC_SCHEMA_API IfcRepresentation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Definition of the representation context for which the different subtypes of representation are valid. ::Ifc4x3_add2::IfcRepresentationContext ContextOfItems() const; @@ -16227,9 +16227,9 @@ public: /// /// IFC2x4 CHANGE Entity made abstract, had been deprecated from instantiation since /// IFC2x2. -class IFC_SCHEMA_API IfcRepresentationContext : public express::Entity { +class IFC_SCHEMA_API IfcRepresentationContext : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The optional identifier of the representation context as used within a project. std::optional< std::string > ContextIdentifier() const; @@ -16274,9 +16274,9 @@ public: /// HISTORY  New entity in IFC Release 2x. /// /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. -class IFC_SCHEMA_API IfcRepresentationItem : public express::Entity { +class IFC_SCHEMA_API IfcRepresentationItem : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcPresentationLayerAssignment > LayerAssignment() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems std::vector< IfcStyledItem > StyledByItem() const; // INVERSE IfcStyledItem::Item @@ -16295,9 +16295,9 @@ public: /// NOTE  The definition of a mapping which is used to specify a new representation item comprises a representation map and a mapped item entity. Without both entities, the mapping is not fully defined. Two entities are specified to allow the same source representation to be mapped into multiple new representations. /// /// HISTORY  New entity in IFC Release 2x. -class IFC_SCHEMA_API IfcRepresentationMap : public express::Entity { +class IFC_SCHEMA_API IfcRepresentationMap : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// An axis2 placement that defines the position about which the mapped /// representation is mapped. @@ -16315,9 +16315,9 @@ public: /// IfcResourceLevelRelationship is an abstract base class for relationships between resource-level entities. /// /// HISTORY New Entity in IFC 2x4 -class IFC_SCHEMA_API IfcResourceLevelRelationship : public express::Entity { +class IFC_SCHEMA_API IfcResourceLevelRelationship : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A name used to identify or qualify the relationship. std::optional< std::string > Name() const; @@ -16353,9 +16353,9 @@ public: /// HISTORY New entity in IFC Release 1.0 /// /// IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL. -class IFC_SCHEMA_API IfcRoot : public express::Entity { +class IFC_SCHEMA_API IfcRoot : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; @@ -16403,9 +16403,9 @@ public: /// IfcSchedulingTime is the abstract supertype of entities that capture time-related information of processes. /// /// HISTORY: New entity in IFC2x4. -class IFC_SCHEMA_API IfcSchedulingTime : public express::Entity { +class IFC_SCHEMA_API IfcSchedulingTime : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optional name for the time definition. std::optional< std::string > Name() const; @@ -16458,9 +16458,9 @@ public: /// IfcRepresentationMap's that are used by an /// IfcTypeProduct through the /// RepresentationMaps attribute. -class IFC_SCHEMA_API IfcShapeAspect : public express::Entity { +class IFC_SCHEMA_API IfcShapeAspect : public express::entity { public: - using express::Entity::Entity; + 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 @@ -16659,9 +16659,9 @@ public: /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. -class IFC_SCHEMA_API IfcStructuralConnectionCondition : public express::Entity { +class IFC_SCHEMA_API IfcStructuralConnectionCondition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optionally defines a name for this connection condition. std::optional< std::string > Name() const; @@ -16673,9 +16673,9 @@ public: /// 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_SCHEMA_API IfcStructuralLoad : public express::Entity { +class IFC_SCHEMA_API IfcStructuralLoad : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optionally defines a name for this load. std::optional< std::string > Name() const; @@ -17128,9 +17128,9 @@ public: /// HISTORY  New entity in IFC R1.5. /// /// IFC2x4 CHANGE  Columns attribute added. -class IFC_SCHEMA_API IfcTable : public express::Entity { +class IFC_SCHEMA_API IfcTable : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A unique name which is intended to describe the usage of the Table. std::optional< std::string > Name() const; @@ -17150,9 +17150,9 @@ public: /// The use of IfcTableColumn supercedes the IsHeading flag associated with IfcTableRow. /// /// HISTORY  New entity in IFC2x4. -class IFC_SCHEMA_API IfcTableColumn : public express::Entity { +class IFC_SCHEMA_API IfcTableColumn : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Table column identifier. std::optional< std::string > Identifier() const; @@ -17185,9 +17185,9 @@ public: /// Figure 338 — Table row use alternative /// /// HISTORY  New entity in IFC R1.5. -class IFC_SCHEMA_API IfcTableRow : public express::Entity { +class IFC_SCHEMA_API IfcTableRow : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The data value of the table cell.. std::optional< std::vector< ::Ifc4x3_add2::IfcValue > > RowCells() const; @@ -17561,9 +17561,9 @@ public: IfcTextureCoordinateGenerator initialize(std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter); }; -class IFC_SCHEMA_API IfcTextureCoordinateIndices : public express::Entity { +class IFC_SCHEMA_API IfcTextureCoordinateIndices : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< int64_t > /*[3:?]*/ TexCoordIndex() const; void setTexCoordIndex(const std::vector< int64_t > /*[3:?]*/& v); @@ -17706,9 +17706,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcTimePeriod : public express::Entity { +class IFC_SCHEMA_API IfcTimePeriod : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Start time of the time period. std::string StartTime() const; @@ -17725,9 +17725,9 @@ public: /// The modeling of buildings and their performance involves data that are generated and recorded over a period of time. Such data cover a large spectrum, from weather data to schedules of all kinds to status measurements to reporting to everything else that has a time related aspect. Their correct placement in time is essential for their proper understanding and use, and the IfcTimeSeries subtypes provide the appropriate data structures to accommodate these types of data. /// /// HISTORY: New entity in IFC 2x2. -class IFC_SCHEMA_API IfcTimeSeries : public express::Entity { +class IFC_SCHEMA_API IfcTimeSeries : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// An unique name for the time series. std::string Name() const; @@ -17767,9 +17767,9 @@ public: /// Figure 241 — Time series value /// /// HISTORY  New entity in IFC2x2. -class IFC_SCHEMA_API IfcTimeSeriesValue : public express::Entity { +class IFC_SCHEMA_API IfcTimeSeriesValue : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A list of time-series values. At least one value is required. std::vector< ::Ifc4x3_add2::IfcValue > ListValues() const; @@ -17838,9 +17838,9 @@ public: /// NOTE  A project (IfcProject) has a unit assignment which establishes a set of units which will be used globally within the project, if not otherwise defined. Other objects may have local unit assignments if there is a requirement for them to make use of units which do not fall within the project unit assignment. /// /// HISTORY  New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcUnitAssignment : public express::Entity { +class IFC_SCHEMA_API IfcUnitAssignment : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Units to be included within a unit assignment. std::vector< ::Ifc4x3_add2::IfcUnit > Units() const; @@ -17946,9 +17946,9 @@ public: /// OffsetDistances[1] is a negative length measure /// /// Figure 248 — Virtual grid intersection negative offset -class IFC_SCHEMA_API IfcVirtualGridIntersection : public express::Entity { +class IFC_SCHEMA_API IfcVirtualGridIntersection : public express::entity { public: - using express::Entity::Entity; + 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; @@ -17961,9 +17961,9 @@ public: IfcVirtualGridIntersection initialize(std::vector< ::Ifc4x3_add2::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances); }; -class IFC_SCHEMA_API IfcWellKnownText : public express::Entity { +class IFC_SCHEMA_API IfcWellKnownText : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::string WellKnownText() const; void setWellKnownText(const std::string& v); diff --git a/src/ifcparse/schemas/Ifc4x3_rc1.cpp b/src/ifcparse/schemas/Ifc4x3_rc1.cpp index 49ac12655c..79d7d5539f 100644 --- a/src/ifcparse/schemas/Ifc4x3_rc1.cpp +++ b/src/ifcparse/schemas/Ifc4x3_rc1.cpp @@ -44,7 +44,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcActionRequestTypeEnum::Clas /* Ifc4x3_rc1::IfcActionRequestTypeEnum::IfcActionRequestTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcActionRequestTypeEnum::IfcActionRequestTypeEnum(Value v) { @@ -73,7 +73,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcActionSourceTypeEnum::Class /* Ifc4x3_rc1::IfcActionSourceTypeEnum::IfcActionSourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcActionSourceTypeEnum::IfcActionSourceTypeEnum(Value v) { @@ -102,7 +102,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcActionTypeEnum::Class() { r /* Ifc4x3_rc1::IfcActionTypeEnum::IfcActionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcActionTypeEnum::IfcActionTypeEnum(Value v) { @@ -131,7 +131,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcActuatorTypeEnum::Class() { /* Ifc4x3_rc1::IfcActuatorTypeEnum::IfcActuatorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcActuatorTypeEnum::IfcActuatorTypeEnum(Value v) { @@ -160,7 +160,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcAddressTypeEnum::Class() { /* Ifc4x3_rc1::IfcAddressTypeEnum::IfcAddressTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcAddressTypeEnum::IfcAddressTypeEnum(Value v) { @@ -189,7 +189,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Cla /* Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum(Value v) { @@ -218,7 +218,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcAirTerminalTypeEnum::Class( /* Ifc4x3_rc1::IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum(Value v) { @@ -247,7 +247,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnu /* Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum(Value v) { @@ -276,7 +276,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcAlarmTypeEnum::Class() { re /* Ifc4x3_rc1::IfcAlarmTypeEnum::IfcAlarmTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcAlarmTypeEnum::IfcAlarmTypeEnum(Value v) { @@ -305,7 +305,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcAlignmentTypeEnum::Class() /* Ifc4x3_rc1::IfcAlignmentTypeEnum::IfcAlignmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcAlignmentTypeEnum::IfcAlignmentTypeEnum(Value v) { @@ -334,7 +334,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcAnalysisModelTypeEnum::Clas /* Ifc4x3_rc1::IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum(Value v) { @@ -363,7 +363,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::Cla /* Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum(Value v) { @@ -392,7 +392,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcAnnotationTypeEnum::Class() /* Ifc4x3_rc1::IfcAnnotationTypeEnum::IfcAnnotationTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcAnnotationTypeEnum::IfcAnnotationTypeEnum(Value v) { @@ -421,7 +421,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcArithmeticOperatorEnum::Cla /* Ifc4x3_rc1::IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum(Value v) { @@ -450,7 +450,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcAssemblyPlaceEnum::Class() /* Ifc4x3_rc1::IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum(Value v) { @@ -479,7 +479,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnu /* Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum(Value v) { @@ -508,7 +508,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcBSplineCurveForm::Class() { /* Ifc4x3_rc1::IfcBSplineCurveForm::IfcBSplineCurveForm(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcBSplineCurveForm::IfcBSplineCurveForm(Value v) { @@ -537,7 +537,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcBSplineSurfaceForm::Class() /* Ifc4x3_rc1::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm(Value v) { @@ -566,7 +566,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcBeamTypeEnum::Class() { ret /* Ifc4x3_rc1::IfcBeamTypeEnum::IfcBeamTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcBeamTypeEnum::IfcBeamTypeEnum(Value v) { @@ -595,7 +595,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcBearingTypeDisplacementEnum /* Ifc4x3_rc1::IfcBearingTypeDisplacementEnum::IfcBearingTypeDisplacementEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcBearingTypeDisplacementEnum::IfcBearingTypeDisplacementEnum(Value v) { @@ -624,7 +624,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcBearingTypeEnum::Class() { /* Ifc4x3_rc1::IfcBearingTypeEnum::IfcBearingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcBearingTypeEnum::IfcBearingTypeEnum(Value v) { @@ -653,7 +653,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcBenchmarkEnum::Class() { re /* Ifc4x3_rc1::IfcBenchmarkEnum::IfcBenchmarkEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcBenchmarkEnum::IfcBenchmarkEnum(Value v) { @@ -682,7 +682,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcBoilerTypeEnum::Class() { r /* Ifc4x3_rc1::IfcBoilerTypeEnum::IfcBoilerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcBoilerTypeEnum::IfcBoilerTypeEnum(Value v) { @@ -711,7 +711,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcBooleanOperator::Class() { /* Ifc4x3_rc1::IfcBooleanOperator::IfcBooleanOperator(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcBooleanOperator::IfcBooleanOperator(Value v) { @@ -740,7 +740,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcBridgePartTypeEnum::Class() /* Ifc4x3_rc1::IfcBridgePartTypeEnum::IfcBridgePartTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcBridgePartTypeEnum::IfcBridgePartTypeEnum(Value v) { @@ -769,7 +769,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcBridgeTypeEnum::Class() { r /* Ifc4x3_rc1::IfcBridgeTypeEnum::IfcBridgeTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcBridgeTypeEnum::IfcBridgeTypeEnum(Value v) { @@ -798,7 +798,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcBuildingElementPartTypeEnum /* Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum(Value v) { @@ -827,7 +827,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcBuildingElementProxyTypeEnu /* Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum(Value v) { @@ -856,7 +856,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcBuildingSystemTypeEnum::Cla /* Ifc4x3_rc1::IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum(Value v) { @@ -885,7 +885,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Class( /* Ifc4x3_rc1::IfcBuiltSystemTypeEnum::IfcBuiltSystemTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcBuiltSystemTypeEnum::IfcBuiltSystemTypeEnum(Value v) { @@ -914,7 +914,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcBurnerTypeEnum::Class() { r /* Ifc4x3_rc1::IfcBurnerTypeEnum::IfcBurnerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcBurnerTypeEnum::IfcBurnerTypeEnum(Value v) { @@ -943,7 +943,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum /* Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum(Value v) { @@ -972,7 +972,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum /* Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum(Value v) { @@ -1001,7 +1001,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcCableFittingTypeEnum::Class /* Ifc4x3_rc1::IfcCableFittingTypeEnum::IfcCableFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcCableFittingTypeEnum::IfcCableFittingTypeEnum(Value v) { @@ -1030,7 +1030,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcCableSegmentTypeEnum::Class /* Ifc4x3_rc1::IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum(Value v) { @@ -1059,7 +1059,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcCaissonFoundationTypeEnum:: /* Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::IfcCaissonFoundationTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::IfcCaissonFoundationTypeEnum(Value v) { @@ -1088,7 +1088,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcChangeActionEnum::Class() { /* Ifc4x3_rc1::IfcChangeActionEnum::IfcChangeActionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcChangeActionEnum::IfcChangeActionEnum(Value v) { @@ -1117,7 +1117,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcChillerTypeEnum::Class() { /* Ifc4x3_rc1::IfcChillerTypeEnum::IfcChillerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcChillerTypeEnum::IfcChillerTypeEnum(Value v) { @@ -1146,7 +1146,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcChimneyTypeEnum::Class() { /* Ifc4x3_rc1::IfcChimneyTypeEnum::IfcChimneyTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcChimneyTypeEnum::IfcChimneyTypeEnum(Value v) { @@ -1175,7 +1175,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcCoilTypeEnum::Class() { ret /* Ifc4x3_rc1::IfcCoilTypeEnum::IfcCoilTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcCoilTypeEnum::IfcCoilTypeEnum(Value v) { @@ -1204,7 +1204,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcColumnTypeEnum::Class() { r /* Ifc4x3_rc1::IfcColumnTypeEnum::IfcColumnTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcColumnTypeEnum::IfcColumnTypeEnum(Value v) { @@ -1233,7 +1233,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcCommunicationsApplianceType /* Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum(Value v) { @@ -1262,7 +1262,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcComplexPropertyTemplateType /* Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum(Value v) { @@ -1291,7 +1291,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcCompressorTypeEnum::Class() /* Ifc4x3_rc1::IfcCompressorTypeEnum::IfcCompressorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcCompressorTypeEnum::IfcCompressorTypeEnum(Value v) { @@ -1320,7 +1320,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcCondenserTypeEnum::Class() /* Ifc4x3_rc1::IfcCondenserTypeEnum::IfcCondenserTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcCondenserTypeEnum::IfcCondenserTypeEnum(Value v) { @@ -1349,7 +1349,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcConnectionTypeEnum::Class() /* Ifc4x3_rc1::IfcConnectionTypeEnum::IfcConnectionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcConnectionTypeEnum::IfcConnectionTypeEnum(Value v) { @@ -1378,7 +1378,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcConstraintEnum::Class() { r /* Ifc4x3_rc1::IfcConstraintEnum::IfcConstraintEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcConstraintEnum::IfcConstraintEnum(Value v) { @@ -1407,7 +1407,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcConstructionEquipmentResour /* Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum(Value v) { @@ -1436,7 +1436,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcConstructionMaterialResourc /* Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum(Value v) { @@ -1465,7 +1465,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcConstructionProductResource /* Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum(Value v) { @@ -1494,7 +1494,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcControllerTypeEnum::Class() /* Ifc4x3_rc1::IfcControllerTypeEnum::IfcControllerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcControllerTypeEnum::IfcControllerTypeEnum(Value v) { @@ -1523,7 +1523,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Cl /* Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::IfcConveyorSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::IfcConveyorSegmentTypeEnum(Value v) { @@ -1552,7 +1552,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcCooledBeamTypeEnum::Class() /* Ifc4x3_rc1::IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum(Value v) { @@ -1581,7 +1581,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Class /* Ifc4x3_rc1::IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum(Value v) { @@ -1610,7 +1610,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcCostItemTypeEnum::Class() { /* Ifc4x3_rc1::IfcCostItemTypeEnum::IfcCostItemTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcCostItemTypeEnum::IfcCostItemTypeEnum(Value v) { @@ -1639,7 +1639,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcCostScheduleTypeEnum::Class /* Ifc4x3_rc1::IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum(Value v) { @@ -1668,7 +1668,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcCourseTypeEnum::Class() { r /* Ifc4x3_rc1::IfcCourseTypeEnum::IfcCourseTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcCourseTypeEnum::IfcCourseTypeEnum(Value v) { @@ -1697,7 +1697,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcCoveringTypeEnum::Class() { /* Ifc4x3_rc1::IfcCoveringTypeEnum::IfcCoveringTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcCoveringTypeEnum::IfcCoveringTypeEnum(Value v) { @@ -1726,7 +1726,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcCrewResourceTypeEnum::Class /* Ifc4x3_rc1::IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum(Value v) { @@ -1755,7 +1755,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcCurtainWallTypeEnum::Class( /* Ifc4x3_rc1::IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum(Value v) { @@ -1784,7 +1784,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcCurveInterpolationEnum::Cla /* Ifc4x3_rc1::IfcCurveInterpolationEnum::IfcCurveInterpolationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcCurveInterpolationEnum::IfcCurveInterpolationEnum(Value v) { @@ -1813,7 +1813,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcDamperTypeEnum::Class() { r /* Ifc4x3_rc1::IfcDamperTypeEnum::IfcDamperTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcDamperTypeEnum::IfcDamperTypeEnum(Value v) { @@ -1842,7 +1842,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcDataOriginEnum::Class() { r /* Ifc4x3_rc1::IfcDataOriginEnum::IfcDataOriginEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcDataOriginEnum::IfcDataOriginEnum(Value v) { @@ -1871,7 +1871,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcDerivedUnitEnum::Class() { /* Ifc4x3_rc1::IfcDerivedUnitEnum::IfcDerivedUnitEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcDerivedUnitEnum::IfcDerivedUnitEnum(Value v) { @@ -1900,7 +1900,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcDirectionSenseEnum::Class() /* Ifc4x3_rc1::IfcDirectionSenseEnum::IfcDirectionSenseEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcDirectionSenseEnum::IfcDirectionSenseEnum(Value v) { @@ -1929,7 +1929,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum:: /* Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum(Value v) { @@ -1958,7 +1958,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcDistributionBoardTypeEnum:: /* Ifc4x3_rc1::IfcDistributionBoardTypeEnum::IfcDistributionBoardTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcDistributionBoardTypeEnum::IfcDistributionBoardTypeEnum(Value v) { @@ -1987,7 +1987,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcDistributionChamberElementT /* Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum(Value v) { @@ -2016,7 +2016,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcDistributionPortTypeEnum::C /* Ifc4x3_rc1::IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum(Value v) { @@ -2045,7 +2045,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcDistributionSystemEnum::Cla /* Ifc4x3_rc1::IfcDistributionSystemEnum::IfcDistributionSystemEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcDistributionSystemEnum::IfcDistributionSystemEnum(Value v) { @@ -2074,7 +2074,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcDocumentConfidentialityEnum /* Ifc4x3_rc1::IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum(Value v) { @@ -2103,7 +2103,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcDocumentStatusEnum::Class() /* Ifc4x3_rc1::IfcDocumentStatusEnum::IfcDocumentStatusEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcDocumentStatusEnum::IfcDocumentStatusEnum(Value v) { @@ -2132,7 +2132,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcDoorPanelOperationEnum::Cla /* Ifc4x3_rc1::IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum(Value v) { @@ -2161,7 +2161,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcDoorPanelPositionEnum::Clas /* Ifc4x3_rc1::IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum(Value v) { @@ -2190,7 +2190,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcDoorStyleConstructionEnum:: /* Ifc4x3_rc1::IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum(Value v) { @@ -2219,7 +2219,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcDoorStyleOperationEnum::Cla /* Ifc4x3_rc1::IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum(Value v) { @@ -2248,7 +2248,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcDoorTypeEnum::Class() { ret /* Ifc4x3_rc1::IfcDoorTypeEnum::IfcDoorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcDoorTypeEnum::IfcDoorTypeEnum(Value v) { @@ -2277,7 +2277,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcDoorTypeOperationEnum::Clas /* Ifc4x3_rc1::IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum(Value v) { @@ -2306,7 +2306,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcDuctFittingTypeEnum::Class( /* Ifc4x3_rc1::IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum(Value v) { @@ -2335,7 +2335,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Class( /* Ifc4x3_rc1::IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum(Value v) { @@ -2364,7 +2364,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Class /* Ifc4x3_rc1::IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum(Value v) { @@ -2393,7 +2393,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcEarthworksCutTypeEnum::Clas /* Ifc4x3_rc1::IfcEarthworksCutTypeEnum::IfcEarthworksCutTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcEarthworksCutTypeEnum::IfcEarthworksCutTypeEnum(Value v) { @@ -2422,7 +2422,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcEarthworksFillTypeEnum::Cla /* Ifc4x3_rc1::IfcEarthworksFillTypeEnum::IfcEarthworksFillTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcEarthworksFillTypeEnum::IfcEarthworksFillTypeEnum(Value v) { @@ -2451,7 +2451,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcElectricApplianceTypeEnum:: /* Ifc4x3_rc1::IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum(Value v) { @@ -2480,7 +2480,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcElectricDistributionBoardTy /* Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum(Value v) { @@ -2509,7 +2509,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcElectricFlowStorageDeviceTy /* Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum(Value v) { @@ -2538,7 +2538,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcElectricFlowTreatmentDevice /* Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::IfcElectricFlowTreatmentDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::IfcElectricFlowTreatmentDeviceTypeEnum(Value v) { @@ -2567,7 +2567,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcElectricGeneratorTypeEnum:: /* Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum(Value v) { @@ -2596,7 +2596,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcElectricMotorTypeEnum::Clas /* Ifc4x3_rc1::IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum(Value v) { @@ -2625,7 +2625,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcElectricTimeControlTypeEnum /* Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum(Value v) { @@ -2654,7 +2654,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Cl /* Ifc4x3_rc1::IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum(Value v) { @@ -2683,7 +2683,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcElementCompositionEnum::Cla /* Ifc4x3_rc1::IfcElementCompositionEnum::IfcElementCompositionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcElementCompositionEnum::IfcElementCompositionEnum(Value v) { @@ -2712,7 +2712,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcEngineTypeEnum::Class() { r /* Ifc4x3_rc1::IfcEngineTypeEnum::IfcEngineTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcEngineTypeEnum::IfcEngineTypeEnum(Value v) { @@ -2741,7 +2741,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum:: /* Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum(Value v) { @@ -2770,7 +2770,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcEvaporatorTypeEnum::Class() /* Ifc4x3_rc1::IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum(Value v) { @@ -2799,7 +2799,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcEventTriggerTypeEnum::Class /* Ifc4x3_rc1::IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum(Value v) { @@ -2828,7 +2828,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcEventTypeEnum::Class() { re /* Ifc4x3_rc1::IfcEventTypeEnum::IfcEventTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcEventTypeEnum::IfcEventTypeEnum(Value v) { @@ -2857,7 +2857,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcExternalSpatialElementTypeE /* Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum(Value v) { @@ -2886,7 +2886,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcFacilityPartCommonTypeEnum: /* Ifc4x3_rc1::IfcFacilityPartCommonTypeEnum::IfcFacilityPartCommonTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcFacilityPartCommonTypeEnum::IfcFacilityPartCommonTypeEnum(Value v) { @@ -2915,7 +2915,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcFacilityUsageEnum::Class() /* Ifc4x3_rc1::IfcFacilityUsageEnum::IfcFacilityUsageEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcFacilityUsageEnum::IfcFacilityUsageEnum(Value v) { @@ -2944,7 +2944,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcFanTypeEnum::Class() { retu /* Ifc4x3_rc1::IfcFanTypeEnum::IfcFanTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcFanTypeEnum::IfcFanTypeEnum(Value v) { @@ -2973,7 +2973,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcFastenerTypeEnum::Class() { /* Ifc4x3_rc1::IfcFastenerTypeEnum::IfcFastenerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcFastenerTypeEnum::IfcFastenerTypeEnum(Value v) { @@ -3002,7 +3002,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcFilterTypeEnum::Class() { r /* Ifc4x3_rc1::IfcFilterTypeEnum::IfcFilterTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcFilterTypeEnum::IfcFilterTypeEnum(Value v) { @@ -3031,7 +3031,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcFireSuppressionTerminalType /* Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum(Value v) { @@ -3060,7 +3060,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcFlowDirectionEnum::Class() /* Ifc4x3_rc1::IfcFlowDirectionEnum::IfcFlowDirectionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcFlowDirectionEnum::IfcFlowDirectionEnum(Value v) { @@ -3089,7 +3089,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Cla /* Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum(Value v) { @@ -3118,7 +3118,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcFlowMeterTypeEnum::Class() /* Ifc4x3_rc1::IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum(Value v) { @@ -3147,7 +3147,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcFootingTypeEnum::Class() { /* Ifc4x3_rc1::IfcFootingTypeEnum::IfcFootingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcFootingTypeEnum::IfcFootingTypeEnum(Value v) { @@ -3176,7 +3176,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcFurnitureTypeEnum::Class() /* Ifc4x3_rc1::IfcFurnitureTypeEnum::IfcFurnitureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcFurnitureTypeEnum::IfcFurnitureTypeEnum(Value v) { @@ -3205,7 +3205,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcGeographicElementTypeEnum:: /* Ifc4x3_rc1::IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum(Value v) { @@ -3234,7 +3234,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcGeometricProjectionEnum::Cl /* Ifc4x3_rc1::IfcGeometricProjectionEnum::IfcGeometricProjectionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcGeometricProjectionEnum::IfcGeometricProjectionEnum(Value v) { @@ -3263,7 +3263,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class() /* Ifc4x3_rc1::IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum(Value v) { @@ -3292,7 +3292,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcGridTypeEnum::Class() { ret /* Ifc4x3_rc1::IfcGridTypeEnum::IfcGridTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcGridTypeEnum::IfcGridTypeEnum(Value v) { @@ -3321,7 +3321,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Clas /* Ifc4x3_rc1::IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum(Value v) { @@ -3350,7 +3350,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcHumidifierTypeEnum::Class() /* Ifc4x3_rc1::IfcHumidifierTypeEnum::IfcHumidifierTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcHumidifierTypeEnum::IfcHumidifierTypeEnum(Value v) { @@ -3379,7 +3379,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcImpactProtectionDeviceTypeE /* Ifc4x3_rc1::IfcImpactProtectionDeviceTypeEnum::IfcImpactProtectionDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcImpactProtectionDeviceTypeEnum::IfcImpactProtectionDeviceTypeEnum(Value v) { @@ -3408,7 +3408,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcInterceptorTypeEnum::Class( /* Ifc4x3_rc1::IfcInterceptorTypeEnum::IfcInterceptorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcInterceptorTypeEnum::IfcInterceptorTypeEnum(Value v) { @@ -3437,7 +3437,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcInternalOrExternalEnum::Cla /* Ifc4x3_rc1::IfcInternalOrExternalEnum::IfcInternalOrExternalEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcInternalOrExternalEnum::IfcInternalOrExternalEnum(Value v) { @@ -3466,7 +3466,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcInventoryTypeEnum::Class() /* Ifc4x3_rc1::IfcInventoryTypeEnum::IfcInventoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcInventoryTypeEnum::IfcInventoryTypeEnum(Value v) { @@ -3495,7 +3495,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Class( /* Ifc4x3_rc1::IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum(Value v) { @@ -3524,7 +3524,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcKnotType::Class() { return /* Ifc4x3_rc1::IfcKnotType::IfcKnotType(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcKnotType::IfcKnotType(Value v) { @@ -3553,7 +3553,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcLaborResourceTypeEnum::Clas /* Ifc4x3_rc1::IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum(Value v) { @@ -3582,7 +3582,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcLampTypeEnum::Class() { ret /* Ifc4x3_rc1::IfcLampTypeEnum::IfcLampTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcLampTypeEnum::IfcLampTypeEnum(Value v) { @@ -3611,7 +3611,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcLayerSetDirectionEnum::Clas /* Ifc4x3_rc1::IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum(Value v) { @@ -3640,7 +3640,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcLightDistributionCurveEnum: /* Ifc4x3_rc1::IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum(Value v) { @@ -3669,7 +3669,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcLightEmissionSourceEnum::Cl /* Ifc4x3_rc1::IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum(Value v) { @@ -3698,7 +3698,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcLightFixtureTypeEnum::Class /* Ifc4x3_rc1::IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum(Value v) { @@ -3727,7 +3727,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Cla /* Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::IfcLiquidTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::IfcLiquidTerminalTypeEnum(Value v) { @@ -3756,7 +3756,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcLoadGroupTypeEnum::Class() /* Ifc4x3_rc1::IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum(Value v) { @@ -3785,7 +3785,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcLogicalOperatorEnum::Class( /* Ifc4x3_rc1::IfcLogicalOperatorEnum::IfcLogicalOperatorEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcLogicalOperatorEnum::IfcLogicalOperatorEnum(Value v) { @@ -3814,7 +3814,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcMarineFacilityTypeEnum::Cla /* Ifc4x3_rc1::IfcMarineFacilityTypeEnum::IfcMarineFacilityTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcMarineFacilityTypeEnum::IfcMarineFacilityTypeEnum(Value v) { @@ -3843,7 +3843,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcMarinePartTypeEnum::Class() /* Ifc4x3_rc1::IfcMarinePartTypeEnum::IfcMarinePartTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcMarinePartTypeEnum::IfcMarinePartTypeEnum(Value v) { @@ -3872,7 +3872,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum: /* Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum(Value v) { @@ -3901,7 +3901,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Clas /* Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum(Value v) { @@ -3930,7 +3930,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcMemberTypeEnum::Class() { r /* Ifc4x3_rc1::IfcMemberTypeEnum::IfcMemberTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcMemberTypeEnum::IfcMemberTypeEnum(Value v) { @@ -3959,7 +3959,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcMobileTelecommunicationsApp /* Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunicationsApplianceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunicationsApplianceTypeEnum(Value v) { @@ -3988,7 +3988,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Clas /* Ifc4x3_rc1::IfcMooringDeviceTypeEnum::IfcMooringDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcMooringDeviceTypeEnum::IfcMooringDeviceTypeEnum(Value v) { @@ -4017,7 +4017,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Cl /* Ifc4x3_rc1::IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum(Value v) { @@ -4046,7 +4046,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcNavigationElementTypeEnum:: /* Ifc4x3_rc1::IfcNavigationElementTypeEnum::IfcNavigationElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcNavigationElementTypeEnum::IfcNavigationElementTypeEnum(Value v) { @@ -4075,7 +4075,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcNullStyle::Class() { return /* Ifc4x3_rc1::IfcNullStyle::IfcNullStyle(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcNullStyle::IfcNullStyle(Value v) { @@ -4104,7 +4104,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcObjectTypeEnum::Class() { r /* Ifc4x3_rc1::IfcObjectTypeEnum::IfcObjectTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcObjectTypeEnum::IfcObjectTypeEnum(Value v) { @@ -4133,7 +4133,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcObjectiveEnum::Class() { re /* Ifc4x3_rc1::IfcObjectiveEnum::IfcObjectiveEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcObjectiveEnum::IfcObjectiveEnum(Value v) { @@ -4162,7 +4162,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcOccupantTypeEnum::Class() { /* Ifc4x3_rc1::IfcOccupantTypeEnum::IfcOccupantTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcOccupantTypeEnum::IfcOccupantTypeEnum(Value v) { @@ -4191,7 +4191,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcOpeningElementTypeEnum::Cla /* Ifc4x3_rc1::IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum(Value v) { @@ -4220,7 +4220,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcOutletTypeEnum::Class() { r /* Ifc4x3_rc1::IfcOutletTypeEnum::IfcOutletTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcOutletTypeEnum::IfcOutletTypeEnum(Value v) { @@ -4249,7 +4249,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum: /* Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum(Value v) { @@ -4278,7 +4278,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcPermeableCoveringOperationE /* Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum(Value v) { @@ -4307,7 +4307,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcPermitTypeEnum::Class() { r /* Ifc4x3_rc1::IfcPermitTypeEnum::IfcPermitTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcPermitTypeEnum::IfcPermitTypeEnum(Value v) { @@ -4336,7 +4336,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Clas /* Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum(Value v) { @@ -4365,7 +4365,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcPileConstructionEnum::Class /* Ifc4x3_rc1::IfcPileConstructionEnum::IfcPileConstructionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcPileConstructionEnum::IfcPileConstructionEnum(Value v) { @@ -4394,7 +4394,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcPileTypeEnum::Class() { ret /* Ifc4x3_rc1::IfcPileTypeEnum::IfcPileTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcPileTypeEnum::IfcPileTypeEnum(Value v) { @@ -4423,7 +4423,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcPipeFittingTypeEnum::Class( /* Ifc4x3_rc1::IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum(Value v) { @@ -4452,7 +4452,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Class( /* Ifc4x3_rc1::IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum(Value v) { @@ -4481,7 +4481,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcPlateTypeEnum::Class() { re /* Ifc4x3_rc1::IfcPlateTypeEnum::IfcPlateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcPlateTypeEnum::IfcPlateTypeEnum(Value v) { @@ -4510,7 +4510,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcPreferredSurfaceCurveRepres /* Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation(Value v) { @@ -4539,7 +4539,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcProcedureTypeEnum::Class() /* Ifc4x3_rc1::IfcProcedureTypeEnum::IfcProcedureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcProcedureTypeEnum::IfcProcedureTypeEnum(Value v) { @@ -4568,7 +4568,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcProfileTypeEnum::Class() { /* Ifc4x3_rc1::IfcProfileTypeEnum::IfcProfileTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcProfileTypeEnum::IfcProfileTypeEnum(Value v) { @@ -4597,7 +4597,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcProjectOrderTypeEnum::Class /* Ifc4x3_rc1::IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum(Value v) { @@ -4626,7 +4626,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum:: /* Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum(Value v) { @@ -4655,7 +4655,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcProjectionElementTypeEnum:: /* Ifc4x3_rc1::IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum(Value v) { @@ -4684,7 +4684,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum /* Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum(Value v) { @@ -4713,7 +4713,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcProtectiveDeviceTrippingUni /* Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum(Value v) { @@ -4742,7 +4742,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::C /* Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum(Value v) { @@ -4771,7 +4771,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcPumpTypeEnum::Class() { ret /* Ifc4x3_rc1::IfcPumpTypeEnum::IfcPumpTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcPumpTypeEnum::IfcPumpTypeEnum(Value v) { @@ -4800,7 +4800,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcRailTypeEnum::Class() { ret /* Ifc4x3_rc1::IfcRailTypeEnum::IfcRailTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcRailTypeEnum::IfcRailTypeEnum(Value v) { @@ -4829,7 +4829,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcRailingTypeEnum::Class() { /* Ifc4x3_rc1::IfcRailingTypeEnum::IfcRailingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcRailingTypeEnum::IfcRailingTypeEnum(Value v) { @@ -4858,7 +4858,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcRailwayPartTypeEnum::Class( /* Ifc4x3_rc1::IfcRailwayPartTypeEnum::IfcRailwayPartTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcRailwayPartTypeEnum::IfcRailwayPartTypeEnum(Value v) { @@ -4887,7 +4887,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcRampFlightTypeEnum::Class() /* Ifc4x3_rc1::IfcRampFlightTypeEnum::IfcRampFlightTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcRampFlightTypeEnum::IfcRampFlightTypeEnum(Value v) { @@ -4916,7 +4916,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcRampTypeEnum::Class() { ret /* Ifc4x3_rc1::IfcRampTypeEnum::IfcRampTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcRampTypeEnum::IfcRampTypeEnum(Value v) { @@ -4945,7 +4945,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcRecurrenceTypeEnum::Class() /* Ifc4x3_rc1::IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum(Value v) { @@ -4974,7 +4974,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcReferentTypeEnum::Class() { /* Ifc4x3_rc1::IfcReferentTypeEnum::IfcReferentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcReferentTypeEnum::IfcReferentTypeEnum(Value v) { @@ -5003,7 +5003,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcReflectanceMethodEnum::Clas /* Ifc4x3_rc1::IfcReflectanceMethodEnum::IfcReflectanceMethodEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcReflectanceMethodEnum::IfcReflectanceMethodEnum(Value v) { @@ -5032,7 +5032,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::Cla /* Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::IfcReinforcedSoilTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::IfcReinforcedSoilTypeEnum(Value v) { @@ -5061,7 +5061,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcReinforcingBarRoleEnum::Cla /* Ifc4x3_rc1::IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum(Value v) { @@ -5090,7 +5090,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum:: /* Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum(Value v) { @@ -5119,7 +5119,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Cla /* Ifc4x3_rc1::IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum(Value v) { @@ -5148,7 +5148,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Cl /* Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum(Value v) { @@ -5177,7 +5177,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcRoadPartTypeEnum::Class() { /* Ifc4x3_rc1::IfcRoadPartTypeEnum::IfcRoadPartTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcRoadPartTypeEnum::IfcRoadPartTypeEnum(Value v) { @@ -5206,7 +5206,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcRoleEnum::Class() { return /* Ifc4x3_rc1::IfcRoleEnum::IfcRoleEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcRoleEnum::IfcRoleEnum(Value v) { @@ -5235,7 +5235,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcRoofTypeEnum::Class() { ret /* Ifc4x3_rc1::IfcRoofTypeEnum::IfcRoofTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcRoofTypeEnum::IfcRoofTypeEnum(Value v) { @@ -5264,7 +5264,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcSIPrefix::Class() { return /* Ifc4x3_rc1::IfcSIPrefix::IfcSIPrefix(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcSIPrefix::IfcSIPrefix(Value v) { @@ -5293,7 +5293,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcSIUnitName::Class() { retur /* Ifc4x3_rc1::IfcSIUnitName::IfcSIUnitName(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcSIUnitName::IfcSIUnitName(Value v) { @@ -5322,7 +5322,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::C /* Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum(Value v) { @@ -5351,7 +5351,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcSectionTypeEnum::Class() { /* Ifc4x3_rc1::IfcSectionTypeEnum::IfcSectionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcSectionTypeEnum::IfcSectionTypeEnum(Value v) { @@ -5380,7 +5380,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcSensorTypeEnum::Class() { r /* Ifc4x3_rc1::IfcSensorTypeEnum::IfcSensorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcSensorTypeEnum::IfcSensorTypeEnum(Value v) { @@ -5409,7 +5409,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcSequenceEnum::Class() { ret /* Ifc4x3_rc1::IfcSequenceEnum::IfcSequenceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcSequenceEnum::IfcSequenceEnum(Value v) { @@ -5438,7 +5438,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Clas /* Ifc4x3_rc1::IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum(Value v) { @@ -5467,7 +5467,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcSignTypeEnum::Class() { ret /* Ifc4x3_rc1::IfcSignTypeEnum::IfcSignTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcSignTypeEnum::IfcSignTypeEnum(Value v) { @@ -5496,7 +5496,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcSignalTypeEnum::Class() { r /* Ifc4x3_rc1::IfcSignalTypeEnum::IfcSignalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcSignalTypeEnum::IfcSignalTypeEnum(Value v) { @@ -5525,7 +5525,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcSimplePropertyTemplateTypeE /* Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum(Value v) { @@ -5554,7 +5554,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcSlabTypeEnum::Class() { ret /* Ifc4x3_rc1::IfcSlabTypeEnum::IfcSlabTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcSlabTypeEnum::IfcSlabTypeEnum(Value v) { @@ -5583,7 +5583,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Class( /* Ifc4x3_rc1::IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum(Value v) { @@ -5612,7 +5612,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Class( /* Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum(Value v) { @@ -5641,7 +5641,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcSpaceTypeEnum::Class() { re /* Ifc4x3_rc1::IfcSpaceTypeEnum::IfcSpaceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcSpaceTypeEnum::IfcSpaceTypeEnum(Value v) { @@ -5670,7 +5670,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Class( /* Ifc4x3_rc1::IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum(Value v) { @@ -5699,7 +5699,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcStackTerminalTypeEnum::Clas /* Ifc4x3_rc1::IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum(Value v) { @@ -5728,7 +5728,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcStairFlightTypeEnum::Class( /* Ifc4x3_rc1::IfcStairFlightTypeEnum::IfcStairFlightTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcStairFlightTypeEnum::IfcStairFlightTypeEnum(Value v) { @@ -5757,7 +5757,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcStairTypeEnum::Class() { re /* Ifc4x3_rc1::IfcStairTypeEnum::IfcStairTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcStairTypeEnum::IfcStairTypeEnum(Value v) { @@ -5786,7 +5786,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcStateEnum::Class() { return /* Ifc4x3_rc1::IfcStateEnum::IfcStateEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcStateEnum::IfcStateEnum(Value v) { @@ -5815,7 +5815,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcStructuralCurveActivityType /* Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum(Value v) { @@ -5844,7 +5844,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcStructuralCurveMemberTypeEn /* Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum(Value v) { @@ -5873,7 +5873,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcStructuralSurfaceActivityTy /* Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum(Value v) { @@ -5902,7 +5902,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcStructuralSurfaceMemberType /* Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum(Value v) { @@ -5931,7 +5931,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcSubContractResourceTypeEnum /* Ifc4x3_rc1::IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum(Value v) { @@ -5960,7 +5960,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::Cla /* Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum(Value v) { @@ -5989,7 +5989,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcSurfaceSide::Class() { retu /* Ifc4x3_rc1::IfcSurfaceSide::IfcSurfaceSide(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcSurfaceSide::IfcSurfaceSide(Value v) { @@ -6018,7 +6018,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Cl /* Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum(Value v) { @@ -6047,7 +6047,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcSystemFurnitureElementTypeE /* Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum(Value v) { @@ -6076,7 +6076,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcTankTypeEnum::Class() { ret /* Ifc4x3_rc1::IfcTankTypeEnum::IfcTankTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcTankTypeEnum::IfcTankTypeEnum(Value v) { @@ -6105,7 +6105,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcTaskDurationEnum::Class() { /* Ifc4x3_rc1::IfcTaskDurationEnum::IfcTaskDurationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcTaskDurationEnum::IfcTaskDurationEnum(Value v) { @@ -6134,7 +6134,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcTaskTypeEnum::Class() { ret /* Ifc4x3_rc1::IfcTaskTypeEnum::IfcTaskTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcTaskTypeEnum::IfcTaskTypeEnum(Value v) { @@ -6163,7 +6163,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Class /* Ifc4x3_rc1::IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum(Value v) { @@ -6192,7 +6192,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcTendonConduitTypeEnum::Clas /* Ifc4x3_rc1::IfcTendonConduitTypeEnum::IfcTendonConduitTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcTendonConduitTypeEnum::IfcTendonConduitTypeEnum(Value v) { @@ -6221,7 +6221,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcTendonTypeEnum::Class() { r /* Ifc4x3_rc1::IfcTendonTypeEnum::IfcTendonTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcTendonTypeEnum::IfcTendonTypeEnum(Value v) { @@ -6250,7 +6250,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcTextPath::Class() { return /* Ifc4x3_rc1::IfcTextPath::IfcTextPath(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcTextPath::IfcTextPath(Value v) { @@ -6279,7 +6279,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Cla /* Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum(Value v) { @@ -6308,7 +6308,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcTrackElementTypeEnum::Class /* Ifc4x3_rc1::IfcTrackElementTypeEnum::IfcTrackElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcTrackElementTypeEnum::IfcTrackElementTypeEnum(Value v) { @@ -6337,7 +6337,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcTransformerTypeEnum::Class( /* Ifc4x3_rc1::IfcTransformerTypeEnum::IfcTransformerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcTransformerTypeEnum::IfcTransformerTypeEnum(Value v) { @@ -6366,7 +6366,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcTransitionCode::Class() { r /* Ifc4x3_rc1::IfcTransitionCode::IfcTransitionCode(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcTransitionCode::IfcTransitionCode(Value v) { @@ -6395,7 +6395,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcTransitionCurveType::Class( /* Ifc4x3_rc1::IfcTransitionCurveType::IfcTransitionCurveType(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcTransitionCurveType::IfcTransitionCurveType(Value v) { @@ -6424,7 +6424,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcTransportElementFixedTypeEn /* Ifc4x3_rc1::IfcTransportElementFixedTypeEnum::IfcTransportElementFixedTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcTransportElementFixedTypeEnum::IfcTransportElementFixedTypeEnum(Value v) { @@ -6453,7 +6453,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcTransportElementNonFixedTyp /* Ifc4x3_rc1::IfcTransportElementNonFixedTypeEnum::IfcTransportElementNonFixedTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcTransportElementNonFixedTypeEnum::IfcTransportElementNonFixedTypeEnum(Value v) { @@ -6482,7 +6482,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcTrimmingPreference::Class() /* Ifc4x3_rc1::IfcTrimmingPreference::IfcTrimmingPreference(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcTrimmingPreference::IfcTrimmingPreference(Value v) { @@ -6511,7 +6511,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcTubeBundleTypeEnum::Class() /* Ifc4x3_rc1::IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum(Value v) { @@ -6540,7 +6540,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcUnitEnum::Class() { return /* Ifc4x3_rc1::IfcUnitEnum::IfcUnitEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcUnitEnum::IfcUnitEnum(Value v) { @@ -6569,7 +6569,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcUnitaryControlElementTypeEn /* Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum(Value v) { @@ -6598,7 +6598,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::C /* Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum(Value v) { @@ -6627,7 +6627,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcValveTypeEnum::Class() { re /* Ifc4x3_rc1::IfcValveTypeEnum::IfcValveTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcValveTypeEnum::IfcValveTypeEnum(Value v) { @@ -6656,7 +6656,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Cl /* Ifc4x3_rc1::IfcVibrationDamperTypeEnum::IfcVibrationDamperTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcVibrationDamperTypeEnum::IfcVibrationDamperTypeEnum(Value v) { @@ -6685,7 +6685,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum:: /* Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum(Value v) { @@ -6714,7 +6714,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::Cla /* Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum(Value v) { @@ -6743,7 +6743,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcWallTypeEnum::Class() { ret /* Ifc4x3_rc1::IfcWallTypeEnum::IfcWallTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcWallTypeEnum::IfcWallTypeEnum(Value v) { @@ -6772,7 +6772,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Clas /* Ifc4x3_rc1::IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum(Value v) { @@ -6801,7 +6801,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcWindowPanelOperationEnum::C /* Ifc4x3_rc1::IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum(Value v) { @@ -6830,7 +6830,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcWindowPanelPositionEnum::Cl /* Ifc4x3_rc1::IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum(Value v) { @@ -6859,7 +6859,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcWindowStyleConstructionEnum /* Ifc4x3_rc1::IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum(Value v) { @@ -6888,7 +6888,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcWindowStyleOperationEnum::C /* Ifc4x3_rc1::IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum(Value v) { @@ -6917,7 +6917,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcWindowTypeEnum::Class() { r /* Ifc4x3_rc1::IfcWindowTypeEnum::IfcWindowTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcWindowTypeEnum::IfcWindowTypeEnum(Value v) { @@ -6946,7 +6946,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcWindowTypePartitioningEnum: /* Ifc4x3_rc1::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum(Value v) { @@ -6975,7 +6975,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcWorkCalendarTypeEnum::Class /* Ifc4x3_rc1::IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum(Value v) { @@ -7004,7 +7004,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcWorkPlanTypeEnum::Class() { /* Ifc4x3_rc1::IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum(Value v) { @@ -7033,7 +7033,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc1::IfcWorkScheduleTypeEnum::Class /* Ifc4x3_rc1::IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc1::IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum(Value v) { @@ -7637,8 +7637,8 @@ Ifc4x3_rc1::IfcPressureMeasure::operator double() const { return get_attribute_v // Function implementations for IfcPropertySetDefinitionSet const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcPropertySetDefinitionSet::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[842]); } -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); } +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]); } @@ -7854,7 +7854,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcActionRequest::Class() { return *((if 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>(); } +::Ifc4x3_rc1::IfcActorSelect Ifc4x3_rc1::IfcActor::TheActor() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcActorSelect>(); } void Ifc4x3_rc1::IfcActor::setTheActor(const ::Ifc4x3_rc1::IfcActorSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } std::vector<::Ifc4x3_rc1::IfcRelAssignsToActor> Ifc4x3_rc1::IfcActor::IsActingUpon() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[912], 6)); } @@ -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]); } -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; } +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)); } @@ -7912,18 +7912,18 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcAdvancedBrep::Class() { return *((ifc 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); } -void Ifc4x3_rc1::IfcAdvancedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_rc1::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc1::IfcClosedShell > Ifc4x3_rc1::IfcAdvancedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcClosedShell>(es); } +void Ifc4x3_rc1::IfcAdvancedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_rc1::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_rc1::IfcAdvancedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[15]); } -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; } +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]); } -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; } +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)); } @@ -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]); } -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; } +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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -7998,14 +7998,14 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcAlignment::Class() { return *((ifcope 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); } -void Ifc4x3_rc1::IfcAlignment2DCant::setSegments(const std::vector< ::Ifc4x3_rc1::IfcAlignment2DCantSegment >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc1::IfcAlignment2DCantSegment > Ifc4x3_rc1::IfcAlignment2DCant::Segments() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcAlignment2DCantSegment>(es); } +void Ifc4x3_rc1::IfcAlignment2DCant::setSegments(const std::vector< ::Ifc4x3_rc1::IfcAlignment2DCantSegment >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc1::IfcAlignment2DCant::RailHeadDistance() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcAlignment2DCant::setRailHeadDistance(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_rc1::IfcAlignment2DCant::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[30]); } -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; } +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 @@ -8051,16 +8051,16 @@ Ifc4x3_rc1::IfcAlignment2DCantSegment Ifc4x3_rc1::IfcAlignment2DCantSegment::ini // 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; } void Ifc4x3_rc1::IfcAlignment2DHorizontal::setStartDistAlong(const std::optional< double >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::vector< ::Ifc4x3_rc1::IfcAlignment2DHorizontalSegment > Ifc4x3_rc1::IfcAlignment2DHorizontal::Segments() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcAlignment2DHorizontalSegment>(es); } -void Ifc4x3_rc1::IfcAlignment2DHorizontal::setSegments(const std::vector< ::Ifc4x3_rc1::IfcAlignment2DHorizontalSegment >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc1::IfcAlignment2DHorizontalSegment > Ifc4x3_rc1::IfcAlignment2DHorizontal::Segments() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcAlignment2DHorizontalSegment>(es); } +void Ifc4x3_rc1::IfcAlignment2DHorizontal::setSegments(const std::vector< ::Ifc4x3_rc1::IfcAlignment2DHorizontalSegment >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } 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]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcCurveSegment2D Ifc4x3_rc1::IfcAlignment2DHorizontalSegment::CurveGeometry() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcCurveSegment2D>(); } void Ifc4x3_rc1::IfcAlignment2DHorizontalSegment::setCurveGeometry(const ::Ifc4x3_rc1::IfcCurveSegment2D& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::vector<::Ifc4x3_rc1::IfcAlignment2DHorizontal> Ifc4x3_rc1::IfcAlignment2DHorizontalSegment::ToHorizontal() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[34], 1)); } @@ -8123,13 +8123,13 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcAlignment2DVerSegTransition::Class() 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); } -void Ifc4x3_rc1::IfcAlignment2DVertical::setSegments(const std::vector< ::Ifc4x3_rc1::IfcAlignment2DVerticalSegment >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc1::IfcAlignment2DVerticalSegment > Ifc4x3_rc1::IfcAlignment2DVertical::Segments() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcAlignment2DVerticalSegment>(es); } +void Ifc4x3_rc1::IfcAlignment2DVertical::setSegments(const std::vector< ::Ifc4x3_rc1::IfcAlignment2DVerticalSegment >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } 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]); } -Ifc4x3_rc1::IfcAlignment2DVertical Ifc4x3_rc1::IfcAlignment2DVertical::initialize(std::vector< ::Ifc4x3_rc1::IfcAlignment2DVerticalSegment > v1_Segments) { set_attribute_value(0, cast_vector(v1_Segments));; return *this; } +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; } @@ -8147,9 +8147,9 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcAlignment2DVerticalSegment::Class() { 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>(); } +::Ifc4x3_rc1::IfcAlignment2DHorizontal Ifc4x3_rc1::IfcAlignmentCurve::Horizontal() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcAlignment2DHorizontal>(); } void Ifc4x3_rc1::IfcAlignmentCurve::setHorizontal(const ::Ifc4x3_rc1::IfcAlignment2DHorizontal& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcAlignment2DVertical Ifc4x3_rc1::IfcAlignmentCurve::Vertical() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc1::IfcAlignment2DVertical{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcAlignment2DVertical>(); } +::Ifc4x3_rc1::IfcAlignment2DVertical Ifc4x3_rc1::IfcAlignmentCurve::Vertical() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc1::IfcAlignment2DVertical{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcAlignment2DVertical>(); } void Ifc4x3_rc1::IfcAlignmentCurve::setVertical(const ::Ifc4x3_rc1::IfcAlignment2DVertical& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_rc1::IfcAlignmentCurve::Tag() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcAlignmentCurve::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } @@ -8168,17 +8168,17 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcAnnotation::Class() { return *((ifcop 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>(); } +::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcAnnotationFillArea::OuterBoundary() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCurve>(); } void Ifc4x3_rc1::IfcAnnotationFillArea::setOuterBoundary(const ::Ifc4x3_rc1::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::optional< std::vector< ::Ifc4x3_rc1::IfcCurve > > Ifc4x3_rc1::IfcAnnotationFillArea::InnerBoundaries() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcCurve>(es); } -void Ifc4x3_rc1::IfcAnnotationFillArea::setInnerBoundaries(const std::optional< std::vector< ::Ifc4x3_rc1::IfcCurve > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } +std::optional< std::vector< ::Ifc4x3_rc1::IfcCurve > > Ifc4x3_rc1::IfcAnnotationFillArea::InnerBoundaries() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcCurve>(es); } +void Ifc4x3_rc1::IfcAnnotationFillArea::setInnerBoundaries(const std::optional< std::vector< ::Ifc4x3_rc1::IfcCurve > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } const ifcopenshell::entity& Ifc4x3_rc1::IfcAnnotationFillArea::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[50]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcOrganization Ifc4x3_rc1::IfcApplication::ApplicationDeveloper() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcOrganization>(); } void Ifc4x3_rc1::IfcApplication::setApplicationDeveloper(const ::Ifc4x3_rc1::IfcOrganization& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::string Ifc4x3_rc1::IfcApplication::Version() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcApplication::setVersion(const std::string& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8196,9 +8196,9 @@ std::optional< std::string > Ifc4x3_rc1::IfcAppliedValue::Name() const { if(get_ void Ifc4x3_rc1::IfcAppliedValue::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_rc1::IfcAppliedValue::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcAppliedValue::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc1::IfcAppliedValueSelect Ifc4x3_rc1::IfcAppliedValue::AppliedValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc1::IfcAppliedValueSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcAppliedValueSelect>(); } +::Ifc4x3_rc1::IfcAppliedValueSelect Ifc4x3_rc1::IfcAppliedValue::AppliedValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc1::IfcAppliedValueSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcAppliedValueSelect>(); } void Ifc4x3_rc1::IfcAppliedValue::setAppliedValue(const ::Ifc4x3_rc1::IfcAppliedValueSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcMeasureWithUnit Ifc4x3_rc1::IfcAppliedValue::UnitBasis() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcMeasureWithUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcMeasureWithUnit>(); } +::Ifc4x3_rc1::IfcMeasureWithUnit Ifc4x3_rc1::IfcAppliedValue::UnitBasis() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcMeasureWithUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcMeasureWithUnit>(); } void Ifc4x3_rc1::IfcAppliedValue::setUnitBasis(const ::Ifc4x3_rc1::IfcMeasureWithUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc1::IfcAppliedValue::ApplicableDate() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcAppliedValue::setApplicableDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -8210,13 +8210,13 @@ std::optional< std::string > Ifc4x3_rc1::IfcAppliedValue::Condition() const { if void Ifc4x3_rc1::IfcAppliedValue::setCondition(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } std::optional< ::Ifc4x3_rc1::IfcArithmeticOperatorEnum::Value > Ifc4x3_rc1::IfcAppliedValue::ArithmeticOperator() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcArithmeticOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcAppliedValue::setArithmeticOperator(const std::optional< ::Ifc4x3_rc1::IfcArithmeticOperatorEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc1::IfcArithmeticOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > Ifc4x3_rc1::IfcAppliedValue::Components() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc1::IfcAppliedValue>(es); } -void Ifc4x3_rc1::IfcAppliedValue::setComponents(const std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > Ifc4x3_rc1::IfcAppliedValue::Components() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc1::IfcAppliedValue>(es); } +void Ifc4x3_rc1::IfcAppliedValue::setComponents(const std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } 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]); } -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; } +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; } @@ -8233,9 +8233,9 @@ std::optional< std::string > Ifc4x3_rc1::IfcApproval::Level() const { if(get_att void Ifc4x3_rc1::IfcApproval::setLevel(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< std::string > Ifc4x3_rc1::IfcApproval::Qualifier() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcApproval::setQualifier(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_rc1::IfcActorSelect Ifc4x3_rc1::IfcApproval::RequestingApproval() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc1::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc1::IfcActorSelect>(); } +::Ifc4x3_rc1::IfcActorSelect Ifc4x3_rc1::IfcApproval::RequestingApproval() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc1::IfcActorSelect{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc1::IfcActorSelect>(); } void Ifc4x3_rc1::IfcApproval::setRequestingApproval(const ::Ifc4x3_rc1::IfcActorSelect& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc1::IfcActorSelect Ifc4x3_rc1::IfcApproval::GivingApproval() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc1::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc1::IfcActorSelect>(); } +::Ifc4x3_rc1::IfcActorSelect Ifc4x3_rc1::IfcApproval::GivingApproval() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc1::IfcActorSelect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc1::IfcActorSelect>(); } void Ifc4x3_rc1::IfcApproval::setGivingApproval(const ::Ifc4x3_rc1::IfcActorSelect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcApproval::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[436], 3)); } @@ -8248,17 +8248,17 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcApproval::Class() { return *((ifcopen 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>(); } +::Ifc4x3_rc1::IfcApproval Ifc4x3_rc1::IfcApprovalRelationship::RelatingApproval() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcApproval>(); } void Ifc4x3_rc1::IfcApprovalRelationship::setRelatingApproval(const ::Ifc4x3_rc1::IfcApproval& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_rc1::IfcApproval > Ifc4x3_rc1::IfcApprovalRelationship::RelatedApprovals() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc1::IfcApproval>(es); } -void Ifc4x3_rc1::IfcApprovalRelationship::setRelatedApprovals(const std::vector< ::Ifc4x3_rc1::IfcApproval >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc1::IfcApproval > Ifc4x3_rc1::IfcApprovalRelationship::RelatedApprovals() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc1::IfcApproval>(es); } +void Ifc4x3_rc1::IfcApprovalRelationship::setRelatedApprovals(const std::vector< ::Ifc4x3_rc1::IfcApproval >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc1::IfcApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[56]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcCurve>(); } void Ifc4x3_rc1::IfcArbitraryClosedProfileDef::setOuterCurve(const ::Ifc4x3_rc1::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8266,7 +8266,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcArbitraryClosedProfileDef::Class() { 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>(); } +::Ifc4x3_rc1::IfcBoundedCurve Ifc4x3_rc1::IfcArbitraryOpenProfileDef::Curve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcBoundedCurve>(); } void Ifc4x3_rc1::IfcArbitraryOpenProfileDef::setCurve(const ::Ifc4x3_rc1::IfcBoundedCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8274,31 +8274,31 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcArbitraryOpenProfileDef::Class() { re 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); } -void Ifc4x3_rc1::IfcArbitraryProfileDefWithVoids::setInnerCurves(const std::vector< ::Ifc4x3_rc1::IfcCurve >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc1::IfcCurve > Ifc4x3_rc1::IfcArbitraryProfileDefWithVoids::InnerCurves() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc1::IfcCurve>(es); } +void Ifc4x3_rc1::IfcArbitraryProfileDefWithVoids::setInnerCurves(const std::vector< ::Ifc4x3_rc1::IfcCurve >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc1::IfcArbitraryProfileDefWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[59]); } -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; } +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; } void Ifc4x3_rc1::IfcAsset::setIdentification(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc1::IfcCostValue Ifc4x3_rc1::IfcAsset::OriginalValue() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcCostValue{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcCostValue>(); } +::Ifc4x3_rc1::IfcCostValue Ifc4x3_rc1::IfcAsset::OriginalValue() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcCostValue{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcCostValue>(); } void Ifc4x3_rc1::IfcAsset::setOriginalValue(const ::Ifc4x3_rc1::IfcCostValue& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc1::IfcCostValue Ifc4x3_rc1::IfcAsset::CurrentValue() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc1::IfcCostValue{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc1::IfcCostValue>(); } +::Ifc4x3_rc1::IfcCostValue Ifc4x3_rc1::IfcAsset::CurrentValue() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc1::IfcCostValue{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc1::IfcCostValue>(); } void Ifc4x3_rc1::IfcAsset::setCurrentValue(const ::Ifc4x3_rc1::IfcCostValue& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc1::IfcCostValue Ifc4x3_rc1::IfcAsset::TotalReplacementCost() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc1::IfcCostValue{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc1::IfcCostValue>(); } +::Ifc4x3_rc1::IfcCostValue Ifc4x3_rc1::IfcAsset::TotalReplacementCost() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc1::IfcCostValue{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc1::IfcCostValue>(); } void Ifc4x3_rc1::IfcAsset::setTotalReplacementCost(const ::Ifc4x3_rc1::IfcCostValue& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc1::IfcActorSelect Ifc4x3_rc1::IfcAsset::Owner() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc1::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc1::IfcActorSelect>(); } +::Ifc4x3_rc1::IfcActorSelect Ifc4x3_rc1::IfcAsset::Owner() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc1::IfcActorSelect{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc1::IfcActorSelect>(); } void Ifc4x3_rc1::IfcAsset::setOwner(const ::Ifc4x3_rc1::IfcActorSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc1::IfcActorSelect Ifc4x3_rc1::IfcAsset::User() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc1::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_rc1::IfcActorSelect>(); } +::Ifc4x3_rc1::IfcActorSelect Ifc4x3_rc1::IfcAsset::User() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc1::IfcActorSelect{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x3_rc1::IfcActorSelect>(); } void Ifc4x3_rc1::IfcAsset::setUser(const ::Ifc4x3_rc1::IfcActorSelect& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -::Ifc4x3_rc1::IfcPerson Ifc4x3_rc1::IfcAsset::ResponsiblePerson() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x3_rc1::IfcPerson{}; } return ((express::Base)(get_attribute_value(11))).as<::Ifc4x3_rc1::IfcPerson>(); } +::Ifc4x3_rc1::IfcPerson Ifc4x3_rc1::IfcAsset::ResponsiblePerson() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x3_rc1::IfcPerson{}; } return ((express::base)(get_attribute_value(11))).as<::Ifc4x3_rc1::IfcPerson>(); } void Ifc4x3_rc1::IfcAsset::setResponsiblePerson(const ::Ifc4x3_rc1::IfcPerson& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } std::optional< std::string > Ifc4x3_rc1::IfcAsset::IncorporationDate() const { if(get_attribute_value(12).isNull()) { return std::nullopt; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc1::IfcAsset::setIncorporationDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x3_rc1::IfcCostValue Ifc4x3_rc1::IfcAsset::DepreciatedValue() const { if(get_attribute_value(13).isNull()) { return ::Ifc4x3_rc1::IfcCostValue{}; } return ((express::Base)(get_attribute_value(13))).as<::Ifc4x3_rc1::IfcCostValue>(); } +::Ifc4x3_rc1::IfcCostValue Ifc4x3_rc1::IfcAsset::DepreciatedValue() const { if(get_attribute_value(13).isNull()) { return ::Ifc4x3_rc1::IfcCostValue{}; } return ((express::base)(get_attribute_value(13))).as<::Ifc4x3_rc1::IfcCostValue>(); } void Ifc4x3_rc1::IfcAsset::setDepreciatedValue(const ::Ifc4x3_rc1::IfcCostValue& v) { set_attribute_value(13, v);if constexpr (false)unset_attribute_value(13); } @@ -8349,10 +8349,10 @@ void Ifc4x3_rc1::IfcAudioVisualApplianceType::setPredefinedType(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc1::IfcAudioVisualApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[68]); } -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; } +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>(); } +::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>(); } void Ifc4x3_rc1::IfcAxis1Placement::setAxis(const ::Ifc4x3_rc1::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8360,7 +8360,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcAxis1Placement::Class() { return *((i 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>(); } +::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>(); } void Ifc4x3_rc1::IfcAxis2Placement2D::setRefDirection(const ::Ifc4x3_rc1::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8368,9 +8368,9 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcAxis2Placement2D::Class() { return *( 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>(); } +::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>(); } void Ifc4x3_rc1::IfcAxis2Placement3D::setAxis(const ::Ifc4x3_rc1::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcAxis2Placement3D::RefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc1::IfcDirection{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcDirection>(); } +::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcAxis2Placement3D::RefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc1::IfcDirection{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcDirection>(); } void Ifc4x3_rc1::IfcAxis2Placement3D::setRefDirection(const ::Ifc4x3_rc1::IfcDirection& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8387,8 +8387,8 @@ Ifc4x3_rc1::IfcAxisLateralInclination Ifc4x3_rc1::IfcAxisLateralInclination::ini // Function implementations for IfcBSplineCurve int64_t Ifc4x3_rc1::IfcBSplineCurve::Degree() const { int64_t v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcBSplineCurve::setDegree(const int64_t& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > Ifc4x3_rc1::IfcBSplineCurve::ControlPointsList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcCartesianPoint>(es); } -void Ifc4x3_rc1::IfcBSplineCurve::setControlPointsList(const std::vector< ::Ifc4x3_rc1::IfcCartesianPoint >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > Ifc4x3_rc1::IfcBSplineCurve::ControlPointsList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcCartesianPoint>(es); } +void Ifc4x3_rc1::IfcBSplineCurve::setControlPointsList(const std::vector< ::Ifc4x3_rc1::IfcCartesianPoint >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } ::Ifc4x3_rc1::IfcBSplineCurveForm::Value Ifc4x3_rc1::IfcBSplineCurve::CurveForm() const { return ::Ifc4x3_rc1::IfcBSplineCurveForm::FromString(get_attribute_value(2)); } void Ifc4x3_rc1::IfcBSplineCurve::setCurveForm(const ::Ifc4x3_rc1::IfcBSplineCurveForm::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4x3_rc1::IfcBSplineCurveForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } boost::logic::tribool Ifc4x3_rc1::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = get_attribute_value(3); 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]); } -Ifc4x3_rc1::IfcBSplineCurve Ifc4x3_rc1::IfcBSplineCurve::initialize(int64_t 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; } +Ifc4x3_rc1::IfcBSplineCurve Ifc4x3_rc1::IfcBSplineCurve::initialize(int64_t 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< int64_t > /*[2:?]*/ Ifc4x3_rc1::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int64_t > /*[2:?]*/ v = get_attribute_value(5); return v; } @@ -8410,15 +8410,15 @@ void Ifc4x3_rc1::IfcBSplineCurveWithKnots::setKnotSpec(const ::Ifc4x3_rc1::IfcKn const ifcopenshell::entity& Ifc4x3_rc1::IfcBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[114]); } -Ifc4x3_rc1::IfcBSplineCurveWithKnots Ifc4x3_rc1::IfcBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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; } +Ifc4x3_rc1::IfcBSplineCurveWithKnots Ifc4x3_rc1::IfcBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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 int64_t Ifc4x3_rc1::IfcBSplineSurface::UDegree() const { int64_t v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcBSplineSurface::setUDegree(const int64_t& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } int64_t Ifc4x3_rc1::IfcBSplineSurface::VDegree() const { int64_t v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcBSplineSurface::setVDegree(const int64_t& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector< std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > > Ifc4x3_rc1::IfcBSplineSurface::ControlPointsList() const { std::vector> es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcCartesianPoint>(es); } -void Ifc4x3_rc1::IfcBSplineSurface::setControlPointsList(const std::vector< std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > > Ifc4x3_rc1::IfcBSplineSurface::ControlPointsList() const { std::vector> es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcCartesianPoint>(es); } +void Ifc4x3_rc1::IfcBSplineSurface::setControlPointsList(const std::vector< std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } ::Ifc4x3_rc1::IfcBSplineSurfaceForm::Value Ifc4x3_rc1::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4x3_rc1::IfcBSplineSurfaceForm::FromString(get_attribute_value(3)); } void Ifc4x3_rc1::IfcBSplineSurface::setSurfaceForm(const ::Ifc4x3_rc1::IfcBSplineSurfaceForm::Value& v) { set_attribute_value(3, enumeration_reference(&::Ifc4x3_rc1::IfcBSplineSurfaceForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } boost::logic::tribool Ifc4x3_rc1::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = get_attribute_value(4); 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]); } -Ifc4x3_rc1::IfcBSplineSurface Ifc4x3_rc1::IfcBSplineSurface::initialize(int64_t v1_UDegree, int64_t 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; } +Ifc4x3_rc1::IfcBSplineSurface Ifc4x3_rc1::IfcBSplineSurface::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ Ifc4x3_rc1::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int64_t > /*[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]); } -Ifc4x3_rc1::IfcBSplineSurfaceWithKnots Ifc4x3_rc1::IfcBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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; } +Ifc4x3_rc1::IfcBSplineSurfaceWithKnots Ifc4x3_rc1::IfcBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -8522,7 +8522,7 @@ void Ifc4x3_rc1::IfcBoilerType::setPredefinedType(const ::Ifc4x3_rc1::IfcBoilerT const ifcopenshell::entity& Ifc4x3_rc1::IfcBoilerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[89]); } -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; } +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 @@ -8533,9 +8533,9 @@ Ifc4x3_rc1::IfcBooleanClippingResult Ifc4x3_rc1::IfcBooleanClippingResult::initi // Function implementations for IfcBooleanResult ::Ifc4x3_rc1::IfcBooleanOperator::Value Ifc4x3_rc1::IfcBooleanResult::Operator() const { return ::Ifc4x3_rc1::IfcBooleanOperator::FromString(get_attribute_value(0)); } void Ifc4x3_rc1::IfcBooleanResult::setOperator(const ::Ifc4x3_rc1::IfcBooleanOperator::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc4x3_rc1::IfcBooleanOperator::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcBooleanOperand Ifc4x3_rc1::IfcBooleanResult::FirstOperand() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcBooleanOperand>(); } +::Ifc4x3_rc1::IfcBooleanOperand Ifc4x3_rc1::IfcBooleanResult::FirstOperand() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcBooleanOperand>(); } void Ifc4x3_rc1::IfcBooleanResult::setFirstOperand(const ::Ifc4x3_rc1::IfcBooleanOperand& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcBooleanOperand Ifc4x3_rc1::IfcBooleanResult::SecondOperand() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcBooleanOperand>(); } +::Ifc4x3_rc1::IfcBooleanOperand Ifc4x3_rc1::IfcBooleanResult::SecondOperand() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcBooleanOperand>(); } void Ifc4x3_rc1::IfcBooleanResult::setSecondOperand(const ::Ifc4x3_rc1::IfcBooleanOperand& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8560,20 +8560,20 @@ Ifc4x3_rc1::IfcBoundaryCondition Ifc4x3_rc1::IfcBoundaryCondition::initialize(st const ifcopenshell::entity& Ifc4x3_rc1::IfcBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[98]); } -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; } +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>(); } +::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>(); } void Ifc4x3_rc1::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(const ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x3_rc1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x3_rc1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect>(); } void Ifc4x3_rc1::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(const ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x3_rc1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x3_rc1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect>(); } void Ifc4x3_rc1::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(const ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x3_rc1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x3_rc1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect>(); } void Ifc4x3_rc1::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(const ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x3_rc1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x3_rc1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect>(); } void Ifc4x3_rc1::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(const ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x3_rc1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x3_rc1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect>(); } void Ifc4x3_rc1::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(const ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -8581,11 +8581,11 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcBoundaryEdgeCondition::Class() { retu 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>(); } +::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>(); } void Ifc4x3_rc1::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(const ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect Ifc4x3_rc1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect Ifc4x3_rc1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect>(); } void Ifc4x3_rc1::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(const ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect Ifc4x3_rc1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect Ifc4x3_rc1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect>(); } void Ifc4x3_rc1::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(const ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -8593,17 +8593,17 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcBoundaryFaceCondition::Class() { retu 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>(); } +::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>(); } void Ifc4x3_rc1::IfcBoundaryNodeCondition::setTranslationalStiffnessX(const ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcTranslationalStiffnessSelect Ifc4x3_rc1::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcTranslationalStiffnessSelect>(); } +::Ifc4x3_rc1::IfcTranslationalStiffnessSelect Ifc4x3_rc1::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcTranslationalStiffnessSelect>(); } void Ifc4x3_rc1::IfcBoundaryNodeCondition::setTranslationalStiffnessY(const ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcTranslationalStiffnessSelect Ifc4x3_rc1::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcTranslationalStiffnessSelect>(); } +::Ifc4x3_rc1::IfcTranslationalStiffnessSelect Ifc4x3_rc1::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcTranslationalStiffnessSelect>(); } void Ifc4x3_rc1::IfcBoundaryNodeCondition::setTranslationalStiffnessZ(const ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc1::IfcRotationalStiffnessSelect Ifc4x3_rc1::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc1::IfcRotationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcRotationalStiffnessSelect>(); } +::Ifc4x3_rc1::IfcRotationalStiffnessSelect Ifc4x3_rc1::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc1::IfcRotationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcRotationalStiffnessSelect>(); } void Ifc4x3_rc1::IfcBoundaryNodeCondition::setRotationalStiffnessX(const ::Ifc4x3_rc1::IfcRotationalStiffnessSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcRotationalStiffnessSelect Ifc4x3_rc1::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc1::IfcRotationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcRotationalStiffnessSelect>(); } +::Ifc4x3_rc1::IfcRotationalStiffnessSelect Ifc4x3_rc1::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc1::IfcRotationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcRotationalStiffnessSelect>(); } void Ifc4x3_rc1::IfcBoundaryNodeCondition::setRotationalStiffnessY(const ::Ifc4x3_rc1::IfcRotationalStiffnessSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc1::IfcRotationalStiffnessSelect Ifc4x3_rc1::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcRotationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcRotationalStiffnessSelect>(); } +::Ifc4x3_rc1::IfcRotationalStiffnessSelect Ifc4x3_rc1::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcRotationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcRotationalStiffnessSelect>(); } void Ifc4x3_rc1::IfcBoundaryNodeCondition::setRotationalStiffnessZ(const ::Ifc4x3_rc1::IfcRotationalStiffnessSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -8611,7 +8611,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcBoundaryNodeCondition::Class() { retu 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>(); } +::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>(); } void Ifc4x3_rc1::IfcBoundaryNodeConditionWarping::setWarpingStiffness(const ::Ifc4x3_rc1::IfcWarpingStiffnessSelect& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -8632,7 +8632,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcBoundedSurface::Class() { return *((i 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>(); } +::Ifc4x3_rc1::IfcCartesianPoint Ifc4x3_rc1::IfcBoundingBox::Corner() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCartesianPoint>(); } void Ifc4x3_rc1::IfcBoundingBox::setCorner(const ::Ifc4x3_rc1::IfcCartesianPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc1::IfcBoundingBox::XDim() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcBoundingBox::setXDim(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8646,7 +8646,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcBoundingBox::Class() { return *((ifco 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>(); } +::Ifc4x3_rc1::IfcBoundingBox Ifc4x3_rc1::IfcBoxedHalfSpace::Enclosure() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcBoundingBox>(); } void Ifc4x3_rc1::IfcBoxedHalfSpace::setEnclosure(const ::Ifc4x3_rc1::IfcBoundingBox& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8672,7 +8672,7 @@ std::optional< double > Ifc4x3_rc1::IfcBuilding::ElevationOfRefHeight() const { void Ifc4x3_rc1::IfcBuilding::setElevationOfRefHeight(const std::optional< double >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } std::optional< double > Ifc4x3_rc1::IfcBuilding::ElevationOfTerrain() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcBuilding::setElevationOfTerrain(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x3_rc1::IfcPostalAddress Ifc4x3_rc1::IfcBuilding::BuildingAddress() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x3_rc1::IfcPostalAddress{}; } return ((express::Base)(get_attribute_value(11))).as<::Ifc4x3_rc1::IfcPostalAddress>(); } +::Ifc4x3_rc1::IfcPostalAddress Ifc4x3_rc1::IfcBuilding::BuildingAddress() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x3_rc1::IfcPostalAddress{}; } return ((express::base)(get_attribute_value(11))).as<::Ifc4x3_rc1::IfcPostalAddress>(); } void Ifc4x3_rc1::IfcBuilding::setBuildingAddress(const ::Ifc4x3_rc1::IfcPostalAddress& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -8739,7 +8739,7 @@ Ifc4x3_rc1::IfcBuiltElement Ifc4x3_rc1::IfcBuiltElement::initialize(std::string const ifcopenshell::entity& Ifc4x3_rc1::IfcBuiltElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[129]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -8898,11 +8898,11 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcCartesianPointList3D::Class() { retur 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>(); } +::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>(); } void Ifc4x3_rc1::IfcCartesianTransformationOperator::setAxis1(const ::Ifc4x3_rc1::IfcDirection& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcCartesianTransformationOperator::Axis2() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc1::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcDirection>(); } +::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcCartesianTransformationOperator::Axis2() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc1::IfcDirection{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcDirection>(); } void Ifc4x3_rc1::IfcCartesianTransformationOperator::setAxis2(const ::Ifc4x3_rc1::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcCartesianPoint Ifc4x3_rc1::IfcCartesianTransformationOperator::LocalOrigin() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcCartesianPoint>(); } +::Ifc4x3_rc1::IfcCartesianPoint Ifc4x3_rc1::IfcCartesianTransformationOperator::LocalOrigin() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcCartesianPoint>(); } void Ifc4x3_rc1::IfcCartesianTransformationOperator::setLocalOrigin(const ::Ifc4x3_rc1::IfcCartesianPoint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc4x3_rc1::IfcCartesianTransformationOperator::Scale() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcCartesianTransformationOperator::setScale(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } @@ -8926,7 +8926,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcCartesianTransformationOperator2DnonU 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>(); } +::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>(); } void Ifc4x3_rc1::IfcCartesianTransformationOperator3D::setAxis3(const ::Ifc4x3_rc1::IfcDirection& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -9027,7 +9027,7 @@ Ifc4x3_rc1::IfcCivilElement Ifc4x3_rc1::IfcCivilElement::initialize(std::string const ifcopenshell::entity& Ifc4x3_rc1::IfcCivilElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[173]); } -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; } +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; } @@ -9052,7 +9052,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcClassification::Class() { return *((i 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>(); } +::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>(); } void Ifc4x3_rc1::IfcClassificationReference::setReferencedSource(const ::Ifc4x3_rc1::IfcClassificationReferenceSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc1::IfcClassificationReference::Description() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcClassificationReference::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -9069,7 +9069,7 @@ Ifc4x3_rc1::IfcClassificationReference Ifc4x3_rc1::IfcClassificationReference::i const ifcopenshell::entity& Ifc4x3_rc1::IfcClosedShell::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[178]); } -Ifc4x3_rc1::IfcClosedShell Ifc4x3_rc1::IfcClosedShell::initialize(std::vector< ::Ifc4x3_rc1::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } +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)); } @@ -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]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -9151,52 +9151,52 @@ void Ifc4x3_rc1::IfcCommunicationsApplianceType::setPredefinedType(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc1::IfcCommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[192]); } -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; } +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; } void Ifc4x3_rc1::IfcComplexProperty::setUsageName(const std::string& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_rc1::IfcProperty > Ifc4x3_rc1::IfcComplexProperty::HasProperties() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc1::IfcProperty>(es); } -void Ifc4x3_rc1::IfcComplexProperty::setHasProperties(const std::vector< ::Ifc4x3_rc1::IfcProperty >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc1::IfcProperty > Ifc4x3_rc1::IfcComplexProperty::HasProperties() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc1::IfcProperty>(es); } +void Ifc4x3_rc1::IfcComplexProperty::setHasProperties(const std::vector< ::Ifc4x3_rc1::IfcProperty >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc1::IfcComplexProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[195]); } -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; } +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; } void Ifc4x3_rc1::IfcComplexPropertyTemplate::setUsageName(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } std::optional< ::Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x3_rc1::IfcComplexPropertyTemplate::TemplateType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc1::IfcComplexPropertyTemplate::setTemplateType(const std::optional< ::Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::Value >& v) { if (v) {set_attribute_value(5, enumeration_reference(&::Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertyTemplate > > Ifc4x3_rc1::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc1::IfcPropertyTemplate>(es); } -void Ifc4x3_rc1::IfcComplexPropertyTemplate::setHasPropertyTemplates(const std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertyTemplate > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertyTemplate > > Ifc4x3_rc1::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc1::IfcPropertyTemplate>(es); } +void Ifc4x3_rc1::IfcComplexPropertyTemplate::setHasPropertyTemplates(const std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertyTemplate > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } const ifcopenshell::entity& Ifc4x3_rc1::IfcComplexPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[196]); } -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; } +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); } -void Ifc4x3_rc1::IfcCompositeCurve::setSegments(const std::vector< ::Ifc4x3_rc1::IfcCompositeCurveSegment >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc1::IfcCompositeCurveSegment > Ifc4x3_rc1::IfcCompositeCurve::Segments() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcCompositeCurveSegment>(es); } +void Ifc4x3_rc1::IfcCompositeCurve::setSegments(const std::vector< ::Ifc4x3_rc1::IfcCompositeCurveSegment >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } boost::logic::tribool Ifc4x3_rc1::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcCompositeCurve::setSelfIntersect(const boost::logic::tribool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_rc1::IfcCompositeCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[198]); } -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; } +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]); } -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; } +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)); } void Ifc4x3_rc1::IfcCompositeCurveSegment::setTransition(const ::Ifc4x3_rc1::IfcTransitionCode::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc4x3_rc1::IfcTransitionCode::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } bool Ifc4x3_rc1::IfcCompositeCurveSegment::SameSense() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcCompositeCurveSegment::setSameSense(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcCompositeCurveSegment::ParentCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcCurve>(); } +::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcCompositeCurveSegment::ParentCurve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcCurve>(); } void Ifc4x3_rc1::IfcCompositeCurveSegment::setParentCurve(const ::Ifc4x3_rc1::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::vector<::Ifc4x3_rc1::IfcCompositeCurve> Ifc4x3_rc1::IfcCompositeCurveSegment::UsingCurves() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[198], 0)); } @@ -9205,14 +9205,14 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcCompositeCurveSegment::Class() { retu 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); } -void Ifc4x3_rc1::IfcCompositeProfileDef::setProfiles(const std::vector< ::Ifc4x3_rc1::IfcProfileDef >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc1::IfcProfileDef > Ifc4x3_rc1::IfcCompositeProfileDef::Profiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcProfileDef>(es); } +void Ifc4x3_rc1::IfcCompositeProfileDef::setProfiles(const std::vector< ::Ifc4x3_rc1::IfcProfileDef >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4x3_rc1::IfcCompositeProfileDef::Label() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcCompositeProfileDef::setLabel(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const ifcopenshell::entity& Ifc4x3_rc1::IfcCompositeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[201]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -9244,10 +9244,10 @@ void Ifc4x3_rc1::IfcCondenserType::setPredefinedType(const ::Ifc4x3_rc1::IfcCond const ifcopenshell::entity& Ifc4x3_rc1::IfcCondenserType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[207]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcAxis2Placement Ifc4x3_rc1::IfcConic::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcAxis2Placement>(); } void Ifc4x3_rc1::IfcConic::setPosition(const ::Ifc4x3_rc1::IfcAxis2Placement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -9255,17 +9255,17 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcConic::Class() { return *((ifcopenshe 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); } -void Ifc4x3_rc1::IfcConnectedFaceSet::setCfsFaces(const std::vector< ::Ifc4x3_rc1::IfcFace >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc1::IfcFace > Ifc4x3_rc1::IfcConnectedFaceSet::CfsFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcFace>(es); } +void Ifc4x3_rc1::IfcConnectedFaceSet::setCfsFaces(const std::vector< ::Ifc4x3_rc1::IfcFace >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc1::IfcConnectedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[210]); } -Ifc4x3_rc1::IfcConnectedFaceSet Ifc4x3_rc1::IfcConnectedFaceSet::initialize(std::vector< ::Ifc4x3_rc1::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } +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>(); } +::Ifc4x3_rc1::IfcCurveOrEdgeCurve Ifc4x3_rc1::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCurveOrEdgeCurve>(); } void Ifc4x3_rc1::IfcConnectionCurveGeometry::setCurveOnRelatingElement(const ::Ifc4x3_rc1::IfcCurveOrEdgeCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcCurveOrEdgeCurve Ifc4x3_rc1::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc1::IfcCurveOrEdgeCurve{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcCurveOrEdgeCurve>(); } +::Ifc4x3_rc1::IfcCurveOrEdgeCurve Ifc4x3_rc1::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc1::IfcCurveOrEdgeCurve{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcCurveOrEdgeCurve>(); } void Ifc4x3_rc1::IfcConnectionCurveGeometry::setCurveOnRelatedElement(const ::Ifc4x3_rc1::IfcCurveOrEdgeCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9291,9 +9291,9 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcConnectionPointEccentricity::Class() 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>(); } +::Ifc4x3_rc1::IfcPointOrVertexPoint Ifc4x3_rc1::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcPointOrVertexPoint>(); } void Ifc4x3_rc1::IfcConnectionPointGeometry::setPointOnRelatingElement(const ::Ifc4x3_rc1::IfcPointOrVertexPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcPointOrVertexPoint Ifc4x3_rc1::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc1::IfcPointOrVertexPoint{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcPointOrVertexPoint>(); } +::Ifc4x3_rc1::IfcPointOrVertexPoint Ifc4x3_rc1::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc1::IfcPointOrVertexPoint{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcPointOrVertexPoint>(); } void Ifc4x3_rc1::IfcConnectionPointGeometry::setPointOnRelatedElement(const ::Ifc4x3_rc1::IfcPointOrVertexPoint& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9301,9 +9301,9 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcConnectionPointGeometry::Class() { re 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>(); } +::Ifc4x3_rc1::IfcSurfaceOrFaceSurface Ifc4x3_rc1::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcSurfaceOrFaceSurface>(); } void Ifc4x3_rc1::IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(const ::Ifc4x3_rc1::IfcSurfaceOrFaceSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcSurfaceOrFaceSurface Ifc4x3_rc1::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc1::IfcSurfaceOrFaceSurface{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcSurfaceOrFaceSurface>(); } +::Ifc4x3_rc1::IfcSurfaceOrFaceSurface Ifc4x3_rc1::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc1::IfcSurfaceOrFaceSurface{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcSurfaceOrFaceSurface>(); } void Ifc4x3_rc1::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(const ::Ifc4x3_rc1::IfcSurfaceOrFaceSurface& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9311,9 +9311,9 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcConnectionSurfaceGeometry::Class() { 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>(); } +::Ifc4x3_rc1::IfcSolidOrShell Ifc4x3_rc1::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcSolidOrShell>(); } void Ifc4x3_rc1::IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(const ::Ifc4x3_rc1::IfcSolidOrShell& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcSolidOrShell Ifc4x3_rc1::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc1::IfcSolidOrShell{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcSolidOrShell>(); } +::Ifc4x3_rc1::IfcSolidOrShell Ifc4x3_rc1::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc1::IfcSolidOrShell{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcSolidOrShell>(); } void Ifc4x3_rc1::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(const ::Ifc4x3_rc1::IfcSolidOrShell& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9329,7 +9329,7 @@ void Ifc4x3_rc1::IfcConstraint::setDescription(const std::optional< std::string void Ifc4x3_rc1::IfcConstraint::setConstraintGrade(const ::Ifc4x3_rc1::IfcConstraintEnum::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4x3_rc1::IfcConstraintEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4x3_rc1::IfcConstraint::ConstraintSource() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcConstraint::setConstraintSource(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc1::IfcActorSelect Ifc4x3_rc1::IfcConstraint::CreatingActor() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc1::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcActorSelect>(); } +::Ifc4x3_rc1::IfcActorSelect Ifc4x3_rc1::IfcConstraint::CreatingActor() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc1::IfcActorSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcActorSelect>(); } void Ifc4x3_rc1::IfcConstraint::setCreatingActor(const ::Ifc4x3_rc1::IfcActorSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::optional< std::string > Ifc4x3_rc1::IfcConstraint::CreationTime() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcConstraint::setCreationTime(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } @@ -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]); } -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; } +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]); } -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; } +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]); } -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; } +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]); } -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; } +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]); } -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; } +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,29 +9388,29 @@ void Ifc4x3_rc1::IfcConstructionProductResourceType::setPredefinedType(const ::I const ifcopenshell::entity& Ifc4x3_rc1::IfcConstructionProductResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[227]); } -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; } +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>(); } +::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>(); } void Ifc4x3_rc1::IfcConstructionResource::setUsage(const ::Ifc4x3_rc1::IfcResourceTime& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > Ifc4x3_rc1::IfcConstructionResource::BaseCosts() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc1::IfcAppliedValue>(es); } -void Ifc4x3_rc1::IfcConstructionResource::setBaseCosts(const std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } -::Ifc4x3_rc1::IfcPhysicalQuantity Ifc4x3_rc1::IfcConstructionResource::BaseQuantity() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc1::IfcPhysicalQuantity{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc1::IfcPhysicalQuantity>(); } +std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > Ifc4x3_rc1::IfcConstructionResource::BaseCosts() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc1::IfcAppliedValue>(es); } +void Ifc4x3_rc1::IfcConstructionResource::setBaseCosts(const std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } +::Ifc4x3_rc1::IfcPhysicalQuantity Ifc4x3_rc1::IfcConstructionResource::BaseQuantity() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc1::IfcPhysicalQuantity{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc1::IfcPhysicalQuantity>(); } void Ifc4x3_rc1::IfcConstructionResource::setBaseQuantity(const ::Ifc4x3_rc1::IfcPhysicalQuantity& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } const ifcopenshell::entity& Ifc4x3_rc1::IfcConstructionResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[229]); } -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; } +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); } -void Ifc4x3_rc1::IfcConstructionResourceType::setBaseCosts(const std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } -::Ifc4x3_rc1::IfcPhysicalQuantity Ifc4x3_rc1::IfcConstructionResourceType::BaseQuantity() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc1::IfcPhysicalQuantity{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_rc1::IfcPhysicalQuantity>(); } +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); } +void Ifc4x3_rc1::IfcConstructionResourceType::setBaseCosts(const std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +::Ifc4x3_rc1::IfcPhysicalQuantity Ifc4x3_rc1::IfcConstructionResourceType::BaseQuantity() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc1::IfcPhysicalQuantity{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x3_rc1::IfcPhysicalQuantity>(); } void Ifc4x3_rc1::IfcConstructionResourceType::setBaseQuantity(const ::Ifc4x3_rc1::IfcPhysicalQuantity& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } const ifcopenshell::entity& Ifc4x3_rc1::IfcConstructionResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[230]); } -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; } +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; } @@ -9419,16 +9419,16 @@ std::optional< std::string > Ifc4x3_rc1::IfcContext::LongName() const { if(get_a void Ifc4x3_rc1::IfcContext::setLongName(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< std::string > Ifc4x3_rc1::IfcContext::Phase() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcContext::setPhase(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationContext > > Ifc4x3_rc1::IfcContext::RepresentationContexts() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc1::IfcRepresentationContext>(es); } -void Ifc4x3_rc1::IfcContext::setRepresentationContexts(const std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationContext > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } -::Ifc4x3_rc1::IfcUnitAssignment Ifc4x3_rc1::IfcContext::UnitsInContext() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc1::IfcUnitAssignment{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc1::IfcUnitAssignment>(); } +std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationContext > > Ifc4x3_rc1::IfcContext::RepresentationContexts() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc1::IfcRepresentationContext>(es); } +void Ifc4x3_rc1::IfcContext::setRepresentationContexts(const std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationContext > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +::Ifc4x3_rc1::IfcUnitAssignment Ifc4x3_rc1::IfcContext::UnitsInContext() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc1::IfcUnitAssignment{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc1::IfcUnitAssignment>(); } void Ifc4x3_rc1::IfcContext::setUnitsInContext(const ::Ifc4x3_rc1::IfcUnitAssignment& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } std::vector<::Ifc4x3_rc1::IfcRelDefinesByProperties> Ifc4x3_rc1::IfcContext::IsDefinedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[944], 4)); } 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]); } -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; } +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; } @@ -9462,12 +9462,12 @@ void Ifc4x3_rc1::IfcControllerType::setPredefinedType(const ::Ifc4x3_rc1::IfcCon const ifcopenshell::entity& Ifc4x3_rc1::IfcControllerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[236]); } -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; } +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; } void Ifc4x3_rc1::IfcConversionBasedUnit::setName(const std::string& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcMeasureWithUnit Ifc4x3_rc1::IfcConversionBasedUnit::ConversionFactor() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcMeasureWithUnit>(); } +::Ifc4x3_rc1::IfcMeasureWithUnit Ifc4x3_rc1::IfcConversionBasedUnit::ConversionFactor() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcMeasureWithUnit>(); } void Ifc4x3_rc1::IfcConversionBasedUnit::setConversionFactor(const ::Ifc4x3_rc1::IfcMeasureWithUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[436], 3)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -9529,12 +9529,12 @@ void Ifc4x3_rc1::IfcCoolingTowerType::setPredefinedType(const ::Ifc4x3_rc1::IfcC const ifcopenshell::entity& Ifc4x3_rc1::IfcCoolingTowerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[247]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect Ifc4x3_rc1::IfcCoordinateOperation::SourceCRS() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect>(); } void Ifc4x3_rc1::IfcCoordinateOperation::setSourceCRS(const ::Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcCoordinateReferenceSystem Ifc4x3_rc1::IfcCoordinateOperation::TargetCRS() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcCoordinateReferenceSystem>(); } +::Ifc4x3_rc1::IfcCoordinateReferenceSystem Ifc4x3_rc1::IfcCoordinateOperation::TargetCRS() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcCoordinateReferenceSystem>(); } void Ifc4x3_rc1::IfcCoordinateOperation::setTargetCRS(const ::Ifc4x3_rc1::IfcCoordinateReferenceSystem& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9559,14 +9559,14 @@ Ifc4x3_rc1::IfcCoordinateReferenceSystem Ifc4x3_rc1::IfcCoordinateReferenceSyste // 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)); } void Ifc4x3_rc1::IfcCostItem::setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcCostItemTypeEnum::Value >& v) { if (v) {set_attribute_value(6, enumeration_reference(&::Ifc4x3_rc1::IfcCostItemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x3_rc1::IfcCostValue > > Ifc4x3_rc1::IfcCostItem::CostValues() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc1::IfcCostValue>(es); } -void Ifc4x3_rc1::IfcCostItem::setCostValues(const std::optional< std::vector< ::Ifc4x3_rc1::IfcCostValue > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } -std::optional< std::vector< ::Ifc4x3_rc1::IfcPhysicalQuantity > > Ifc4x3_rc1::IfcCostItem::CostQuantities() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc1::IfcPhysicalQuantity>(es); } -void Ifc4x3_rc1::IfcCostItem::setCostQuantities(const std::optional< std::vector< ::Ifc4x3_rc1::IfcPhysicalQuantity > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } +std::optional< std::vector< ::Ifc4x3_rc1::IfcCostValue > > Ifc4x3_rc1::IfcCostItem::CostValues() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc1::IfcCostValue>(es); } +void Ifc4x3_rc1::IfcCostItem::setCostValues(const std::optional< std::vector< ::Ifc4x3_rc1::IfcCostValue > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x3_rc1::IfcPhysicalQuantity > > Ifc4x3_rc1::IfcCostItem::CostQuantities() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc1::IfcPhysicalQuantity>(es); } +void Ifc4x3_rc1::IfcCostItem::setCostQuantities(const std::optional< std::vector< ::Ifc4x3_rc1::IfcPhysicalQuantity > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } const ifcopenshell::entity& Ifc4x3_rc1::IfcCostItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[252]); } -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; } +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)); } @@ -9586,7 +9586,7 @@ Ifc4x3_rc1::IfcCostSchedule Ifc4x3_rc1::IfcCostSchedule::initialize(std::string const ifcopenshell::entity& Ifc4x3_rc1::IfcCostValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[256]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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]); } -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; } +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,10 +9636,10 @@ void Ifc4x3_rc1::IfcCrewResourceType::setPredefinedType(const ::Ifc4x3_rc1::IfcC const ifcopenshell::entity& Ifc4x3_rc1::IfcCrewResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[265]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcAxis2Placement3D Ifc4x3_rc1::IfcCsgPrimitive3D::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcAxis2Placement3D>(); } void Ifc4x3_rc1::IfcCsgPrimitive3D::setPosition(const ::Ifc4x3_rc1::IfcAxis2Placement3D& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -9647,7 +9647,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcCsgPrimitive3D::Class() { return *((i 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>(); } +::Ifc4x3_rc1::IfcCsgSelect Ifc4x3_rc1::IfcCsgSolid::TreeRootExpression() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCsgSelect>(); } void Ifc4x3_rc1::IfcCsgSolid::setTreeRootExpression(const ::Ifc4x3_rc1::IfcCsgSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -9655,15 +9655,15 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcCsgSolid::Class() { return *((ifcopen 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>(); } +::Ifc4x3_rc1::IfcMonetaryUnit Ifc4x3_rc1::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcMonetaryUnit>(); } void Ifc4x3_rc1::IfcCurrencyRelationship::setRelatingMonetaryUnit(const ::Ifc4x3_rc1::IfcMonetaryUnit& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcMonetaryUnit Ifc4x3_rc1::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcMonetaryUnit>(); } +::Ifc4x3_rc1::IfcMonetaryUnit Ifc4x3_rc1::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcMonetaryUnit>(); } void Ifc4x3_rc1::IfcCurrencyRelationship::setRelatedMonetaryUnit(const ::Ifc4x3_rc1::IfcMonetaryUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } double Ifc4x3_rc1::IfcCurrencyRelationship::ExchangeRate() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcCurrencyRelationship::setExchangeRate(const double& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::optional< std::string > Ifc4x3_rc1::IfcCurrencyRelationship::RateDateTime() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcCurrencyRelationship::setRateDateTime(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc1::IfcLibraryInformation Ifc4x3_rc1::IfcCurrencyRelationship::RateSource() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcLibraryInformation{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcLibraryInformation>(); } +::Ifc4x3_rc1::IfcLibraryInformation Ifc4x3_rc1::IfcCurrencyRelationship::RateSource() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcLibraryInformation{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcLibraryInformation>(); } void Ifc4x3_rc1::IfcCurrencyRelationship::setRateSource(const ::Ifc4x3_rc1::IfcLibraryInformation& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -9684,7 +9684,7 @@ void Ifc4x3_rc1::IfcCurtainWallType::setPredefinedType(const ::Ifc4x3_rc1::IfcCu const ifcopenshell::entity& Ifc4x3_rc1::IfcCurtainWallType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[273]); } -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; } +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 @@ -9693,31 +9693,31 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcCurve::Class() { return *((ifcopenshe 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>(); } +::Ifc4x3_rc1::IfcPlane Ifc4x3_rc1::IfcCurveBoundedPlane::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcPlane>(); } void Ifc4x3_rc1::IfcCurveBoundedPlane::setBasisSurface(const ::Ifc4x3_rc1::IfcPlane& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcCurveBoundedPlane::OuterBoundary() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcCurve>(); } +::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcCurveBoundedPlane::OuterBoundary() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcCurve>(); } void Ifc4x3_rc1::IfcCurveBoundedPlane::setOuterBoundary(const ::Ifc4x3_rc1::IfcCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x3_rc1::IfcCurve > Ifc4x3_rc1::IfcCurveBoundedPlane::InnerBoundaries() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcCurve>(es); } -void Ifc4x3_rc1::IfcCurveBoundedPlane::setInnerBoundaries(const std::vector< ::Ifc4x3_rc1::IfcCurve >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc1::IfcCurve > Ifc4x3_rc1::IfcCurveBoundedPlane::InnerBoundaries() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcCurve>(es); } +void Ifc4x3_rc1::IfcCurveBoundedPlane::setInnerBoundaries(const std::vector< ::Ifc4x3_rc1::IfcCurve >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc1::IfcCurveBoundedPlane::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[277]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcSurface Ifc4x3_rc1::IfcCurveBoundedSurface::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcSurface>(); } void Ifc4x3_rc1::IfcCurveBoundedSurface::setBasisSurface(const ::Ifc4x3_rc1::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc1::IfcBoundaryCurve > Ifc4x3_rc1::IfcCurveBoundedSurface::Boundaries() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcBoundaryCurve>(es); } -void Ifc4x3_rc1::IfcCurveBoundedSurface::setBoundaries(const std::vector< ::Ifc4x3_rc1::IfcBoundaryCurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc1::IfcBoundaryCurve > Ifc4x3_rc1::IfcCurveBoundedSurface::Boundaries() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcBoundaryCurve>(es); } +void Ifc4x3_rc1::IfcCurveBoundedSurface::setBoundaries(const std::vector< ::Ifc4x3_rc1::IfcBoundaryCurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } bool Ifc4x3_rc1::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcCurveBoundedSurface::setImplicitOuter(const bool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc1::IfcCurveBoundedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[278]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcCartesianPoint Ifc4x3_rc1::IfcCurveSegment2D::StartPoint() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCartesianPoint>(); } void Ifc4x3_rc1::IfcCurveSegment2D::setStartPoint(const ::Ifc4x3_rc1::IfcCartesianPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc1::IfcCurveSegment2D::StartDirection() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcCurveSegment2D::setStartDirection(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9729,11 +9729,11 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcCurveSegment2D::Class() { return *((i 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>(); } +::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>(); } void Ifc4x3_rc1::IfcCurveStyle::setCurveFont(const ::Ifc4x3_rc1::IfcCurveFontOrScaledCurveFontSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcSizeSelect Ifc4x3_rc1::IfcCurveStyle::CurveWidth() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc1::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcSizeSelect>(); } +::Ifc4x3_rc1::IfcSizeSelect Ifc4x3_rc1::IfcCurveStyle::CurveWidth() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc1::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcSizeSelect>(); } void Ifc4x3_rc1::IfcCurveStyle::setCurveWidth(const ::Ifc4x3_rc1::IfcSizeSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcColour Ifc4x3_rc1::IfcCurveStyle::CurveColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcColour{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcColour>(); } +::Ifc4x3_rc1::IfcColour Ifc4x3_rc1::IfcCurveStyle::CurveColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcColour{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcColour>(); } void Ifc4x3_rc1::IfcCurveStyle::setCurveColour(const ::Ifc4x3_rc1::IfcColour& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< bool > Ifc4x3_rc1::IfcCurveStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } bool v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcCurveStyle::setModelOrDraughting(const std::optional< bool >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -9745,17 +9745,17 @@ Ifc4x3_rc1::IfcCurveStyle Ifc4x3_rc1::IfcCurveStyle::initialize(std::optional< s // 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; } void Ifc4x3_rc1::IfcCurveStyleFont::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::vector< ::Ifc4x3_rc1::IfcCurveStyleFontPattern > Ifc4x3_rc1::IfcCurveStyleFont::PatternList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcCurveStyleFontPattern>(es); } -void Ifc4x3_rc1::IfcCurveStyleFont::setPatternList(const std::vector< ::Ifc4x3_rc1::IfcCurveStyleFontPattern >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc1::IfcCurveStyleFontPattern > Ifc4x3_rc1::IfcCurveStyleFont::PatternList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcCurveStyleFontPattern>(es); } +void Ifc4x3_rc1::IfcCurveStyleFont::setPatternList(const std::vector< ::Ifc4x3_rc1::IfcCurveStyleFontPattern >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_rc1::IfcCurveStyleFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[285]); } -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; } +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; } void Ifc4x3_rc1::IfcCurveStyleFontAndScaling::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_rc1::IfcCurveStyleFontSelect Ifc4x3_rc1::IfcCurveStyleFontAndScaling::CurveFont() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcCurveStyleFontSelect>(); } +::Ifc4x3_rc1::IfcCurveStyleFontSelect Ifc4x3_rc1::IfcCurveStyleFontAndScaling::CurveFont() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcCurveStyleFontSelect>(); } void Ifc4x3_rc1::IfcCurveStyleFontAndScaling::setCurveFont(const ::Ifc4x3_rc1::IfcCurveStyleFontSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } double Ifc4x3_rc1::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcCurveStyleFontAndScaling::setCurveFontScaling(const double& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -9796,7 +9796,7 @@ void Ifc4x3_rc1::IfcDamperType::setPredefinedType(const ::Ifc4x3_rc1::IfcDamperT const ifcopenshell::entity& Ifc4x3_rc1::IfcDamperType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[291]); } -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; } +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 @@ -9808,12 +9808,12 @@ Ifc4x3_rc1::IfcDeepFoundation Ifc4x3_rc1::IfcDeepFoundation::initialize(std::str const ifcopenshell::entity& Ifc4x3_rc1::IfcDeepFoundationType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[299]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcProfileDef Ifc4x3_rc1::IfcDerivedProfileDef::ParentProfile() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcProfileDef>(); } void Ifc4x3_rc1::IfcDerivedProfileDef::setParentProfile(const ::Ifc4x3_rc1::IfcProfileDef& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcCartesianTransformationOperator2D Ifc4x3_rc1::IfcDerivedProfileDef::Operator() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcCartesianTransformationOperator2D>(); } +::Ifc4x3_rc1::IfcCartesianTransformationOperator2D Ifc4x3_rc1::IfcDerivedProfileDef::Operator() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcCartesianTransformationOperator2D>(); } void Ifc4x3_rc1::IfcDerivedProfileDef::setOperator(const ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc1::IfcDerivedProfileDef::Label() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcDerivedProfileDef::setLabel(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -9823,8 +9823,8 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcDerivedProfileDef::Class() { return * 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); } -void Ifc4x3_rc1::IfcDerivedUnit::setElements(const std::vector< ::Ifc4x3_rc1::IfcDerivedUnitElement >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc1::IfcDerivedUnitElement > Ifc4x3_rc1::IfcDerivedUnit::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcDerivedUnitElement>(es); } +void Ifc4x3_rc1::IfcDerivedUnit::setElements(const std::vector< ::Ifc4x3_rc1::IfcDerivedUnitElement >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_rc1::IfcDerivedUnitEnum::Value Ifc4x3_rc1::IfcDerivedUnit::UnitType() const { return ::Ifc4x3_rc1::IfcDerivedUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x3_rc1::IfcDerivedUnit::setUnitType(const ::Ifc4x3_rc1::IfcDerivedUnitEnum::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4x3_rc1::IfcDerivedUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_rc1::IfcDerivedUnit::UserDefinedType() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } @@ -9832,10 +9832,10 @@ void Ifc4x3_rc1::IfcDerivedUnit::setUserDefinedType(const std::optional< std::st const ifcopenshell::entity& Ifc4x3_rc1::IfcDerivedUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[303]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcNamedUnit Ifc4x3_rc1::IfcDerivedUnitElement::Unit() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcNamedUnit>(); } void Ifc4x3_rc1::IfcDerivedUnitElement::setUnit(const ::Ifc4x3_rc1::IfcNamedUnit& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } int64_t Ifc4x3_rc1::IfcDerivedUnitElement::Exponent() const { int64_t v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcDerivedUnitElement::setExponent(const int64_t& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9873,7 +9873,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcDirection::Class() { return *((ifcope 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>(); } +::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcCurve>(); } void Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::setDirectrix(const ::Ifc4x3_rc1::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::setStartParam(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } @@ -9885,11 +9885,11 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::Class() 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>(); } +::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::Directrix() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcCurve>(); } void Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::setDirectrix(const ::Ifc4x3_rc1::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcDistanceExpression Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::StartDistance() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcDistanceExpression{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcDistanceExpression>(); } +::Ifc4x3_rc1::IfcDistanceExpression Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::StartDistance() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcDistanceExpression{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcDistanceExpression>(); } void Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::setStartDistance(const ::Ifc4x3_rc1::IfcDistanceExpression& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc1::IfcDistanceExpression Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::EndDistance() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc1::IfcDistanceExpression{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcDistanceExpression>(); } +::Ifc4x3_rc1::IfcDistanceExpression Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::EndDistance() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc1::IfcDistanceExpression{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcDistanceExpression>(); } void Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::setEndDistance(const ::Ifc4x3_rc1::IfcDistanceExpression& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -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]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -9958,7 +9958,7 @@ void Ifc4x3_rc1::IfcDistributionChamberElementType::setPredefinedType(const ::If const ifcopenshell::entity& Ifc4x3_rc1::IfcDistributionChamberElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[321]); } -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; } +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 @@ -9977,7 +9977,7 @@ Ifc4x3_rc1::IfcDistributionControlElement Ifc4x3_rc1::IfcDistributionControlElem const ifcopenshell::entity& Ifc4x3_rc1::IfcDistributionControlElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[325]); } -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; } +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 @@ -9990,7 +9990,7 @@ Ifc4x3_rc1::IfcDistributionElement Ifc4x3_rc1::IfcDistributionElement::initializ const ifcopenshell::entity& Ifc4x3_rc1::IfcDistributionElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[327]); } -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; } +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 @@ -10003,7 +10003,7 @@ Ifc4x3_rc1::IfcDistributionFlowElement Ifc4x3_rc1::IfcDistributionFlowElement::i const ifcopenshell::entity& Ifc4x3_rc1::IfcDistributionFlowElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[329]); } -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; } +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)); } @@ -10044,10 +10044,10 @@ std::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::Scope() const { void Ifc4x3_rc1::IfcDocumentInformation::setScope(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } std::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::Revision() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcDocumentInformation::setRevision(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc1::IfcActorSelect Ifc4x3_rc1::IfcDocumentInformation::DocumentOwner() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc1::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc1::IfcActorSelect>(); } +::Ifc4x3_rc1::IfcActorSelect Ifc4x3_rc1::IfcDocumentInformation::DocumentOwner() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc1::IfcActorSelect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc1::IfcActorSelect>(); } void Ifc4x3_rc1::IfcDocumentInformation::setDocumentOwner(const ::Ifc4x3_rc1::IfcActorSelect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::optional< std::vector< ::Ifc4x3_rc1::IfcActorSelect > > Ifc4x3_rc1::IfcDocumentInformation::Editors() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc1::IfcActorSelect>(es); } -void Ifc4x3_rc1::IfcDocumentInformation::setEditors(const std::optional< std::vector< ::Ifc4x3_rc1::IfcActorSelect > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +std::optional< std::vector< ::Ifc4x3_rc1::IfcActorSelect > > Ifc4x3_rc1::IfcDocumentInformation::Editors() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc1::IfcActorSelect>(es); } +void Ifc4x3_rc1::IfcDocumentInformation::setEditors(const std::optional< std::vector< ::Ifc4x3_rc1::IfcActorSelect > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } std::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::CreationTime() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcDocumentInformation::setCreationTime(const std::optional< std::string >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } std::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::LastRevisionTime() const { if(get_attribute_value(11).isNull()) { return std::nullopt; } std::string v = get_attribute_value(11); return v; } @@ -10069,24 +10069,24 @@ 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]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcDocumentInformation Ifc4x3_rc1::IfcDocumentInformationRelationship::RelatingDocument() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcDocumentInformation>(); } void Ifc4x3_rc1::IfcDocumentInformationRelationship::setRelatingDocument(const ::Ifc4x3_rc1::IfcDocumentInformation& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_rc1::IfcDocumentInformation > Ifc4x3_rc1::IfcDocumentInformationRelationship::RelatedDocuments() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc1::IfcDocumentInformation>(es); } -void Ifc4x3_rc1::IfcDocumentInformationRelationship::setRelatedDocuments(const std::vector< ::Ifc4x3_rc1::IfcDocumentInformation >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc1::IfcDocumentInformation > Ifc4x3_rc1::IfcDocumentInformationRelationship::RelatedDocuments() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc1::IfcDocumentInformation>(es); } +void Ifc4x3_rc1::IfcDocumentInformationRelationship::setRelatedDocuments(const std::vector< ::Ifc4x3_rc1::IfcDocumentInformation >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc1::IfcDocumentInformationRelationship::RelationshipType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcDocumentInformationRelationship::setRelationshipType(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const ifcopenshell::entity& Ifc4x3_rc1::IfcDocumentInformationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[336]); } -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; } +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; } void Ifc4x3_rc1::IfcDocumentReference::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc1::IfcDocumentInformation Ifc4x3_rc1::IfcDocumentReference::ReferencedDocument() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc1::IfcDocumentInformation{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcDocumentInformation>(); } +::Ifc4x3_rc1::IfcDocumentInformation Ifc4x3_rc1::IfcDocumentReference::ReferencedDocument() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc1::IfcDocumentInformation{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcDocumentInformation>(); } void Ifc4x3_rc1::IfcDocumentReference::setReferencedDocument(const ::Ifc4x3_rc1::IfcDocumentInformation& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::vector<::Ifc4x3_rc1::IfcRelAssociatesDocument> Ifc4x3_rc1::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[923], 5)); } @@ -10131,7 +10131,7 @@ std::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::CasingThickness() c void Ifc4x3_rc1::IfcDoorLiningProperties::setCasingThickness(const std::optional< double >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } std::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::CasingDepth() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc1::IfcDoorLiningProperties::setCasingDepth(const std::optional< double >& v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -::Ifc4x3_rc1::IfcShapeAspect Ifc4x3_rc1::IfcDoorLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(14).isNull()) { return ::Ifc4x3_rc1::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(14))).as<::Ifc4x3_rc1::IfcShapeAspect>(); } +::Ifc4x3_rc1::IfcShapeAspect Ifc4x3_rc1::IfcDoorLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(14).isNull()) { return ::Ifc4x3_rc1::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(14))).as<::Ifc4x3_rc1::IfcShapeAspect>(); } void Ifc4x3_rc1::IfcDoorLiningProperties::setShapeAspectStyle(const ::Ifc4x3_rc1::IfcShapeAspect& v) { set_attribute_value(14, v);if constexpr (false)unset_attribute_value(14); } std::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(get_attribute_value(15).isNull()) { return std::nullopt; } double v = get_attribute_value(15); return v; } void Ifc4x3_rc1::IfcDoorLiningProperties::setLiningToPanelOffsetX(const std::optional< double >& v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } @@ -10151,7 +10151,7 @@ std::optional< double > Ifc4x3_rc1::IfcDoorPanelProperties::PanelWidth() const { void Ifc4x3_rc1::IfcDoorPanelProperties::setPanelWidth(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_rc1::IfcDoorPanelPositionEnum::Value Ifc4x3_rc1::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x3_rc1::IfcDoorPanelPositionEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc1::IfcDoorPanelProperties::setPanelPosition(const ::Ifc4x3_rc1::IfcDoorPanelPositionEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4x3_rc1::IfcDoorPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc1::IfcShapeAspect Ifc4x3_rc1::IfcDoorPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc1::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc1::IfcShapeAspect>(); } +::Ifc4x3_rc1::IfcShapeAspect Ifc4x3_rc1::IfcDoorPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc1::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc1::IfcShapeAspect>(); } void Ifc4x3_rc1::IfcDoorPanelProperties::setShapeAspectStyle(const ::Ifc4x3_rc1::IfcShapeAspect& v) { set_attribute_value(8, v);if constexpr (false)unset_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]); } -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; } +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,7 +10190,7 @@ void Ifc4x3_rc1::IfcDoorType::setUserDefinedOperationType(const std::optional< s const ifcopenshell::entity& Ifc4x3_rc1::IfcDoorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[349]); } -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; } +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 @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -10275,9 +10275,9 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcEarthworksFill::Class() { return *((i 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>(); } +::Ifc4x3_rc1::IfcVertex Ifc4x3_rc1::IfcEdge::EdgeStart() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcVertex>(); } void Ifc4x3_rc1::IfcEdge::setEdgeStart(const ::Ifc4x3_rc1::IfcVertex& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcVertex Ifc4x3_rc1::IfcEdge::EdgeEnd() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcVertex>(); } +::Ifc4x3_rc1::IfcVertex Ifc4x3_rc1::IfcEdge::EdgeEnd() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcVertex>(); } void Ifc4x3_rc1::IfcEdge::setEdgeEnd(const ::Ifc4x3_rc1::IfcVertex& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -10285,7 +10285,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcEdge::Class() { return *((ifcopenshel 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>(); } +::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcEdgeCurve::EdgeGeometry() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcCurve>(); } void Ifc4x3_rc1::IfcEdgeCurve::setEdgeGeometry(const ::Ifc4x3_rc1::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } bool Ifc4x3_rc1::IfcEdgeCurve::SameSense() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcEdgeCurve::setSameSense(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -10295,12 +10295,12 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcEdgeCurve::Class() { return *((ifcope 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); } -void Ifc4x3_rc1::IfcEdgeLoop::setEdgeList(const std::vector< ::Ifc4x3_rc1::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc1::IfcOrientedEdge > Ifc4x3_rc1::IfcEdgeLoop::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcOrientedEdge>(es); } +void Ifc4x3_rc1::IfcEdgeLoop::setEdgeList(const std::vector< ::Ifc4x3_rc1::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc1::IfcEdgeLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[373]); } -Ifc4x3_rc1::IfcEdgeLoop Ifc4x3_rc1::IfcEdgeLoop::initialize(std::vector< ::Ifc4x3_rc1::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -10449,7 +10449,7 @@ void Ifc4x3_rc1::IfcElementAssemblyType::setPredefinedType(const ::Ifc4x3_rc1::I const ifcopenshell::entity& Ifc4x3_rc1::IfcElementAssemblyType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[404]); } -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; } +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 @@ -10461,17 +10461,17 @@ Ifc4x3_rc1::IfcElementComponent Ifc4x3_rc1::IfcElementComponent::initialize(std: const ifcopenshell::entity& Ifc4x3_rc1::IfcElementComponentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[407]); } -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; } +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; } void Ifc4x3_rc1::IfcElementQuantity::setMethodOfMeasurement(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector< ::Ifc4x3_rc1::IfcPhysicalQuantity > Ifc4x3_rc1::IfcElementQuantity::Quantities() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc1::IfcPhysicalQuantity>(es); } -void Ifc4x3_rc1::IfcElementQuantity::setQuantities(const std::vector< ::Ifc4x3_rc1::IfcPhysicalQuantity >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc1::IfcPhysicalQuantity > Ifc4x3_rc1::IfcElementQuantity::Quantities() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc1::IfcPhysicalQuantity>(es); } +void Ifc4x3_rc1::IfcElementQuantity::setQuantities(const std::vector< ::Ifc4x3_rc1::IfcPhysicalQuantity >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc1::IfcElementQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[409]); } -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; } +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,10 +10479,10 @@ void Ifc4x3_rc1::IfcElementType::setElementType(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc1::IfcElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[410]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcAxis2Placement3D Ifc4x3_rc1::IfcElementarySurface::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcAxis2Placement3D>(); } void Ifc4x3_rc1::IfcElementarySurface::setPosition(const ::Ifc4x3_rc1::IfcAxis2Placement3D& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -10519,7 +10519,7 @@ Ifc4x3_rc1::IfcEnergyConversionDevice Ifc4x3_rc1::IfcEnergyConversionDevice::ini const ifcopenshell::entity& Ifc4x3_rc1::IfcEnergyConversionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[414]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -10576,7 +10576,7 @@ std::optional< ::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value > Ifc4x3_rc1::IfcEve void Ifc4x3_rc1::IfcEvent::setEventTriggerType(const std::optional< ::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } std::optional< std::string > Ifc4x3_rc1::IfcEvent::UserDefinedEventTriggerType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcEvent::setUserDefinedEventTriggerType(const std::optional< std::string >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -::Ifc4x3_rc1::IfcEventTime Ifc4x3_rc1::IfcEvent::EventOccurenceTime() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc1::IfcEventTime{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_rc1::IfcEventTime>(); } +::Ifc4x3_rc1::IfcEventTime Ifc4x3_rc1::IfcEvent::EventOccurenceTime() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc1::IfcEventTime{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x3_rc1::IfcEventTime>(); } void Ifc4x3_rc1::IfcEvent::setEventOccurenceTime(const ::Ifc4x3_rc1::IfcEventTime& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } @@ -10607,19 +10607,19 @@ void Ifc4x3_rc1::IfcEventType::setUserDefinedEventTriggerType(const std::optiona const ifcopenshell::entity& Ifc4x3_rc1::IfcEventType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[428]); } -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; } +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; } void Ifc4x3_rc1::IfcExtendedProperties::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_rc1::IfcExtendedProperties::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcExtendedProperties::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x3_rc1::IfcProperty > Ifc4x3_rc1::IfcExtendedProperties::Properties() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcProperty>(es); } -void Ifc4x3_rc1::IfcExtendedProperties::setProperties(const std::vector< ::Ifc4x3_rc1::IfcProperty >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc1::IfcProperty > Ifc4x3_rc1::IfcExtendedProperties::Properties() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcProperty>(es); } +void Ifc4x3_rc1::IfcExtendedProperties::setProperties(const std::vector< ::Ifc4x3_rc1::IfcProperty >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc1::IfcExtendedProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[430]); } -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; } +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 @@ -10641,14 +10641,14 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcExternalReference::Class() { return * 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>(); } +::Ifc4x3_rc1::IfcExternalReference Ifc4x3_rc1::IfcExternalReferenceRelationship::RelatingReference() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcExternalReference>(); } void Ifc4x3_rc1::IfcExternalReferenceRelationship::setRelatingReference(const ::Ifc4x3_rc1::IfcExternalReference& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_rc1::IfcResourceObjectSelect > Ifc4x3_rc1::IfcExternalReferenceRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc1::IfcResourceObjectSelect>(es); } -void Ifc4x3_rc1::IfcExternalReferenceRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc1::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc1::IfcResourceObjectSelect > Ifc4x3_rc1::IfcExternalReferenceRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc1::IfcResourceObjectSelect>(es); } +void Ifc4x3_rc1::IfcExternalReferenceRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc1::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc1::IfcExternalReferenceRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[436]); } -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; } +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)); } @@ -10684,7 +10684,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcExternallyDefinedTextFont::Class() { 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>(); } +::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcDirection>(); } void Ifc4x3_rc1::IfcExtrudedAreaSolid::setExtrudedDirection(const ::Ifc4x3_rc1::IfcDirection& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc4x3_rc1::IfcExtrudedAreaSolid::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcExtrudedAreaSolid::setDepth(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -10694,7 +10694,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcExtrudedAreaSolid::Class() { return * 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>(); } +::Ifc4x3_rc1::IfcProfileDef Ifc4x3_rc1::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcProfileDef>(); } void Ifc4x3_rc1::IfcExtrudedAreaSolidTapered::setEndSweptArea(const ::Ifc4x3_rc1::IfcProfileDef& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -10702,24 +10702,24 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcExtrudedAreaSolidTapered::Class() { r 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); } -void Ifc4x3_rc1::IfcFace::setBounds(const std::vector< ::Ifc4x3_rc1::IfcFaceBound >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc1::IfcFaceBound > Ifc4x3_rc1::IfcFace::Bounds() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcFaceBound>(es); } +void Ifc4x3_rc1::IfcFace::setBounds(const std::vector< ::Ifc4x3_rc1::IfcFaceBound >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } 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]); } -Ifc4x3_rc1::IfcFace Ifc4x3_rc1::IfcFace::initialize(std::vector< ::Ifc4x3_rc1::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds));; return *this; } +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); } -void Ifc4x3_rc1::IfcFaceBasedSurfaceModel::setFbsmFaces(const std::vector< ::Ifc4x3_rc1::IfcConnectedFaceSet >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc1::IfcConnectedFaceSet > Ifc4x3_rc1::IfcFaceBasedSurfaceModel::FbsmFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcConnectedFaceSet>(es); } +void Ifc4x3_rc1::IfcFaceBasedSurfaceModel::setFbsmFaces(const std::vector< ::Ifc4x3_rc1::IfcConnectedFaceSet >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc1::IfcFaceBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[443]); } -Ifc4x3_rc1::IfcFaceBasedSurfaceModel Ifc4x3_rc1::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_rc1::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces));; return *this; } +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>(); } +::Ifc4x3_rc1::IfcLoop Ifc4x3_rc1::IfcFaceBound::Bound() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcLoop>(); } void Ifc4x3_rc1::IfcFaceBound::setBound(const ::Ifc4x3_rc1::IfcLoop& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } bool Ifc4x3_rc1::IfcFaceBound::Orientation() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcFaceBound::setOrientation(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -10735,14 +10735,14 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcFaceOuterBound::Class() { return *((i 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>(); } +::Ifc4x3_rc1::IfcSurface Ifc4x3_rc1::IfcFaceSurface::FaceSurface() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcSurface>(); } void Ifc4x3_rc1::IfcFaceSurface::setFaceSurface(const ::Ifc4x3_rc1::IfcSurface& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } bool Ifc4x3_rc1::IfcFaceSurface::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcFaceSurface::setSameSense(const bool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc1::IfcFaceSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[446]); } -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; } +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 @@ -10751,12 +10751,12 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcFacetedBrep::Class() { return *((ifco 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); } -void Ifc4x3_rc1::IfcFacetedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_rc1::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc1::IfcClosedShell > Ifc4x3_rc1::IfcFacetedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcClosedShell>(es); } +void Ifc4x3_rc1::IfcFacetedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_rc1::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_rc1::IfcFacetedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[448]); } -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; } +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 @@ -10765,7 +10765,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcFacility::Class() { return *((ifcopen 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>(); } +::Ifc4x3_rc1::IfcFacilityPartTypeSelect Ifc4x3_rc1::IfcFacilityPart::PredefinedType() const { return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc1::IfcFacilityPartTypeSelect>(); } void Ifc4x3_rc1::IfcFacilityPart::setPredefinedType(const ::Ifc4x3_rc1::IfcFacilityPartTypeSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } ::Ifc4x3_rc1::IfcFacilityUsageEnum::Value Ifc4x3_rc1::IfcFacilityPart::UsageType() const { return ::Ifc4x3_rc1::IfcFacilityUsageEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc1::IfcFacilityPart::setUsageType(const ::Ifc4x3_rc1::IfcFacilityUsageEnum::Value& v) { set_attribute_value(10, enumeration_reference(&::Ifc4x3_rc1::IfcFacilityUsageEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } @@ -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]); } -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; } +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)); } @@ -10822,7 +10822,7 @@ void Ifc4x3_rc1::IfcFastenerType::setPredefinedType(const ::Ifc4x3_rc1::IfcFaste const ifcopenshell::entity& Ifc4x3_rc1::IfcFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[459]); } -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; } +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 @@ -10845,23 +10845,23 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcFeatureElementSubtraction::Class() { 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); } -void Ifc4x3_rc1::IfcFillAreaStyle::setFillStyles(const std::vector< ::Ifc4x3_rc1::IfcFillStyleSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc1::IfcFillStyleSelect > Ifc4x3_rc1::IfcFillAreaStyle::FillStyles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcFillStyleSelect>(es); } +void Ifc4x3_rc1::IfcFillAreaStyle::setFillStyles(const std::vector< ::Ifc4x3_rc1::IfcFillStyleSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< bool > Ifc4x3_rc1::IfcFillAreaStyle::ModelorDraughting() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } bool v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcFillAreaStyle::setModelorDraughting(const std::optional< bool >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_rc1::IfcFillAreaStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[464]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcCurveStyle Ifc4x3_rc1::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCurveStyle>(); } void Ifc4x3_rc1::IfcFillAreaStyleHatching::setHatchLineAppearance(const ::Ifc4x3_rc1::IfcCurveStyle& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcHatchLineDistanceSelect Ifc4x3_rc1::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcHatchLineDistanceSelect>(); } +::Ifc4x3_rc1::IfcHatchLineDistanceSelect Ifc4x3_rc1::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcHatchLineDistanceSelect>(); } void Ifc4x3_rc1::IfcFillAreaStyleHatching::setStartOfNextHatchLine(const ::Ifc4x3_rc1::IfcHatchLineDistanceSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcCartesianPoint Ifc4x3_rc1::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc1::IfcCartesianPoint{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcCartesianPoint>(); } +::Ifc4x3_rc1::IfcCartesianPoint Ifc4x3_rc1::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc1::IfcCartesianPoint{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcCartesianPoint>(); } void Ifc4x3_rc1::IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(const ::Ifc4x3_rc1::IfcCartesianPoint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcCartesianPoint Ifc4x3_rc1::IfcFillAreaStyleHatching::PatternStart() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcCartesianPoint{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcCartesianPoint>(); } +::Ifc4x3_rc1::IfcCartesianPoint Ifc4x3_rc1::IfcFillAreaStyleHatching::PatternStart() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcCartesianPoint{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcCartesianPoint>(); } void Ifc4x3_rc1::IfcFillAreaStyleHatching::setPatternStart(const ::Ifc4x3_rc1::IfcCartesianPoint& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } double Ifc4x3_rc1::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcFillAreaStyleHatching::setHatchLineAngle(const double& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -10871,16 +10871,16 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcFillAreaStyleHatching::Class() { retu 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); } -void Ifc4x3_rc1::IfcFillAreaStyleTiles::setTilingPattern(const std::vector< ::Ifc4x3_rc1::IfcVector >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc1::IfcStyledItem > Ifc4x3_rc1::IfcFillAreaStyleTiles::Tiles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcStyledItem>(es); } -void Ifc4x3_rc1::IfcFillAreaStyleTiles::setTiles(const std::vector< ::Ifc4x3_rc1::IfcStyledItem >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc1::IfcVector > Ifc4x3_rc1::IfcFillAreaStyleTiles::TilingPattern() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcVector>(es); } +void Ifc4x3_rc1::IfcFillAreaStyleTiles::setTilingPattern(const std::vector< ::Ifc4x3_rc1::IfcVector >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc1::IfcStyledItem > Ifc4x3_rc1::IfcFillAreaStyleTiles::Tiles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcStyledItem>(es); } +void Ifc4x3_rc1::IfcFillAreaStyleTiles::setTiles(const std::vector< ::Ifc4x3_rc1::IfcStyledItem >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } double Ifc4x3_rc1::IfcFillAreaStyleTiles::TilingScale() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcFillAreaStyleTiles::setTilingScale(const double& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc1::IfcFillAreaStyleTiles::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[466]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -10912,10 +10912,10 @@ void Ifc4x3_rc1::IfcFireSuppressionTerminalType::setPredefinedType(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc1::IfcFireSuppressionTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[472]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcDirection>(); } void Ifc4x3_rc1::IfcFixedReferenceSweptAreaSolid::setFixedReference(const ::Ifc4x3_rc1::IfcDirection& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -10932,7 +10932,7 @@ Ifc4x3_rc1::IfcFlowController Ifc4x3_rc1::IfcFlowController::initialize(std::str const ifcopenshell::entity& Ifc4x3_rc1::IfcFlowControllerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[476]); } -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; } +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 @@ -10944,7 +10944,7 @@ Ifc4x3_rc1::IfcFlowFitting Ifc4x3_rc1::IfcFlowFitting::initialize(std::string v1 const ifcopenshell::entity& Ifc4x3_rc1::IfcFlowFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[479]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -10976,7 +10976,7 @@ void Ifc4x3_rc1::IfcFlowMeterType::setPredefinedType(const ::Ifc4x3_rc1::IfcFlow const ifcopenshell::entity& Ifc4x3_rc1::IfcFlowMeterType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[484]); } -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; } +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 @@ -10988,7 +10988,7 @@ Ifc4x3_rc1::IfcFlowMovingDevice Ifc4x3_rc1::IfcFlowMovingDevice::initialize(std: const ifcopenshell::entity& Ifc4x3_rc1::IfcFlowMovingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[487]); } -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; } +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 @@ -11000,7 +11000,7 @@ Ifc4x3_rc1::IfcFlowSegment Ifc4x3_rc1::IfcFlowSegment::initialize(std::string v1 const ifcopenshell::entity& Ifc4x3_rc1::IfcFlowSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[489]); } -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; } +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 @@ -11012,7 +11012,7 @@ Ifc4x3_rc1::IfcFlowStorageDevice Ifc4x3_rc1::IfcFlowStorageDevice::initialize(st const ifcopenshell::entity& Ifc4x3_rc1::IfcFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[491]); } -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; } +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 @@ -11024,7 +11024,7 @@ Ifc4x3_rc1::IfcFlowTerminal Ifc4x3_rc1::IfcFlowTerminal::initialize(std::string const ifcopenshell::entity& Ifc4x3_rc1::IfcFlowTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[493]); } -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; } +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 @@ -11036,7 +11036,7 @@ Ifc4x3_rc1::IfcFlowTreatmentDevice Ifc4x3_rc1::IfcFlowTreatmentDevice::initializ const ifcopenshell::entity& Ifc4x3_rc1::IfcFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[495]); } -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; } +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)); } @@ -11052,7 +11052,7 @@ void Ifc4x3_rc1::IfcFootingType::setPredefinedType(const ::Ifc4x3_rc1::IfcFootin const ifcopenshell::entity& Ifc4x3_rc1::IfcFootingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[500]); } -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; } +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 @@ -11064,7 +11064,7 @@ Ifc4x3_rc1::IfcFurnishingElement Ifc4x3_rc1::IfcFurnishingElement::initialize(st const ifcopenshell::entity& Ifc4x3_rc1::IfcFurnishingElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[505]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -11098,22 +11098,22 @@ void Ifc4x3_rc1::IfcGeographicElementType::setPredefinedType(const ::Ifc4x3_rc1: const ifcopenshell::entity& Ifc4x3_rc1::IfcGeographicElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[510]); } -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; } +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]); } -Ifc4x3_rc1::IfcGeometricCurveSet Ifc4x3_rc1::IfcGeometricCurveSet::initialize(std::vector< ::Ifc4x3_rc1::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } +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 int64_t Ifc4x3_rc1::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int64_t v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(const int64_t& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc4x3_rc1::IfcGeometricRepresentationContext::Precision() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcGeometricRepresentationContext::setPrecision(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc1::IfcAxis2Placement Ifc4x3_rc1::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcAxis2Placement>(); } +::Ifc4x3_rc1::IfcAxis2Placement Ifc4x3_rc1::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcAxis2Placement>(); } void Ifc4x3_rc1::IfcGeometricRepresentationContext::setWorldCoordinateSystem(const ::Ifc4x3_rc1::IfcAxis2Placement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc1::IfcDirection{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcDirection>(); } +::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc1::IfcDirection{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcDirection>(); } void Ifc4x3_rc1::IfcGeometricRepresentationContext::setTrueNorth(const ::Ifc4x3_rc1::IfcDirection& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } std::vector<::Ifc4x3_rc1::IfcGeometricRepresentationSubContext> Ifc4x3_rc1::IfcGeometricRepresentationContext::HasSubContexts() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[516], 6)); } @@ -11129,7 +11129,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcGeometricRepresentationItem::Class() 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>(); } +::Ifc4x3_rc1::IfcGeometricRepresentationContext Ifc4x3_rc1::IfcGeometricRepresentationSubContext::ParentContext() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcGeometricRepresentationContext>(); } void Ifc4x3_rc1::IfcGeometricRepresentationSubContext::setParentContext(const ::Ifc4x3_rc1::IfcGeometricRepresentationContext& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< double > Ifc4x3_rc1::IfcGeometricRepresentationSubContext::TargetScale() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcGeometricRepresentationSubContext::setTargetScale(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } @@ -11143,12 +11143,12 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcGeometricRepresentationSubContext::Cl 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); } -void Ifc4x3_rc1::IfcGeometricSet::setElements(const std::vector< ::Ifc4x3_rc1::IfcGeometricSetSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc1::IfcGeometricSetSelect > Ifc4x3_rc1::IfcGeometricSet::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcGeometricSetSelect>(es); } +void Ifc4x3_rc1::IfcGeometricSet::setElements(const std::vector< ::Ifc4x3_rc1::IfcGeometricSetSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc1::IfcGeometricSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[517]); } -Ifc4x3_rc1::IfcGeometricSet Ifc4x3_rc1::IfcGeometricSet::initialize(std::vector< ::Ifc4x3_rc1::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } +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 @@ -11181,23 +11181,23 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcGeotechnicalStratum::Class() { return 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); } -void Ifc4x3_rc1::IfcGrid::setUAxes(const std::vector< ::Ifc4x3_rc1::IfcGridAxis >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } -std::vector< ::Ifc4x3_rc1::IfcGridAxis > Ifc4x3_rc1::IfcGrid::VAxes() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc1::IfcGridAxis>(es); } -void Ifc4x3_rc1::IfcGrid::setVAxes(const std::vector< ::Ifc4x3_rc1::IfcGridAxis >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } -std::optional< std::vector< ::Ifc4x3_rc1::IfcGridAxis > > Ifc4x3_rc1::IfcGrid::WAxes() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc1::IfcGridAxis>(es); } -void Ifc4x3_rc1::IfcGrid::setWAxes(const std::optional< std::vector< ::Ifc4x3_rc1::IfcGridAxis > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +std::vector< ::Ifc4x3_rc1::IfcGridAxis > Ifc4x3_rc1::IfcGrid::UAxes() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc1::IfcGridAxis>(es); } +void Ifc4x3_rc1::IfcGrid::setUAxes(const std::vector< ::Ifc4x3_rc1::IfcGridAxis >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } +std::vector< ::Ifc4x3_rc1::IfcGridAxis > Ifc4x3_rc1::IfcGrid::VAxes() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc1::IfcGridAxis>(es); } +void Ifc4x3_rc1::IfcGrid::setVAxes(const std::vector< ::Ifc4x3_rc1::IfcGridAxis >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } +std::optional< std::vector< ::Ifc4x3_rc1::IfcGridAxis > > Ifc4x3_rc1::IfcGrid::WAxes() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc1::IfcGridAxis>(es); } +void Ifc4x3_rc1::IfcGrid::setWAxes(const std::optional< std::vector< ::Ifc4x3_rc1::IfcGridAxis > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } std::optional< ::Ifc4x3_rc1::IfcGridTypeEnum::Value > Ifc4x3_rc1::IfcGrid::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcGridTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc1::IfcGrid::setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcGridTypeEnum::Value >& v) { if (v) {set_attribute_value(10, enumeration_reference(&::Ifc4x3_rc1::IfcGridTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const ifcopenshell::entity& Ifc4x3_rc1::IfcGrid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[526]); } -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; } +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; } void Ifc4x3_rc1::IfcGridAxis::setAxisTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcGridAxis::AxisCurve() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcCurve>(); } +::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcGridAxis::AxisCurve() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcCurve>(); } void Ifc4x3_rc1::IfcGridAxis::setAxisCurve(const ::Ifc4x3_rc1::IfcCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } bool Ifc4x3_rc1::IfcGridAxis::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcGridAxis::setSameSense(const bool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -11211,9 +11211,9 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcGridAxis::Class() { return *((ifcopen 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>(); } +::Ifc4x3_rc1::IfcVirtualGridIntersection Ifc4x3_rc1::IfcGridPlacement::PlacementLocation() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcVirtualGridIntersection>(); } void Ifc4x3_rc1::IfcGridPlacement::setPlacementLocation(const ::Ifc4x3_rc1::IfcVirtualGridIntersection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcGridPlacementDirectionSelect Ifc4x3_rc1::IfcGridPlacement::PlacementRefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc1::IfcGridPlacementDirectionSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcGridPlacementDirectionSelect>(); } +::Ifc4x3_rc1::IfcGridPlacementDirectionSelect Ifc4x3_rc1::IfcGridPlacement::PlacementRefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc1::IfcGridPlacementDirectionSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcGridPlacementDirectionSelect>(); } void Ifc4x3_rc1::IfcGridPlacement::setPlacementRefDirection(const ::Ifc4x3_rc1::IfcGridPlacementDirectionSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -11228,7 +11228,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcGroup::Class() { return *((ifcopenshe 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>(); } +::Ifc4x3_rc1::IfcSurface Ifc4x3_rc1::IfcHalfSpaceSolid::BaseSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcSurface>(); } void Ifc4x3_rc1::IfcHalfSpaceSolid::setBaseSurface(const ::Ifc4x3_rc1::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } bool Ifc4x3_rc1::IfcHalfSpaceSolid::AgreementFlag() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcHalfSpaceSolid::setAgreementFlag(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -11298,7 +11298,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcImageTexture::Class() { return *((ifc 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>(); } +::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>(); } void Ifc4x3_rc1::IfcImpactProtectionDevice::setPredefinedType(const ::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -11306,17 +11306,17 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcImpactProtectionDevice::Class() { ret 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>(); } +::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect Ifc4x3_rc1::IfcImpactProtectionDeviceType::PredefinedType() const { return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect>(); } void Ifc4x3_rc1::IfcImpactProtectionDeviceType::setPredefinedType(const ::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } const ifcopenshell::entity& Ifc4x3_rc1::IfcImpactProtectionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[546]); } -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; } +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; } void Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::setFixedAxisVertical(const std::optional< bool >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc1::IfcAxisLateralInclination Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::Inclinating() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcAxisLateralInclination>(); } +::Ifc4x3_rc1::IfcAxisLateralInclination Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::Inclinating() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcAxisLateralInclination>(); } void Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::setInclinating(const ::Ifc4x3_rc1::IfcAxisLateralInclination& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -11324,11 +11324,11 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::Clas 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>(); } +::Ifc4x3_rc1::IfcTessellatedFaceSet Ifc4x3_rc1::IfcIndexedColourMap::MappedTo() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcTessellatedFaceSet>(); } void Ifc4x3_rc1::IfcIndexedColourMap::setMappedTo(const ::Ifc4x3_rc1::IfcTessellatedFaceSet& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< double > Ifc4x3_rc1::IfcIndexedColourMap::Opacity() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcIndexedColourMap::setOpacity(const std::optional< double >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc1::IfcColourRgbList Ifc4x3_rc1::IfcIndexedColourMap::Colours() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcColourRgbList>(); } +::Ifc4x3_rc1::IfcColourRgbList Ifc4x3_rc1::IfcIndexedColourMap::Colours() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcColourRgbList>(); } void Ifc4x3_rc1::IfcIndexedColourMap::setColours(const ::Ifc4x3_rc1::IfcColourRgbList& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::vector< int64_t > /*[1:?]*/ Ifc4x3_rc1::IfcIndexedColourMap::ColourIndex() const { std::vector< int64_t > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcIndexedColourMap::setColourIndex(const std::vector< int64_t > /*[1:?]*/& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -11338,16 +11338,16 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcIndexedColourMap::Class() { return *( Ifc4x3_rc1::IfcIndexedColourMap Ifc4x3_rc1::IfcIndexedColourMap::initialize(::Ifc4x3_rc1::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_rc1::IfcColourRgbList v3_Colours, std::vector< int64_t > /*[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>(); } +::Ifc4x3_rc1::IfcCartesianPointList Ifc4x3_rc1::IfcIndexedPolyCurve::Points() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCartesianPointList>(); } void Ifc4x3_rc1::IfcIndexedPolyCurve::setPoints(const ::Ifc4x3_rc1::IfcCartesianPointList& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::optional< std::vector< ::Ifc4x3_rc1::IfcSegmentIndexSelect > > Ifc4x3_rc1::IfcIndexedPolyCurve::Segments() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcSegmentIndexSelect>(es); } -void Ifc4x3_rc1::IfcIndexedPolyCurve::setSegments(const std::optional< std::vector< ::Ifc4x3_rc1::IfcSegmentIndexSelect > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } +std::optional< std::vector< ::Ifc4x3_rc1::IfcSegmentIndexSelect > > Ifc4x3_rc1::IfcIndexedPolyCurve::Segments() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcSegmentIndexSelect>(es); } +void Ifc4x3_rc1::IfcIndexedPolyCurve::setSegments(const std::optional< std::vector< ::Ifc4x3_rc1::IfcSegmentIndexSelect > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } std::optional< bool > Ifc4x3_rc1::IfcIndexedPolyCurve::SelfIntersect() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } bool v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcIndexedPolyCurve::setSelfIntersect(const std::optional< bool >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_rc1::IfcIndexedPolyCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[551]); } -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; } +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< int64_t > /*[3:?]*/ Ifc4x3_rc1::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int64_t > /*[3:?]*/ v = get_attribute_value(0); return v; } @@ -11367,14 +11367,14 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcIndexedPolygonalFaceWithVoids::Class( Ifc4x3_rc1::IfcIndexedPolygonalFaceWithVoids Ifc4x3_rc1::IfcIndexedPolygonalFaceWithVoids::initialize(std::vector< int64_t > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int64_t > > 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>(); } +::Ifc4x3_rc1::IfcTessellatedFaceSet Ifc4x3_rc1::IfcIndexedTextureMap::MappedTo() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcTessellatedFaceSet>(); } void Ifc4x3_rc1::IfcIndexedTextureMap::setMappedTo(const ::Ifc4x3_rc1::IfcTessellatedFaceSet& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcTextureVertexList Ifc4x3_rc1::IfcIndexedTextureMap::TexCoords() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcTextureVertexList>(); } +::Ifc4x3_rc1::IfcTextureVertexList Ifc4x3_rc1::IfcIndexedTextureMap::TexCoords() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcTextureVertexList>(); } void Ifc4x3_rc1::IfcIndexedTextureMap::setTexCoords(const ::Ifc4x3_rc1::IfcTextureVertexList& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc1::IfcIndexedTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[554]); } -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; } +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< int64_t > > > Ifc4x3_rc1::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< std::vector< int64_t > > 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]); } -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< int64_t > > > 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; } +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< int64_t > > > 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)); } @@ -11398,49 +11398,49 @@ void Ifc4x3_rc1::IfcInterceptorType::setPredefinedType(const ::Ifc4x3_rc1::IfcIn const ifcopenshell::entity& Ifc4x3_rc1::IfcInterceptorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[560]); } -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; } +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]); } -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; } +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)); } void Ifc4x3_rc1::IfcInventory::setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcInventoryTypeEnum::Value >& v) { if (v) {set_attribute_value(5, enumeration_reference(&::Ifc4x3_rc1::IfcInventoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -::Ifc4x3_rc1::IfcActorSelect Ifc4x3_rc1::IfcInventory::Jurisdiction() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcActorSelect>(); } +::Ifc4x3_rc1::IfcActorSelect Ifc4x3_rc1::IfcInventory::Jurisdiction() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcActorSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcActorSelect>(); } void Ifc4x3_rc1::IfcInventory::setJurisdiction(const ::Ifc4x3_rc1::IfcActorSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::optional< std::vector< ::Ifc4x3_rc1::IfcPerson > > Ifc4x3_rc1::IfcInventory::ResponsiblePersons() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc1::IfcPerson>(es); } -void Ifc4x3_rc1::IfcInventory::setResponsiblePersons(const std::optional< std::vector< ::Ifc4x3_rc1::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x3_rc1::IfcPerson > > Ifc4x3_rc1::IfcInventory::ResponsiblePersons() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc1::IfcPerson>(es); } +void Ifc4x3_rc1::IfcInventory::setResponsiblePersons(const std::optional< std::vector< ::Ifc4x3_rc1::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< std::string > Ifc4x3_rc1::IfcInventory::LastUpdateDate() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcInventory::setLastUpdateDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_rc1::IfcCostValue Ifc4x3_rc1::IfcInventory::CurrentValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc1::IfcCostValue{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc1::IfcCostValue>(); } +::Ifc4x3_rc1::IfcCostValue Ifc4x3_rc1::IfcInventory::CurrentValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc1::IfcCostValue{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc1::IfcCostValue>(); } void Ifc4x3_rc1::IfcInventory::setCurrentValue(const ::Ifc4x3_rc1::IfcCostValue& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc1::IfcCostValue Ifc4x3_rc1::IfcInventory::OriginalValue() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc1::IfcCostValue{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_rc1::IfcCostValue>(); } +::Ifc4x3_rc1::IfcCostValue Ifc4x3_rc1::IfcInventory::OriginalValue() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc1::IfcCostValue{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x3_rc1::IfcCostValue>(); } void Ifc4x3_rc1::IfcInventory::setOriginalValue(const ::Ifc4x3_rc1::IfcCostValue& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } const ifcopenshell::entity& Ifc4x3_rc1::IfcInventory::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[565]); } -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; } +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); } -void Ifc4x3_rc1::IfcIrregularTimeSeries::setValues(const std::vector< ::Ifc4x3_rc1::IfcIrregularTimeSeriesValue >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } +std::vector< ::Ifc4x3_rc1::IfcIrregularTimeSeriesValue > Ifc4x3_rc1::IfcIrregularTimeSeries::Values() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc1::IfcIrregularTimeSeriesValue>(es); } +void Ifc4x3_rc1::IfcIrregularTimeSeries::setValues(const std::vector< ::Ifc4x3_rc1::IfcIrregularTimeSeriesValue >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } const ifcopenshell::entity& Ifc4x3_rc1::IfcIrregularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[568]); } -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; } +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; } void Ifc4x3_rc1::IfcIrregularTimeSeriesValue::setTimeStamp(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc1::IfcValue > Ifc4x3_rc1::IfcIrregularTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcValue>(es); } -void Ifc4x3_rc1::IfcIrregularTimeSeriesValue::setListValues(const std::vector< ::Ifc4x3_rc1::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc1::IfcValue > Ifc4x3_rc1::IfcIrregularTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcValue>(es); } +void Ifc4x3_rc1::IfcIrregularTimeSeriesValue::setListValues(const std::vector< ::Ifc4x3_rc1::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_rc1::IfcIrregularTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[569]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -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]); } -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; } +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; } @@ -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]); } -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; } +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,10 +11506,10 @@ void Ifc4x3_rc1::IfcLaborResourceType::setPredefinedType(const ::Ifc4x3_rc1::Ifc const ifcopenshell::entity& Ifc4x3_rc1::IfcLaborResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[581]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcTimeOrRatioSelect Ifc4x3_rc1::IfcLagTime::LagValue() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcTimeOrRatioSelect>(); } void Ifc4x3_rc1::IfcLagTime::setLagValue(const ::Ifc4x3_rc1::IfcTimeOrRatioSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } ::Ifc4x3_rc1::IfcTaskDurationEnum::Value Ifc4x3_rc1::IfcLagTime::DurationType() const { return ::Ifc4x3_rc1::IfcTaskDurationEnum::FromString(get_attribute_value(4)); } void Ifc4x3_rc1::IfcLagTime::setDurationType(const ::Ifc4x3_rc1::IfcTaskDurationEnum::Value& v) { set_attribute_value(4, enumeration_reference(&::Ifc4x3_rc1::IfcTaskDurationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } @@ -11532,14 +11532,14 @@ void Ifc4x3_rc1::IfcLampType::setPredefinedType(const ::Ifc4x3_rc1::IfcLampTypeE const ifcopenshell::entity& Ifc4x3_rc1::IfcLampType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[585]); } -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; } +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; } void Ifc4x3_rc1::IfcLibraryInformation::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x3_rc1::IfcLibraryInformation::Version() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcLibraryInformation::setVersion(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc1::IfcActorSelect Ifc4x3_rc1::IfcLibraryInformation::Publisher() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc1::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcActorSelect>(); } +::Ifc4x3_rc1::IfcActorSelect Ifc4x3_rc1::IfcLibraryInformation::Publisher() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc1::IfcActorSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcActorSelect>(); } void Ifc4x3_rc1::IfcLibraryInformation::setPublisher(const ::Ifc4x3_rc1::IfcActorSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4x3_rc1::IfcLibraryInformation::VersionDate() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcLibraryInformation::setVersionDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } @@ -11559,7 +11559,7 @@ std::optional< std::string > Ifc4x3_rc1::IfcLibraryReference::Description() cons void Ifc4x3_rc1::IfcLibraryReference::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } std::optional< std::string > Ifc4x3_rc1::IfcLibraryReference::Language() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcLibraryReference::setLanguage(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc1::IfcLibraryInformation Ifc4x3_rc1::IfcLibraryReference::ReferencedLibrary() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc1::IfcLibraryInformation{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcLibraryInformation>(); } +::Ifc4x3_rc1::IfcLibraryInformation Ifc4x3_rc1::IfcLibraryReference::ReferencedLibrary() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc1::IfcLibraryInformation{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcLibraryInformation>(); } void Ifc4x3_rc1::IfcLibraryReference::setReferencedLibrary(const ::Ifc4x3_rc1::IfcLibraryInformation& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } std::vector<::Ifc4x3_rc1::IfcRelAssociatesLibrary> Ifc4x3_rc1::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[924], 5)); } @@ -11593,22 +11593,22 @@ void Ifc4x3_rc1::IfcLightFixtureType::setPredefinedType(const ::Ifc4x3_rc1::IfcL const ifcopenshell::entity& Ifc4x3_rc1::IfcLightFixtureType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[599]); } -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; } +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)); } void Ifc4x3_rc1::IfcLightIntensityDistribution::setLightDistributionCurve(const ::Ifc4x3_rc1::IfcLightDistributionCurveEnum::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc4x3_rc1::IfcLightDistributionCurveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc1::IfcLightDistributionData > Ifc4x3_rc1::IfcLightIntensityDistribution::DistributionData() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcLightDistributionData>(es); } -void Ifc4x3_rc1::IfcLightIntensityDistribution::setDistributionData(const std::vector< ::Ifc4x3_rc1::IfcLightDistributionData >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc1::IfcLightDistributionData > Ifc4x3_rc1::IfcLightIntensityDistribution::DistributionData() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcLightDistributionData>(es); } +void Ifc4x3_rc1::IfcLightIntensityDistribution::setDistributionData(const std::vector< ::Ifc4x3_rc1::IfcLightDistributionData >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_rc1::IfcLightIntensityDistribution::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[601]); } -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; } +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; } void Ifc4x3_rc1::IfcLightSource::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_rc1::IfcColourRgb Ifc4x3_rc1::IfcLightSource::LightColour() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcColourRgb>(); } +::Ifc4x3_rc1::IfcColourRgb Ifc4x3_rc1::IfcLightSource::LightColour() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcColourRgb>(); } void Ifc4x3_rc1::IfcLightSource::setLightColour(const ::Ifc4x3_rc1::IfcColourRgb& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< double > Ifc4x3_rc1::IfcLightSource::AmbientIntensity() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcLightSource::setAmbientIntensity(const std::optional< double >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } @@ -11626,7 +11626,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcLightSourceAmbient::Class() { return 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>(); } +::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcLightSourceDirectional::Orientation() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcDirection>(); } void Ifc4x3_rc1::IfcLightSourceDirectional::setOrientation(const ::Ifc4x3_rc1::IfcDirection& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -11634,9 +11634,9 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcLightSourceDirectional::Class() { ret 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>(); } +::Ifc4x3_rc1::IfcAxis2Placement3D Ifc4x3_rc1::IfcLightSourceGoniometric::Position() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcAxis2Placement3D>(); } void Ifc4x3_rc1::IfcLightSourceGoniometric::setPosition(const ::Ifc4x3_rc1::IfcAxis2Placement3D& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcColourRgb Ifc4x3_rc1::IfcLightSourceGoniometric::ColourAppearance() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc1::IfcColourRgb{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcColourRgb>(); } +::Ifc4x3_rc1::IfcColourRgb Ifc4x3_rc1::IfcLightSourceGoniometric::ColourAppearance() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc1::IfcColourRgb{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcColourRgb>(); } void Ifc4x3_rc1::IfcLightSourceGoniometric::setColourAppearance(const ::Ifc4x3_rc1::IfcColourRgb& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } double Ifc4x3_rc1::IfcLightSourceGoniometric::ColourTemperature() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcLightSourceGoniometric::setColourTemperature(const double& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -11644,7 +11644,7 @@ double Ifc4x3_rc1::IfcLightSourceGoniometric::LuminousFlux() const { double v = void Ifc4x3_rc1::IfcLightSourceGoniometric::setLuminousFlux(const double& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_rc1::IfcLightEmissionSourceEnum::Value Ifc4x3_rc1::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x3_rc1::IfcLightEmissionSourceEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcLightSourceGoniometric::setLightEmissionSource(const ::Ifc4x3_rc1::IfcLightEmissionSourceEnum::Value& v) { set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc1::IfcLightEmissionSourceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc1::IfcLightDistributionDataSourceSelect Ifc4x3_rc1::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc1::IfcLightDistributionDataSourceSelect>(); } +::Ifc4x3_rc1::IfcLightDistributionDataSourceSelect Ifc4x3_rc1::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc1::IfcLightDistributionDataSourceSelect>(); } void Ifc4x3_rc1::IfcLightSourceGoniometric::setLightDistributionDataSource(const ::Ifc4x3_rc1::IfcLightDistributionDataSourceSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } @@ -11652,7 +11652,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcLightSourceGoniometric::Class() { ret 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>(); } +::Ifc4x3_rc1::IfcCartesianPoint Ifc4x3_rc1::IfcLightSourcePositional::Position() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcCartesianPoint>(); } void Ifc4x3_rc1::IfcLightSourcePositional::setPosition(const ::Ifc4x3_rc1::IfcCartesianPoint& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } double Ifc4x3_rc1::IfcLightSourcePositional::Radius() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcLightSourcePositional::setRadius(const double& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -11668,7 +11668,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcLightSourcePositional::Class() { retu 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>(); } +::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcLightSourceSpot::Orientation() const { return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc1::IfcDirection>(); } void Ifc4x3_rc1::IfcLightSourceSpot::setOrientation(const ::Ifc4x3_rc1::IfcDirection& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::optional< double > Ifc4x3_rc1::IfcLightSourceSpot::ConcentrationExponent() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcLightSourceSpot::setConcentrationExponent(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } @@ -11682,9 +11682,9 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcLightSourceSpot::Class() { return *(( 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>(); } +::Ifc4x3_rc1::IfcCartesianPoint Ifc4x3_rc1::IfcLine::Pnt() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCartesianPoint>(); } void Ifc4x3_rc1::IfcLine::setPnt(const ::Ifc4x3_rc1::IfcCartesianPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcVector Ifc4x3_rc1::IfcLine::Dir() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcVector>(); } +::Ifc4x3_rc1::IfcVector Ifc4x3_rc1::IfcLine::Dir() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcVector>(); } void Ifc4x3_rc1::IfcLine::setDir(const ::Ifc4x3_rc1::IfcVector& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11698,9 +11698,9 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcLineSegment2D::Class() { return *((if 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>(); } +::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcLinearAxisWithInclination::Directrix() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCurve>(); } void Ifc4x3_rc1::IfcLinearAxisWithInclination::setDirectrix(const ::Ifc4x3_rc1::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcAxisLateralInclination Ifc4x3_rc1::IfcLinearAxisWithInclination::Inclinating() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcAxisLateralInclination>(); } +::Ifc4x3_rc1::IfcAxisLateralInclination Ifc4x3_rc1::IfcLinearAxisWithInclination::Inclinating() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcAxisLateralInclination>(); } void Ifc4x3_rc1::IfcLinearAxisWithInclination::setInclinating(const ::Ifc4x3_rc1::IfcAxisLateralInclination& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11708,13 +11708,13 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcLinearAxisWithInclination::Class() { 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>(); } +::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcLinearPlacement::PlacementMeasuredAlong() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcCurve>(); } void Ifc4x3_rc1::IfcLinearPlacement::setPlacementMeasuredAlong(const ::Ifc4x3_rc1::IfcCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcDistanceExpression Ifc4x3_rc1::IfcLinearPlacement::Distance() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcDistanceExpression>(); } +::Ifc4x3_rc1::IfcDistanceExpression Ifc4x3_rc1::IfcLinearPlacement::Distance() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcDistanceExpression>(); } void Ifc4x3_rc1::IfcLinearPlacement::setDistance(const ::Ifc4x3_rc1::IfcDistanceExpression& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcOrientationExpression Ifc4x3_rc1::IfcLinearPlacement::Orientation() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcOrientationExpression{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcOrientationExpression>(); } +::Ifc4x3_rc1::IfcOrientationExpression Ifc4x3_rc1::IfcLinearPlacement::Orientation() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcOrientationExpression{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcOrientationExpression>(); } void Ifc4x3_rc1::IfcLinearPlacement::setOrientation(const ::Ifc4x3_rc1::IfcOrientationExpression& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc1::IfcAxis2Placement3D Ifc4x3_rc1::IfcLinearPlacement::CartesianPosition() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc1::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcAxis2Placement3D>(); } +::Ifc4x3_rc1::IfcAxis2Placement3D Ifc4x3_rc1::IfcLinearPlacement::CartesianPosition() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc1::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcAxis2Placement3D>(); } void Ifc4x3_rc1::IfcLinearPlacement::setCartesianPosition(const ::Ifc4x3_rc1::IfcAxis2Placement3D& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -11722,7 +11722,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcLinearPlacement::Class() { return *(( 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>(); } +::Ifc4x3_rc1::IfcAxisLateralInclination Ifc4x3_rc1::IfcLinearPlacementWithInclination::Inclinating() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcAxisLateralInclination>(); } void Ifc4x3_rc1::IfcLinearPlacementWithInclination::setInclinating(const ::Ifc4x3_rc1::IfcAxisLateralInclination& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -11730,7 +11730,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcLinearPlacementWithInclination::Class 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>(); } +::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcLinearPositioningElement::Axis() const { return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc1::IfcCurve>(); } void Ifc4x3_rc1::IfcLinearPositioningElement::setAxis(const ::Ifc4x3_rc1::IfcCurve& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -11759,10 +11759,10 @@ void Ifc4x3_rc1::IfcLiquidTerminalType::setPredefinedType(const ::Ifc4x3_rc1::If const ifcopenshell::entity& Ifc4x3_rc1::IfcLiquidTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[622]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcAxis2Placement Ifc4x3_rc1::IfcLocalPlacement::RelativePlacement() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcAxis2Placement>(); } void Ifc4x3_rc1::IfcLocalPlacement::setRelativePlacement(const ::Ifc4x3_rc1::IfcAxis2Placement& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11776,7 +11776,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcLoop::Class() { return *((ifcopenshel 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>(); } +::Ifc4x3_rc1::IfcClosedShell Ifc4x3_rc1::IfcManifoldSolidBrep::Outer() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcClosedShell>(); } void Ifc4x3_rc1::IfcManifoldSolidBrep::setOuter(const ::Ifc4x3_rc1::IfcClosedShell& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -11802,9 +11802,9 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcMapConversion::Class() { return *((if 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>(); } +::Ifc4x3_rc1::IfcRepresentationMap Ifc4x3_rc1::IfcMappedItem::MappingSource() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcRepresentationMap>(); } void Ifc4x3_rc1::IfcMappedItem::setMappingSource(const ::Ifc4x3_rc1::IfcRepresentationMap& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcCartesianTransformationOperator Ifc4x3_rc1::IfcMappedItem::MappingTarget() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcCartesianTransformationOperator>(); } +::Ifc4x3_rc1::IfcCartesianTransformationOperator Ifc4x3_rc1::IfcMappedItem::MappingTarget() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcCartesianTransformationOperator>(); } void Ifc4x3_rc1::IfcMappedItem::setMappingTarget(const ::Ifc4x3_rc1::IfcCartesianTransformationOperator& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11835,21 +11835,21 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterial::Class() { return *((ifcopen 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); } -void Ifc4x3_rc1::IfcMaterialClassificationRelationship::setMaterialClassifications(const std::vector< ::Ifc4x3_rc1::IfcClassificationSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcMaterial Ifc4x3_rc1::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcMaterial>(); } +std::vector< ::Ifc4x3_rc1::IfcClassificationSelect > Ifc4x3_rc1::IfcMaterialClassificationRelationship::MaterialClassifications() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcClassificationSelect>(es); } +void Ifc4x3_rc1::IfcMaterialClassificationRelationship::setMaterialClassifications(const std::vector< ::Ifc4x3_rc1::IfcClassificationSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +::Ifc4x3_rc1::IfcMaterial Ifc4x3_rc1::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcMaterial>(); } void Ifc4x3_rc1::IfcMaterialClassificationRelationship::setClassifiedMaterial(const ::Ifc4x3_rc1::IfcMaterial& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialClassificationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[646]); } -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; } +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; } void Ifc4x3_rc1::IfcMaterialConstituent::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_rc1::IfcMaterialConstituent::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcMaterialConstituent::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc1::IfcMaterial Ifc4x3_rc1::IfcMaterialConstituent::Material() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcMaterial>(); } +::Ifc4x3_rc1::IfcMaterial Ifc4x3_rc1::IfcMaterialConstituent::Material() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcMaterial>(); } void Ifc4x3_rc1::IfcMaterialConstituent::setMaterial(const ::Ifc4x3_rc1::IfcMaterial& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc4x3_rc1::IfcMaterialConstituent::Fraction() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcMaterialConstituent::setFraction(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } @@ -11866,12 +11866,12 @@ std::optional< std::string > Ifc4x3_rc1::IfcMaterialConstituentSet::Name() const void Ifc4x3_rc1::IfcMaterialConstituentSet::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_rc1::IfcMaterialConstituentSet::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcMaterialConstituentSet::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::optional< std::vector< ::Ifc4x3_rc1::IfcMaterialConstituent > > Ifc4x3_rc1::IfcMaterialConstituentSet::MaterialConstituents() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcMaterialConstituent>(es); } -void Ifc4x3_rc1::IfcMaterialConstituentSet::setMaterialConstituents(const std::optional< std::vector< ::Ifc4x3_rc1::IfcMaterialConstituent > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4x3_rc1::IfcMaterialConstituent > > Ifc4x3_rc1::IfcMaterialConstituentSet::MaterialConstituents() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcMaterialConstituent>(es); } +void Ifc4x3_rc1::IfcMaterialConstituentSet::setMaterialConstituents(const std::optional< std::vector< ::Ifc4x3_rc1::IfcMaterialConstituent > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialConstituentSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[648]); } -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; } +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 @@ -11883,15 +11883,15 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialDefinition::Class() { return 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>(); } +::Ifc4x3_rc1::IfcMaterial Ifc4x3_rc1::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcMaterial>(); } void Ifc4x3_rc1::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(const ::Ifc4x3_rc1::IfcMaterial& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialDefinitionRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[650]); } -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; } +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>(); } +::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>(); } void Ifc4x3_rc1::IfcMaterialLayer::setMaterial(const ::Ifc4x3_rc1::IfcMaterial& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc1::IfcMaterialLayer::LayerThickness() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcMaterialLayer::setLayerThickness(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11912,8 +11912,8 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialLayer::Class() { return *((if 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< int64_t > 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); } -void Ifc4x3_rc1::IfcMaterialLayerSet::setMaterialLayers(const std::vector< ::Ifc4x3_rc1::IfcMaterialLayer >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc1::IfcMaterialLayer > Ifc4x3_rc1::IfcMaterialLayerSet::MaterialLayers() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcMaterialLayer>(es); } +void Ifc4x3_rc1::IfcMaterialLayerSet::setMaterialLayers(const std::vector< ::Ifc4x3_rc1::IfcMaterialLayer >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x3_rc1::IfcMaterialLayerSet::LayerSetName() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcMaterialLayerSet::setLayerSetName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x3_rc1::IfcMaterialLayerSet::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } @@ -11921,10 +11921,10 @@ void Ifc4x3_rc1::IfcMaterialLayerSet::setDescription(const std::optional< std::s const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialLayerSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[652]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcMaterialLayerSet Ifc4x3_rc1::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcMaterialLayerSet>(); } void Ifc4x3_rc1::IfcMaterialLayerSetUsage::setForLayerSet(const ::Ifc4x3_rc1::IfcMaterialLayerSet& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Value Ifc4x3_rc1::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x3_rc1::IfcLayerSetDirectionEnum::FromString(get_attribute_value(1)); } void Ifc4x3_rc1::IfcMaterialLayerSetUsage::setLayerSetDirection(const ::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } @@ -11950,21 +11950,21 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialLayerWithOffsets::Class() { r 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< int64_t > 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); } -void Ifc4x3_rc1::IfcMaterialList::setMaterials(const std::vector< ::Ifc4x3_rc1::IfcMaterial >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc1::IfcMaterial > Ifc4x3_rc1::IfcMaterialList::Materials() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcMaterial>(es); } +void Ifc4x3_rc1::IfcMaterialList::setMaterials(const std::vector< ::Ifc4x3_rc1::IfcMaterial >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialList::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[655]); } -Ifc4x3_rc1::IfcMaterialList Ifc4x3_rc1::IfcMaterialList::initialize(std::vector< ::Ifc4x3_rc1::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials));; return *this; } +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; } void Ifc4x3_rc1::IfcMaterialProfile::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_rc1::IfcMaterialProfile::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcMaterialProfile::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc1::IfcMaterial Ifc4x3_rc1::IfcMaterialProfile::Material() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc1::IfcMaterial{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcMaterial>(); } +::Ifc4x3_rc1::IfcMaterial Ifc4x3_rc1::IfcMaterialProfile::Material() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc1::IfcMaterial{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcMaterial>(); } void Ifc4x3_rc1::IfcMaterialProfile::setMaterial(const ::Ifc4x3_rc1::IfcMaterial& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcProfileDef Ifc4x3_rc1::IfcMaterialProfile::Profile() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcProfileDef>(); } +::Ifc4x3_rc1::IfcProfileDef Ifc4x3_rc1::IfcMaterialProfile::Profile() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcProfileDef>(); } void Ifc4x3_rc1::IfcMaterialProfile::setProfile(const ::Ifc4x3_rc1::IfcProfileDef& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< int64_t > Ifc4x3_rc1::IfcMaterialProfile::Priority() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcMaterialProfile::setPriority(const std::optional< int64_t >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -11981,17 +11981,17 @@ std::optional< std::string > Ifc4x3_rc1::IfcMaterialProfileSet::Name() const { i void Ifc4x3_rc1::IfcMaterialProfileSet::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_rc1::IfcMaterialProfileSet::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcMaterialProfileSet::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x3_rc1::IfcMaterialProfile > Ifc4x3_rc1::IfcMaterialProfileSet::MaterialProfiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcMaterialProfile>(es); } -void Ifc4x3_rc1::IfcMaterialProfileSet::setMaterialProfiles(const std::vector< ::Ifc4x3_rc1::IfcMaterialProfile >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcCompositeProfileDef Ifc4x3_rc1::IfcMaterialProfileSet::CompositeProfile() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcCompositeProfileDef{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcCompositeProfileDef>(); } +std::vector< ::Ifc4x3_rc1::IfcMaterialProfile > Ifc4x3_rc1::IfcMaterialProfileSet::MaterialProfiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcMaterialProfile>(es); } +void Ifc4x3_rc1::IfcMaterialProfileSet::setMaterialProfiles(const std::vector< ::Ifc4x3_rc1::IfcMaterialProfile >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +::Ifc4x3_rc1::IfcCompositeProfileDef Ifc4x3_rc1::IfcMaterialProfileSet::CompositeProfile() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcCompositeProfileDef{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcCompositeProfileDef>(); } void Ifc4x3_rc1::IfcMaterialProfileSet::setCompositeProfile(const ::Ifc4x3_rc1::IfcCompositeProfileDef& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialProfileSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[657]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcMaterialProfileSet Ifc4x3_rc1::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcMaterialProfileSet>(); } void Ifc4x3_rc1::IfcMaterialProfileSetUsage::setForProfileSet(const ::Ifc4x3_rc1::IfcMaterialProfileSet& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< int64_t > Ifc4x3_rc1::IfcMaterialProfileSetUsage::CardinalPoint() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcMaterialProfileSetUsage::setCardinalPoint(const std::optional< int64_t >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } @@ -12003,7 +12003,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialProfileSetUsage::Class() { re Ifc4x3_rc1::IfcMaterialProfileSetUsage Ifc4x3_rc1::IfcMaterialProfileSetUsage::initialize(::Ifc4x3_rc1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int64_t > 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>(); } +::Ifc4x3_rc1::IfcMaterialProfileSet Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcMaterialProfileSet>(); } void Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(const ::Ifc4x3_rc1::IfcMaterialProfileSet& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< int64_t > Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(const std::optional< int64_t >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -12021,24 +12021,24 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialProfileWithOffsets::Class() { 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< int64_t > 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>(); } +::Ifc4x3_rc1::IfcMaterialDefinition Ifc4x3_rc1::IfcMaterialProperties::Material() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcMaterialDefinition>(); } void Ifc4x3_rc1::IfcMaterialProperties::setMaterial(const ::Ifc4x3_rc1::IfcMaterialDefinition& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[661]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcMaterial Ifc4x3_rc1::IfcMaterialRelationship::RelatingMaterial() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcMaterial>(); } void Ifc4x3_rc1::IfcMaterialRelationship::setRelatingMaterial(const ::Ifc4x3_rc1::IfcMaterial& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_rc1::IfcMaterial > Ifc4x3_rc1::IfcMaterialRelationship::RelatedMaterials() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc1::IfcMaterial>(es); } -void Ifc4x3_rc1::IfcMaterialRelationship::setRelatedMaterials(const std::vector< ::Ifc4x3_rc1::IfcMaterial >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc1::IfcMaterial > Ifc4x3_rc1::IfcMaterialRelationship::RelatedMaterials() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc1::IfcMaterial>(es); } +void Ifc4x3_rc1::IfcMaterialRelationship::setRelatedMaterials(const std::vector< ::Ifc4x3_rc1::IfcMaterial >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc1::IfcMaterialRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcMaterialRelationship::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[662]); } -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; } +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 @@ -12048,9 +12048,9 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialUsageDefinition::Class() { re 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>(); } +::Ifc4x3_rc1::IfcValue Ifc4x3_rc1::IfcMeasureWithUnit::ValueComponent() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcValue>(); } void Ifc4x3_rc1::IfcMeasureWithUnit::setValueComponent(const ::Ifc4x3_rc1::IfcValue& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcUnit Ifc4x3_rc1::IfcMeasureWithUnit::UnitComponent() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcUnit>(); } +::Ifc4x3_rc1::IfcUnit Ifc4x3_rc1::IfcMeasureWithUnit::UnitComponent() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcUnit>(); } void Ifc4x3_rc1::IfcMeasureWithUnit::setUnitComponent(const ::Ifc4x3_rc1::IfcUnit& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -12117,16 +12117,16 @@ void Ifc4x3_rc1::IfcMemberType::setPredefinedType(const ::Ifc4x3_rc1::IfcMemberT const ifcopenshell::entity& Ifc4x3_rc1::IfcMemberType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[675]); } -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; } +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)); } void Ifc4x3_rc1::IfcMetric::setBenchmark(const ::Ifc4x3_rc1::IfcBenchmarkEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4x3_rc1::IfcBenchmarkEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } std::optional< std::string > Ifc4x3_rc1::IfcMetric::ValueSource() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcMetric::setValueSource(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_rc1::IfcMetricValueSelect Ifc4x3_rc1::IfcMetric::DataValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc1::IfcMetricValueSelect{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc1::IfcMetricValueSelect>(); } +::Ifc4x3_rc1::IfcMetricValueSelect Ifc4x3_rc1::IfcMetric::DataValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc1::IfcMetricValueSelect{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc1::IfcMetricValueSelect>(); } void Ifc4x3_rc1::IfcMetric::setDataValue(const ::Ifc4x3_rc1::IfcMetricValueSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc1::IfcReference Ifc4x3_rc1::IfcMetric::ReferencePath() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc1::IfcReference{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_rc1::IfcReference>(); } +::Ifc4x3_rc1::IfcReference Ifc4x3_rc1::IfcMetric::ReferencePath() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc1::IfcReference{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x3_rc1::IfcReference>(); } void Ifc4x3_rc1::IfcMetric::setReferencePath(const ::Ifc4x3_rc1::IfcReference& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } @@ -12153,7 +12153,7 @@ void Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceType::setPredefinedType(con const ifcopenshell::entity& Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[681]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -12193,10 +12193,10 @@ void Ifc4x3_rc1::IfcMotorConnectionType::setPredefinedType(const ::Ifc4x3_rc1::I const ifcopenshell::entity& Ifc4x3_rc1::IfcMotorConnectionType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[700]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcDimensionalExponents Ifc4x3_rc1::IfcNamedUnit::Dimensions() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcDimensionalExponents>(); } void Ifc4x3_rc1::IfcNamedUnit::setDimensions(const ::Ifc4x3_rc1::IfcDimensionalExponents& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_rc1::IfcUnitEnum::Value Ifc4x3_rc1::IfcNamedUnit::UnitType() const { return ::Ifc4x3_rc1::IfcUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x3_rc1::IfcNamedUnit::setUnitType(const ::Ifc4x3_rc1::IfcUnitEnum::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4x3_rc1::IfcUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } @@ -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]); } -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; } +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; } @@ -12247,7 +12247,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcObjectDefinition::Class() { return *( 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>(); } +::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>(); } void Ifc4x3_rc1::IfcObjectPlacement::setPlacementRelTo(const ::Ifc4x3_rc1::IfcObjectPlacement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::vector<::Ifc4x3_rc1::IfcProduct> Ifc4x3_rc1::IfcObjectPlacement::PlacesObject() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[814], 5)); } @@ -12256,8 +12256,8 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcObjectPlacement::Class() { return *(( 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); } -void Ifc4x3_rc1::IfcObjective::setBenchmarkValues(const std::optional< std::vector< ::Ifc4x3_rc1::IfcConstraint > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +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); } +void Ifc4x3_rc1::IfcObjective::setBenchmarkValues(const std::optional< std::vector< ::Ifc4x3_rc1::IfcConstraint > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< ::Ifc4x3_rc1::IfcLogicalOperatorEnum::Value > Ifc4x3_rc1::IfcObjective::LogicalAggregator() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcLogicalOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcObjective::setLogicalAggregator(const std::optional< ::Ifc4x3_rc1::IfcLogicalOperatorEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc1::IfcLogicalOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3_rc1::IfcObjectiveEnum::Value Ifc4x3_rc1::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x3_rc1::IfcObjectiveEnum::FromString(get_attribute_value(9)); } @@ -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]); } -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; } +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)); } @@ -12278,7 +12278,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcOccupant::Class() { return *((ifcopen 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>(); } +::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcOffsetCurve::BasisCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCurve>(); } void Ifc4x3_rc1::IfcOffsetCurve::setBasisCurve(const ::Ifc4x3_rc1::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -12300,7 +12300,7 @@ double Ifc4x3_rc1::IfcOffsetCurve3D::Distance() const { double v = get_attribut void Ifc4x3_rc1::IfcOffsetCurve3D::setDistance(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } boost::logic::tribool Ifc4x3_rc1::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcOffsetCurve3D::setSelfIntersect(const boost::logic::tribool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcOffsetCurve3D::RefDirection() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcDirection>(); } +::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcOffsetCurve3D::RefDirection() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcDirection>(); } void Ifc4x3_rc1::IfcOffsetCurve3D::setRefDirection(const ::Ifc4x3_rc1::IfcDirection& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -12308,14 +12308,14 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcOffsetCurve3D::Class() { return *((if 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); } -void Ifc4x3_rc1::IfcOffsetCurveByDistances::setOffsetValues(const std::vector< ::Ifc4x3_rc1::IfcDistanceExpression >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc1::IfcDistanceExpression > Ifc4x3_rc1::IfcOffsetCurveByDistances::OffsetValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcDistanceExpression>(es); } +void Ifc4x3_rc1::IfcOffsetCurveByDistances::setOffsetValues(const std::vector< ::Ifc4x3_rc1::IfcDistanceExpression >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_rc1::IfcOffsetCurveByDistances::Tag() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcOffsetCurveByDistances::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_rc1::IfcOffsetCurveByDistances::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[722]); } -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; } +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; } @@ -12335,7 +12335,7 @@ Ifc4x3_rc1::IfcOpenCrossProfileDef Ifc4x3_rc1::IfcOpenCrossProfileDef::initializ const ifcopenshell::entity& Ifc4x3_rc1::IfcOpenShell::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[727]); } -Ifc4x3_rc1::IfcOpenShell Ifc4x3_rc1::IfcOpenShell::initialize(std::vector< ::Ifc4x3_rc1::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } +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)); } @@ -12359,32 +12359,32 @@ std::string Ifc4x3_rc1::IfcOrganization::Name() const { std::string v = get_att void Ifc4x3_rc1::IfcOrganization::setName(const std::string& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_rc1::IfcOrganization::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcOrganization::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::optional< std::vector< ::Ifc4x3_rc1::IfcActorRole > > Ifc4x3_rc1::IfcOrganization::Roles() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc1::IfcActorRole>(es); } -void Ifc4x3_rc1::IfcOrganization::setRoles(const std::optional< std::vector< ::Ifc4x3_rc1::IfcActorRole > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } -std::optional< std::vector< ::Ifc4x3_rc1::IfcAddress > > Ifc4x3_rc1::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc1::IfcAddress>(es); } -void Ifc4x3_rc1::IfcOrganization::setAddresses(const std::optional< std::vector< ::Ifc4x3_rc1::IfcAddress > >& v) { if (v) {set_attribute_value(4, cast_vector(*v));} else {unset_attribute_value(4);} } +std::optional< std::vector< ::Ifc4x3_rc1::IfcActorRole > > Ifc4x3_rc1::IfcOrganization::Roles() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc1::IfcActorRole>(es); } +void Ifc4x3_rc1::IfcOrganization::setRoles(const std::optional< std::vector< ::Ifc4x3_rc1::IfcActorRole > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } +std::optional< std::vector< ::Ifc4x3_rc1::IfcAddress > > Ifc4x3_rc1::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc1::IfcAddress>(es); } +void Ifc4x3_rc1::IfcOrganization::setAddresses(const std::optional< std::vector< ::Ifc4x3_rc1::IfcAddress > >& v) { if (v) {set_attribute_value(4, cast_vector(*v));} else {unset_attribute_value(4);} } std::vector<::Ifc4x3_rc1::IfcOrganizationRelationship> Ifc4x3_rc1::IfcOrganization::IsRelatedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[729], 3)); } std::vector<::Ifc4x3_rc1::IfcOrganizationRelationship> Ifc4x3_rc1::IfcOrganization::Relates() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[729], 2)); } 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]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcOrganization Ifc4x3_rc1::IfcOrganizationRelationship::RelatingOrganization() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcOrganization>(); } void Ifc4x3_rc1::IfcOrganizationRelationship::setRelatingOrganization(const ::Ifc4x3_rc1::IfcOrganization& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_rc1::IfcOrganization > Ifc4x3_rc1::IfcOrganizationRelationship::RelatedOrganizations() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc1::IfcOrganization>(es); } -void Ifc4x3_rc1::IfcOrganizationRelationship::setRelatedOrganizations(const std::vector< ::Ifc4x3_rc1::IfcOrganization >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc1::IfcOrganization > Ifc4x3_rc1::IfcOrganizationRelationship::RelatedOrganizations() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc1::IfcOrganization>(es); } +void Ifc4x3_rc1::IfcOrganizationRelationship::setRelatedOrganizations(const std::vector< ::Ifc4x3_rc1::IfcOrganization >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc1::IfcOrganizationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[729]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcOrientationExpression::LateralAxisDirection() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcDirection>(); } void Ifc4x3_rc1::IfcOrientationExpression::setLateralAxisDirection(const ::Ifc4x3_rc1::IfcDirection& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcOrientationExpression::VerticalAxisDirection() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcDirection>(); } +::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcOrientationExpression::VerticalAxisDirection() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcDirection>(); } void Ifc4x3_rc1::IfcOrientationExpression::setVerticalAxisDirection(const ::Ifc4x3_rc1::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -12392,7 +12392,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcOrientationExpression::Class() { retu 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>(); } +::Ifc4x3_rc1::IfcEdge Ifc4x3_rc1::IfcOrientedEdge::EdgeElement() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcEdge>(); } void Ifc4x3_rc1::IfcOrientedEdge::setEdgeElement(const ::Ifc4x3_rc1::IfcEdge& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } bool Ifc4x3_rc1::IfcOrientedEdge::Orientation() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcOrientedEdge::setOrientation(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -12405,7 +12405,7 @@ Ifc4x3_rc1::IfcOrientedEdge Ifc4x3_rc1::IfcOrientedEdge::initialize(::Ifc4x3_rc1 const ifcopenshell::entity& Ifc4x3_rc1::IfcOuterBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[732]); } -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; } +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)); } @@ -12421,12 +12421,12 @@ void Ifc4x3_rc1::IfcOutletType::setPredefinedType(const ::Ifc4x3_rc1::IfcOutletT const ifcopenshell::entity& Ifc4x3_rc1::IfcOutletType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[734]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcPersonAndOrganization Ifc4x3_rc1::IfcOwnerHistory::OwningUser() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcPersonAndOrganization>(); } void Ifc4x3_rc1::IfcOwnerHistory::setOwningUser(const ::Ifc4x3_rc1::IfcPersonAndOrganization& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcApplication Ifc4x3_rc1::IfcOwnerHistory::OwningApplication() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcApplication>(); } +::Ifc4x3_rc1::IfcApplication Ifc4x3_rc1::IfcOwnerHistory::OwningApplication() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcApplication>(); } void Ifc4x3_rc1::IfcOwnerHistory::setOwningApplication(const ::Ifc4x3_rc1::IfcApplication& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< ::Ifc4x3_rc1::IfcStateEnum::Value > Ifc4x3_rc1::IfcOwnerHistory::State() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcStateEnum::FromString(get_attribute_value(2)); } void Ifc4x3_rc1::IfcOwnerHistory::setState(const std::optional< ::Ifc4x3_rc1::IfcStateEnum::Value >& v) { if (v) {set_attribute_value(2, enumeration_reference(&::Ifc4x3_rc1::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } @@ -12434,9 +12434,9 @@ std::optional< ::Ifc4x3_rc1::IfcChangeActionEnum::Value > Ifc4x3_rc1::IfcOwnerHi void Ifc4x3_rc1::IfcOwnerHistory::setChangeAction(const std::optional< ::Ifc4x3_rc1::IfcChangeActionEnum::Value >& v) { if (v) {set_attribute_value(3, enumeration_reference(&::Ifc4x3_rc1::IfcChangeActionEnum::Class(), (size_t) *v));} else {unset_attribute_value(3);} } std::optional< int64_t > Ifc4x3_rc1::IfcOwnerHistory::LastModifiedDate() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcOwnerHistory::setLastModifiedDate(const std::optional< int64_t >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc1::IfcPersonAndOrganization Ifc4x3_rc1::IfcOwnerHistory::LastModifyingUser() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc1::IfcPersonAndOrganization{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcPersonAndOrganization>(); } +::Ifc4x3_rc1::IfcPersonAndOrganization Ifc4x3_rc1::IfcOwnerHistory::LastModifyingUser() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc1::IfcPersonAndOrganization{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcPersonAndOrganization>(); } void Ifc4x3_rc1::IfcOwnerHistory::setLastModifyingUser(const ::Ifc4x3_rc1::IfcPersonAndOrganization& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc1::IfcApplication Ifc4x3_rc1::IfcOwnerHistory::LastModifyingApplication() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcApplication{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcApplication>(); } +::Ifc4x3_rc1::IfcApplication Ifc4x3_rc1::IfcOwnerHistory::LastModifyingApplication() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcApplication{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcApplication>(); } void Ifc4x3_rc1::IfcOwnerHistory::setLastModifyingApplication(const ::Ifc4x3_rc1::IfcApplication& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } int64_t Ifc4x3_rc1::IfcOwnerHistory::CreationDate() const { int64_t v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcOwnerHistory::setCreationDate(const int64_t& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -12446,7 +12446,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcOwnerHistory::Class() { return *((ifc 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< int64_t > v5_LastModifiedDate, ::Ifc4x3_rc1::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_rc1::IfcApplication v7_LastModifyingApplication, int64_t 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>(); } +::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>(); } void Ifc4x3_rc1::IfcParameterizedProfileDef::setPosition(const ::Ifc4x3_rc1::IfcAxis2Placement2D& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -12454,12 +12454,12 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcParameterizedProfileDef::Class() { re 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); } -void Ifc4x3_rc1::IfcPath::setEdgeList(const std::vector< ::Ifc4x3_rc1::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc1::IfcOrientedEdge > Ifc4x3_rc1::IfcPath::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcOrientedEdge>(es); } +void Ifc4x3_rc1::IfcPath::setEdgeList(const std::vector< ::Ifc4x3_rc1::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc1::IfcPath::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[739]); } -Ifc4x3_rc1::IfcPath Ifc4x3_rc1::IfcPath::initialize(std::vector< ::Ifc4x3_rc1::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } +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; } @@ -12475,12 +12475,12 @@ 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]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcSurface Ifc4x3_rc1::IfcPcurve::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcSurface>(); } void Ifc4x3_rc1::IfcPcurve::setBasisSurface(const ::Ifc4x3_rc1::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcPcurve::ReferenceCurve() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcCurve>(); } +::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcPcurve::ReferenceCurve() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcCurve>(); } void Ifc4x3_rc1::IfcPcurve::setReferenceCurve(const ::Ifc4x3_rc1::IfcCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -12506,7 +12506,7 @@ std::optional< double > Ifc4x3_rc1::IfcPermeableCoveringProperties::FrameDepth() void Ifc4x3_rc1::IfcPermeableCoveringProperties::setFrameDepth(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } std::optional< double > Ifc4x3_rc1::IfcPermeableCoveringProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcPermeableCoveringProperties::setFrameThickness(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc1::IfcShapeAspect Ifc4x3_rc1::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc1::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc1::IfcShapeAspect>(); } +::Ifc4x3_rc1::IfcShapeAspect Ifc4x3_rc1::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc1::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc1::IfcShapeAspect>(); } void Ifc4x3_rc1::IfcPermeableCoveringProperties::setShapeAspectStyle(const ::Ifc4x3_rc1::IfcShapeAspect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -12538,31 +12538,31 @@ std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcPerson::Pre void Ifc4x3_rc1::IfcPerson::setPrefixTitles(const std::optional< std::vector< std::string > /*[1:?]*/ >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcPerson::SuffixTitles() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcPerson::setSuffixTitles(const std::optional< std::vector< std::string > /*[1:?]*/ >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::optional< std::vector< ::Ifc4x3_rc1::IfcActorRole > > Ifc4x3_rc1::IfcPerson::Roles() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc1::IfcActorRole>(es); } -void Ifc4x3_rc1::IfcPerson::setRoles(const std::optional< std::vector< ::Ifc4x3_rc1::IfcActorRole > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x3_rc1::IfcAddress > > Ifc4x3_rc1::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc1::IfcAddress>(es); } -void Ifc4x3_rc1::IfcPerson::setAddresses(const std::optional< std::vector< ::Ifc4x3_rc1::IfcAddress > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x3_rc1::IfcActorRole > > Ifc4x3_rc1::IfcPerson::Roles() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc1::IfcActorRole>(es); } +void Ifc4x3_rc1::IfcPerson::setRoles(const std::optional< std::vector< ::Ifc4x3_rc1::IfcActorRole > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +std::optional< std::vector< ::Ifc4x3_rc1::IfcAddress > > Ifc4x3_rc1::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc1::IfcAddress>(es); } +void Ifc4x3_rc1::IfcPerson::setAddresses(const std::optional< std::vector< ::Ifc4x3_rc1::IfcAddress > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } 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]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcPerson Ifc4x3_rc1::IfcPersonAndOrganization::ThePerson() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcPerson>(); } void Ifc4x3_rc1::IfcPersonAndOrganization::setThePerson(const ::Ifc4x3_rc1::IfcPerson& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcOrganization Ifc4x3_rc1::IfcPersonAndOrganization::TheOrganization() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcOrganization>(); } +::Ifc4x3_rc1::IfcOrganization Ifc4x3_rc1::IfcPersonAndOrganization::TheOrganization() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcOrganization>(); } void Ifc4x3_rc1::IfcPersonAndOrganization::setTheOrganization(const ::Ifc4x3_rc1::IfcOrganization& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::optional< std::vector< ::Ifc4x3_rc1::IfcActorRole > > Ifc4x3_rc1::IfcPersonAndOrganization::Roles() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcActorRole>(es); } -void Ifc4x3_rc1::IfcPersonAndOrganization::setRoles(const std::optional< std::vector< ::Ifc4x3_rc1::IfcActorRole > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4x3_rc1::IfcActorRole > > Ifc4x3_rc1::IfcPersonAndOrganization::Roles() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcActorRole>(es); } +void Ifc4x3_rc1::IfcPersonAndOrganization::setRoles(const std::optional< std::vector< ::Ifc4x3_rc1::IfcActorRole > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_rc1::IfcPersonAndOrganization::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[750]); } -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; } +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); } -void Ifc4x3_rc1::IfcPhysicalComplexQuantity::setHasQuantities(const std::vector< ::Ifc4x3_rc1::IfcPhysicalQuantity >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc1::IfcPhysicalQuantity > Ifc4x3_rc1::IfcPhysicalComplexQuantity::HasQuantities() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcPhysicalQuantity>(es); } +void Ifc4x3_rc1::IfcPhysicalComplexQuantity::setHasQuantities(const std::vector< ::Ifc4x3_rc1::IfcPhysicalQuantity >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::string Ifc4x3_rc1::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcPhysicalComplexQuantity::setDiscrimination(const std::string& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc1::IfcPhysicalComplexQuantity::Quality() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -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]); } -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; } +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; } @@ -12587,7 +12587,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcPhysicalQuantity::Class() { return *( 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>(); } +::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>(); } void Ifc4x3_rc1::IfcPhysicalSimpleQuantity::setUnit(const ::Ifc4x3_rc1::IfcNamedUnit& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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 int64_t Ifc4x3_rc1::IfcPixelTexture::Width() const { int64_t v = get_attribute_value(5); return v; } @@ -12659,7 +12659,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcPixelTexture::Class() { return *((ifc 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, int64_t v6_Width, int64_t v7_Height, int64_t 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>(); } +::Ifc4x3_rc1::IfcCartesianPoint Ifc4x3_rc1::IfcPlacement::Location() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCartesianPoint>(); } void Ifc4x3_rc1::IfcPlacement::setLocation(const ::Ifc4x3_rc1::IfcCartesianPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -12667,7 +12667,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcPlacement::Class() { return *((ifcope 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>(); } +::Ifc4x3_rc1::IfcAxis2Placement Ifc4x3_rc1::IfcPlanarBox::Placement() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcAxis2Placement>(); } void Ifc4x3_rc1::IfcPlanarBox::setPlacement(const ::Ifc4x3_rc1::IfcAxis2Placement& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -12716,7 +12716,7 @@ void Ifc4x3_rc1::IfcPlateType::setPredefinedType(const ::Ifc4x3_rc1::IfcPlateTyp const ifcopenshell::entity& Ifc4x3_rc1::IfcPlateType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[776]); } -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; } +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 @@ -12725,7 +12725,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcPoint::Class() { return *((ifcopenshe 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>(); } +::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcPointOnCurve::BasisCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCurve>(); } void Ifc4x3_rc1::IfcPointOnCurve::setBasisCurve(const ::Ifc4x3_rc1::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc1::IfcPointOnCurve::PointParameter() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcPointOnCurve::setPointParameter(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -12735,7 +12735,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcPointOnCurve::Class() { return *((ifc 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>(); } +::Ifc4x3_rc1::IfcSurface Ifc4x3_rc1::IfcPointOnSurface::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcSurface>(); } void Ifc4x3_rc1::IfcPointOnSurface::setBasisSurface(const ::Ifc4x3_rc1::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc1::IfcPointOnSurface::PointParameterU() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcPointOnSurface::setPointParameterU(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -12747,17 +12747,17 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcPointOnSurface::Class() { return *((i 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); } -void Ifc4x3_rc1::IfcPolyLoop::setPolygon(const std::vector< ::Ifc4x3_rc1::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > Ifc4x3_rc1::IfcPolyLoop::Polygon() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcCartesianPoint>(es); } +void Ifc4x3_rc1::IfcPolyLoop::setPolygon(const std::vector< ::Ifc4x3_rc1::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc1::IfcPolyLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[785]); } -Ifc4x3_rc1::IfcPolyLoop Ifc4x3_rc1::IfcPolyLoop::initialize(std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon));; return *this; } +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>(); } +::Ifc4x3_rc1::IfcAxis2Placement3D Ifc4x3_rc1::IfcPolygonalBoundedHalfSpace::Position() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcAxis2Placement3D>(); } void Ifc4x3_rc1::IfcPolygonalBoundedHalfSpace::setPosition(const ::Ifc4x3_rc1::IfcAxis2Placement3D& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcBoundedCurve Ifc4x3_rc1::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcBoundedCurve>(); } +::Ifc4x3_rc1::IfcBoundedCurve Ifc4x3_rc1::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcBoundedCurve>(); } void Ifc4x3_rc1::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(const ::Ifc4x3_rc1::IfcBoundedCurve& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -12767,22 +12767,22 @@ Ifc4x3_rc1::IfcPolygonalBoundedHalfSpace Ifc4x3_rc1::IfcPolygonalBoundedHalfSpac // 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; } void Ifc4x3_rc1::IfcPolygonalFaceSet::setClosed(const std::optional< bool >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x3_rc1::IfcIndexedPolygonalFace > Ifc4x3_rc1::IfcPolygonalFaceSet::Faces() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcIndexedPolygonalFace>(es); } -void Ifc4x3_rc1::IfcPolygonalFaceSet::setFaces(const std::vector< ::Ifc4x3_rc1::IfcIndexedPolygonalFace >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc1::IfcIndexedPolygonalFace > Ifc4x3_rc1::IfcPolygonalFaceSet::Faces() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcIndexedPolygonalFace>(es); } +void Ifc4x3_rc1::IfcPolygonalFaceSet::setFaces(const std::vector< ::Ifc4x3_rc1::IfcIndexedPolygonalFace >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::optional< std::vector< int64_t > /*[1:?]*/ > Ifc4x3_rc1::IfcPolygonalFaceSet::PnIndex() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< int64_t > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcPolygonalFaceSet::setPnIndex(const std::optional< std::vector< int64_t > /*[1:?]*/ >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const ifcopenshell::entity& Ifc4x3_rc1::IfcPolygonalFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[783]); } -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< int64_t > /*[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; } +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< int64_t > /*[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); } -void Ifc4x3_rc1::IfcPolyline::setPoints(const std::vector< ::Ifc4x3_rc1::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > Ifc4x3_rc1::IfcPolyline::Points() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcCartesianPoint>(es); } +void Ifc4x3_rc1::IfcPolyline::setPoints(const std::vector< ::Ifc4x3_rc1::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc1::IfcPolyline::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[784]); } -Ifc4x3_rc1::IfcPolyline Ifc4x3_rc1::IfcPolyline::initialize(std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points));; return *this; } +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 @@ -12870,14 +12870,14 @@ std::string Ifc4x3_rc1::IfcPresentationLayerAssignment::Name() const { std::str void Ifc4x3_rc1::IfcPresentationLayerAssignment::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x3_rc1::IfcPresentationLayerAssignment::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcPresentationLayerAssignment::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x3_rc1::IfcLayeredItem > Ifc4x3_rc1::IfcPresentationLayerAssignment::AssignedItems() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcLayeredItem>(es); } -void Ifc4x3_rc1::IfcPresentationLayerAssignment::setAssignedItems(const std::vector< ::Ifc4x3_rc1::IfcLayeredItem >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc1::IfcLayeredItem > Ifc4x3_rc1::IfcPresentationLayerAssignment::AssignedItems() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcLayeredItem>(es); } +void Ifc4x3_rc1::IfcPresentationLayerAssignment::setAssignedItems(const std::vector< ::Ifc4x3_rc1::IfcLayeredItem >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4x3_rc1::IfcPresentationLayerAssignment::Identifier() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcPresentationLayerAssignment::setIdentifier(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const ifcopenshell::entity& Ifc4x3_rc1::IfcPresentationLayerAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[803]); } -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; } +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; } @@ -12886,12 +12886,12 @@ boost::logic::tribool Ifc4x3_rc1::IfcPresentationLayerWithStyle::LayerFrozen() c void Ifc4x3_rc1::IfcPresentationLayerWithStyle::setLayerFrozen(const boost::logic::tribool& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } boost::logic::tribool Ifc4x3_rc1::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcPresentationLayerWithStyle::setLayerBlocked(const boost::logic::tribool& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::vector< ::Ifc4x3_rc1::IfcPresentationStyle > Ifc4x3_rc1::IfcPresentationLayerWithStyle::LayerStyles() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc1::IfcPresentationStyle>(es); } -void Ifc4x3_rc1::IfcPresentationLayerWithStyle::setLayerStyles(const std::vector< ::Ifc4x3_rc1::IfcPresentationStyle >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } +std::vector< ::Ifc4x3_rc1::IfcPresentationStyle > Ifc4x3_rc1::IfcPresentationLayerWithStyle::LayerStyles() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc1::IfcPresentationStyle>(es); } +void Ifc4x3_rc1::IfcPresentationLayerWithStyle::setLayerStyles(const std::vector< ::Ifc4x3_rc1::IfcPresentationStyle >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } const ifcopenshell::entity& Ifc4x3_rc1::IfcPresentationLayerWithStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[804]); } -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; } +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; } @@ -12902,12 +12902,12 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcPresentationStyle::Class() { return * 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); } -void Ifc4x3_rc1::IfcPresentationStyleAssignment::setStyles(const std::vector< ::Ifc4x3_rc1::IfcPresentationStyleSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc1::IfcPresentationStyleSelect > Ifc4x3_rc1::IfcPresentationStyleAssignment::Styles() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcPresentationStyleSelect>(es); } +void Ifc4x3_rc1::IfcPresentationStyleAssignment::setStyles(const std::vector< ::Ifc4x3_rc1::IfcPresentationStyleSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc1::IfcPresentationStyleAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[806]); } -Ifc4x3_rc1::IfcPresentationStyleAssignment Ifc4x3_rc1::IfcPresentationStyleAssignment::initialize(std::vector< ::Ifc4x3_rc1::IfcPresentationStyleSelect > v1_Styles) { set_attribute_value(0, cast_vector(v1_Styles));; return *this; } +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)); } @@ -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]); } -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; } +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; } @@ -12939,9 +12939,9 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcProcess::Class() { return *((ifcopens 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>(); } +::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>(); } void Ifc4x3_rc1::IfcProduct::setObjectPlacement(const ::Ifc4x3_rc1::IfcObjectPlacement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc1::IfcProductRepresentation Ifc4x3_rc1::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcProductRepresentation{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcProductRepresentation>(); } +::Ifc4x3_rc1::IfcProductRepresentation Ifc4x3_rc1::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcProductRepresentation{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcProductRepresentation>(); } void Ifc4x3_rc1::IfcProduct::setRepresentation(const ::Ifc4x3_rc1::IfcProductRepresentation& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::vector<::Ifc4x3_rc1::IfcRelAssignsToProduct> Ifc4x3_rc1::IfcProduct::ReferencedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[917], 6)); } @@ -12957,19 +12957,19 @@ 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]); } -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; } +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; } void Ifc4x3_rc1::IfcProductRepresentation::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_rc1::IfcProductRepresentation::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcProductRepresentation::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x3_rc1::IfcRepresentation > Ifc4x3_rc1::IfcProductRepresentation::Representations() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcRepresentation>(es); } -void Ifc4x3_rc1::IfcProductRepresentation::setRepresentations(const std::vector< ::Ifc4x3_rc1::IfcRepresentation >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc1::IfcRepresentation > Ifc4x3_rc1::IfcProductRepresentation::Representations() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcRepresentation>(es); } +void Ifc4x3_rc1::IfcProductRepresentation::setRepresentations(const std::vector< ::Ifc4x3_rc1::IfcRepresentation >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc1::IfcProductRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[816]); } -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; } +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)); } @@ -12984,24 +12984,24 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcProfileDef::Class() { return *((ifcop 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>(); } +::Ifc4x3_rc1::IfcProfileDef Ifc4x3_rc1::IfcProfileProperties::ProfileDefinition() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcProfileDef>(); } void Ifc4x3_rc1::IfcProfileProperties::setProfileDefinition(const ::Ifc4x3_rc1::IfcProfileDef& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc1::IfcProfileProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[820]); } -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; } +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]); } -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; } +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]); } -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; } +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)); } @@ -13020,7 +13020,7 @@ std::optional< std::string > Ifc4x3_rc1::IfcProjectedCRS::MapProjection() const void Ifc4x3_rc1::IfcProjectedCRS::setMapProjection(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } std::optional< std::string > Ifc4x3_rc1::IfcProjectedCRS::MapZone() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcProjectedCRS::setMapZone(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc1::IfcNamedUnit Ifc4x3_rc1::IfcProjectedCRS::MapUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcNamedUnit{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcNamedUnit>(); } +::Ifc4x3_rc1::IfcNamedUnit Ifc4x3_rc1::IfcProjectedCRS::MapUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcNamedUnit{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcNamedUnit>(); } void Ifc4x3_rc1::IfcProjectedCRS::setMapUnit(const ::Ifc4x3_rc1::IfcNamedUnit& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -13059,13 +13059,13 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcPropertyAbstraction::Class() { return 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>(); } +::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>(); } void Ifc4x3_rc1::IfcPropertyBoundedValue::setUpperBoundValue(const ::Ifc4x3_rc1::IfcValue& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcValue Ifc4x3_rc1::IfcPropertyBoundedValue::LowerBoundValue() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcValue{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcValue>(); } +::Ifc4x3_rc1::IfcValue Ifc4x3_rc1::IfcPropertyBoundedValue::LowerBoundValue() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcValue{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcValue>(); } void Ifc4x3_rc1::IfcPropertyBoundedValue::setLowerBoundValue(const ::Ifc4x3_rc1::IfcValue& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc1::IfcUnit Ifc4x3_rc1::IfcPropertyBoundedValue::Unit() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc1::IfcUnit{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcUnit>(); } +::Ifc4x3_rc1::IfcUnit Ifc4x3_rc1::IfcPropertyBoundedValue::Unit() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc1::IfcUnit{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcUnit>(); } void Ifc4x3_rc1::IfcPropertyBoundedValue::setUnit(const ::Ifc4x3_rc1::IfcUnit& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcValue Ifc4x3_rc1::IfcPropertyBoundedValue::SetPointValue() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc1::IfcValue{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcValue>(); } +::Ifc4x3_rc1::IfcValue Ifc4x3_rc1::IfcPropertyBoundedValue::SetPointValue() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc1::IfcValue{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcValue>(); } void Ifc4x3_rc1::IfcPropertyBoundedValue::setSetPointValue(const ::Ifc4x3_rc1::IfcValue& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -13081,9 +13081,9 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcPropertyDefinition::Class() { return 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>(); } +::Ifc4x3_rc1::IfcProperty Ifc4x3_rc1::IfcPropertyDependencyRelationship::DependingProperty() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcProperty>(); } void Ifc4x3_rc1::IfcPropertyDependencyRelationship::setDependingProperty(const ::Ifc4x3_rc1::IfcProperty& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcProperty Ifc4x3_rc1::IfcPropertyDependencyRelationship::DependantProperty() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcProperty>(); } +::Ifc4x3_rc1::IfcProperty Ifc4x3_rc1::IfcPropertyDependencyRelationship::DependantProperty() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcProperty>(); } void Ifc4x3_rc1::IfcPropertyDependencyRelationship::setDependantProperty(const ::Ifc4x3_rc1::IfcProperty& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc1::IfcPropertyDependencyRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcPropertyDependencyRelationship::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -13093,41 +13093,41 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcPropertyDependencyRelationship::Class 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); } -void Ifc4x3_rc1::IfcPropertyEnumeratedValue::setEnumerationValues(const std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } -::Ifc4x3_rc1::IfcPropertyEnumeration Ifc4x3_rc1::IfcPropertyEnumeratedValue::EnumerationReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcPropertyEnumeration{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcPropertyEnumeration>(); } +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); } +void Ifc4x3_rc1::IfcPropertyEnumeratedValue::setEnumerationValues(const std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +::Ifc4x3_rc1::IfcPropertyEnumeration Ifc4x3_rc1::IfcPropertyEnumeratedValue::EnumerationReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcPropertyEnumeration{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcPropertyEnumeration>(); } void Ifc4x3_rc1::IfcPropertyEnumeratedValue::setEnumerationReference(const ::Ifc4x3_rc1::IfcPropertyEnumeration& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc1::IfcPropertyEnumeratedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[835]); } -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; } +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; } void Ifc4x3_rc1::IfcPropertyEnumeration::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc1::IfcValue > Ifc4x3_rc1::IfcPropertyEnumeration::EnumerationValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcValue>(es); } -void Ifc4x3_rc1::IfcPropertyEnumeration::setEnumerationValues(const std::vector< ::Ifc4x3_rc1::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcUnit Ifc4x3_rc1::IfcPropertyEnumeration::Unit() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc1::IfcUnit{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcUnit>(); } +std::vector< ::Ifc4x3_rc1::IfcValue > Ifc4x3_rc1::IfcPropertyEnumeration::EnumerationValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcValue>(es); } +void Ifc4x3_rc1::IfcPropertyEnumeration::setEnumerationValues(const std::vector< ::Ifc4x3_rc1::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +::Ifc4x3_rc1::IfcUnit Ifc4x3_rc1::IfcPropertyEnumeration::Unit() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc1::IfcUnit{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcUnit>(); } void Ifc4x3_rc1::IfcPropertyEnumeration::setUnit(const ::Ifc4x3_rc1::IfcUnit& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc1::IfcPropertyEnumeration::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[836]); } -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; } +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); } -void Ifc4x3_rc1::IfcPropertyListValue::setListValues(const std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } -::Ifc4x3_rc1::IfcUnit Ifc4x3_rc1::IfcPropertyListValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcUnit>(); } +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); } +void Ifc4x3_rc1::IfcPropertyListValue::setListValues(const std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +::Ifc4x3_rc1::IfcUnit Ifc4x3_rc1::IfcPropertyListValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcUnit>(); } void Ifc4x3_rc1::IfcPropertyListValue::setUnit(const ::Ifc4x3_rc1::IfcUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc1::IfcPropertyListValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[837]); } -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; } +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; } void Ifc4x3_rc1::IfcPropertyReferenceValue::setUsageName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc1::IfcObjectReferenceSelect Ifc4x3_rc1::IfcPropertyReferenceValue::PropertyReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcObjectReferenceSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcObjectReferenceSelect>(); } +::Ifc4x3_rc1::IfcObjectReferenceSelect Ifc4x3_rc1::IfcPropertyReferenceValue::PropertyReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcObjectReferenceSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcObjectReferenceSelect>(); } void Ifc4x3_rc1::IfcPropertyReferenceValue::setPropertyReference(const ::Ifc4x3_rc1::IfcObjectReferenceSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -13135,12 +13135,12 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcPropertyReferenceValue::Class() { ret 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); } -void Ifc4x3_rc1::IfcPropertySet::setHasProperties(const std::vector< ::Ifc4x3_rc1::IfcProperty >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +std::vector< ::Ifc4x3_rc1::IfcProperty > Ifc4x3_rc1::IfcPropertySet::HasProperties() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc1::IfcProperty>(es); } +void Ifc4x3_rc1::IfcPropertySet::setHasProperties(const std::vector< ::Ifc4x3_rc1::IfcProperty >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } const ifcopenshell::entity& Ifc4x3_rc1::IfcPropertySet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[839]); } -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; } +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 @@ -13156,18 +13156,18 @@ std::optional< ::Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3_rc1: void Ifc4x3_rc1::IfcPropertySetTemplate::setTemplateType(const std::optional< ::Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::Value >& v) { if (v) {set_attribute_value(4, enumeration_reference(&::Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } std::optional< std::string > Ifc4x3_rc1::IfcPropertySetTemplate::ApplicableEntity() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcPropertySetTemplate::setApplicableEntity(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector< ::Ifc4x3_rc1::IfcPropertyTemplate > Ifc4x3_rc1::IfcPropertySetTemplate::HasPropertyTemplates() const { std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc1::IfcPropertyTemplate>(es); } -void Ifc4x3_rc1::IfcPropertySetTemplate::setHasPropertyTemplates(const std::vector< ::Ifc4x3_rc1::IfcPropertyTemplate >& v) { set_attribute_value(6, cast_vector(v));if constexpr (false)unset_attribute_value(6); } +std::vector< ::Ifc4x3_rc1::IfcPropertyTemplate > Ifc4x3_rc1::IfcPropertySetTemplate::HasPropertyTemplates() const { std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc1::IfcPropertyTemplate>(es); } +void Ifc4x3_rc1::IfcPropertySetTemplate::setHasPropertyTemplates(const std::vector< ::Ifc4x3_rc1::IfcPropertyTemplate >& v) { set_attribute_value(6, cast_vector(v));if constexpr (false)unset_attribute_value(6); } 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]); } -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; } +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>(); } +::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>(); } void Ifc4x3_rc1::IfcPropertySingleValue::setNominalValue(const ::Ifc4x3_rc1::IfcValue& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcUnit Ifc4x3_rc1::IfcPropertySingleValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcUnit>(); } +::Ifc4x3_rc1::IfcUnit Ifc4x3_rc1::IfcPropertySingleValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcUnit>(); } void Ifc4x3_rc1::IfcPropertySingleValue::setUnit(const ::Ifc4x3_rc1::IfcUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -13175,22 +13175,22 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcPropertySingleValue::Class() { return 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); } -void Ifc4x3_rc1::IfcPropertyTableValue::setDefiningValues(const std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } -std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > > Ifc4x3_rc1::IfcPropertyTableValue::DefinedValues() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc1::IfcValue>(es); } -void Ifc4x3_rc1::IfcPropertyTableValue::setDefinedValues(const std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } +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); } +void Ifc4x3_rc1::IfcPropertyTableValue::setDefiningValues(const std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > > Ifc4x3_rc1::IfcPropertyTableValue::DefinedValues() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc1::IfcValue>(es); } +void Ifc4x3_rc1::IfcPropertyTableValue::setDefinedValues(const std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } std::optional< std::string > Ifc4x3_rc1::IfcPropertyTableValue::Expression() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcPropertyTableValue::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc1::IfcUnit Ifc4x3_rc1::IfcPropertyTableValue::DefiningUnit() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc1::IfcUnit{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcUnit>(); } +::Ifc4x3_rc1::IfcUnit Ifc4x3_rc1::IfcPropertyTableValue::DefiningUnit() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc1::IfcUnit{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcUnit>(); } void Ifc4x3_rc1::IfcPropertyTableValue::setDefiningUnit(const ::Ifc4x3_rc1::IfcUnit& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc1::IfcUnit Ifc4x3_rc1::IfcPropertyTableValue::DefinedUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcUnit{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcUnit>(); } +::Ifc4x3_rc1::IfcUnit Ifc4x3_rc1::IfcPropertyTableValue::DefinedUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcUnit{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcUnit>(); } void Ifc4x3_rc1::IfcPropertyTableValue::setDefinedUnit(const ::Ifc4x3_rc1::IfcUnit& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< ::Ifc4x3_rc1::IfcCurveInterpolationEnum::Value > Ifc4x3_rc1::IfcPropertyTableValue::CurveInterpolation() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcCurveInterpolationEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc1::IfcPropertyTableValue::setCurveInterpolation(const std::optional< ::Ifc4x3_rc1::IfcCurveInterpolationEnum::Value >& v) { if (v) {set_attribute_value(7, enumeration_reference(&::Ifc4x3_rc1::IfcCurveInterpolationEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const ifcopenshell::entity& Ifc4x3_rc1::IfcPropertyTableValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[846]); } -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; } +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 @@ -13228,7 +13228,7 @@ void Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(const :: const ifcopenshell::entity& Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[851]); } -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; } +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]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -13360,7 +13360,7 @@ void Ifc4x3_rc1::IfcRailingType::setPredefinedType(const ::Ifc4x3_rc1::IfcRailin const ifcopenshell::entity& Ifc4x3_rc1::IfcRailingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[869]); } -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; } +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 @@ -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]); } -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; } +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]); } -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; } +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]); } -Ifc4x3_rc1::IfcRationalBSplineCurveWithKnots Ifc4x3_rc1::IfcRationalBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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; } +Ifc4x3_rc1::IfcRationalBSplineCurveWithKnots Ifc4x3_rc1::IfcRationalBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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]); } -Ifc4x3_rc1::IfcRationalBSplineSurfaceWithKnots Ifc4x3_rc1::IfcRationalBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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; } +Ifc4x3_rc1::IfcRationalBSplineSurfaceWithKnots Ifc4x3_rc1::IfcRationalBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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; } @@ -13451,7 +13451,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcRectangularPyramid::Class() { return 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>(); } +::Ifc4x3_rc1::IfcSurface Ifc4x3_rc1::IfcRectangularTrimmedSurface::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcSurface>(); } void Ifc4x3_rc1::IfcRectangularTrimmedSurface::setBasisSurface(const ::Ifc4x3_rc1::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc1::IfcRectangularTrimmedSurface::U1() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcRectangularTrimmedSurface::setU1(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -13485,12 +13485,12 @@ std::optional< int64_t > Ifc4x3_rc1::IfcRecurrencePattern::Interval() const { if void Ifc4x3_rc1::IfcRecurrencePattern::setInterval(const std::optional< int64_t >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< int64_t > Ifc4x3_rc1::IfcRecurrencePattern::Occurrences() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcRecurrencePattern::setOccurrences(const std::optional< int64_t >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x3_rc1::IfcTimePeriod > > Ifc4x3_rc1::IfcRecurrencePattern::TimePeriods() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc1::IfcTimePeriod>(es); } -void Ifc4x3_rc1::IfcRecurrencePattern::setTimePeriods(const std::optional< std::vector< ::Ifc4x3_rc1::IfcTimePeriod > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x3_rc1::IfcTimePeriod > > Ifc4x3_rc1::IfcRecurrencePattern::TimePeriods() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc1::IfcTimePeriod>(es); } +void Ifc4x3_rc1::IfcRecurrencePattern::setTimePeriods(const std::optional< std::vector< ::Ifc4x3_rc1::IfcTimePeriod > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } const ifcopenshell::entity& Ifc4x3_rc1::IfcRecurrencePattern::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[889]); } -Ifc4x3_rc1::IfcRecurrencePattern Ifc4x3_rc1::IfcRecurrencePattern::initialize(::Ifc4x3_rc1::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int64_t > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v4_MonthComponent, std::optional< int64_t > v5_Position, std::optional< int64_t > v6_Interval, std::optional< int64_t > 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; } +Ifc4x3_rc1::IfcRecurrencePattern Ifc4x3_rc1::IfcRecurrencePattern::initialize(::Ifc4x3_rc1::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int64_t > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v4_MonthComponent, std::optional< int64_t > v5_Position, std::optional< int64_t > v6_Interval, std::optional< int64_t > 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; } @@ -13501,7 +13501,7 @@ std::optional< std::string > Ifc4x3_rc1::IfcReference::InstanceName() const { if void Ifc4x3_rc1::IfcReference::setInstanceName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } std::optional< std::vector< int64_t > /*[1:?]*/ > Ifc4x3_rc1::IfcReference::ListPositions() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< int64_t > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcReference::setListPositions(const std::optional< std::vector< int64_t > /*[1:?]*/ >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc1::IfcReference Ifc4x3_rc1::IfcReference::InnerReference() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc1::IfcReference{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcReference>(); } +::Ifc4x3_rc1::IfcReference Ifc4x3_rc1::IfcReference::InnerReference() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc1::IfcReference{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcReference>(); } void Ifc4x3_rc1::IfcReference::setInnerReference(const ::Ifc4x3_rc1::IfcReference& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -13521,12 +13521,12 @@ Ifc4x3_rc1::IfcReferent Ifc4x3_rc1::IfcReferent::initialize(std::string v1_Globa // Function implementations for IfcRegularTimeSeries double Ifc4x3_rc1::IfcRegularTimeSeries::TimeStep() const { double v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcRegularTimeSeries::setTimeStep(const double& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::vector< ::Ifc4x3_rc1::IfcTimeSeriesValue > Ifc4x3_rc1::IfcRegularTimeSeries::Values() const { std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc1::IfcTimeSeriesValue>(es); } -void Ifc4x3_rc1::IfcRegularTimeSeries::setValues(const std::vector< ::Ifc4x3_rc1::IfcTimeSeriesValue >& v) { set_attribute_value(9, cast_vector(v));if constexpr (false)unset_attribute_value(9); } +std::vector< ::Ifc4x3_rc1::IfcTimeSeriesValue > Ifc4x3_rc1::IfcRegularTimeSeries::Values() const { std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc1::IfcTimeSeriesValue>(es); } +void Ifc4x3_rc1::IfcRegularTimeSeries::setValues(const std::vector< ::Ifc4x3_rc1::IfcTimeSeriesValue >& v) { set_attribute_value(9, cast_vector(v));if constexpr (false)unset_attribute_value(9); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRegularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[895]); } -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; } +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)); } @@ -13557,12 +13557,12 @@ Ifc4x3_rc1::IfcReinforcementBarProperties Ifc4x3_rc1::IfcReinforcementBarPropert // 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; } void Ifc4x3_rc1::IfcReinforcementDefinitionProperties::setDefinitionType(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector< ::Ifc4x3_rc1::IfcSectionReinforcementProperties > Ifc4x3_rc1::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc1::IfcSectionReinforcementProperties>(es); } -void Ifc4x3_rc1::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(const std::vector< ::Ifc4x3_rc1::IfcSectionReinforcementProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc1::IfcSectionReinforcementProperties > Ifc4x3_rc1::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc1::IfcSectionReinforcementProperties>(es); } +void Ifc4x3_rc1::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(const std::vector< ::Ifc4x3_rc1::IfcSectionReinforcementProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc1::IfcReinforcementDefinitionProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[899]); } -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; } +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; } @@ -13593,12 +13593,12 @@ std::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc1::I void Ifc4x3_rc1::IfcReinforcingBarType::setBarSurface(const std::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value >& v) { if (v) {set_attribute_value(13, enumeration_reference(&::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } std::optional< std::string > Ifc4x3_rc1::IfcReinforcingBarType::BendingShapeCode() const { if(get_attribute_value(14).isNull()) { return std::nullopt; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_rc1::IfcReinforcingBarType::setBendingShapeCode(const std::optional< std::string >& v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -std::optional< std::vector< ::Ifc4x3_rc1::IfcBendingParameterSelect > > Ifc4x3_rc1::IfcReinforcingBarType::BendingParameters() const { if(get_attribute_value(15).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(15); return cast_vector<::Ifc4x3_rc1::IfcBendingParameterSelect>(es); } -void Ifc4x3_rc1::IfcReinforcingBarType::setBendingParameters(const std::optional< std::vector< ::Ifc4x3_rc1::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(15, cast_vector(*v));} else {unset_attribute_value(15);} } +std::optional< std::vector< ::Ifc4x3_rc1::IfcBendingParameterSelect > > Ifc4x3_rc1::IfcReinforcingBarType::BendingParameters() const { if(get_attribute_value(15).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(15); return cast_vector<::Ifc4x3_rc1::IfcBendingParameterSelect>(es); } +void Ifc4x3_rc1::IfcReinforcingBarType::setBendingParameters(const std::optional< std::vector< ::Ifc4x3_rc1::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(15, cast_vector(*v));} else {unset_attribute_value(15);} } const ifcopenshell::entity& Ifc4x3_rc1::IfcReinforcingBarType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[903]); } -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; } +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; } @@ -13612,7 +13612,7 @@ Ifc4x3_rc1::IfcReinforcingElement Ifc4x3_rc1::IfcReinforcingElement::initialize( const ifcopenshell::entity& Ifc4x3_rc1::IfcReinforcingElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[906]); } -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; } +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; } @@ -13659,58 +13659,58 @@ std::optional< double > Ifc4x3_rc1::IfcReinforcingMeshType::TransverseBarSpacing void Ifc4x3_rc1::IfcReinforcingMeshType::setTransverseBarSpacing(const std::optional< double >& v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } std::optional< std::string > Ifc4x3_rc1::IfcReinforcingMeshType::BendingShapeCode() const { if(get_attribute_value(18).isNull()) { return std::nullopt; } std::string v = get_attribute_value(18); return v; } void Ifc4x3_rc1::IfcReinforcingMeshType::setBendingShapeCode(const std::optional< std::string >& v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -std::optional< std::vector< ::Ifc4x3_rc1::IfcBendingParameterSelect > > Ifc4x3_rc1::IfcReinforcingMeshType::BendingParameters() const { if(get_attribute_value(19).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(19); return cast_vector<::Ifc4x3_rc1::IfcBendingParameterSelect>(es); } -void Ifc4x3_rc1::IfcReinforcingMeshType::setBendingParameters(const std::optional< std::vector< ::Ifc4x3_rc1::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(19, cast_vector(*v));} else {unset_attribute_value(19);} } +std::optional< std::vector< ::Ifc4x3_rc1::IfcBendingParameterSelect > > Ifc4x3_rc1::IfcReinforcingMeshType::BendingParameters() const { if(get_attribute_value(19).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(19); return cast_vector<::Ifc4x3_rc1::IfcBendingParameterSelect>(es); } +void Ifc4x3_rc1::IfcReinforcingMeshType::setBendingParameters(const std::optional< std::vector< ::Ifc4x3_rc1::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(19, cast_vector(*v));} else {unset_attribute_value(19);} } const ifcopenshell::entity& Ifc4x3_rc1::IfcReinforcingMeshType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[908]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcObjectDefinition Ifc4x3_rc1::IfcRelAggregates::RelatingObject() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcObjectDefinition>(); } void Ifc4x3_rc1::IfcRelAggregates::setRelatingObject(const ::Ifc4x3_rc1::IfcObjectDefinition& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > Ifc4x3_rc1::IfcRelAggregates::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc1::IfcObjectDefinition>(es); } -void Ifc4x3_rc1::IfcRelAggregates::setRelatedObjects(const std::vector< ::Ifc4x3_rc1::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > Ifc4x3_rc1::IfcRelAggregates::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc1::IfcObjectDefinition>(es); } +void Ifc4x3_rc1::IfcRelAggregates::setRelatedObjects(const std::vector< ::Ifc4x3_rc1::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAggregates::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[910]); } -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; } +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); } -void Ifc4x3_rc1::IfcRelAssigns::setRelatedObjects(const std::vector< ::Ifc4x3_rc1::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > Ifc4x3_rc1::IfcRelAssigns::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc1::IfcObjectDefinition>(es); } +void Ifc4x3_rc1::IfcRelAssigns::setRelatedObjects(const std::vector< ::Ifc4x3_rc1::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > Ifc4x3_rc1::IfcRelAssigns::RelatedObjectsType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcObjectTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc1::IfcRelAssigns::setRelatedObjectsType(const std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value >& v) { if (v) {set_attribute_value(5, enumeration_reference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssigns::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[911]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcActor Ifc4x3_rc1::IfcRelAssignsToActor::RelatingActor() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcActor>(); } void Ifc4x3_rc1::IfcRelAssignsToActor::setRelatingActor(const ::Ifc4x3_rc1::IfcActor& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc1::IfcActorRole Ifc4x3_rc1::IfcRelAssignsToActor::ActingRole() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc1::IfcActorRole{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc1::IfcActorRole>(); } +::Ifc4x3_rc1::IfcActorRole Ifc4x3_rc1::IfcRelAssignsToActor::ActingRole() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc1::IfcActorRole{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc1::IfcActorRole>(); } void Ifc4x3_rc1::IfcRelAssignsToActor::setActingRole(const ::Ifc4x3_rc1::IfcActorRole& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssignsToActor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[912]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcControl Ifc4x3_rc1::IfcRelAssignsToControl::RelatingControl() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcControl>(); } void Ifc4x3_rc1::IfcRelAssignsToControl::setRelatingControl(const ::Ifc4x3_rc1::IfcControl& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssignsToControl::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[913]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcGroup Ifc4x3_rc1::IfcRelAssignsToGroup::RelatingGroup() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcGroup>(); } void Ifc4x3_rc1::IfcRelAssignsToGroup::setRelatingGroup(const ::Ifc4x3_rc1::IfcGroup& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssignsToGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[914]); } -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; } +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,99 +13718,99 @@ void Ifc4x3_rc1::IfcRelAssignsToGroupByFactor::setFactor(const double& v) { set_ const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssignsToGroupByFactor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[915]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcProcessSelect Ifc4x3_rc1::IfcRelAssignsToProcess::RelatingProcess() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcProcessSelect>(); } void Ifc4x3_rc1::IfcRelAssignsToProcess::setRelatingProcess(const ::Ifc4x3_rc1::IfcProcessSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc1::IfcMeasureWithUnit Ifc4x3_rc1::IfcRelAssignsToProcess::QuantityInProcess() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc1::IfcMeasureWithUnit{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc1::IfcMeasureWithUnit>(); } +::Ifc4x3_rc1::IfcMeasureWithUnit Ifc4x3_rc1::IfcRelAssignsToProcess::QuantityInProcess() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc1::IfcMeasureWithUnit{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc1::IfcMeasureWithUnit>(); } void Ifc4x3_rc1::IfcRelAssignsToProcess::setQuantityInProcess(const ::Ifc4x3_rc1::IfcMeasureWithUnit& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssignsToProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[916]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcProductSelect Ifc4x3_rc1::IfcRelAssignsToProduct::RelatingProduct() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcProductSelect>(); } void Ifc4x3_rc1::IfcRelAssignsToProduct::setRelatingProduct(const ::Ifc4x3_rc1::IfcProductSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssignsToProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[917]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcResourceSelect Ifc4x3_rc1::IfcRelAssignsToResource::RelatingResource() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcResourceSelect>(); } void Ifc4x3_rc1::IfcRelAssignsToResource::setRelatingResource(const ::Ifc4x3_rc1::IfcResourceSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssignsToResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[918]); } -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; } +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); } -void Ifc4x3_rc1::IfcRelAssociates::setRelatedObjects(const std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > Ifc4x3_rc1::IfcRelAssociates::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc1::IfcDefinitionSelect>(es); } +void Ifc4x3_rc1::IfcRelAssociates::setRelatedObjects(const std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssociates::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[919]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcApproval Ifc4x3_rc1::IfcRelAssociatesApproval::RelatingApproval() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcApproval>(); } void Ifc4x3_rc1::IfcRelAssociatesApproval::setRelatingApproval(const ::Ifc4x3_rc1::IfcApproval& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssociatesApproval::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[920]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcClassificationSelect Ifc4x3_rc1::IfcRelAssociatesClassification::RelatingClassification() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcClassificationSelect>(); } void Ifc4x3_rc1::IfcRelAssociatesClassification::setRelatingClassification(const ::Ifc4x3_rc1::IfcClassificationSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssociatesClassification::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[921]); } -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; } +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; } void Ifc4x3_rc1::IfcRelAssociatesConstraint::setIntent(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc1::IfcConstraint Ifc4x3_rc1::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcConstraint>(); } +::Ifc4x3_rc1::IfcConstraint Ifc4x3_rc1::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcConstraint>(); } void Ifc4x3_rc1::IfcRelAssociatesConstraint::setRelatingConstraint(const ::Ifc4x3_rc1::IfcConstraint& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssociatesConstraint::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[922]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcDocumentSelect Ifc4x3_rc1::IfcRelAssociatesDocument::RelatingDocument() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcDocumentSelect>(); } void Ifc4x3_rc1::IfcRelAssociatesDocument::setRelatingDocument(const ::Ifc4x3_rc1::IfcDocumentSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssociatesDocument::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[923]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcLibrarySelect Ifc4x3_rc1::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcLibrarySelect>(); } void Ifc4x3_rc1::IfcRelAssociatesLibrary::setRelatingLibrary(const ::Ifc4x3_rc1::IfcLibrarySelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssociatesLibrary::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[924]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcMaterialSelect Ifc4x3_rc1::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcMaterialSelect>(); } void Ifc4x3_rc1::IfcRelAssociatesMaterial::setRelatingMaterial(const ::Ifc4x3_rc1::IfcMaterialSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssociatesMaterial::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[925]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcProfileDef Ifc4x3_rc1::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcProfileDef>(); } void Ifc4x3_rc1::IfcRelAssociatesProfileDef::setRelatingProfileDef(const ::Ifc4x3_rc1::IfcProfileDef& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssociatesProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[926]); } -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; } +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 @@ -13819,11 +13819,11 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcRelConnects::Class() { return *((ifco 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>(); } +::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>(); } void Ifc4x3_rc1::IfcRelConnectsElements::setConnectionGeometry(const ::Ifc4x3_rc1::IfcConnectionGeometry& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcElement Ifc4x3_rc1::IfcRelConnectsElements::RelatingElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcElement>(); } +::Ifc4x3_rc1::IfcElement Ifc4x3_rc1::IfcRelConnectsElements::RelatingElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcElement>(); } void Ifc4x3_rc1::IfcRelConnectsElements::setRelatingElement(const ::Ifc4x3_rc1::IfcElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc1::IfcElement Ifc4x3_rc1::IfcRelConnectsElements::RelatedElement() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcElement>(); } +::Ifc4x3_rc1::IfcElement Ifc4x3_rc1::IfcRelConnectsElements::RelatedElement() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcElement>(); } void Ifc4x3_rc1::IfcRelConnectsElements::setRelatedElement(const ::Ifc4x3_rc1::IfcElement& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -13845,9 +13845,9 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcRelConnectsPathElements::Class() { re 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< int64_t > /*[0:?]*/ v8_RelatingPriorities, std::vector< int64_t > /*[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>(); } +::Ifc4x3_rc1::IfcPort Ifc4x3_rc1::IfcRelConnectsPortToElement::RelatingPort() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcPort>(); } void Ifc4x3_rc1::IfcRelConnectsPortToElement::setRelatingPort(const ::Ifc4x3_rc1::IfcPort& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcDistributionElement Ifc4x3_rc1::IfcRelConnectsPortToElement::RelatedElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcDistributionElement>(); } +::Ifc4x3_rc1::IfcDistributionElement Ifc4x3_rc1::IfcRelConnectsPortToElement::RelatedElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcDistributionElement>(); } void Ifc4x3_rc1::IfcRelConnectsPortToElement::setRelatedElement(const ::Ifc4x3_rc1::IfcDistributionElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -13855,11 +13855,11 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcRelConnectsPortToElement::Class() { r 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>(); } +::Ifc4x3_rc1::IfcPort Ifc4x3_rc1::IfcRelConnectsPorts::RelatingPort() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcPort>(); } void Ifc4x3_rc1::IfcRelConnectsPorts::setRelatingPort(const ::Ifc4x3_rc1::IfcPort& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcPort Ifc4x3_rc1::IfcRelConnectsPorts::RelatedPort() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcPort>(); } +::Ifc4x3_rc1::IfcPort Ifc4x3_rc1::IfcRelConnectsPorts::RelatedPort() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcPort>(); } void Ifc4x3_rc1::IfcRelConnectsPorts::setRelatedPort(const ::Ifc4x3_rc1::IfcPort& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc1::IfcElement Ifc4x3_rc1::IfcRelConnectsPorts::RealizingElement() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcElement{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcElement>(); } +::Ifc4x3_rc1::IfcElement Ifc4x3_rc1::IfcRelConnectsPorts::RealizingElement() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcElement{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcElement>(); } void Ifc4x3_rc1::IfcRelConnectsPorts::setRealizingElement(const ::Ifc4x3_rc1::IfcElement& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -13867,9 +13867,9 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcRelConnectsPorts::Class() { return *( 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>(); } +::Ifc4x3_rc1::IfcStructuralActivityAssignmentSelect Ifc4x3_rc1::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcStructuralActivityAssignmentSelect>(); } void Ifc4x3_rc1::IfcRelConnectsStructuralActivity::setRelatingElement(const ::Ifc4x3_rc1::IfcStructuralActivityAssignmentSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcStructuralActivity Ifc4x3_rc1::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcStructuralActivity>(); } +::Ifc4x3_rc1::IfcStructuralActivity Ifc4x3_rc1::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcStructuralActivity>(); } void Ifc4x3_rc1::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(const ::Ifc4x3_rc1::IfcStructuralActivity& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -13877,17 +13877,17 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcRelConnectsStructuralActivity::Class( 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>(); } +::Ifc4x3_rc1::IfcStructuralMember Ifc4x3_rc1::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcStructuralMember>(); } void Ifc4x3_rc1::IfcRelConnectsStructuralMember::setRelatingStructuralMember(const ::Ifc4x3_rc1::IfcStructuralMember& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcStructuralConnection Ifc4x3_rc1::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcStructuralConnection>(); } +::Ifc4x3_rc1::IfcStructuralConnection Ifc4x3_rc1::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcStructuralConnection>(); } void Ifc4x3_rc1::IfcRelConnectsStructuralMember::setRelatedStructuralConnection(const ::Ifc4x3_rc1::IfcStructuralConnection& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc1::IfcBoundaryCondition Ifc4x3_rc1::IfcRelConnectsStructuralMember::AppliedCondition() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcBoundaryCondition{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcBoundaryCondition>(); } +::Ifc4x3_rc1::IfcBoundaryCondition Ifc4x3_rc1::IfcRelConnectsStructuralMember::AppliedCondition() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcBoundaryCondition{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcBoundaryCondition>(); } void Ifc4x3_rc1::IfcRelConnectsStructuralMember::setAppliedCondition(const ::Ifc4x3_rc1::IfcBoundaryCondition& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc1::IfcStructuralConnectionCondition Ifc4x3_rc1::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc1::IfcStructuralConnectionCondition{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc1::IfcStructuralConnectionCondition>(); } +::Ifc4x3_rc1::IfcStructuralConnectionCondition Ifc4x3_rc1::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc1::IfcStructuralConnectionCondition{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc1::IfcStructuralConnectionCondition>(); } void Ifc4x3_rc1::IfcRelConnectsStructuralMember::setAdditionalConditions(const ::Ifc4x3_rc1::IfcStructuralConnectionCondition& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } std::optional< double > Ifc4x3_rc1::IfcRelConnectsStructuralMember::SupportedLength() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcRelConnectsStructuralMember::setSupportedLength(const std::optional< double >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_rc1::IfcAxis2Placement3D Ifc4x3_rc1::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc1::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc1::IfcAxis2Placement3D>(); } +::Ifc4x3_rc1::IfcAxis2Placement3D Ifc4x3_rc1::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc1::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc1::IfcAxis2Placement3D>(); } void Ifc4x3_rc1::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(const ::Ifc4x3_rc1::IfcAxis2Placement3D& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } @@ -13895,7 +13895,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcRelConnectsStructuralMember::Class() 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>(); } +::Ifc4x3_rc1::IfcConnectionGeometry Ifc4x3_rc1::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((express::base)(get_attribute_value(10))).as<::Ifc4x3_rc1::IfcConnectionGeometry>(); } void Ifc4x3_rc1::IfcRelConnectsWithEccentricity::setConnectionConstraint(const ::Ifc4x3_rc1::IfcConnectionGeometry& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } @@ -13903,54 +13903,54 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcRelConnectsWithEccentricity::Class() 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); } -void Ifc4x3_rc1::IfcRelConnectsWithRealizingElements::setRealizingElements(const std::vector< ::Ifc4x3_rc1::IfcElement >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } +std::vector< ::Ifc4x3_rc1::IfcElement > Ifc4x3_rc1::IfcRelConnectsWithRealizingElements::RealizingElements() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc1::IfcElement>(es); } +void Ifc4x3_rc1::IfcRelConnectsWithRealizingElements::setRealizingElements(const std::vector< ::Ifc4x3_rc1::IfcElement >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } std::optional< std::string > Ifc4x3_rc1::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcRelConnectsWithRealizingElements::setConnectionType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelConnectsWithRealizingElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[936]); } -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; } +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); } -void Ifc4x3_rc1::IfcRelContainedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4x3_rc1::IfcProduct >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcSpatialElement Ifc4x3_rc1::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcSpatialElement>(); } +std::vector< ::Ifc4x3_rc1::IfcProduct > Ifc4x3_rc1::IfcRelContainedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc1::IfcProduct>(es); } +void Ifc4x3_rc1::IfcRelContainedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4x3_rc1::IfcProduct >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_rc1::IfcSpatialElement Ifc4x3_rc1::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcSpatialElement>(); } void Ifc4x3_rc1::IfcRelContainedInSpatialStructure::setRelatingStructure(const ::Ifc4x3_rc1::IfcSpatialElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelContainedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[937]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcElement Ifc4x3_rc1::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcElement>(); } void Ifc4x3_rc1::IfcRelCoversBldgElements::setRelatingBuildingElement(const ::Ifc4x3_rc1::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc1::IfcCovering > Ifc4x3_rc1::IfcRelCoversBldgElements::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc1::IfcCovering>(es); } -void Ifc4x3_rc1::IfcRelCoversBldgElements::setRelatedCoverings(const std::vector< ::Ifc4x3_rc1::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc1::IfcCovering > Ifc4x3_rc1::IfcRelCoversBldgElements::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc1::IfcCovering>(es); } +void Ifc4x3_rc1::IfcRelCoversBldgElements::setRelatedCoverings(const std::vector< ::Ifc4x3_rc1::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelCoversBldgElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[938]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcSpace Ifc4x3_rc1::IfcRelCoversSpaces::RelatingSpace() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcSpace>(); } void Ifc4x3_rc1::IfcRelCoversSpaces::setRelatingSpace(const ::Ifc4x3_rc1::IfcSpace& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc1::IfcCovering > Ifc4x3_rc1::IfcRelCoversSpaces::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc1::IfcCovering>(es); } -void Ifc4x3_rc1::IfcRelCoversSpaces::setRelatedCoverings(const std::vector< ::Ifc4x3_rc1::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc1::IfcCovering > Ifc4x3_rc1::IfcRelCoversSpaces::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc1::IfcCovering>(es); } +void Ifc4x3_rc1::IfcRelCoversSpaces::setRelatedCoverings(const std::vector< ::Ifc4x3_rc1::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelCoversSpaces::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[939]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcContext Ifc4x3_rc1::IfcRelDeclares::RelatingContext() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcContext>(); } void Ifc4x3_rc1::IfcRelDeclares::setRelatingContext(const ::Ifc4x3_rc1::IfcContext& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > Ifc4x3_rc1::IfcRelDeclares::RelatedDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc1::IfcDefinitionSelect>(es); } -void Ifc4x3_rc1::IfcRelDeclares::setRelatedDefinitions(const std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > Ifc4x3_rc1::IfcRelDeclares::RelatedDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc1::IfcDefinitionSelect>(es); } +void Ifc4x3_rc1::IfcRelDeclares::setRelatedDefinitions(const std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelDeclares::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[940]); } -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; } +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 @@ -13965,49 +13965,49 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcRelDefines::Class() { return *((ifcop 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); } -void Ifc4x3_rc1::IfcRelDefinesByObject::setRelatedObjects(const std::vector< ::Ifc4x3_rc1::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcObject Ifc4x3_rc1::IfcRelDefinesByObject::RelatingObject() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcObject>(); } +std::vector< ::Ifc4x3_rc1::IfcObject > Ifc4x3_rc1::IfcRelDefinesByObject::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc1::IfcObject>(es); } +void Ifc4x3_rc1::IfcRelDefinesByObject::setRelatedObjects(const std::vector< ::Ifc4x3_rc1::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_rc1::IfcObject Ifc4x3_rc1::IfcRelDefinesByObject::RelatingObject() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcObject>(); } void Ifc4x3_rc1::IfcRelDefinesByObject::setRelatingObject(const ::Ifc4x3_rc1::IfcObject& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelDefinesByObject::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[943]); } -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; } +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); } -void Ifc4x3_rc1::IfcRelDefinesByProperties::setRelatedObjects(const std::vector< ::Ifc4x3_rc1::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcPropertySetDefinitionSelect Ifc4x3_rc1::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcPropertySetDefinitionSelect>(); } +std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > Ifc4x3_rc1::IfcRelDefinesByProperties::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc1::IfcObjectDefinition>(es); } +void Ifc4x3_rc1::IfcRelDefinesByProperties::setRelatedObjects(const std::vector< ::Ifc4x3_rc1::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_rc1::IfcPropertySetDefinitionSelect Ifc4x3_rc1::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcPropertySetDefinitionSelect>(); } void Ifc4x3_rc1::IfcRelDefinesByProperties::setRelatingPropertyDefinition(const ::Ifc4x3_rc1::IfcPropertySetDefinitionSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelDefinesByProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[944]); } -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; } +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); } -void Ifc4x3_rc1::IfcRelDefinesByTemplate::setRelatedPropertySets(const std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcPropertySetTemplate Ifc4x3_rc1::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcPropertySetTemplate>(); } +std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > Ifc4x3_rc1::IfcRelDefinesByTemplate::RelatedPropertySets() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc1::IfcPropertySetDefinition>(es); } +void Ifc4x3_rc1::IfcRelDefinesByTemplate::setRelatedPropertySets(const std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_rc1::IfcPropertySetTemplate Ifc4x3_rc1::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcPropertySetTemplate>(); } void Ifc4x3_rc1::IfcRelDefinesByTemplate::setRelatingTemplate(const ::Ifc4x3_rc1::IfcPropertySetTemplate& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelDefinesByTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[945]); } -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; } +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); } -void Ifc4x3_rc1::IfcRelDefinesByType::setRelatedObjects(const std::vector< ::Ifc4x3_rc1::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcTypeObject Ifc4x3_rc1::IfcRelDefinesByType::RelatingType() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcTypeObject>(); } +std::vector< ::Ifc4x3_rc1::IfcObject > Ifc4x3_rc1::IfcRelDefinesByType::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc1::IfcObject>(es); } +void Ifc4x3_rc1::IfcRelDefinesByType::setRelatedObjects(const std::vector< ::Ifc4x3_rc1::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_rc1::IfcTypeObject Ifc4x3_rc1::IfcRelDefinesByType::RelatingType() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcTypeObject>(); } void Ifc4x3_rc1::IfcRelDefinesByType::setRelatingType(const ::Ifc4x3_rc1::IfcTypeObject& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelDefinesByType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[946]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcOpeningElement Ifc4x3_rc1::IfcRelFillsElement::RelatingOpeningElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcOpeningElement>(); } void Ifc4x3_rc1::IfcRelFillsElement::setRelatingOpeningElement(const ::Ifc4x3_rc1::IfcOpeningElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcElement Ifc4x3_rc1::IfcRelFillsElement::RelatedBuildingElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcElement>(); } +::Ifc4x3_rc1::IfcElement Ifc4x3_rc1::IfcRelFillsElement::RelatedBuildingElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcElement>(); } void Ifc4x3_rc1::IfcRelFillsElement::setRelatedBuildingElement(const ::Ifc4x3_rc1::IfcElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -14015,21 +14015,21 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcRelFillsElement::Class() { return *(( 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); } -void Ifc4x3_rc1::IfcRelFlowControlElements::setRelatedControlElements(const std::vector< ::Ifc4x3_rc1::IfcDistributionControlElement >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcDistributionFlowElement Ifc4x3_rc1::IfcRelFlowControlElements::RelatingFlowElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcDistributionFlowElement>(); } +std::vector< ::Ifc4x3_rc1::IfcDistributionControlElement > Ifc4x3_rc1::IfcRelFlowControlElements::RelatedControlElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc1::IfcDistributionControlElement>(es); } +void Ifc4x3_rc1::IfcRelFlowControlElements::setRelatedControlElements(const std::vector< ::Ifc4x3_rc1::IfcDistributionControlElement >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_rc1::IfcDistributionFlowElement Ifc4x3_rc1::IfcRelFlowControlElements::RelatingFlowElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcDistributionFlowElement>(); } void Ifc4x3_rc1::IfcRelFlowControlElements::setRelatingFlowElement(const ::Ifc4x3_rc1::IfcDistributionFlowElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelFlowControlElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[948]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcInterferenceSelect Ifc4x3_rc1::IfcRelInterferesElements::RelatingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcInterferenceSelect>(); } void Ifc4x3_rc1::IfcRelInterferesElements::setRelatingElement(const ::Ifc4x3_rc1::IfcInterferenceSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcInterferenceSelect Ifc4x3_rc1::IfcRelInterferesElements::RelatedElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcInterferenceSelect>(); } +::Ifc4x3_rc1::IfcInterferenceSelect Ifc4x3_rc1::IfcRelInterferesElements::RelatedElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcInterferenceSelect>(); } void Ifc4x3_rc1::IfcRelInterferesElements::setRelatedElement(const ::Ifc4x3_rc1::IfcInterferenceSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc1::IfcConnectionGeometry Ifc4x3_rc1::IfcRelInterferesElements::InterferenceGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcConnectionGeometry{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcConnectionGeometry>(); } +::Ifc4x3_rc1::IfcConnectionGeometry Ifc4x3_rc1::IfcRelInterferesElements::InterferenceGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcConnectionGeometry{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcConnectionGeometry>(); } void Ifc4x3_rc1::IfcRelInterferesElements::setInterferenceGeometry(const ::Ifc4x3_rc1::IfcConnectionGeometry& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< std::string > Ifc4x3_rc1::IfcRelInterferesElements::InterferenceType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcRelInterferesElements::setInterferenceType(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } @@ -14041,29 +14041,29 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcRelInterferesElements::Class() { retu 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>(); } +::Ifc4x3_rc1::IfcObjectDefinition Ifc4x3_rc1::IfcRelNests::RelatingObject() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcObjectDefinition>(); } void Ifc4x3_rc1::IfcRelNests::setRelatingObject(const ::Ifc4x3_rc1::IfcObjectDefinition& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > Ifc4x3_rc1::IfcRelNests::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc1::IfcObjectDefinition>(es); } -void Ifc4x3_rc1::IfcRelNests::setRelatedObjects(const std::vector< ::Ifc4x3_rc1::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > Ifc4x3_rc1::IfcRelNests::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc1::IfcObjectDefinition>(es); } +void Ifc4x3_rc1::IfcRelNests::setRelatedObjects(const std::vector< ::Ifc4x3_rc1::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelNests::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[950]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcPositioningElement Ifc4x3_rc1::IfcRelPositions::RelatingPositioningElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcPositioningElement>(); } void Ifc4x3_rc1::IfcRelPositions::setRelatingPositioningElement(const ::Ifc4x3_rc1::IfcPositioningElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc1::IfcProduct > Ifc4x3_rc1::IfcRelPositions::RelatedProducts() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc1::IfcProduct>(es); } -void Ifc4x3_rc1::IfcRelPositions::setRelatedProducts(const std::vector< ::Ifc4x3_rc1::IfcProduct >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc1::IfcProduct > Ifc4x3_rc1::IfcRelPositions::RelatedProducts() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc1::IfcProduct>(es); } +void Ifc4x3_rc1::IfcRelPositions::setRelatedProducts(const std::vector< ::Ifc4x3_rc1::IfcProduct >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelPositions::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[951]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcElement Ifc4x3_rc1::IfcRelProjectsElement::RelatingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcElement>(); } void Ifc4x3_rc1::IfcRelProjectsElement::setRelatingElement(const ::Ifc4x3_rc1::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcFeatureElementAddition Ifc4x3_rc1::IfcRelProjectsElement::RelatedFeatureElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcFeatureElementAddition>(); } +::Ifc4x3_rc1::IfcFeatureElementAddition Ifc4x3_rc1::IfcRelProjectsElement::RelatedFeatureElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcFeatureElementAddition>(); } void Ifc4x3_rc1::IfcRelProjectsElement::setRelatedFeatureElement(const ::Ifc4x3_rc1::IfcFeatureElementAddition& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -14071,21 +14071,21 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcRelProjectsElement::Class() { return 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); } -void Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4x3_rc1::IfcSpatialReferenceSelect >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcSpatialElement Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcSpatialElement>(); } +std::vector< ::Ifc4x3_rc1::IfcSpatialReferenceSelect > Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc1::IfcSpatialReferenceSelect>(es); } +void Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4x3_rc1::IfcSpatialReferenceSelect >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_rc1::IfcSpatialElement Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcSpatialElement>(); } void Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::setRelatingStructure(const ::Ifc4x3_rc1::IfcSpatialElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[953]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcProcess Ifc4x3_rc1::IfcRelSequence::RelatingProcess() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcProcess>(); } void Ifc4x3_rc1::IfcRelSequence::setRelatingProcess(const ::Ifc4x3_rc1::IfcProcess& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcProcess Ifc4x3_rc1::IfcRelSequence::RelatedProcess() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcProcess>(); } +::Ifc4x3_rc1::IfcProcess Ifc4x3_rc1::IfcRelSequence::RelatedProcess() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcProcess>(); } void Ifc4x3_rc1::IfcRelSequence::setRelatedProcess(const ::Ifc4x3_rc1::IfcProcess& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc1::IfcLagTime Ifc4x3_rc1::IfcRelSequence::TimeLag() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcLagTime{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcLagTime>(); } +::Ifc4x3_rc1::IfcLagTime Ifc4x3_rc1::IfcRelSequence::TimeLag() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcLagTime{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcLagTime>(); } void Ifc4x3_rc1::IfcRelSequence::setTimeLag(const ::Ifc4x3_rc1::IfcLagTime& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< ::Ifc4x3_rc1::IfcSequenceEnum::Value > Ifc4x3_rc1::IfcRelSequence::SequenceType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcSequenceEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc1::IfcRelSequence::setSequenceType(const std::optional< ::Ifc4x3_rc1::IfcSequenceEnum::Value >& v) { if (v) {set_attribute_value(7, enumeration_reference(&::Ifc4x3_rc1::IfcSequenceEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } @@ -14097,21 +14097,21 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcRelSequence::Class() { return *((ifco 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>(); } +::Ifc4x3_rc1::IfcSystem Ifc4x3_rc1::IfcRelServicesBuildings::RelatingSystem() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcSystem>(); } void Ifc4x3_rc1::IfcRelServicesBuildings::setRelatingSystem(const ::Ifc4x3_rc1::IfcSystem& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc1::IfcSpatialElement > Ifc4x3_rc1::IfcRelServicesBuildings::RelatedBuildings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc1::IfcSpatialElement>(es); } -void Ifc4x3_rc1::IfcRelServicesBuildings::setRelatedBuildings(const std::vector< ::Ifc4x3_rc1::IfcSpatialElement >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc1::IfcSpatialElement > Ifc4x3_rc1::IfcRelServicesBuildings::RelatedBuildings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc1::IfcSpatialElement>(es); } +void Ifc4x3_rc1::IfcRelServicesBuildings::setRelatedBuildings(const std::vector< ::Ifc4x3_rc1::IfcSpatialElement >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelServicesBuildings::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[955]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcSpaceBoundarySelect Ifc4x3_rc1::IfcRelSpaceBoundary::RelatingSpace() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcSpaceBoundarySelect>(); } void Ifc4x3_rc1::IfcRelSpaceBoundary::setRelatingSpace(const ::Ifc4x3_rc1::IfcSpaceBoundarySelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcElement Ifc4x3_rc1::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcElement>(); } +::Ifc4x3_rc1::IfcElement Ifc4x3_rc1::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcElement>(); } void Ifc4x3_rc1::IfcRelSpaceBoundary::setRelatedBuildingElement(const ::Ifc4x3_rc1::IfcElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc1::IfcConnectionGeometry Ifc4x3_rc1::IfcRelSpaceBoundary::ConnectionGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcConnectionGeometry{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcConnectionGeometry>(); } +::Ifc4x3_rc1::IfcConnectionGeometry Ifc4x3_rc1::IfcRelSpaceBoundary::ConnectionGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcConnectionGeometry{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcConnectionGeometry>(); } void Ifc4x3_rc1::IfcRelSpaceBoundary::setConnectionGeometry(const ::Ifc4x3_rc1::IfcConnectionGeometry& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } ::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value Ifc4x3_rc1::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc1::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(const ::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } @@ -14123,7 +14123,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcRelSpaceBoundary::Class() { return *( 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>(); } +::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>(); } void Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel::setParentBoundary(const ::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::vector<::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel> Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[957], 9)); } @@ -14132,7 +14132,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel::Class() { r 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>(); } +::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>(); } void Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(const ::Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } std::vector<::Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel> Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[958], 10)); } @@ -14141,9 +14141,9 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel::Class() { r 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>(); } +::Ifc4x3_rc1::IfcElement Ifc4x3_rc1::IfcRelVoidsElement::RelatingBuildingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcElement>(); } void Ifc4x3_rc1::IfcRelVoidsElement::setRelatingBuildingElement(const ::Ifc4x3_rc1::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcFeatureElementSubtraction Ifc4x3_rc1::IfcRelVoidsElement::RelatedOpeningElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcFeatureElementSubtraction>(); } +::Ifc4x3_rc1::IfcFeatureElementSubtraction Ifc4x3_rc1::IfcRelVoidsElement::RelatedOpeningElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcFeatureElementSubtraction>(); } void Ifc4x3_rc1::IfcRelVoidsElement::setRelatedOpeningElement(const ::Ifc4x3_rc1::IfcFeatureElementSubtraction& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -14165,21 +14165,21 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcReparametrisedCompositeCurveSegment:: 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>(); } +::Ifc4x3_rc1::IfcRepresentationContext Ifc4x3_rc1::IfcRepresentation::ContextOfItems() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcRepresentationContext>(); } void Ifc4x3_rc1::IfcRepresentation::setContextOfItems(const ::Ifc4x3_rc1::IfcRepresentationContext& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x3_rc1::IfcRepresentation::RepresentationIdentifier() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcRepresentation::setRepresentationIdentifier(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x3_rc1::IfcRepresentation::RepresentationType() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcRepresentation::setRepresentationType(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector< ::Ifc4x3_rc1::IfcRepresentationItem > Ifc4x3_rc1::IfcRepresentation::Items() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc1::IfcRepresentationItem>(es); } -void Ifc4x3_rc1::IfcRepresentation::setItems(const std::vector< ::Ifc4x3_rc1::IfcRepresentationItem >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc1::IfcRepresentationItem > Ifc4x3_rc1::IfcRepresentation::Items() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc1::IfcRepresentationItem>(es); } +void Ifc4x3_rc1::IfcRepresentation::setItems(const std::vector< ::Ifc4x3_rc1::IfcRepresentationItem >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } std::vector<::Ifc4x3_rc1::IfcRepresentationMap> Ifc4x3_rc1::IfcRepresentation::RepresentationMap() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[964], 1)); } std::vector<::Ifc4x3_rc1::IfcPresentationLayerAssignment> Ifc4x3_rc1::IfcRepresentation::LayerAssignments() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[803], 2)); } 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]); } -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; } +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; } @@ -14201,9 +14201,9 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcRepresentationItem::Class() { return 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>(); } +::Ifc4x3_rc1::IfcAxis2Placement Ifc4x3_rc1::IfcRepresentationMap::MappingOrigin() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcAxis2Placement>(); } void Ifc4x3_rc1::IfcRepresentationMap::setMappingOrigin(const ::Ifc4x3_rc1::IfcAxis2Placement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcRepresentation Ifc4x3_rc1::IfcRepresentationMap::MappedRepresentation() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcRepresentation>(); } +::Ifc4x3_rc1::IfcRepresentation Ifc4x3_rc1::IfcRepresentationMap::MappedRepresentation() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcRepresentation>(); } void Ifc4x3_rc1::IfcRepresentationMap::setMappedRepresentation(const ::Ifc4x3_rc1::IfcRepresentation& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::vector<::Ifc4x3_rc1::IfcShapeAspect> Ifc4x3_rc1::IfcRepresentationMap::HasShapeAspects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[1010], 4)); } @@ -14224,24 +14224,24 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcResource::Class() { return *((ifcopen 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); } -void Ifc4x3_rc1::IfcResourceApprovalRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc1::IfcResourceObjectSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcApproval Ifc4x3_rc1::IfcResourceApprovalRelationship::RelatingApproval() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcApproval>(); } +std::vector< ::Ifc4x3_rc1::IfcResourceObjectSelect > Ifc4x3_rc1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcResourceObjectSelect>(es); } +void Ifc4x3_rc1::IfcResourceApprovalRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc1::IfcResourceObjectSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +::Ifc4x3_rc1::IfcApproval Ifc4x3_rc1::IfcResourceApprovalRelationship::RelatingApproval() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcApproval>(); } void Ifc4x3_rc1::IfcResourceApprovalRelationship::setRelatingApproval(const ::Ifc4x3_rc1::IfcApproval& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc1::IfcResourceApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[966]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcConstraint Ifc4x3_rc1::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcConstraint>(); } void Ifc4x3_rc1::IfcResourceConstraintRelationship::setRelatingConstraint(const ::Ifc4x3_rc1::IfcConstraint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_rc1::IfcResourceObjectSelect > Ifc4x3_rc1::IfcResourceConstraintRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc1::IfcResourceObjectSelect>(es); } -void Ifc4x3_rc1::IfcResourceConstraintRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc1::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc1::IfcResourceObjectSelect > Ifc4x3_rc1::IfcResourceConstraintRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc1::IfcResourceObjectSelect>(es); } +void Ifc4x3_rc1::IfcResourceConstraintRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc1::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc1::IfcResourceConstraintRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[967]); } -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; } +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; } @@ -14290,7 +14290,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcResourceTime::Class() { return *((ifc 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>(); } +::Ifc4x3_rc1::IfcAxis1Placement Ifc4x3_rc1::IfcRevolvedAreaSolid::Axis() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcAxis1Placement>(); } void Ifc4x3_rc1::IfcRevolvedAreaSolid::setAxis(const ::Ifc4x3_rc1::IfcAxis1Placement& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc4x3_rc1::IfcRevolvedAreaSolid::Angle() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcRevolvedAreaSolid::setAngle(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -14300,7 +14300,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcRevolvedAreaSolid::Class() { return * 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>(); } +::Ifc4x3_rc1::IfcProfileDef Ifc4x3_rc1::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcProfileDef>(); } void Ifc4x3_rc1::IfcRevolvedAreaSolidTapered::setEndSweptArea(const ::Ifc4x3_rc1::IfcProfileDef& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -14347,12 +14347,12 @@ void Ifc4x3_rc1::IfcRoofType::setPredefinedType(const ::Ifc4x3_rc1::IfcRoofTypeE const ifcopenshell::entity& Ifc4x3_rc1::IfcRoofType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[980]); } -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; } +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; } void Ifc4x3_rc1::IfcRoot::setGlobalId(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcOwnerHistory Ifc4x3_rc1::IfcRoot::OwnerHistory() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc1::IfcOwnerHistory{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcOwnerHistory>(); } +::Ifc4x3_rc1::IfcOwnerHistory Ifc4x3_rc1::IfcRoot::OwnerHistory() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc1::IfcOwnerHistory{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcOwnerHistory>(); } void Ifc4x3_rc1::IfcRoot::setOwnerHistory(const ::Ifc4x3_rc1::IfcOwnerHistory& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_rc1::IfcRoot::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcRoot::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } @@ -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]); } -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; } +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; } @@ -14413,14 +14413,14 @@ Ifc4x3_rc1::IfcSchedulingTime Ifc4x3_rc1::IfcSchedulingTime::initialize(std::opt const ifcopenshell::entity& Ifc4x3_rc1::IfcSeamCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[992]); } -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; } +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)); } void Ifc4x3_rc1::IfcSectionProperties::setSectionType(const ::Ifc4x3_rc1::IfcSectionTypeEnum::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc4x3_rc1::IfcSectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcProfileDef Ifc4x3_rc1::IfcSectionProperties::StartProfile() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcProfileDef>(); } +::Ifc4x3_rc1::IfcProfileDef Ifc4x3_rc1::IfcSectionProperties::StartProfile() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcProfileDef>(); } void Ifc4x3_rc1::IfcSectionProperties::setStartProfile(const ::Ifc4x3_rc1::IfcProfileDef& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcProfileDef Ifc4x3_rc1::IfcSectionProperties::EndProfile() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc1::IfcProfileDef{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcProfileDef>(); } +::Ifc4x3_rc1::IfcProfileDef Ifc4x3_rc1::IfcSectionProperties::EndProfile() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc1::IfcProfileDef{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcProfileDef>(); } void Ifc4x3_rc1::IfcSectionProperties::setEndProfile(const ::Ifc4x3_rc1::IfcProfileDef& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -14436,60 +14436,60 @@ std::optional< double > Ifc4x3_rc1::IfcSectionReinforcementProperties::Transvers void Ifc4x3_rc1::IfcSectionReinforcementProperties::setTransversePosition(const std::optional< double >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_rc1::IfcReinforcingBarRoleEnum::Value Ifc4x3_rc1::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x3_rc1::IfcReinforcingBarRoleEnum::FromString(get_attribute_value(3)); } void Ifc4x3_rc1::IfcSectionReinforcementProperties::setReinforcementRole(const ::Ifc4x3_rc1::IfcReinforcingBarRoleEnum::Value& v) { set_attribute_value(3, enumeration_reference(&::Ifc4x3_rc1::IfcReinforcingBarRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc1::IfcSectionProperties Ifc4x3_rc1::IfcSectionReinforcementProperties::SectionDefinition() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcSectionProperties>(); } +::Ifc4x3_rc1::IfcSectionProperties Ifc4x3_rc1::IfcSectionReinforcementProperties::SectionDefinition() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcSectionProperties>(); } void Ifc4x3_rc1::IfcSectionReinforcementProperties::setSectionDefinition(const ::Ifc4x3_rc1::IfcSectionProperties& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc1::IfcReinforcementBarProperties > Ifc4x3_rc1::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc1::IfcReinforcementBarProperties>(es); } -void Ifc4x3_rc1::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(const std::vector< ::Ifc4x3_rc1::IfcReinforcementBarProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc1::IfcReinforcementBarProperties > Ifc4x3_rc1::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc1::IfcReinforcementBarProperties>(es); } +void Ifc4x3_rc1::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(const std::vector< ::Ifc4x3_rc1::IfcReinforcementBarProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc1::IfcSectionReinforcementProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1000]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcSectionedSolid::Directrix() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCurve>(); } void Ifc4x3_rc1::IfcSectionedSolid::setDirectrix(const ::Ifc4x3_rc1::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc1::IfcProfileDef > Ifc4x3_rc1::IfcSectionedSolid::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcProfileDef>(es); } -void Ifc4x3_rc1::IfcSectionedSolid::setCrossSections(const std::vector< ::Ifc4x3_rc1::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc1::IfcProfileDef > Ifc4x3_rc1::IfcSectionedSolid::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcProfileDef>(es); } +void Ifc4x3_rc1::IfcSectionedSolid::setCrossSections(const std::vector< ::Ifc4x3_rc1::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_rc1::IfcSectionedSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[994]); } -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; } +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); } -void Ifc4x3_rc1::IfcSectionedSolidHorizontal::setCrossSectionPositions(const std::vector< ::Ifc4x3_rc1::IfcDistanceExpression >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc1::IfcDistanceExpression > Ifc4x3_rc1::IfcSectionedSolidHorizontal::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcDistanceExpression>(es); } +void Ifc4x3_rc1::IfcSectionedSolidHorizontal::setCrossSectionPositions(const std::vector< ::Ifc4x3_rc1::IfcDistanceExpression >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } bool Ifc4x3_rc1::IfcSectionedSolidHorizontal::FixedAxisVertical() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcSectionedSolidHorizontal::setFixedAxisVertical(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc1::IfcSectionedSolidHorizontal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[995]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcCompositeCurve Ifc4x3_rc1::IfcSectionedSpine::SpineCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCompositeCurve>(); } void Ifc4x3_rc1::IfcSectionedSpine::setSpineCurve(const ::Ifc4x3_rc1::IfcCompositeCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc1::IfcProfileDef > Ifc4x3_rc1::IfcSectionedSpine::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcProfileDef>(es); } -void Ifc4x3_rc1::IfcSectionedSpine::setCrossSections(const std::vector< ::Ifc4x3_rc1::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x3_rc1::IfcAxis2Placement3D > Ifc4x3_rc1::IfcSectionedSpine::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcAxis2Placement3D>(es); } -void Ifc4x3_rc1::IfcSectionedSpine::setCrossSectionPositions(const std::vector< ::Ifc4x3_rc1::IfcAxis2Placement3D >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc1::IfcProfileDef > Ifc4x3_rc1::IfcSectionedSpine::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcProfileDef>(es); } +void Ifc4x3_rc1::IfcSectionedSpine::setCrossSections(const std::vector< ::Ifc4x3_rc1::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc1::IfcAxis2Placement3D > Ifc4x3_rc1::IfcSectionedSpine::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcAxis2Placement3D>(es); } +void Ifc4x3_rc1::IfcSectionedSpine::setCrossSectionPositions(const std::vector< ::Ifc4x3_rc1::IfcAxis2Placement3D >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc1::IfcSectionedSpine::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[996]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcSectionedSurface::Directrix() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCurve>(); } void Ifc4x3_rc1::IfcSectionedSurface::setDirectrix(const ::Ifc4x3_rc1::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc1::IfcDistanceExpression > Ifc4x3_rc1::IfcSectionedSurface::CrossSectionPositions() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcDistanceExpression>(es); } -void Ifc4x3_rc1::IfcSectionedSurface::setCrossSectionPositions(const std::vector< ::Ifc4x3_rc1::IfcDistanceExpression >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x3_rc1::IfcProfileDef > Ifc4x3_rc1::IfcSectionedSurface::CrossSections() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcProfileDef>(es); } -void Ifc4x3_rc1::IfcSectionedSurface::setCrossSections(const std::vector< ::Ifc4x3_rc1::IfcProfileDef >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc1::IfcDistanceExpression > Ifc4x3_rc1::IfcSectionedSurface::CrossSectionPositions() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcDistanceExpression>(es); } +void Ifc4x3_rc1::IfcSectionedSurface::setCrossSectionPositions(const std::vector< ::Ifc4x3_rc1::IfcDistanceExpression >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc1::IfcProfileDef > Ifc4x3_rc1::IfcSectionedSurface::CrossSections() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcProfileDef>(es); } +void Ifc4x3_rc1::IfcSectionedSurface::setCrossSections(const std::vector< ::Ifc4x3_rc1::IfcProfileDef >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } bool Ifc4x3_rc1::IfcSectionedSurface::FixedAxisVertical() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcSectionedSurface::setFixedAxisVertical(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc1::IfcSectionedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[997]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -14521,45 +14521,45 @@ void Ifc4x3_rc1::IfcShadingDeviceType::setPredefinedType(const ::Ifc4x3_rc1::Ifc const ifcopenshell::entity& Ifc4x3_rc1::IfcShadingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1008]); } -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; } +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); } -void Ifc4x3_rc1::IfcShapeAspect::setShapeRepresentations(const std::vector< ::Ifc4x3_rc1::IfcShapeModel >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc1::IfcShapeModel > Ifc4x3_rc1::IfcShapeAspect::ShapeRepresentations() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcShapeModel>(es); } +void Ifc4x3_rc1::IfcShapeAspect::setShapeRepresentations(const std::vector< ::Ifc4x3_rc1::IfcShapeModel >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x3_rc1::IfcShapeAspect::Name() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcShapeAspect::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x3_rc1::IfcShapeAspect::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcShapeAspect::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } boost::logic::tribool Ifc4x3_rc1::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcShapeAspect::setProductDefinitional(const boost::logic::tribool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc1::IfcProductRepresentationSelect Ifc4x3_rc1::IfcShapeAspect::PartOfProductDefinitionShape() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc1::IfcProductRepresentationSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcProductRepresentationSelect>(); } +::Ifc4x3_rc1::IfcProductRepresentationSelect Ifc4x3_rc1::IfcShapeAspect::PartOfProductDefinitionShape() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc1::IfcProductRepresentationSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcProductRepresentationSelect>(); } void Ifc4x3_rc1::IfcShapeAspect::setPartOfProductDefinitionShape(const ::Ifc4x3_rc1::IfcProductRepresentationSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } 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]); } -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; } +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]); } -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; } +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]); } -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; } +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); } -void Ifc4x3_rc1::IfcShellBasedSurfaceModel::setSbsmBoundary(const std::vector< ::Ifc4x3_rc1::IfcShell >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc1::IfcShell > Ifc4x3_rc1::IfcShellBasedSurfaceModel::SbsmBoundary() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcShell>(es); } +void Ifc4x3_rc1::IfcShellBasedSurfaceModel::setSbsmBoundary(const std::vector< ::Ifc4x3_rc1::IfcShell >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc1::IfcShellBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1015]); } -Ifc4x3_rc1::IfcShellBasedSurfaceModel Ifc4x3_rc1::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_rc1::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary));; return *this; } +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)); } @@ -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]); } -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; } +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)); } @@ -14591,7 +14591,7 @@ void Ifc4x3_rc1::IfcSignalType::setPredefinedType(const ::Ifc4x3_rc1::IfcSignalT const ifcopenshell::entity& Ifc4x3_rc1::IfcSignalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1018]); } -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; } +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 @@ -14606,11 +14606,11 @@ std::optional< std::string > Ifc4x3_rc1::IfcSimplePropertyTemplate::PrimaryMeasu void Ifc4x3_rc1::IfcSimplePropertyTemplate::setPrimaryMeasureType(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< std::string > Ifc4x3_rc1::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcSimplePropertyTemplate::setSecondaryMeasureType(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_rc1::IfcPropertyEnumeration Ifc4x3_rc1::IfcSimplePropertyTemplate::Enumerators() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc1::IfcPropertyEnumeration{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc1::IfcPropertyEnumeration>(); } +::Ifc4x3_rc1::IfcPropertyEnumeration Ifc4x3_rc1::IfcSimplePropertyTemplate::Enumerators() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc1::IfcPropertyEnumeration{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc1::IfcPropertyEnumeration>(); } void Ifc4x3_rc1::IfcSimplePropertyTemplate::setEnumerators(const ::Ifc4x3_rc1::IfcPropertyEnumeration& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc1::IfcUnit Ifc4x3_rc1::IfcSimplePropertyTemplate::PrimaryUnit() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc1::IfcUnit{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc1::IfcUnit>(); } +::Ifc4x3_rc1::IfcUnit Ifc4x3_rc1::IfcSimplePropertyTemplate::PrimaryUnit() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc1::IfcUnit{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc1::IfcUnit>(); } void Ifc4x3_rc1::IfcSimplePropertyTemplate::setPrimaryUnit(const ::Ifc4x3_rc1::IfcUnit& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc1::IfcUnit Ifc4x3_rc1::IfcSimplePropertyTemplate::SecondaryUnit() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc1::IfcUnit{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc1::IfcUnit>(); } +::Ifc4x3_rc1::IfcUnit Ifc4x3_rc1::IfcSimplePropertyTemplate::SecondaryUnit() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc1::IfcUnit{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc1::IfcUnit>(); } void Ifc4x3_rc1::IfcSimplePropertyTemplate::setSecondaryUnit(const ::Ifc4x3_rc1::IfcUnit& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::optional< std::string > Ifc4x3_rc1::IfcSimplePropertyTemplate::Expression() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcSimplePropertyTemplate::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } @@ -14630,7 +14630,7 @@ std::optional< double > Ifc4x3_rc1::IfcSite::RefElevation() const { if(get_attri void Ifc4x3_rc1::IfcSite::setRefElevation(const std::optional< double >& v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } std::optional< std::string > Ifc4x3_rc1::IfcSite::LandTitleNumber() const { if(get_attribute_value(12).isNull()) { return std::nullopt; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc1::IfcSite::setLandTitleNumber(const std::optional< std::string >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x3_rc1::IfcPostalAddress Ifc4x3_rc1::IfcSite::SiteAddress() const { if(get_attribute_value(13).isNull()) { return ::Ifc4x3_rc1::IfcPostalAddress{}; } return ((express::Base)(get_attribute_value(13))).as<::Ifc4x3_rc1::IfcPostalAddress>(); } +::Ifc4x3_rc1::IfcPostalAddress Ifc4x3_rc1::IfcSite::SiteAddress() const { if(get_attribute_value(13).isNull()) { return ::Ifc4x3_rc1::IfcPostalAddress{}; } return ((express::base)(get_attribute_value(13))).as<::Ifc4x3_rc1::IfcPostalAddress>(); } void Ifc4x3_rc1::IfcSite::setSiteAddress(const ::Ifc4x3_rc1::IfcPostalAddress& v) { set_attribute_value(13, v);if constexpr (false)unset_attribute_value(13); } @@ -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]); } -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; } +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; } @@ -14691,7 +14691,7 @@ void Ifc4x3_rc1::IfcSolarDeviceType::setPredefinedType(const ::Ifc4x3_rc1::IfcSo const ifcopenshell::entity& Ifc4x3_rc1::IfcSolarDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1038]); } -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; } +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 @@ -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]); } -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; } +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]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -14774,7 +14774,7 @@ Ifc4x3_rc1::IfcSpatialStructureElement Ifc4x3_rc1::IfcSpatialStructureElement::i const ifcopenshell::entity& Ifc4x3_rc1::IfcSpatialStructureElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1059]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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]); } -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; } +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; } @@ -14875,7 +14875,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralAction::Class() { return *( 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>(); } +::Ifc4x3_rc1::IfcStructuralLoad Ifc4x3_rc1::IfcStructuralActivity::AppliedLoad() const { return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc1::IfcStructuralLoad>(); } void Ifc4x3_rc1::IfcStructuralActivity::setAppliedLoad(const ::Ifc4x3_rc1::IfcStructuralLoad& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value Ifc4x3_rc1::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcStructuralActivity::setGlobalOrLocal(const ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value& v) { set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } @@ -14888,21 +14888,21 @@ Ifc4x3_rc1::IfcStructuralActivity Ifc4x3_rc1::IfcStructuralActivity::initialize( // Function implementations for IfcStructuralAnalysisModel ::Ifc4x3_rc1::IfcAnalysisModelTypeEnum::Value Ifc4x3_rc1::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3_rc1::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc1::IfcStructuralAnalysisModel::setPredefinedType(const ::Ifc4x3_rc1::IfcAnalysisModelTypeEnum::Value& v) { set_attribute_value(5, enumeration_reference(&::Ifc4x3_rc1::IfcAnalysisModelTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc1::IfcAxis2Placement3D Ifc4x3_rc1::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcAxis2Placement3D>(); } +::Ifc4x3_rc1::IfcAxis2Placement3D Ifc4x3_rc1::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcAxis2Placement3D>(); } void Ifc4x3_rc1::IfcStructuralAnalysisModel::setOrientationOf2DPlane(const ::Ifc4x3_rc1::IfcAxis2Placement3D& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::optional< std::vector< ::Ifc4x3_rc1::IfcStructuralLoadGroup > > Ifc4x3_rc1::IfcStructuralAnalysisModel::LoadedBy() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc1::IfcStructuralLoadGroup>(es); } -void Ifc4x3_rc1::IfcStructuralAnalysisModel::setLoadedBy(const std::optional< std::vector< ::Ifc4x3_rc1::IfcStructuralLoadGroup > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } -std::optional< std::vector< ::Ifc4x3_rc1::IfcStructuralResultGroup > > Ifc4x3_rc1::IfcStructuralAnalysisModel::HasResults() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc1::IfcStructuralResultGroup>(es); } -void Ifc4x3_rc1::IfcStructuralAnalysisModel::setHasResults(const std::optional< std::vector< ::Ifc4x3_rc1::IfcStructuralResultGroup > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } -::Ifc4x3_rc1::IfcObjectPlacement Ifc4x3_rc1::IfcStructuralAnalysisModel::SharedPlacement() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc1::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc1::IfcObjectPlacement>(); } +std::optional< std::vector< ::Ifc4x3_rc1::IfcStructuralLoadGroup > > Ifc4x3_rc1::IfcStructuralAnalysisModel::LoadedBy() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc1::IfcStructuralLoadGroup>(es); } +void Ifc4x3_rc1::IfcStructuralAnalysisModel::setLoadedBy(const std::optional< std::vector< ::Ifc4x3_rc1::IfcStructuralLoadGroup > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x3_rc1::IfcStructuralResultGroup > > Ifc4x3_rc1::IfcStructuralAnalysisModel::HasResults() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc1::IfcStructuralResultGroup>(es); } +void Ifc4x3_rc1::IfcStructuralAnalysisModel::setHasResults(const std::optional< std::vector< ::Ifc4x3_rc1::IfcStructuralResultGroup > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } +::Ifc4x3_rc1::IfcObjectPlacement Ifc4x3_rc1::IfcStructuralAnalysisModel::SharedPlacement() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc1::IfcObjectPlacement{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc1::IfcObjectPlacement>(); } void Ifc4x3_rc1::IfcStructuralAnalysisModel::setSharedPlacement(const ::Ifc4x3_rc1::IfcObjectPlacement& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralAnalysisModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1082]); } -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; } +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>(); } +::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>(); } void Ifc4x3_rc1::IfcStructuralConnection::setAppliedCondition(const ::Ifc4x3_rc1::IfcBoundaryCondition& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } std::vector<::Ifc4x3_rc1::IfcRelConnectsStructuralMember> Ifc4x3_rc1::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[934], 5)); } @@ -14929,7 +14929,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralCurveAction::Class() { retu 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>(); } +::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcStructuralCurveConnection::Axis() const { return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc1::IfcDirection>(); } void Ifc4x3_rc1::IfcStructuralCurveConnection::setAxis(const ::Ifc4x3_rc1::IfcDirection& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -14939,7 +14939,7 @@ Ifc4x3_rc1::IfcStructuralCurveConnection Ifc4x3_rc1::IfcStructuralCurveConnectio // Function implementations for IfcStructuralCurveMember ::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_rc1::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc1::IfcStructuralCurveMember::setPredefinedType(const ::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcStructuralCurveMember::Axis() const { return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc1::IfcDirection>(); } +::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcStructuralCurveMember::Axis() const { return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc1::IfcDirection>(); } void Ifc4x3_rc1::IfcStructuralCurveMember::setAxis(const ::Ifc4x3_rc1::IfcDirection& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -14990,14 +14990,14 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralLoadCase::Class() { return 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); } -void Ifc4x3_rc1::IfcStructuralLoadConfiguration::setValues(const std::vector< ::Ifc4x3_rc1::IfcStructuralLoadOrResult >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc1::IfcStructuralLoadOrResult > Ifc4x3_rc1::IfcStructuralLoadConfiguration::Values() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcStructuralLoadOrResult>(es); } +void Ifc4x3_rc1::IfcStructuralLoadConfiguration::setValues(const std::vector< ::Ifc4x3_rc1::IfcStructuralLoadOrResult >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< std::vector< std::vector< double > > > Ifc4x3_rc1::IfcStructuralLoadConfiguration::Locations() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector< std::vector< double > > v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcStructuralLoadConfiguration::setLocations(const std::optional< std::vector< std::vector< double > > >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralLoadConfiguration::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1096]); } -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; } +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)); } @@ -15143,7 +15143,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralPointAction::Class() { retu 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>(); } +::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>(); } void Ifc4x3_rc1::IfcStructuralPointConnection::setConditionCoordinateSystem(const ::Ifc4x3_rc1::IfcAxis2Placement3D& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -15165,7 +15165,7 @@ Ifc4x3_rc1::IfcStructuralReaction Ifc4x3_rc1::IfcStructuralReaction::initialize( // Function implementations for IfcStructuralResultGroup ::Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_rc1::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc1::IfcStructuralResultGroup::setTheoryType(const ::Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::Value& v) { set_attribute_value(5, enumeration_reference(&::Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc1::IfcStructuralLoadGroup Ifc4x3_rc1::IfcStructuralResultGroup::ResultForLoadGroup() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcStructuralLoadGroup{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcStructuralLoadGroup>(); } +::Ifc4x3_rc1::IfcStructuralLoadGroup Ifc4x3_rc1::IfcStructuralResultGroup::ResultForLoadGroup() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcStructuralLoadGroup{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcStructuralLoadGroup>(); } void Ifc4x3_rc1::IfcStructuralResultGroup::setResultForLoadGroup(const ::Ifc4x3_rc1::IfcStructuralLoadGroup& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } bool Ifc4x3_rc1::IfcStructuralResultGroup::IsLinear() const { bool v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcStructuralResultGroup::setIsLinear(const bool& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -15219,25 +15219,25 @@ Ifc4x3_rc1::IfcStructuralSurfaceReaction Ifc4x3_rc1::IfcStructuralSurfaceReactio const ifcopenshell::entity& Ifc4x3_rc1::IfcStyleModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1124]); } -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; } +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>(); } +::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>(); } void Ifc4x3_rc1::IfcStyledItem::setItem(const ::Ifc4x3_rc1::IfcRepresentationItem& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc1::IfcStyleAssignmentSelect > Ifc4x3_rc1::IfcStyledItem::Styles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcStyleAssignmentSelect>(es); } -void Ifc4x3_rc1::IfcStyledItem::setStyles(const std::vector< ::Ifc4x3_rc1::IfcStyleAssignmentSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc1::IfcStyleAssignmentSelect > Ifc4x3_rc1::IfcStyledItem::Styles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcStyleAssignmentSelect>(es); } +void Ifc4x3_rc1::IfcStyledItem::setStyles(const std::vector< ::Ifc4x3_rc1::IfcStyleAssignmentSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_rc1::IfcStyledItem::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcStyledItem::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_rc1::IfcStyledItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1122]); } -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; } +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]); } -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; } +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]); } -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; } +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,10 +15253,10 @@ void Ifc4x3_rc1::IfcSubContractResourceType::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc1::IfcSubContractResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1126]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcEdge Ifc4x3_rc1::IfcSubedge::ParentEdge() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcEdge>(); } void Ifc4x3_rc1::IfcSubedge::setParentEdge(const ::Ifc4x3_rc1::IfcEdge& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -15270,19 +15270,19 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcSurface::Class() { return *((ifcopens 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>(); } +::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcSurfaceCurve::Curve3D() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCurve>(); } void Ifc4x3_rc1::IfcSurfaceCurve::setCurve3D(const ::Ifc4x3_rc1::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc1::IfcPcurve > Ifc4x3_rc1::IfcSurfaceCurve::AssociatedGeometry() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcPcurve>(es); } -void Ifc4x3_rc1::IfcSurfaceCurve::setAssociatedGeometry(const std::vector< ::Ifc4x3_rc1::IfcPcurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc1::IfcPcurve > Ifc4x3_rc1::IfcSurfaceCurve::AssociatedGeometry() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcPcurve>(es); } +void Ifc4x3_rc1::IfcSurfaceCurve::setAssociatedGeometry(const std::vector< ::Ifc4x3_rc1::IfcPcurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } ::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3_rc1::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::FromString(get_attribute_value(2)); } void Ifc4x3_rc1::IfcSurfaceCurve::setMasterRepresentation(const ::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc1::IfcSurfaceCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1130]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcSurface Ifc4x3_rc1::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcSurface>(); } void Ifc4x3_rc1::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(const ::Ifc4x3_rc1::IfcSurface& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -15298,7 +15298,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcSurfaceFeature::Class() { return *((i 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>(); } +::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcDirection>(); } void Ifc4x3_rc1::IfcSurfaceOfLinearExtrusion::setExtrudedDirection(const ::Ifc4x3_rc1::IfcDirection& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc4x3_rc1::IfcSurfaceOfLinearExtrusion::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcSurfaceOfLinearExtrusion::setDepth(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -15308,7 +15308,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcSurfaceOfLinearExtrusion::Class() { r 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>(); } +::Ifc4x3_rc1::IfcAxis1Placement Ifc4x3_rc1::IfcSurfaceOfRevolution::AxisPosition() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcAxis1Placement>(); } void Ifc4x3_rc1::IfcSurfaceOfRevolution::setAxisPosition(const ::Ifc4x3_rc1::IfcAxis1Placement& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -15330,21 +15330,21 @@ Ifc4x3_rc1::IfcSurfaceReinforcementArea Ifc4x3_rc1::IfcSurfaceReinforcementArea: // Function implementations for IfcSurfaceStyle ::Ifc4x3_rc1::IfcSurfaceSide::Value Ifc4x3_rc1::IfcSurfaceStyle::Side() const { return ::Ifc4x3_rc1::IfcSurfaceSide::FromString(get_attribute_value(1)); } void Ifc4x3_rc1::IfcSurfaceStyle::setSide(const ::Ifc4x3_rc1::IfcSurfaceSide::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4x3_rc1::IfcSurfaceSide::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x3_rc1::IfcSurfaceStyleElementSelect > Ifc4x3_rc1::IfcSurfaceStyle::Styles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcSurfaceStyleElementSelect>(es); } -void Ifc4x3_rc1::IfcSurfaceStyle::setStyles(const std::vector< ::Ifc4x3_rc1::IfcSurfaceStyleElementSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc1::IfcSurfaceStyleElementSelect > Ifc4x3_rc1::IfcSurfaceStyle::Styles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcSurfaceStyleElementSelect>(es); } +void Ifc4x3_rc1::IfcSurfaceStyle::setStyles(const std::vector< ::Ifc4x3_rc1::IfcSurfaceStyleElementSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc1::IfcSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1139]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcColourRgb Ifc4x3_rc1::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcColourRgb>(); } void Ifc4x3_rc1::IfcSurfaceStyleLighting::setDiffuseTransmissionColour(const ::Ifc4x3_rc1::IfcColourRgb& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcColourRgb Ifc4x3_rc1::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcColourRgb>(); } +::Ifc4x3_rc1::IfcColourRgb Ifc4x3_rc1::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcColourRgb>(); } void Ifc4x3_rc1::IfcSurfaceStyleLighting::setDiffuseReflectionColour(const ::Ifc4x3_rc1::IfcColourRgb& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcColourRgb Ifc4x3_rc1::IfcSurfaceStyleLighting::TransmissionColour() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcColourRgb>(); } +::Ifc4x3_rc1::IfcColourRgb Ifc4x3_rc1::IfcSurfaceStyleLighting::TransmissionColour() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcColourRgb>(); } void Ifc4x3_rc1::IfcSurfaceStyleLighting::setTransmissionColour(const ::Ifc4x3_rc1::IfcColourRgb& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcColourRgb Ifc4x3_rc1::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcColourRgb>(); } +::Ifc4x3_rc1::IfcColourRgb Ifc4x3_rc1::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcColourRgb>(); } void Ifc4x3_rc1::IfcSurfaceStyleLighting::setReflectanceColour(const ::Ifc4x3_rc1::IfcColourRgb& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -15362,17 +15362,17 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcSurfaceStyleRefraction::Class() { ret 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>(); } +::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>(); } void Ifc4x3_rc1::IfcSurfaceStyleRendering::setDiffuseColour(const ::Ifc4x3_rc1::IfcColourOrFactor& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcColourOrFactor Ifc4x3_rc1::IfcSurfaceStyleRendering::TransmissionColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcColourOrFactor>(); } +::Ifc4x3_rc1::IfcColourOrFactor Ifc4x3_rc1::IfcSurfaceStyleRendering::TransmissionColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcColourOrFactor>(); } void Ifc4x3_rc1::IfcSurfaceStyleRendering::setTransmissionColour(const ::Ifc4x3_rc1::IfcColourOrFactor& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc1::IfcColourOrFactor Ifc4x3_rc1::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc1::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcColourOrFactor>(); } +::Ifc4x3_rc1::IfcColourOrFactor Ifc4x3_rc1::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc1::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcColourOrFactor>(); } void Ifc4x3_rc1::IfcSurfaceStyleRendering::setDiffuseTransmissionColour(const ::Ifc4x3_rc1::IfcColourOrFactor& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcColourOrFactor Ifc4x3_rc1::IfcSurfaceStyleRendering::ReflectionColour() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc1::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcColourOrFactor>(); } +::Ifc4x3_rc1::IfcColourOrFactor Ifc4x3_rc1::IfcSurfaceStyleRendering::ReflectionColour() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc1::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcColourOrFactor>(); } void Ifc4x3_rc1::IfcSurfaceStyleRendering::setReflectionColour(const ::Ifc4x3_rc1::IfcColourOrFactor& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc1::IfcColourOrFactor Ifc4x3_rc1::IfcSurfaceStyleRendering::SpecularColour() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcColourOrFactor>(); } +::Ifc4x3_rc1::IfcColourOrFactor Ifc4x3_rc1::IfcSurfaceStyleRendering::SpecularColour() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcColourOrFactor>(); } void Ifc4x3_rc1::IfcSurfaceStyleRendering::setSpecularColour(const ::Ifc4x3_rc1::IfcColourOrFactor& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc1::IfcSpecularHighlightSelect Ifc4x3_rc1::IfcSurfaceStyleRendering::SpecularHighlight() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc1::IfcSpecularHighlightSelect{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc1::IfcSpecularHighlightSelect>(); } +::Ifc4x3_rc1::IfcSpecularHighlightSelect Ifc4x3_rc1::IfcSurfaceStyleRendering::SpecularHighlight() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc1::IfcSpecularHighlightSelect{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc1::IfcSpecularHighlightSelect>(); } void Ifc4x3_rc1::IfcSurfaceStyleRendering::setSpecularHighlight(const ::Ifc4x3_rc1::IfcSpecularHighlightSelect& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_rc1::IfcReflectanceMethodEnum::Value Ifc4x3_rc1::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x3_rc1::IfcReflectanceMethodEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcSurfaceStyleRendering::setReflectanceMethod(const ::Ifc4x3_rc1::IfcReflectanceMethodEnum::Value& v) { set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc1::IfcReflectanceMethodEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } @@ -15382,7 +15382,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcSurfaceStyleRendering::Class() { retu 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>(); } +::Ifc4x3_rc1::IfcColourRgb Ifc4x3_rc1::IfcSurfaceStyleShading::SurfaceColour() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcColourRgb>(); } void Ifc4x3_rc1::IfcSurfaceStyleShading::setSurfaceColour(const ::Ifc4x3_rc1::IfcColourRgb& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< double > Ifc4x3_rc1::IfcSurfaceStyleShading::Transparency() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcSurfaceStyleShading::setTransparency(const std::optional< double >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } @@ -15392,12 +15392,12 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcSurfaceStyleShading::Class() { return 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); } -void Ifc4x3_rc1::IfcSurfaceStyleWithTextures::setTextures(const std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > Ifc4x3_rc1::IfcSurfaceStyleWithTextures::Textures() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcSurfaceTexture>(es); } +void Ifc4x3_rc1::IfcSurfaceStyleWithTextures::setTextures(const std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc1::IfcSurfaceStyleWithTextures::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1145]); } -Ifc4x3_rc1::IfcSurfaceStyleWithTextures Ifc4x3_rc1::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures));; return *this; } +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; } @@ -15406,7 +15406,7 @@ bool Ifc4x3_rc1::IfcSurfaceTexture::RepeatT() const { bool v = get_attribute_va void Ifc4x3_rc1::IfcSurfaceTexture::setRepeatT(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_rc1::IfcSurfaceTexture::Mode() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcSurfaceTexture::setMode(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc1::IfcCartesianTransformationOperator2D Ifc4x3_rc1::IfcSurfaceTexture::TextureTransform() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcCartesianTransformationOperator2D>(); } +::Ifc4x3_rc1::IfcCartesianTransformationOperator2D Ifc4x3_rc1::IfcSurfaceTexture::TextureTransform() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcCartesianTransformationOperator2D>(); } void Ifc4x3_rc1::IfcSurfaceTexture::setTextureTransform(const ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcSurfaceTexture::Parameter() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcSurfaceTexture::setParameter(const std::optional< std::vector< std::string > /*[1:?]*/ >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -15418,9 +15418,9 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcSurfaceTexture::Class() { return *((i 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>(); } +::Ifc4x3_rc1::IfcProfileDef Ifc4x3_rc1::IfcSweptAreaSolid::SweptArea() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcProfileDef>(); } void Ifc4x3_rc1::IfcSweptAreaSolid::setSweptArea(const ::Ifc4x3_rc1::IfcProfileDef& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcAxis2Placement3D Ifc4x3_rc1::IfcSweptAreaSolid::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc1::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcAxis2Placement3D>(); } +::Ifc4x3_rc1::IfcAxis2Placement3D Ifc4x3_rc1::IfcSweptAreaSolid::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc1::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcAxis2Placement3D>(); } void Ifc4x3_rc1::IfcSweptAreaSolid::setPosition(const ::Ifc4x3_rc1::IfcAxis2Placement3D& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -15428,7 +15428,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcSweptAreaSolid::Class() { return *((i 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>(); } +::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcSweptDiskSolid::Directrix() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCurve>(); } void Ifc4x3_rc1::IfcSweptDiskSolid::setDirectrix(const ::Ifc4x3_rc1::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc1::IfcSweptDiskSolid::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcSweptDiskSolid::setRadius(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -15452,9 +15452,9 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcSweptDiskSolidPolygonal::Class() { re 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>(); } +::Ifc4x3_rc1::IfcProfileDef Ifc4x3_rc1::IfcSweptSurface::SweptCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcProfileDef>(); } void Ifc4x3_rc1::IfcSweptSurface::setSweptCurve(const ::Ifc4x3_rc1::IfcProfileDef& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcAxis2Placement3D Ifc4x3_rc1::IfcSweptSurface::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc1::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcAxis2Placement3D>(); } +::Ifc4x3_rc1::IfcAxis2Placement3D Ifc4x3_rc1::IfcSweptSurface::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc1::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcAxis2Placement3D>(); } void Ifc4x3_rc1::IfcSweptSurface::setPosition(const ::Ifc4x3_rc1::IfcAxis2Placement3D& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -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]); } -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; } +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 @@ -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]); } -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; } +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; } @@ -15528,14 +15528,14 @@ Ifc4x3_rc1::IfcTShapeProfileDef Ifc4x3_rc1::IfcTShapeProfileDef::initialize(::If // 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; } void Ifc4x3_rc1::IfcTable::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::optional< std::vector< ::Ifc4x3_rc1::IfcTableRow > > Ifc4x3_rc1::IfcTable::Rows() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcTableRow>(es); } -void Ifc4x3_rc1::IfcTable::setRows(const std::optional< std::vector< ::Ifc4x3_rc1::IfcTableRow > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } -std::optional< std::vector< ::Ifc4x3_rc1::IfcTableColumn > > Ifc4x3_rc1::IfcTable::Columns() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcTableColumn>(es); } -void Ifc4x3_rc1::IfcTable::setColumns(const std::optional< std::vector< ::Ifc4x3_rc1::IfcTableColumn > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4x3_rc1::IfcTableRow > > Ifc4x3_rc1::IfcTable::Rows() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcTableRow>(es); } +void Ifc4x3_rc1::IfcTable::setRows(const std::optional< std::vector< ::Ifc4x3_rc1::IfcTableRow > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } +std::optional< std::vector< ::Ifc4x3_rc1::IfcTableColumn > > Ifc4x3_rc1::IfcTable::Columns() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcTableColumn>(es); } +void Ifc4x3_rc1::IfcTable::setColumns(const std::optional< std::vector< ::Ifc4x3_rc1::IfcTableColumn > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_rc1::IfcTable::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1158]); } -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; } +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; } @@ -15544,9 +15544,9 @@ std::optional< std::string > Ifc4x3_rc1::IfcTableColumn::Name() const { if(get_a void Ifc4x3_rc1::IfcTableColumn::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x3_rc1::IfcTableColumn::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcTableColumn::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc1::IfcUnit Ifc4x3_rc1::IfcTableColumn::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcUnit>(); } +::Ifc4x3_rc1::IfcUnit Ifc4x3_rc1::IfcTableColumn::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcUnit>(); } void Ifc4x3_rc1::IfcTableColumn::setUnit(const ::Ifc4x3_rc1::IfcUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc1::IfcReference Ifc4x3_rc1::IfcTableColumn::ReferencePath() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc1::IfcReference{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcReference>(); } +::Ifc4x3_rc1::IfcReference Ifc4x3_rc1::IfcTableColumn::ReferencePath() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc1::IfcReference{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcReference>(); } void Ifc4x3_rc1::IfcTableColumn::setReferencePath(const ::Ifc4x3_rc1::IfcReference& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -15554,14 +15554,14 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcTableColumn::Class() { return *((ifco 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); } -void Ifc4x3_rc1::IfcTableRow::setRowCells(const std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > >& v) { if (v) {set_attribute_value(0, cast_vector(*v));} else {unset_attribute_value(0);} } +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); } +void Ifc4x3_rc1::IfcTableRow::setRowCells(const std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > >& v) { if (v) {set_attribute_value(0, cast_vector(*v));} else {unset_attribute_value(0);} } std::optional< bool > Ifc4x3_rc1::IfcTableRow::IsHeading() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } bool v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcTableRow::setIsHeading(const std::optional< bool >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const ifcopenshell::entity& Ifc4x3_rc1::IfcTableRow::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1160]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -15588,7 +15588,7 @@ bool Ifc4x3_rc1::IfcTask::IsMilestone() const { bool v = get_attribute_value(9) void Ifc4x3_rc1::IfcTask::setIsMilestone(const bool& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::optional< int64_t > Ifc4x3_rc1::IfcTask::Priority() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcTask::setPriority(const std::optional< int64_t >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x3_rc1::IfcTaskTime Ifc4x3_rc1::IfcTask::TaskTime() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x3_rc1::IfcTaskTime{}; } return ((express::Base)(get_attribute_value(11))).as<::Ifc4x3_rc1::IfcTaskTime>(); } +::Ifc4x3_rc1::IfcTaskTime Ifc4x3_rc1::IfcTask::TaskTime() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x3_rc1::IfcTaskTime{}; } return ((express::base)(get_attribute_value(11))).as<::Ifc4x3_rc1::IfcTaskTime>(); } void Ifc4x3_rc1::IfcTask::setTaskTime(const ::Ifc4x3_rc1::IfcTaskTime& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } std::optional< ::Ifc4x3_rc1::IfcTaskTypeEnum::Value > Ifc4x3_rc1::IfcTask::PredefinedType() const { if(get_attribute_value(12).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcTaskTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x3_rc1::IfcTask::setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcTaskTypeEnum::Value >& v) { if (v) {set_attribute_value(12, enumeration_reference(&::Ifc4x3_rc1::IfcTaskTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } @@ -15638,7 +15638,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcTaskTime::Class() { return *((ifcopen 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>(); } +::Ifc4x3_rc1::IfcRecurrencePattern Ifc4x3_rc1::IfcTaskTimeRecurring::Recurrence() const { return ((express::base)(get_attribute_value(20))).as<::Ifc4x3_rc1::IfcRecurrencePattern>(); } void Ifc4x3_rc1::IfcTaskTimeRecurring::setRecurrence(const ::Ifc4x3_rc1::IfcRecurrencePattern& v) { set_attribute_value(20, v);if constexpr (false)unset_attribute_value(20); } @@ -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]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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,10 +15739,10 @@ void Ifc4x3_rc1::IfcTendonType::setSheathDiameter(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_rc1::IfcTendonType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1180]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcCartesianPointList3D Ifc4x3_rc1::IfcTessellatedFaceSet::Coordinates() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCartesianPointList3D>(); } void Ifc4x3_rc1::IfcTessellatedFaceSet::setCoordinates(const ::Ifc4x3_rc1::IfcCartesianPointList3D& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::vector<::Ifc4x3_rc1::IfcIndexedColourMap> Ifc4x3_rc1::IfcTessellatedFaceSet::HasColours() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[550], 0)); } @@ -15760,7 +15760,7 @@ Ifc4x3_rc1::IfcTessellatedItem Ifc4x3_rc1::IfcTessellatedItem::initialize() { ; // Function implementations for IfcTextLiteral std::string Ifc4x3_rc1::IfcTextLiteral::Literal() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcTextLiteral::setLiteral(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcAxis2Placement Ifc4x3_rc1::IfcTextLiteral::Placement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcAxis2Placement>(); } +::Ifc4x3_rc1::IfcAxis2Placement Ifc4x3_rc1::IfcTextLiteral::Placement() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcAxis2Placement>(); } void Ifc4x3_rc1::IfcTextLiteral::setPlacement(const ::Ifc4x3_rc1::IfcAxis2Placement& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } ::Ifc4x3_rc1::IfcTextPath::Value Ifc4x3_rc1::IfcTextLiteral::Path() const { return ::Ifc4x3_rc1::IfcTextPath::FromString(get_attribute_value(2)); } void Ifc4x3_rc1::IfcTextLiteral::setPath(const ::Ifc4x3_rc1::IfcTextPath::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4x3_rc1::IfcTextPath::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } @@ -15770,7 +15770,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcTextLiteral::Class() { return *((ifco 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>(); } +::Ifc4x3_rc1::IfcPlanarExtent Ifc4x3_rc1::IfcTextLiteralWithExtent::Extent() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcPlanarExtent>(); } void Ifc4x3_rc1::IfcTextLiteralWithExtent::setExtent(const ::Ifc4x3_rc1::IfcPlanarExtent& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::string Ifc4x3_rc1::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcTextLiteralWithExtent::setBoxAlignment(const std::string& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -15780,11 +15780,11 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcTextLiteralWithExtent::Class() { retu 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>(); } +::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>(); } void Ifc4x3_rc1::IfcTextStyle::setTextCharacterAppearance(const ::Ifc4x3_rc1::IfcTextStyleForDefinedFont& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcTextStyleTextModel Ifc4x3_rc1::IfcTextStyle::TextStyle() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc1::IfcTextStyleTextModel{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcTextStyleTextModel>(); } +::Ifc4x3_rc1::IfcTextStyleTextModel Ifc4x3_rc1::IfcTextStyle::TextStyle() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc1::IfcTextStyleTextModel{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcTextStyleTextModel>(); } void Ifc4x3_rc1::IfcTextStyle::setTextStyle(const ::Ifc4x3_rc1::IfcTextStyleTextModel& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcTextFontSelect Ifc4x3_rc1::IfcTextStyle::TextFontStyle() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcTextFontSelect>(); } +::Ifc4x3_rc1::IfcTextFontSelect Ifc4x3_rc1::IfcTextStyle::TextFontStyle() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcTextFontSelect>(); } void Ifc4x3_rc1::IfcTextStyle::setTextFontStyle(const ::Ifc4x3_rc1::IfcTextFontSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< bool > Ifc4x3_rc1::IfcTextStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } bool v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcTextStyle::setModelOrDraughting(const std::optional< bool >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -15802,7 +15802,7 @@ std::optional< std::string > Ifc4x3_rc1::IfcTextStyleFontModel::FontVariant() co void Ifc4x3_rc1::IfcTextStyleFontModel::setFontVariant(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } std::optional< std::string > Ifc4x3_rc1::IfcTextStyleFontModel::FontWeight() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcTextStyleFontModel::setFontWeight(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc1::IfcSizeSelect Ifc4x3_rc1::IfcTextStyleFontModel::FontSize() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcSizeSelect>(); } +::Ifc4x3_rc1::IfcSizeSelect Ifc4x3_rc1::IfcTextStyleFontModel::FontSize() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcSizeSelect>(); } void Ifc4x3_rc1::IfcTextStyleFontModel::setFontSize(const ::Ifc4x3_rc1::IfcSizeSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -15810,9 +15810,9 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcTextStyleFontModel::Class() { return 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>(); } +::Ifc4x3_rc1::IfcColour Ifc4x3_rc1::IfcTextStyleForDefinedFont::Colour() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcColour>(); } void Ifc4x3_rc1::IfcTextStyleForDefinedFont::setColour(const ::Ifc4x3_rc1::IfcColour& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcColour Ifc4x3_rc1::IfcTextStyleForDefinedFont::BackgroundColour() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc1::IfcColour{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcColour>(); } +::Ifc4x3_rc1::IfcColour Ifc4x3_rc1::IfcTextStyleForDefinedFont::BackgroundColour() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc1::IfcColour{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcColour>(); } void Ifc4x3_rc1::IfcTextStyleForDefinedFont::setBackgroundColour(const ::Ifc4x3_rc1::IfcColour& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -15820,19 +15820,19 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcTextStyleForDefinedFont::Class() { re 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>(); } +::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>(); } void Ifc4x3_rc1::IfcTextStyleTextModel::setTextIndent(const ::Ifc4x3_rc1::IfcSizeSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x3_rc1::IfcTextStyleTextModel::TextAlign() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcTextStyleTextModel::setTextAlign(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x3_rc1::IfcTextStyleTextModel::TextDecoration() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcTextStyleTextModel::setTextDecoration(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc1::IfcSizeSelect Ifc4x3_rc1::IfcTextStyleTextModel::LetterSpacing() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcSizeSelect>(); } +::Ifc4x3_rc1::IfcSizeSelect Ifc4x3_rc1::IfcTextStyleTextModel::LetterSpacing() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcSizeSelect>(); } void Ifc4x3_rc1::IfcTextStyleTextModel::setLetterSpacing(const ::Ifc4x3_rc1::IfcSizeSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc1::IfcSizeSelect Ifc4x3_rc1::IfcTextStyleTextModel::WordSpacing() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc1::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcSizeSelect>(); } +::Ifc4x3_rc1::IfcSizeSelect Ifc4x3_rc1::IfcTextStyleTextModel::WordSpacing() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc1::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcSizeSelect>(); } void Ifc4x3_rc1::IfcTextStyleTextModel::setWordSpacing(const ::Ifc4x3_rc1::IfcSizeSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::optional< std::string > Ifc4x3_rc1::IfcTextStyleTextModel::TextTransform() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcTextStyleTextModel::setTextTransform(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc1::IfcSizeSelect Ifc4x3_rc1::IfcTextStyleTextModel::LineHeight() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcSizeSelect>(); } +::Ifc4x3_rc1::IfcSizeSelect Ifc4x3_rc1::IfcTextStyleTextModel::LineHeight() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc1::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcSizeSelect>(); } void Ifc4x3_rc1::IfcTextStyleTextModel::setLineHeight(const ::Ifc4x3_rc1::IfcSizeSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -15840,12 +15840,12 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcTextStyleTextModel::Class() { return 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); } -void Ifc4x3_rc1::IfcTextureCoordinate::setMaps(const std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > Ifc4x3_rc1::IfcTextureCoordinate::Maps() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcSurfaceTexture>(es); } +void Ifc4x3_rc1::IfcTextureCoordinate::setMaps(const std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc1::IfcTextureCoordinate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1197]); } -Ifc4x3_rc1::IfcTextureCoordinate Ifc4x3_rc1::IfcTextureCoordinate::initialize(std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > v1_Maps) { set_attribute_value(0, cast_vector(v1_Maps));; return *this; } +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,17 +15855,17 @@ void Ifc4x3_rc1::IfcTextureCoordinateGenerator::setParameter(const std::optional const ifcopenshell::entity& Ifc4x3_rc1::IfcTextureCoordinateGenerator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1198]); } -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; } +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); } -void Ifc4x3_rc1::IfcTextureMap::setVertices(const std::vector< ::Ifc4x3_rc1::IfcTextureVertex >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcFace Ifc4x3_rc1::IfcTextureMap::MappedTo() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcFace>(); } +std::vector< ::Ifc4x3_rc1::IfcTextureVertex > Ifc4x3_rc1::IfcTextureMap::Vertices() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcTextureVertex>(es); } +void Ifc4x3_rc1::IfcTextureMap::setVertices(const std::vector< ::Ifc4x3_rc1::IfcTextureVertex >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +::Ifc4x3_rc1::IfcFace Ifc4x3_rc1::IfcTextureMap::MappedTo() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcFace>(); } void Ifc4x3_rc1::IfcTextureMap::setMappedTo(const ::Ifc4x3_rc1::IfcFace& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc1::IfcTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1199]); } -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; } +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; } @@ -15908,7 +15908,7 @@ void Ifc4x3_rc1::IfcTimeSeries::setTimeSeriesDataType(const ::Ifc4x3_rc1::IfcTim void Ifc4x3_rc1::IfcTimeSeries::setDataOrigin(const ::Ifc4x3_rc1::IfcDataOriginEnum::Value& v) { set_attribute_value(5, enumeration_reference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } std::optional< std::string > Ifc4x3_rc1::IfcTimeSeries::UserDefinedDataOrigin() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcTimeSeries::setUserDefinedDataOrigin(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_rc1::IfcUnit Ifc4x3_rc1::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc1::IfcUnit{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc1::IfcUnit>(); } +::Ifc4x3_rc1::IfcUnit Ifc4x3_rc1::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc1::IfcUnit{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc1::IfcUnit>(); } void Ifc4x3_rc1::IfcTimeSeries::setUnit(const ::Ifc4x3_rc1::IfcUnit& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcTimeSeries::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[436], 3)); } @@ -15917,12 +15917,12 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcTimeSeries::Class() { return *((ifcop 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); } -void Ifc4x3_rc1::IfcTimeSeriesValue::setListValues(const std::vector< ::Ifc4x3_rc1::IfcValue >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc1::IfcValue > Ifc4x3_rc1::IfcTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcValue>(es); } +void Ifc4x3_rc1::IfcTimeSeriesValue::setListValues(const std::vector< ::Ifc4x3_rc1::IfcValue >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc1::IfcTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1214]); } -Ifc4x3_rc1::IfcTimeSeriesValue Ifc4x3_rc1::IfcTimeSeriesValue::initialize(std::vector< ::Ifc4x3_rc1::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues));; return *this; } +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 @@ -15934,7 +15934,7 @@ Ifc4x3_rc1::IfcTopologicalRepresentationItem Ifc4x3_rc1::IfcTopologicalRepresent const ifcopenshell::entity& Ifc4x3_rc1::IfcTopologyRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1217]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -15995,7 +15995,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcTransitionCurveSegment2D::Class() { r 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>(); } +::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>(); } void Ifc4x3_rc1::IfcTransportElement::setPredefinedType(const ::Ifc4x3_rc1::IfcTransportElementTypeSelect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -16003,12 +16003,12 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcTransportElement::Class() { return *( 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>(); } +::Ifc4x3_rc1::IfcTransportElementTypeSelect Ifc4x3_rc1::IfcTransportElementType::PredefinedType() const { return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc1::IfcTransportElementTypeSelect>(); } void Ifc4x3_rc1::IfcTransportElementType::setPredefinedType(const ::Ifc4x3_rc1::IfcTransportElementTypeSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } const ifcopenshell::entity& Ifc4x3_rc1::IfcTransportElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1233]); } -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; } +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; } @@ -16047,12 +16047,12 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcTriangulatedIrregularNetwork::Class() 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< int64_t > > v4_CoordIndex, std::optional< std::vector< int64_t > /*[1:?]*/ > v5_PnIndex, std::vector< int64_t > /*[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>(); } +::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcTrimmedCurve::BasisCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCurve>(); } void Ifc4x3_rc1::IfcTrimmedCurve::setBasisCurve(const ::Ifc4x3_rc1::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc1::IfcTrimmingSelect > Ifc4x3_rc1::IfcTrimmedCurve::Trim1() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcTrimmingSelect>(es); } -void Ifc4x3_rc1::IfcTrimmedCurve::setTrim1(const std::vector< ::Ifc4x3_rc1::IfcTrimmingSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x3_rc1::IfcTrimmingSelect > Ifc4x3_rc1::IfcTrimmedCurve::Trim2() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcTrimmingSelect>(es); } -void Ifc4x3_rc1::IfcTrimmedCurve::setTrim2(const std::vector< ::Ifc4x3_rc1::IfcTrimmingSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc1::IfcTrimmingSelect > Ifc4x3_rc1::IfcTrimmedCurve::Trim1() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcTrimmingSelect>(es); } +void Ifc4x3_rc1::IfcTrimmedCurve::setTrim1(const std::vector< ::Ifc4x3_rc1::IfcTrimmingSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc1::IfcTrimmingSelect > Ifc4x3_rc1::IfcTrimmedCurve::Trim2() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcTrimmingSelect>(es); } +void Ifc4x3_rc1::IfcTrimmedCurve::setTrim2(const std::vector< ::Ifc4x3_rc1::IfcTrimmingSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } bool Ifc4x3_rc1::IfcTrimmedCurve::SenseAgreement() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcTrimmedCurve::setSenseAgreement(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } ::Ifc4x3_rc1::IfcTrimmingPreference::Value Ifc4x3_rc1::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_rc1::IfcTrimmingPreference::FromString(get_attribute_value(4)); } @@ -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]); } -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; } +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)); } @@ -16076,18 +16076,18 @@ void Ifc4x3_rc1::IfcTubeBundleType::setPredefinedType(const ::Ifc4x3_rc1::IfcTub const ifcopenshell::entity& Ifc4x3_rc1::IfcTubeBundleType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1243]); } -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; } +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; } void Ifc4x3_rc1::IfcTypeObject::setApplicableOccurrence(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > Ifc4x3_rc1::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc1::IfcPropertySetDefinition>(es); } -void Ifc4x3_rc1::IfcTypeObject::setHasPropertySets(const std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > >& v) { if (v) {set_attribute_value(5, cast_vector(*v));} else {unset_attribute_value(5);} } +std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > Ifc4x3_rc1::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc1::IfcPropertySetDefinition>(es); } +void Ifc4x3_rc1::IfcTypeObject::setHasPropertySets(const std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > >& v) { if (v) {set_attribute_value(5, cast_vector(*v));} else {unset_attribute_value(5);} } 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]); } -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; } +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,18 +16100,18 @@ 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]); } -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; } +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); } -void Ifc4x3_rc1::IfcTypeProduct::setRepresentationMaps(const std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +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); } +void Ifc4x3_rc1::IfcTypeProduct::setRepresentationMaps(const std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } std::optional< std::string > Ifc4x3_rc1::IfcTypeProduct::Tag() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcTypeProduct::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } 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]); } -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; } +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]); } -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; } +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; } @@ -16147,12 +16147,12 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcUShapeProfileDef::Class() { return *( 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); } -void Ifc4x3_rc1::IfcUnitAssignment::setUnits(const std::vector< ::Ifc4x3_rc1::IfcUnit >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc1::IfcUnit > Ifc4x3_rc1::IfcUnitAssignment::Units() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcUnit>(es); } +void Ifc4x3_rc1::IfcUnitAssignment::setUnits(const std::vector< ::Ifc4x3_rc1::IfcUnit >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc1::IfcUnitAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1256]); } -Ifc4x3_rc1::IfcUnitAssignment Ifc4x3_rc1::IfcUnitAssignment::initialize(std::vector< ::Ifc4x3_rc1::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units));; return *this; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -16200,10 +16200,10 @@ void Ifc4x3_rc1::IfcValveType::setPredefinedType(const ::Ifc4x3_rc1::IfcValveTyp const ifcopenshell::entity& Ifc4x3_rc1::IfcValveType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1262]); } -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; } +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>(); } +::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcVector::Orientation() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcDirection>(); } void Ifc4x3_rc1::IfcVector::setOrientation(const ::Ifc4x3_rc1::IfcDirection& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc1::IfcVector::Magnitude() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcVector::setMagnitude(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -16219,7 +16219,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcVertex::Class() { return *((ifcopensh 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>(); } +::Ifc4x3_rc1::IfcVertex Ifc4x3_rc1::IfcVertexLoop::LoopVertex() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcVertex>(); } void Ifc4x3_rc1::IfcVertexLoop::setLoopVertex(const ::Ifc4x3_rc1::IfcVertex& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -16227,7 +16227,7 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcVertexLoop::Class() { return *((ifcop 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>(); } +::Ifc4x3_rc1::IfcPoint Ifc4x3_rc1::IfcVertexPoint::VertexGeometry() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcPoint>(); } void Ifc4x3_rc1::IfcVertexPoint::setVertexGeometry(const ::Ifc4x3_rc1::IfcPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -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]); } -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; } +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)); } @@ -16264,7 +16264,7 @@ void Ifc4x3_rc1::IfcVibrationIsolatorType::setPredefinedType(const ::Ifc4x3_rc1: const ifcopenshell::entity& Ifc4x3_rc1::IfcVibrationIsolatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1274]); } -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; } +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 @@ -16273,14 +16273,14 @@ const ifcopenshell::entity& Ifc4x3_rc1::IfcVirtualElement::Class() { return *((i 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); } -void Ifc4x3_rc1::IfcVirtualGridIntersection::setIntersectingAxes(const std::vector< ::Ifc4x3_rc1::IfcGridAxis >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc1::IfcGridAxis > Ifc4x3_rc1::IfcVirtualGridIntersection::IntersectingAxes() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcGridAxis>(es); } +void Ifc4x3_rc1::IfcVirtualGridIntersection::setIntersectingAxes(const std::vector< ::Ifc4x3_rc1::IfcGridAxis >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } std::vector< double > /*[2:3]*/ Ifc4x3_rc1::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcVirtualGridIntersection::setOffsetDistances(const std::vector< double > /*[2:3]*/& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_rc1::IfcVirtualGridIntersection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1277]); } -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; } +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 @@ -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]); } -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; } +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)); } @@ -16338,7 +16338,7 @@ void Ifc4x3_rc1::IfcWasteTerminalType::setPredefinedType(const ::Ifc4x3_rc1::Ifc const ifcopenshell::entity& Ifc4x3_rc1::IfcWasteTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1292]); } -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; } +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 @@ -16379,7 +16379,7 @@ std::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::FirstMullionOffse void Ifc4x3_rc1::IfcWindowLiningProperties::setFirstMullionOffset(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } std::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::SecondMullionOffset() const { if(get_attribute_value(11).isNull()) { return std::nullopt; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc1::IfcWindowLiningProperties::setSecondMullionOffset(const std::optional< double >& v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -::Ifc4x3_rc1::IfcShapeAspect Ifc4x3_rc1::IfcWindowLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(12).isNull()) { return ::Ifc4x3_rc1::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(12))).as<::Ifc4x3_rc1::IfcShapeAspect>(); } +::Ifc4x3_rc1::IfcShapeAspect Ifc4x3_rc1::IfcWindowLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(12).isNull()) { return ::Ifc4x3_rc1::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(12))).as<::Ifc4x3_rc1::IfcShapeAspect>(); } void Ifc4x3_rc1::IfcWindowLiningProperties::setShapeAspectStyle(const ::Ifc4x3_rc1::IfcShapeAspect& v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } std::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::LiningOffset() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc1::IfcWindowLiningProperties::setLiningOffset(const std::optional< double >& v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } @@ -16401,7 +16401,7 @@ std::optional< double > Ifc4x3_rc1::IfcWindowPanelProperties::FrameDepth() const void Ifc4x3_rc1::IfcWindowPanelProperties::setFrameDepth(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } std::optional< double > Ifc4x3_rc1::IfcWindowPanelProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcWindowPanelProperties::setFrameThickness(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc1::IfcShapeAspect Ifc4x3_rc1::IfcWindowPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc1::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc1::IfcShapeAspect>(); } +::Ifc4x3_rc1::IfcShapeAspect Ifc4x3_rc1::IfcWindowPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc1::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc1::IfcShapeAspect>(); } void Ifc4x3_rc1::IfcWindowPanelProperties::setShapeAspectStyle(const ::Ifc4x3_rc1::IfcShapeAspect& v) { set_attribute_value(8, v);if constexpr (false)unset_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]); } -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; } +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,25 +16440,25 @@ void Ifc4x3_rc1::IfcWindowType::setUserDefinedPartitioningType(const std::option const ifcopenshell::entity& Ifc4x3_rc1::IfcWindowType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1304]); } -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; } +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); } -void Ifc4x3_rc1::IfcWorkCalendar::setWorkingTimes(const std::optional< std::vector< ::Ifc4x3_rc1::IfcWorkTime > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x3_rc1::IfcWorkTime > > Ifc4x3_rc1::IfcWorkCalendar::ExceptionTimes() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc1::IfcWorkTime>(es); } -void Ifc4x3_rc1::IfcWorkCalendar::setExceptionTimes(const std::optional< std::vector< ::Ifc4x3_rc1::IfcWorkTime > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +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); } +void Ifc4x3_rc1::IfcWorkCalendar::setWorkingTimes(const std::optional< std::vector< ::Ifc4x3_rc1::IfcWorkTime > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +std::optional< std::vector< ::Ifc4x3_rc1::IfcWorkTime > > Ifc4x3_rc1::IfcWorkCalendar::ExceptionTimes() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc1::IfcWorkTime>(es); } +void Ifc4x3_rc1::IfcWorkCalendar::setExceptionTimes(const std::optional< std::vector< ::Ifc4x3_rc1::IfcWorkTime > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< ::Ifc4x3_rc1::IfcWorkCalendarTypeEnum::Value > Ifc4x3_rc1::IfcWorkCalendar::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcWorkCalendarTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcWorkCalendar::setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcWorkCalendarTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc1::IfcWorkCalendarTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const ifcopenshell::entity& Ifc4x3_rc1::IfcWorkCalendar::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1307]); } -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; } +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; } void Ifc4x3_rc1::IfcWorkControl::setCreationDate(const std::string& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::optional< std::vector< ::Ifc4x3_rc1::IfcPerson > > Ifc4x3_rc1::IfcWorkControl::Creators() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc1::IfcPerson>(es); } -void Ifc4x3_rc1::IfcWorkControl::setCreators(const std::optional< std::vector< ::Ifc4x3_rc1::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x3_rc1::IfcPerson > > Ifc4x3_rc1::IfcWorkControl::Creators() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc1::IfcPerson>(es); } +void Ifc4x3_rc1::IfcWorkControl::setCreators(const std::optional< std::vector< ::Ifc4x3_rc1::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< std::string > Ifc4x3_rc1::IfcWorkControl::Purpose() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcWorkControl::setPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } std::optional< std::string > Ifc4x3_rc1::IfcWorkControl::Duration() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::string v = get_attribute_value(9); 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]); } -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; } +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]); } -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; } +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,10 +16488,10 @@ void Ifc4x3_rc1::IfcWorkSchedule::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc1::IfcWorkSchedule::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1312]); } -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; } +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>(); } +::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>(); } void Ifc4x3_rc1::IfcWorkTime::setRecurrencePattern(const ::Ifc4x3_rc1::IfcRecurrencePattern& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc1::IfcWorkTime::Start() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcWorkTime::setStart(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } diff --git a/src/ifcparse/schemas/Ifc4x3_rc1.h b/src/ifcparse/schemas/Ifc4x3_rc1.h index 3b617cec35..b4f47a7ee6 100644 --- a/src/ifcparse/schemas/Ifc4x3_rc1.h +++ b/src/ifcparse/schemas/Ifc4x3_rc1.h @@ -65,28 +65,28 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcOrganization An organization. /// IfcPerson A person. /// IfcPersonAndOrganization A person related to an organization. -class IFC_SCHEMA_API IfcActorSelect : public express::Select { +class IFC_SCHEMA_API IfcActorSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOrganization as() const { return express::Base::as(); } + // IfcOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPerson as() const { return express::Base::as(); } + // IfcPerson as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPersonAndOrganization as() const { return express::Base::as(); } + // IfcPersonAndOrganization as() const { return express::base::as(); } - IfcActorSelect(const IfcOrganization& c) : express::Select(c) {}; + IfcActorSelect(const IfcOrganization& c) : express::select(c) {}; - IfcActorSelect(const IfcPerson& c) : express::Select(c) {}; + IfcActorSelect(const IfcPerson& c) : express::select(c) {}; - IfcActorSelect(const IfcPersonAndOrganization& c) : express::Select(c) {}; + IfcActorSelect(const IfcPersonAndOrganization& c) : express::select(c) {}; }; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. @@ -103,694 +103,694 @@ public: /// Selecting IfcMeasureWithUnit allows the specification of both the actual figure for the value together with the currency in which the value is represented. /// Selecting IfcMonetaryMeasure allows the specification only of the value, the currency being as set by the global context /// 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_SCHEMA_API IfcAppliedValueSelect : public express::Select { +class IFC_SCHEMA_API IfcAppliedValueSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureWithUnit as() const { return express::Base::as(); } + // IfcMeasureWithUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReference as() const { return express::Base::as(); } + // IfcReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcValue as() const { return express::Base::as(); } + // IfcValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedMeasureValue as() const { return express::Base::as(); } + // IfcDerivedMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureValue as() const { return express::Base::as(); } + // IfcMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSimpleValue as() const { return express::Base::as(); } + // IfcSimpleValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } - IfcAppliedValueSelect(const IfcMeasureWithUnit& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMeasureWithUnit& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcReference& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcReference& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDerivedMeasureValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDerivedMeasureValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcForceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcForceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPHMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPHMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPowerMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPressureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcWarpingMomentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMeasureValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMeasureValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAreaMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcComplexNumber& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcComplexNumber& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcCountMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcCountMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcNumericMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcParameterValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcParameterValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRatioMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTimeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcVolumeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSimpleValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSimpleValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcBinary& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcBinary& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcBoolean& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDate& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDate& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDateTime& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDateTime& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDuration& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDuration& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIdentifier& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIdentifier& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcInteger& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcInteger& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLabel& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLabel& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLogical& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLogical& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositiveInteger& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcReal& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcReal& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcText& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcText& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTime& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTime& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTimeStamp& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTimeStamp& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. @@ -798,43 +798,43 @@ public: /// NOTE: Corresponding STEP type: axis2_placement, please refer to ISO/IS 10303-42:1994, p. 19 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 1.5 -class IFC_SCHEMA_API IfcAxis2Placement : public express::Select { +class IFC_SCHEMA_API IfcAxis2Placement : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAxis2Placement2D as() const { return express::Base::as(); } + // IfcAxis2Placement2D as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAxis2Placement3D as() const { return express::Base::as(); } + // IfcAxis2Placement3D as() const { return express::base::as(); } - IfcAxis2Placement(const IfcAxis2Placement2D& c) : express::Select(c) {}; + IfcAxis2Placement(const IfcAxis2Placement2D& c) : express::select(c) {}; - IfcAxis2Placement(const IfcAxis2Placement3D& c) : express::Select(c) {}; + IfcAxis2Placement(const IfcAxis2Placement3D& c) : express::select(c) {}; }; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// /// HISTORY New type in IFC Release 2x4 -class IFC_SCHEMA_API IfcBendingParameterSelect : public express::Select { +class IFC_SCHEMA_API IfcBendingParameterSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } - IfcBendingParameterSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcBendingParameterSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcBendingParameterSelect(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcBendingParameterSelect(const IfcPlaneAngleMeasure& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies @@ -853,40 +853,40 @@ public: /// (IfcSolidModel) are defined for being valid Boolean operands. /// /// HISTORY: New Type in IFC Release 1.5.1 -class IFC_SCHEMA_API IfcBooleanOperand : public express::Select { +class IFC_SCHEMA_API IfcBooleanOperand : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBooleanResult as() const { return express::Base::as(); } + // IfcBooleanResult as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCsgPrimitive3D as() const { return express::Base::as(); } + // IfcCsgPrimitive3D as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHalfSpaceSolid as() const { return express::Base::as(); } + // IfcHalfSpaceSolid as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidModel as() const { return express::Base::as(); } + // IfcSolidModel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTessellatedFaceSet as() const { return express::Base::as(); } + // IfcTessellatedFaceSet as() const { return express::base::as(); } - IfcBooleanOperand(const IfcBooleanResult& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcBooleanResult& c) : express::select(c) {}; - IfcBooleanOperand(const IfcCsgPrimitive3D& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcCsgPrimitive3D& c) : express::select(c) {}; - IfcBooleanOperand(const IfcHalfSpaceSolid& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcHalfSpaceSolid& c) : express::select(c) {}; - IfcBooleanOperand(const IfcSolidModel& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcSolidModel& c) : express::select(c) {}; - IfcBooleanOperand(const IfcTessellatedFaceSet& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcTessellatedFaceSet& c) : express::select(c) {}; }; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. @@ -897,22 +897,22 @@ public: /// /// IfcClassification (for classification information) /// IfcClassificationReference (for reference into a classification source) -class IFC_SCHEMA_API IfcClassificationReferenceSelect : public express::Select { +class IFC_SCHEMA_API IfcClassificationReferenceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassification as() const { return express::Base::as(); } + // IfcClassification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassificationReference as() const { return express::Base::as(); } + // IfcClassificationReference as() const { return express::base::as(); } - IfcClassificationReferenceSelect(const IfcClassification& c) : express::Select(c) {}; + IfcClassificationReferenceSelect(const IfcClassification& c) : express::select(c) {}; - IfcClassificationReferenceSelect(const IfcClassificationReference& c) : express::Select(c) {}; + IfcClassificationReferenceSelect(const IfcClassificationReference& c) : express::select(c) {}; }; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. @@ -928,22 +928,22 @@ public: /// /// IfcClassification (for referencing a classification system) /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) -class IFC_SCHEMA_API IfcClassificationSelect : public express::Select { +class IFC_SCHEMA_API IfcClassificationSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassification as() const { return express::Base::as(); } + // IfcClassification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassificationReference as() const { return express::Base::as(); } + // IfcClassificationReference as() const { return express::base::as(); } - IfcClassificationSelect(const IfcClassification& c) : express::Select(c) {}; + IfcClassificationSelect(const IfcClassification& c) : express::select(c) {}; - IfcClassificationSelect(const IfcClassificationReference& c) : express::Select(c) {}; + IfcClassificationSelect(const IfcClassificationReference& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. @@ -951,64 +951,64 @@ public: /// NOTE  Corresponding STEP name: colour. It has been made into a SELECT type in IFC to avoid multiple inheritance for pre defined colour. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_SCHEMA_API IfcColour : public express::Select { +class IFC_SCHEMA_API IfcColour : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColourSpecification as() const { return express::Base::as(); } + // IfcColourSpecification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedColour as() const { return express::Base::as(); } + // IfcPreDefinedColour as() const { return express::base::as(); } - IfcColour(const IfcColourSpecification& c) : express::Select(c) {}; + IfcColour(const IfcColourSpecification& c) : express::select(c) {}; - IfcColour(const IfcPreDefinedColour& c) : express::Select(c) {}; + IfcColour(const IfcPreDefinedColour& c) : express::select(c) {}; }; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcColourOrFactor : public express::Select { +class IFC_SCHEMA_API IfcColourOrFactor : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColourRgb as() const { return express::Base::as(); } + // IfcColourRgb as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } - IfcColourOrFactor(const IfcColourRgb& c) : express::Select(c) {}; + IfcColourOrFactor(const IfcColourRgb& c) : express::select(c) {}; - IfcColourOrFactor(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcColourOrFactor(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; }; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// /// HISTORY  New select type in IFC2x4. -class IFC_SCHEMA_API IfcCoordinateReferenceSystemSelect : public express::Select { +class IFC_SCHEMA_API IfcCoordinateReferenceSystemSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCoordinateReferenceSystem as() const { return express::Base::as(); } + // IfcCoordinateReferenceSystem as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcGeometricRepresentationContext as() const { return express::Base::as(); } + // IfcGeometricRepresentationContext as() const { return express::base::as(); } - IfcCoordinateReferenceSystemSelect(const IfcCoordinateReferenceSystem& c) : express::Select(c) {}; + IfcCoordinateReferenceSystemSelect(const IfcCoordinateReferenceSystem& c) : express::select(c) {}; - IfcCoordinateReferenceSystemSelect(const IfcGeometricRepresentationContext& c) : express::Select(c) {}; + IfcCoordinateReferenceSystemSelect(const IfcGeometricRepresentationContext& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. @@ -1017,22 +1017,22 @@ public: /// NOTE Corresponding ISO 10303-42 type: csg_select, please refer to ISO/IS 10303-42:1994, p.168 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcCsgSelect : public express::Select { +class IFC_SCHEMA_API IfcCsgSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBooleanResult as() const { return express::Base::as(); } + // IfcBooleanResult as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCsgPrimitive3D as() const { return express::Base::as(); } + // IfcCsgPrimitive3D as() const { return express::base::as(); } - IfcCsgSelect(const IfcBooleanResult& c) : express::Select(c) {}; + IfcCsgSelect(const IfcBooleanResult& c) : express::select(c) {}; - IfcCsgSelect(const IfcCsgPrimitive3D& c) : express::Select(c) {}; + IfcCsgSelect(const IfcCsgPrimitive3D& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. @@ -1040,59 +1040,59 @@ public: /// NOTE Corresponding ISO 10303 name: curve_font_or_scaled_curve_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_SCHEMA_API IfcCurveFontOrScaledCurveFontSelect : public express::Select { +class IFC_SCHEMA_API IfcCurveFontOrScaledCurveFontSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFontAndScaling as() const { return express::Base::as(); } + // IfcCurveStyleFontAndScaling as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFontSelect as() const { return express::Base::as(); } + // IfcCurveStyleFontSelect as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFont as() const { return express::Base::as(); } + // IfcCurveStyleFont as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedCurveFont as() const { return express::Base::as(); } + // IfcPreDefinedCurveFont as() const { return express::base::as(); } - IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontAndScaling& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontAndScaling& c) : express::select(c) {}; - IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontSelect& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontSelect& c) : express::select(c) {}; - IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFont& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFont& c) : express::select(c) {}; - IfcCurveFontOrScaledCurveFontSelect(const IfcPreDefinedCurveFont& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcPreDefinedCurveFont& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcCurveOnSurface : public express::Select { +class IFC_SCHEMA_API IfcCurveOnSurface : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompositeCurveOnSurface as() const { return express::Base::as(); } + // IfcCompositeCurveOnSurface as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPcurve as() const { return express::Base::as(); } + // IfcPcurve as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceCurve as() const { return express::Base::as(); } + // IfcSurfaceCurve as() const { return express::base::as(); } - IfcCurveOnSurface(const IfcCompositeCurveOnSurface& c) : express::Select(c) {}; + IfcCurveOnSurface(const IfcCompositeCurveOnSurface& c) : express::select(c) {}; - IfcCurveOnSurface(const IfcPcurve& c) : express::Select(c) {}; + IfcCurveOnSurface(const IfcPcurve& c) : express::select(c) {}; - IfcCurveOnSurface(const IfcSurfaceCurve& c) : express::Select(c) {}; + IfcCurveOnSurface(const IfcSurfaceCurve& c) : express::select(c) {}; }; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve @@ -1103,22 +1103,22 @@ public: /// IfcEdgeCurve /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_SCHEMA_API IfcCurveOrEdgeCurve : public express::Select { +class IFC_SCHEMA_API IfcCurveOrEdgeCurve : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoundedCurve as() const { return express::Base::as(); } + // IfcBoundedCurve as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEdgeCurve as() const { return express::Base::as(); } + // IfcEdgeCurve as() const { return express::base::as(); } - IfcCurveOrEdgeCurve(const IfcBoundedCurve& c) : express::Select(c) {}; + IfcCurveOrEdgeCurve(const IfcBoundedCurve& c) : express::select(c) {}; - IfcCurveOrEdgeCurve(const IfcEdgeCurve& c) : express::Select(c) {}; + IfcCurveOrEdgeCurve(const IfcEdgeCurve& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. @@ -1126,22 +1126,22 @@ public: /// NOTE Corresponding ISO 10303 name: curve_style_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_SCHEMA_API IfcCurveStyleFontSelect : public express::Select { +class IFC_SCHEMA_API IfcCurveStyleFontSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFont as() const { return express::Base::as(); } + // IfcCurveStyleFont as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedCurveFont as() const { return express::Base::as(); } + // IfcPreDefinedCurveFont as() const { return express::base::as(); } - IfcCurveStyleFontSelect(const IfcCurveStyleFont& c) : express::Select(c) {}; + IfcCurveStyleFontSelect(const IfcCurveStyleFont& c) : express::select(c) {}; - IfcCurveStyleFontSelect(const IfcPreDefinedCurveFont& c) : express::Select(c) {}; + IfcCurveStyleFontSelect(const IfcPreDefinedCurveFont& c) : express::select(c) {}; }; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. @@ -1151,22 +1151,22 @@ public: /// IfcPropertyDefinition /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcDefinitionSelect : public express::Select { +class IFC_SCHEMA_API IfcDefinitionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcObjectDefinition as() const { return express::Base::as(); } + // IfcObjectDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertyDefinition as() const { return express::Base::as(); } + // IfcPropertyDefinition as() const { return express::base::as(); } - IfcDefinitionSelect(const IfcObjectDefinition& c) : express::Select(c) {}; + IfcDefinitionSelect(const IfcObjectDefinition& c) : express::select(c) {}; - IfcDefinitionSelect(const IfcPropertyDefinition& c) : express::Select(c) {}; + IfcDefinitionSelect(const IfcPropertyDefinition& c) : express::select(c) {}; }; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. @@ -1243,436 +1243,436 @@ public: /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. -class IFC_SCHEMA_API IfcDerivedMeasureValue : public express::Select { +class IFC_SCHEMA_API IfcDerivedMeasureValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } - IfcDerivedMeasureValue(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcForceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcForceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPHMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPHMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPowerMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPressureMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcWarpingMomentMeasure& c) : express::select(c) {}; }; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. @@ -1683,59 +1683,59 @@ public: /// /// IfcDocumentInformation (for "metadata" of an external document) /// IfcDocumentReference (for reference within a document) -class IFC_SCHEMA_API IfcDocumentSelect : public express::Select { +class IFC_SCHEMA_API IfcDocumentSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDocumentInformation as() const { return express::Base::as(); } + // IfcDocumentInformation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDocumentReference as() const { return express::Base::as(); } + // IfcDocumentReference as() const { return express::base::as(); } - IfcDocumentSelect(const IfcDocumentInformation& c) : express::Select(c) {}; + IfcDocumentSelect(const IfcDocumentInformation& c) : express::select(c) {}; - IfcDocumentSelect(const IfcDocumentReference& c) : express::Select(c) {}; + IfcDocumentSelect(const IfcDocumentReference& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcFacilityPartTypeSelect : public express::Select { +class IFC_SCHEMA_API IfcFacilityPartTypeSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBridgePartTypeEnum as() const { return express::Base::as(); } + // IfcBridgePartTypeEnum as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFacilityPartCommonTypeEnum as() const { return express::Base::as(); } + // IfcFacilityPartCommonTypeEnum as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMarinePartTypeEnum as() const { return express::Base::as(); } + // IfcMarinePartTypeEnum as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRailwayPartTypeEnum as() const { return express::Base::as(); } + // IfcRailwayPartTypeEnum as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRoadPartTypeEnum as() const { return express::Base::as(); } + // IfcRoadPartTypeEnum as() const { return express::base::as(); } - IfcFacilityPartTypeSelect(const IfcBridgePartTypeEnum& c) : express::Select(c) {}; + IfcFacilityPartTypeSelect(const IfcBridgePartTypeEnum& c) : express::select(c) {}; - IfcFacilityPartTypeSelect(const IfcFacilityPartCommonTypeEnum& c) : express::Select(c) {}; + IfcFacilityPartTypeSelect(const IfcFacilityPartCommonTypeEnum& c) : express::select(c) {}; - IfcFacilityPartTypeSelect(const IfcMarinePartTypeEnum& c) : express::Select(c) {}; + IfcFacilityPartTypeSelect(const IfcMarinePartTypeEnum& c) : express::select(c) {}; - IfcFacilityPartTypeSelect(const IfcRailwayPartTypeEnum& c) : express::Select(c) {}; + IfcFacilityPartTypeSelect(const IfcRailwayPartTypeEnum& c) : express::select(c) {}; - IfcFacilityPartTypeSelect(const IfcRoadPartTypeEnum& c) : express::Select(c) {}; + IfcFacilityPartTypeSelect(const IfcRoadPartTypeEnum& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. @@ -1744,46 +1744,46 @@ public: /// the final definition of the formal standard. /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcFillStyleSelect : public express::Select { +class IFC_SCHEMA_API IfcFillStyleSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColour as() const { return express::Base::as(); } + // IfcColour as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColourSpecification as() const { return express::Base::as(); } + // IfcColourSpecification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedColour as() const { return express::Base::as(); } + // IfcPreDefinedColour as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternallyDefinedHatchStyle as() const { return express::Base::as(); } + // IfcExternallyDefinedHatchStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFillAreaStyleHatching as() const { return express::Base::as(); } + // IfcFillAreaStyleHatching as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFillAreaStyleTiles as() const { return express::Base::as(); } + // IfcFillAreaStyleTiles as() const { return express::base::as(); } - IfcFillStyleSelect(const IfcColour& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcColour& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcColourSpecification& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcColourSpecification& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcPreDefinedColour& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcPreDefinedColour& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcExternallyDefinedHatchStyle& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcExternallyDefinedHatchStyle& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcFillAreaStyleHatching& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcFillAreaStyleHatching& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcFillAreaStyleTiles& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcFillAreaStyleTiles& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. @@ -1791,28 +1791,28 @@ public: /// NOTE: Corresponding ISO 10303 type: geometric_set_select. Please refer to ISO/IS 10303-42:1994, p. 169 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 2x. -class IFC_SCHEMA_API IfcGeometricSetSelect : public express::Select { +class IFC_SCHEMA_API IfcGeometricSetSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurve as() const { return express::Base::as(); } + // IfcCurve as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPoint as() const { return express::Base::as(); } + // IfcPoint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurface as() const { return express::Base::as(); } + // IfcSurface as() const { return express::base::as(); } - IfcGeometricSetSelect(const IfcCurve& c) : express::Select(c) {}; + IfcGeometricSetSelect(const IfcCurve& c) : express::select(c) {}; - IfcGeometricSetSelect(const IfcPoint& c) : express::Select(c) {}; + IfcGeometricSetSelect(const IfcPoint& c) : express::select(c) {}; - IfcGeometricSetSelect(const IfcSurface& c) : express::Select(c) {}; + IfcGeometricSetSelect(const IfcSurface& c) : express::select(c) {}; }; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. @@ -1823,87 +1823,87 @@ public: /// IfcVirtualGridIntersection /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcGridPlacementDirectionSelect : public express::Select { +class IFC_SCHEMA_API IfcGridPlacementDirectionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDirection as() const { return express::Base::as(); } + // IfcDirection as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVirtualGridIntersection as() const { return express::Base::as(); } + // IfcVirtualGridIntersection as() const { return express::base::as(); } - IfcGridPlacementDirectionSelect(const IfcDirection& c) : express::Select(c) {}; + IfcGridPlacementDirectionSelect(const IfcDirection& c) : express::select(c) {}; - IfcGridPlacementDirectionSelect(const IfcVirtualGridIntersection& c) : express::Select(c) {}; + IfcGridPlacementDirectionSelect(const IfcVirtualGridIntersection& c) : express::select(c) {}; }; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcHatchLineDistanceSelect : public express::Select { +class IFC_SCHEMA_API IfcHatchLineDistanceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVector as() const { return express::Base::as(); } + // IfcVector as() const { return express::base::as(); } - IfcHatchLineDistanceSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcHatchLineDistanceSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcHatchLineDistanceSelect(const IfcVector& c) : express::Select(c) {}; + IfcHatchLineDistanceSelect(const IfcVector& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcImpactProtectionDeviceTypeSelect : public express::Select { +class IFC_SCHEMA_API IfcImpactProtectionDeviceTypeSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcImpactProtectionDeviceTypeEnum as() const { return express::Base::as(); } + // IfcImpactProtectionDeviceTypeEnum as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVibrationDamperTypeEnum as() const { return express::Base::as(); } + // IfcVibrationDamperTypeEnum as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVibrationIsolatorTypeEnum as() const { return express::Base::as(); } + // IfcVibrationIsolatorTypeEnum as() const { return express::base::as(); } - IfcImpactProtectionDeviceTypeSelect(const IfcImpactProtectionDeviceTypeEnum& c) : express::Select(c) {}; + IfcImpactProtectionDeviceTypeSelect(const IfcImpactProtectionDeviceTypeEnum& c) : express::select(c) {}; - IfcImpactProtectionDeviceTypeSelect(const IfcVibrationDamperTypeEnum& c) : express::Select(c) {}; + IfcImpactProtectionDeviceTypeSelect(const IfcVibrationDamperTypeEnum& c) : express::select(c) {}; - IfcImpactProtectionDeviceTypeSelect(const IfcVibrationIsolatorTypeEnum& c) : express::Select(c) {}; + IfcImpactProtectionDeviceTypeSelect(const IfcVibrationIsolatorTypeEnum& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcInterferenceSelect : public express::Select { +class IFC_SCHEMA_API IfcInterferenceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElement as() const { return express::Base::as(); } + // IfcElement as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpatialElement as() const { return express::Base::as(); } + // IfcSpatialElement as() const { return express::base::as(); } - IfcInterferenceSelect(const IfcElement& c) : express::Select(c) {}; + IfcInterferenceSelect(const IfcElement& c) : express::select(c) {}; - IfcInterferenceSelect(const IfcSpatialElement& c) : express::Select(c) {}; + IfcInterferenceSelect(const IfcSpatialElement& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. @@ -1913,22 +1913,22 @@ public: /// NOTE: Corresponding ISO 10303 name: layered_item. It was called layered_things in the ISO/CD version and had been renamed to layered_item in the ISO/IS final version. Please refer to ISO/IS 10303-46:1994, p. 13 for the final definition of the formal standard. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcLayeredItem : public express::Select { +class IFC_SCHEMA_API IfcLayeredItem : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRepresentation as() const { return express::Base::as(); } + // IfcRepresentation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRepresentationItem as() const { return express::Base::as(); } + // IfcRepresentationItem as() const { return express::base::as(); } - IfcLayeredItem(const IfcRepresentation& c) : express::Select(c) {}; + IfcLayeredItem(const IfcRepresentation& c) : express::select(c) {}; - IfcLayeredItem(const IfcRepresentationItem& c) : express::Select(c) {}; + IfcLayeredItem(const IfcRepresentationItem& c) : express::select(c) {}; }; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. @@ -1941,22 +1941,22 @@ public: /// IfcLibraryReference (for reference into a library of information by location) /// /// 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_SCHEMA_API IfcLibrarySelect : public express::Select { +class IFC_SCHEMA_API IfcLibrarySelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLibraryInformation as() const { return express::Base::as(); } + // IfcLibraryInformation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLibraryReference as() const { return express::Base::as(); } + // IfcLibraryReference as() const { return express::base::as(); } - IfcLibrarySelect(const IfcLibraryInformation& c) : express::Select(c) {}; + IfcLibrarySelect(const IfcLibraryInformation& c) : express::select(c) {}; - IfcLibrarySelect(const IfcLibraryReference& c) : express::Select(c) {}; + IfcLibrarySelect(const IfcLibraryReference& c) : express::select(c) {}; }; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. @@ -1981,41 +1981,41 @@ public: /// directions covers all cases. /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcLightDistributionDataSourceSelect : public express::Select { +class IFC_SCHEMA_API IfcLightDistributionDataSourceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalReference as() const { return express::Base::as(); } + // IfcExternalReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLightIntensityDistribution as() const { return express::Base::as(); } + // IfcLightIntensityDistribution as() const { return express::base::as(); } - IfcLightDistributionDataSourceSelect(const IfcExternalReference& c) : express::Select(c) {}; + IfcLightDistributionDataSourceSelect(const IfcExternalReference& c) : express::select(c) {}; - IfcLightDistributionDataSourceSelect(const IfcLightIntensityDistribution& c) : express::Select(c) {}; + IfcLightDistributionDataSourceSelect(const IfcLightIntensityDistribution& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcLinearAxisSelect : public express::Select { +class IFC_SCHEMA_API IfcLinearAxisSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurve as() const { return express::Base::as(); } + // IfcCurve as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearAxisWithInclination as() const { return express::Base::as(); } + // IfcLinearAxisWithInclination as() const { return express::base::as(); } - IfcLinearAxisSelect(const IfcCurve& c) : express::Select(c) {}; + IfcLinearAxisSelect(const IfcCurve& c) : express::select(c) {}; - IfcLinearAxisSelect(const IfcLinearAxisWithInclination& c) : express::Select(c) {}; + IfcLinearAxisSelect(const IfcLinearAxisWithInclination& c) : express::select(c) {}; }; /// IfcMaterialSelect provides selection of either a material @@ -2044,28 +2044,28 @@ public: /// /// IFC2x4 CHANGE The select now includes two new abstract entities IfcMaterialDefinition /// and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards. -class IFC_SCHEMA_API IfcMaterialSelect : public express::Select { +class IFC_SCHEMA_API IfcMaterialSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialDefinition as() const { return express::Base::as(); } + // IfcMaterialDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialList as() const { return express::Base::as(); } + // IfcMaterialList as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialUsageDefinition as() const { return express::Base::as(); } + // IfcMaterialUsageDefinition as() const { return express::base::as(); } - IfcMaterialSelect(const IfcMaterialDefinition& c) : express::Select(c) {}; + IfcMaterialSelect(const IfcMaterialDefinition& c) : express::select(c) {}; - IfcMaterialSelect(const IfcMaterialList& c) : express::Select(c) {}; + IfcMaterialSelect(const IfcMaterialList& c) : express::select(c) {}; - IfcMaterialSelect(const IfcMaterialUsageDefinition& c) : express::Select(c) {}; + IfcMaterialSelect(const IfcMaterialUsageDefinition& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). @@ -2077,148 +2077,148 @@ public: /// HISTORY New type in IFC Release 1.5.1. /// /// IFC 2x4 change: added IfcNonNegativeLengthMeasure -class IFC_SCHEMA_API IfcMeasureValue : public express::Select { +class IFC_SCHEMA_API IfcMeasureValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } - IfcMeasureValue(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcAreaMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcComplexNumber& c) : express::Select(c) {}; + IfcMeasureValue(const IfcComplexNumber& c) : express::select(c) {}; - IfcMeasureValue(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcCountMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcCountMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcLengthMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcMassMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcMassMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcNumericMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcParameterValue& c) : express::Select(c) {}; + IfcMeasureValue(const IfcParameterValue& c) : express::select(c) {}; - IfcMeasureValue(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcRatioMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcTimeMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcVolumeMeasure& c) : express::select(c) {}; }; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. @@ -2233,838 +2233,838 @@ public: /// IfcTable /// IfcText /// IfcTimeSeries -class IFC_SCHEMA_API IfcMetricValueSelect : public express::Select { +class IFC_SCHEMA_API IfcMetricValueSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAppliedValue as() const { return express::Base::as(); } + // IfcAppliedValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureWithUnit as() const { return express::Base::as(); } + // IfcMeasureWithUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReference as() const { return express::Base::as(); } + // IfcReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTable as() const { return express::Base::as(); } + // IfcTable as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeSeries as() const { return express::Base::as(); } + // IfcTimeSeries as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcValue as() const { return express::Base::as(); } + // IfcValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedMeasureValue as() const { return express::Base::as(); } + // IfcDerivedMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureValue as() const { return express::Base::as(); } + // IfcMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSimpleValue as() const { return express::Base::as(); } + // IfcSimpleValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } - IfcMetricValueSelect(const IfcAppliedValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAppliedValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMeasureWithUnit& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMeasureWithUnit& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcReference& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcReference& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTable& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTable& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTimeSeries& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTimeSeries& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDerivedMeasureValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDerivedMeasureValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcForceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcForceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPHMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPHMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPowerMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPressureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcWarpingMomentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMeasureValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMeasureValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAreaMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcComplexNumber& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcComplexNumber& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcCountMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcCountMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcNumericMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcParameterValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcParameterValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRatioMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTimeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcVolumeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSimpleValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSimpleValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcBinary& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcBinary& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcBoolean& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDate& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDate& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDateTime& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDateTime& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDuration& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDuration& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIdentifier& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIdentifier& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcInteger& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcInteger& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLabel& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLabel& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLogical& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLogical& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositiveInteger& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcReal& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcReal& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcText& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcText& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTime& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTime& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTimeStamp& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTimeStamp& c) : express::select(c) {}; }; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionSelect : public express::Select { +class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } - IfcModulusOfRotationalSubgradeReactionSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcModulusOfRotationalSubgradeReactionSelect(const IfcBoolean& c) : express::select(c) {}; - IfcModulusOfRotationalSubgradeReactionSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcModulusOfRotationalSubgradeReactionSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; }; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcModulusOfSubgradeReactionSelect : public express::Select { +class IFC_SCHEMA_API IfcModulusOfSubgradeReactionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } - IfcModulusOfSubgradeReactionSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcModulusOfSubgradeReactionSelect(const IfcBoolean& c) : express::select(c) {}; - IfcModulusOfSubgradeReactionSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcModulusOfSubgradeReactionSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; }; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcModulusOfTranslationalSubgradeReactionSelect : public express::Select { +class IFC_SCHEMA_API IfcModulusOfTranslationalSubgradeReactionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } - IfcModulusOfTranslationalSubgradeReactionSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcModulusOfTranslationalSubgradeReactionSelect(const IfcBoolean& c) : express::select(c) {}; - IfcModulusOfTranslationalSubgradeReactionSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcModulusOfTranslationalSubgradeReactionSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; }; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// /// HISTORY  New select type in IFC Release 2.0. -class IFC_SCHEMA_API IfcObjectReferenceSelect : public express::Select { +class IFC_SCHEMA_API IfcObjectReferenceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAddress as() const { return express::Base::as(); } + // IfcAddress as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAppliedValue as() const { return express::Base::as(); } + // IfcAppliedValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalReference as() const { return express::Base::as(); } + // IfcExternalReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialDefinition as() const { return express::Base::as(); } + // IfcMaterialDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOrganization as() const { return express::Base::as(); } + // IfcOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPerson as() const { return express::Base::as(); } + // IfcPerson as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPersonAndOrganization as() const { return express::Base::as(); } + // IfcPersonAndOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTable as() const { return express::Base::as(); } + // IfcTable as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeSeries as() const { return express::Base::as(); } + // IfcTimeSeries as() const { return express::base::as(); } - IfcObjectReferenceSelect(const IfcAddress& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcAddress& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcAppliedValue& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcAppliedValue& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcExternalReference& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcExternalReference& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcMaterialDefinition& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcMaterialDefinition& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcOrganization& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcOrganization& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcPerson& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcPerson& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcPersonAndOrganization& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcPersonAndOrganization& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcTable& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcTable& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcTimeSeries& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcTimeSeries& c) : express::select(c) {}; }; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. @@ -3074,22 +3074,22 @@ public: /// IfcVertexPoint /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_SCHEMA_API IfcPointOrVertexPoint : public express::Select { +class IFC_SCHEMA_API IfcPointOrVertexPoint : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPoint as() const { return express::Base::as(); } + // IfcPoint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVertexPoint as() const { return express::Base::as(); } + // IfcVertexPoint as() const { return express::base::as(); } - IfcPointOrVertexPoint(const IfcPoint& c) : express::Select(c) {}; + IfcPointOrVertexPoint(const IfcPoint& c) : express::select(c) {}; - IfcPointOrVertexPoint(const IfcVertexPoint& c) : express::Select(c) {}; + IfcPointOrVertexPoint(const IfcVertexPoint& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The presentation style select is a selection of one of many kinds of styles, a different one for each kind of geometric representation item to be styled. @@ -3100,40 +3100,40 @@ public: /// HISTORY New type in IFC2x2. /// /// IFC2x4 CHANGE The select type has been deprecated. -class IFC_SCHEMA_API IfcPresentationStyleSelect : public express::Select { +class IFC_SCHEMA_API IfcPresentationStyleSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyle as() const { return express::Base::as(); } + // IfcCurveStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFillAreaStyle as() const { return express::Base::as(); } + // IfcFillAreaStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNullStyle as() const { return express::Base::as(); } + // IfcNullStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyle as() const { return express::Base::as(); } + // IfcSurfaceStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTextStyle as() const { return express::Base::as(); } + // IfcTextStyle as() const { return express::base::as(); } - IfcPresentationStyleSelect(const IfcCurveStyle& c) : express::Select(c) {}; + IfcPresentationStyleSelect(const IfcCurveStyle& c) : express::select(c) {}; - IfcPresentationStyleSelect(const IfcFillAreaStyle& c) : express::Select(c) {}; + IfcPresentationStyleSelect(const IfcFillAreaStyle& c) : express::select(c) {}; - IfcPresentationStyleSelect(const IfcNullStyle& c) : express::Select(c) {}; + IfcPresentationStyleSelect(const IfcNullStyle& c) : express::select(c) {}; - IfcPresentationStyleSelect(const IfcSurfaceStyle& c) : express::Select(c) {}; + IfcPresentationStyleSelect(const IfcSurfaceStyle& c) : express::select(c) {}; - IfcPresentationStyleSelect(const IfcTextStyle& c) : express::Select(c) {}; + IfcPresentationStyleSelect(const IfcTextStyle& c) : express::select(c) {}; }; /// IfcProcessSelectprovides the option to either @@ -3146,41 +3146,41 @@ public: /// IfcTypeProcess /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcProcessSelect : public express::Select { +class IFC_SCHEMA_API IfcProcessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProcess as() const { return express::Base::as(); } + // IfcProcess as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTypeProcess as() const { return express::Base::as(); } + // IfcTypeProcess as() const { return express::base::as(); } - IfcProcessSelect(const IfcProcess& c) : express::Select(c) {}; + IfcProcessSelect(const IfcProcess& c) : express::select(c) {}; - IfcProcessSelect(const IfcTypeProcess& c) : express::Select(c) {}; + IfcProcessSelect(const IfcTypeProcess& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcProductRepresentationSelect : public express::Select { +class IFC_SCHEMA_API IfcProductRepresentationSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProductDefinitionShape as() const { return express::Base::as(); } + // IfcProductDefinitionShape as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRepresentationMap as() const { return express::Base::as(); } + // IfcRepresentationMap as() const { return express::base::as(); } - IfcProductRepresentationSelect(const IfcProductDefinitionShape& c) : express::Select(c) {}; + IfcProductRepresentationSelect(const IfcProductDefinitionShape& c) : express::select(c) {}; - IfcProductRepresentationSelect(const IfcRepresentationMap& c) : express::Select(c) {}; + IfcProductRepresentationSelect(const IfcRepresentationMap& c) : express::select(c) {}; }; /// IfcProductSelectprovides the option to either select a @@ -3192,152 +3192,152 @@ public: /// IfcTypeProduct /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcProductSelect : public express::Select { +class IFC_SCHEMA_API IfcProductSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProduct as() const { return express::Base::as(); } + // IfcProduct as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTypeProduct as() const { return express::Base::as(); } + // IfcTypeProduct as() const { return express::base::as(); } - IfcProductSelect(const IfcProduct& c) : express::Select(c) {}; + IfcProductSelect(const IfcProduct& c) : express::select(c) {}; - IfcProductSelect(const IfcTypeProduct& c) : express::Select(c) {}; + IfcProductSelect(const IfcTypeProduct& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcPropertySetDefinitionSelect : public express::Select { +class IFC_SCHEMA_API IfcPropertySetDefinitionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertySetDefinition as() const { return express::Base::as(); } + // IfcPropertySetDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertySetDefinitionSet as() const { return express::Base::as(); } + // IfcPropertySetDefinitionSet as() const { return express::base::as(); } - IfcPropertySetDefinitionSelect(const IfcPropertySetDefinition& c) : express::Select(c) {}; + IfcPropertySetDefinitionSelect(const IfcPropertySetDefinition& c) : express::select(c) {}; - IfcPropertySetDefinitionSelect(const IfcPropertySetDefinitionSet& c) : express::Select(c) {}; + IfcPropertySetDefinitionSelect(const IfcPropertySetDefinitionSet& c) : express::select(c) {}; }; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// /// HISTORY  New Select type in IFC2x4. -class IFC_SCHEMA_API IfcResourceObjectSelect : public express::Select { +class IFC_SCHEMA_API IfcResourceObjectSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcActorRole as() const { return express::Base::as(); } + // IfcActorRole as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAppliedValue as() const { return express::Base::as(); } + // IfcAppliedValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcApproval as() const { return express::Base::as(); } + // IfcApproval as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcConstraint as() const { return express::Base::as(); } + // IfcConstraint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentUnit as() const { return express::Base::as(); } + // IfcContextDependentUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcConversionBasedUnit as() const { return express::Base::as(); } + // IfcConversionBasedUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalInformation as() const { return express::Base::as(); } + // IfcExternalInformation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalReference as() const { return express::Base::as(); } + // IfcExternalReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialDefinition as() const { return express::Base::as(); } + // IfcMaterialDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOrganization as() const { return express::Base::as(); } + // IfcOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPerson as() const { return express::Base::as(); } + // IfcPerson as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPersonAndOrganization as() const { return express::Base::as(); } + // IfcPersonAndOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPhysicalQuantity as() const { return express::Base::as(); } + // IfcPhysicalQuantity as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProfileDef as() const { return express::Base::as(); } + // IfcProfileDef as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertyAbstraction as() const { return express::Base::as(); } + // IfcPropertyAbstraction as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShapeAspect as() const { return express::Base::as(); } + // IfcShapeAspect as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeSeries as() const { return express::Base::as(); } + // IfcTimeSeries as() const { return express::base::as(); } - IfcResourceObjectSelect(const IfcActorRole& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcActorRole& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcAppliedValue& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcAppliedValue& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcApproval& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcApproval& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcConstraint& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcConstraint& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcContextDependentUnit& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcContextDependentUnit& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcConversionBasedUnit& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcConversionBasedUnit& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcExternalInformation& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcExternalInformation& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcExternalReference& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcExternalReference& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcMaterialDefinition& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcMaterialDefinition& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcOrganization& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcOrganization& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPerson& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPerson& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPersonAndOrganization& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPersonAndOrganization& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPhysicalQuantity& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPhysicalQuantity& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcProfileDef& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcProfileDef& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPropertyAbstraction& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPropertyAbstraction& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcShapeAspect& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcShapeAspect& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcTimeSeries& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcTimeSeries& c) : express::select(c) {}; }; /// IfcResourceSelectprovides the option to either select a @@ -3349,62 +3349,62 @@ public: /// IfcTypeResource /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcResourceSelect : public express::Select { +class IFC_SCHEMA_API IfcResourceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcResource as() const { return express::Base::as(); } + // IfcResource as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTypeResource as() const { return express::Base::as(); } + // IfcTypeResource as() const { return express::base::as(); } - IfcResourceSelect(const IfcResource& c) : express::Select(c) {}; + IfcResourceSelect(const IfcResource& c) : express::select(c) {}; - IfcResourceSelect(const IfcTypeResource& c) : express::Select(c) {}; + IfcResourceSelect(const IfcTypeResource& c) : express::select(c) {}; }; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcRotationalStiffnessSelect : public express::Select { +class IFC_SCHEMA_API IfcRotationalStiffnessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } - IfcRotationalStiffnessSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcRotationalStiffnessSelect(const IfcBoolean& c) : express::select(c) {}; - IfcRotationalStiffnessSelect(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcRotationalStiffnessSelect(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcSegmentIndexSelect : public express::Select { +class IFC_SCHEMA_API IfcSegmentIndexSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcArcIndex as() const { return express::Base::as(); } + // IfcArcIndex as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLineIndex as() const { return express::Base::as(); } + // IfcLineIndex as() const { return express::base::as(); } - IfcSegmentIndexSelect(const IfcArcIndex& c) : express::Select(c) {}; + IfcSegmentIndexSelect(const IfcArcIndex& c) : express::select(c) {}; - IfcSegmentIndexSelect(const IfcLineIndex& c) : express::Select(c) {}; + IfcSegmentIndexSelect(const IfcLineIndex& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. @@ -3418,22 +3418,22 @@ public: /// NOTE  Corresponding ISO 10303 type: shell. Please refer to ISO/IS 10303-42:1994, p. 127 for the final definition of the formal standard. Only the select items closed_shell (IfcClosedShell) and open_shell (IfcOpenShell) have been incorporated in the current IFC release. /// /// HISTORY  New type in IFC2x. -class IFC_SCHEMA_API IfcShell : public express::Select { +class IFC_SCHEMA_API IfcShell : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClosedShell as() const { return express::Base::as(); } + // IfcClosedShell as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOpenShell as() const { return express::Base::as(); } + // IfcOpenShell as() const { return express::base::as(); } - IfcShell(const IfcClosedShell& c) : express::Select(c) {}; + IfcShell(const IfcClosedShell& c) : express::select(c) {}; - IfcShell(const IfcOpenShell& c) : express::Select(c) {}; + IfcShell(const IfcOpenShell& c) : express::select(c) {}; }; /// IfcSimpleValue is a select type for selecting between simple value types. @@ -3455,94 +3455,94 @@ public: /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. -class IFC_SCHEMA_API IfcSimpleValue : public express::Select { +class IFC_SCHEMA_API IfcSimpleValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } - IfcSimpleValue(const IfcBinary& c) : express::Select(c) {}; + IfcSimpleValue(const IfcBinary& c) : express::select(c) {}; - IfcSimpleValue(const IfcBoolean& c) : express::Select(c) {}; + IfcSimpleValue(const IfcBoolean& c) : express::select(c) {}; - IfcSimpleValue(const IfcDate& c) : express::Select(c) {}; + IfcSimpleValue(const IfcDate& c) : express::select(c) {}; - IfcSimpleValue(const IfcDateTime& c) : express::Select(c) {}; + IfcSimpleValue(const IfcDateTime& c) : express::select(c) {}; - IfcSimpleValue(const IfcDuration& c) : express::Select(c) {}; + IfcSimpleValue(const IfcDuration& c) : express::select(c) {}; - IfcSimpleValue(const IfcIdentifier& c) : express::Select(c) {}; + IfcSimpleValue(const IfcIdentifier& c) : express::select(c) {}; - IfcSimpleValue(const IfcInteger& c) : express::Select(c) {}; + IfcSimpleValue(const IfcInteger& c) : express::select(c) {}; - IfcSimpleValue(const IfcLabel& c) : express::Select(c) {}; + IfcSimpleValue(const IfcLabel& c) : express::select(c) {}; - IfcSimpleValue(const IfcLogical& c) : express::Select(c) {}; + IfcSimpleValue(const IfcLogical& c) : express::select(c) {}; - IfcSimpleValue(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcSimpleValue(const IfcPositiveInteger& c) : express::select(c) {}; - IfcSimpleValue(const IfcReal& c) : express::Select(c) {}; + IfcSimpleValue(const IfcReal& c) : express::select(c) {}; - IfcSimpleValue(const IfcText& c) : express::Select(c) {}; + IfcSimpleValue(const IfcText& c) : express::select(c) {}; - IfcSimpleValue(const IfcTime& c) : express::Select(c) {}; + IfcSimpleValue(const IfcTime& c) : express::select(c) {}; - IfcSimpleValue(const IfcTimeStamp& c) : express::Select(c) {}; + IfcSimpleValue(const IfcTimeStamp& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. @@ -3557,46 +3557,46 @@ public: /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. -class IFC_SCHEMA_API IfcSizeSelect : public express::Select { +class IFC_SCHEMA_API IfcSizeSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } - IfcSizeSelect(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcRatioMeasure& c) : express::select(c) {}; }; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. @@ -3606,22 +3606,22 @@ public: /// IfcClosedShell /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcSolidOrShell : public express::Select { +class IFC_SCHEMA_API IfcSolidOrShell : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClosedShell as() const { return express::Base::as(); } + // IfcClosedShell as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidModel as() const { return express::Base::as(); } + // IfcSolidModel as() const { return express::base::as(); } - IfcSolidOrShell(const IfcClosedShell& c) : express::Select(c) {}; + IfcSolidOrShell(const IfcClosedShell& c) : express::select(c) {}; - IfcSolidOrShell(const IfcSolidModel& c) : express::Select(c) {}; + IfcSolidOrShell(const IfcSolidModel& c) : express::select(c) {}; }; /// Definition from IAI: The @@ -3636,41 +3636,41 @@ public: /// /// HISTORY New select type /// in IFC2x4. -class IFC_SCHEMA_API IfcSpaceBoundarySelect : public express::Select { +class IFC_SCHEMA_API IfcSpaceBoundarySelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalSpatialElement as() const { return express::Base::as(); } + // IfcExternalSpatialElement as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpace as() const { return express::Base::as(); } + // IfcSpace as() const { return express::base::as(); } - IfcSpaceBoundarySelect(const IfcExternalSpatialElement& c) : express::Select(c) {}; + IfcSpaceBoundarySelect(const IfcExternalSpatialElement& c) : express::select(c) {}; - IfcSpaceBoundarySelect(const IfcSpace& c) : express::Select(c) {}; + IfcSpaceBoundarySelect(const IfcSpace& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcSpatialReferenceSelect : public express::Select { +class IFC_SCHEMA_API IfcSpatialReferenceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProduct as() const { return express::Base::as(); } + // IfcProduct as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSystem as() const { return express::Base::as(); } + // IfcSystem as() const { return express::base::as(); } - IfcSpatialReferenceSelect(const IfcProduct& c) : express::Select(c) {}; + IfcSpatialReferenceSelect(const IfcProduct& c) : express::select(c) {}; - IfcSpatialReferenceSelect(const IfcSystem& c) : express::Select(c) {}; + IfcSpatialReferenceSelect(const IfcSystem& c) : express::select(c) {}; }; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. @@ -3683,22 +3683,22 @@ public: /// For each surface side style only one of the two methods is needed for calculating the specular part of the equation. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcSpecularHighlightSelect : public express::Select { +class IFC_SCHEMA_API IfcSpecularHighlightSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecularExponent as() const { return express::Base::as(); } + // IfcSpecularExponent as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecularRoughness as() const { return express::Base::as(); } + // IfcSpecularRoughness as() const { return express::base::as(); } - IfcSpecularHighlightSelect(const IfcSpecularExponent& c) : express::Select(c) {}; + IfcSpecularHighlightSelect(const IfcSpecularExponent& c) : express::select(c) {}; - IfcSpecularHighlightSelect(const IfcSpecularRoughness& c) : express::Select(c) {}; + IfcSpecularHighlightSelect(const IfcSpecularRoughness& c) : express::select(c) {}; }; /// Definition from IAI: This type definition shall be used to @@ -3710,22 +3710,22 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcStructuralActivityAssignmentSelect : public express::Select { +class IFC_SCHEMA_API IfcStructuralActivityAssignmentSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElement as() const { return express::Base::as(); } + // IfcElement as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcStructuralItem as() const { return express::Base::as(); } + // IfcStructuralItem as() const { return express::base::as(); } - IfcStructuralActivityAssignmentSelect(const IfcElement& c) : express::Select(c) {}; + IfcStructuralActivityAssignmentSelect(const IfcElement& c) : express::select(c) {}; - IfcStructuralActivityAssignmentSelect(const IfcStructuralItem& c) : express::Select(c) {}; + IfcStructuralActivityAssignmentSelect(const IfcStructuralItem& c) : express::select(c) {}; }; /// The style assignment select is a selection of two wasy of assigning presentation styles to an IfcStyledItem. @@ -3738,22 +3738,22 @@ public: /// NOTE The select type has been introduced to provide an upward compatible improvement for assigning styles to a styled items. /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcStyleAssignmentSelect : public express::Select { +class IFC_SCHEMA_API IfcStyleAssignmentSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPresentationStyle as() const { return express::Base::as(); } + // IfcPresentationStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPresentationStyleAssignment as() const { return express::Base::as(); } + // IfcPresentationStyleAssignment as() const { return express::base::as(); } - IfcStyleAssignmentSelect(const IfcPresentationStyle& c) : express::Select(c) {}; + IfcStyleAssignmentSelect(const IfcPresentationStyle& c) : express::select(c) {}; - IfcStyleAssignmentSelect(const IfcPresentationStyleAssignment& c) : express::Select(c) {}; + IfcStyleAssignmentSelect(const IfcPresentationStyleAssignment& c) : express::select(c) {}; }; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface @@ -3765,28 +3765,28 @@ public: /// IfcFaceBasedSurfaceModel (a connected face set, representing a faceted surface as an approximation of a non planar, non rectangular bounded surface) /// /// HISTORY  New select type in IFC2x3. -class IFC_SCHEMA_API IfcSurfaceOrFaceSurface : public express::Select { +class IFC_SCHEMA_API IfcSurfaceOrFaceSurface : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFaceBasedSurfaceModel as() const { return express::Base::as(); } + // IfcFaceBasedSurfaceModel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFaceSurface as() const { return express::Base::as(); } + // IfcFaceSurface as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurface as() const { return express::Base::as(); } + // IfcSurface as() const { return express::base::as(); } - IfcSurfaceOrFaceSurface(const IfcFaceBasedSurfaceModel& c) : express::Select(c) {}; + IfcSurfaceOrFaceSurface(const IfcFaceBasedSurfaceModel& c) : express::select(c) {}; - IfcSurfaceOrFaceSurface(const IfcFaceSurface& c) : express::Select(c) {}; + IfcSurfaceOrFaceSurface(const IfcFaceSurface& c) : express::select(c) {}; - IfcSurfaceOrFaceSurface(const IfcSurface& c) : express::Select(c) {}; + IfcSurfaceOrFaceSurface(const IfcSurface& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. @@ -3798,40 +3798,40 @@ public: /// NOTE: Corresponding ISO 10303 type: surface_style_element_select. Please refer to ISO/IS 10303-46:1994, p. 85 for the final definition of the formal standard. /// /// HISTORY: New Select type in IFC2x2. -class IFC_SCHEMA_API IfcSurfaceStyleElementSelect : public express::Select { +class IFC_SCHEMA_API IfcSurfaceStyleElementSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternallyDefinedSurfaceStyle as() const { return express::Base::as(); } + // IfcExternallyDefinedSurfaceStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleLighting as() const { return express::Base::as(); } + // IfcSurfaceStyleLighting as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleRefraction as() const { return express::Base::as(); } + // IfcSurfaceStyleRefraction as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleShading as() const { return express::Base::as(); } + // IfcSurfaceStyleShading as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleWithTextures as() const { return express::Base::as(); } + // IfcSurfaceStyleWithTextures as() const { return express::base::as(); } - IfcSurfaceStyleElementSelect(const IfcExternallyDefinedSurfaceStyle& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcExternallyDefinedSurfaceStyle& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleLighting& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleLighting& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleRefraction& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleRefraction& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleShading& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleShading& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleWithTextures& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleWithTextures& c) : express::select(c) {}; }; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. @@ -3841,82 +3841,82 @@ public: /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. -class IFC_SCHEMA_API IfcTextFontSelect : public express::Select { +class IFC_SCHEMA_API IfcTextFontSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternallyDefinedTextFont as() const { return express::Base::as(); } + // IfcExternallyDefinedTextFont as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedTextFont as() const { return express::Base::as(); } + // IfcPreDefinedTextFont as() const { return express::base::as(); } - IfcTextFontSelect(const IfcExternallyDefinedTextFont& c) : express::Select(c) {}; + IfcTextFontSelect(const IfcExternallyDefinedTextFont& c) : express::select(c) {}; - IfcTextFontSelect(const IfcPreDefinedTextFont& c) : express::Select(c) {}; + IfcTextFontSelect(const IfcPreDefinedTextFont& c) : express::select(c) {}; }; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 -class IFC_SCHEMA_API IfcTimeOrRatioSelect : public express::Select { +class IFC_SCHEMA_API IfcTimeOrRatioSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } - IfcTimeOrRatioSelect(const IfcDuration& c) : express::Select(c) {}; + IfcTimeOrRatioSelect(const IfcDuration& c) : express::select(c) {}; - IfcTimeOrRatioSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcTimeOrRatioSelect(const IfcRatioMeasure& c) : express::select(c) {}; }; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcTranslationalStiffnessSelect : public express::Select { +class IFC_SCHEMA_API IfcTranslationalStiffnessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } - IfcTranslationalStiffnessSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcTranslationalStiffnessSelect(const IfcBoolean& c) : express::select(c) {}; - IfcTranslationalStiffnessSelect(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcTranslationalStiffnessSelect(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcTransportElementTypeSelect : public express::Select { +class IFC_SCHEMA_API IfcTransportElementTypeSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTransportElementFixedTypeEnum as() const { return express::Base::as(); } + // IfcTransportElementFixedTypeEnum as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTransportElementNonFixedTypeEnum as() const { return express::Base::as(); } + // IfcTransportElementNonFixedTypeEnum as() const { return express::base::as(); } - IfcTransportElementTypeSelect(const IfcTransportElementFixedTypeEnum& c) : express::Select(c) {}; + IfcTransportElementTypeSelect(const IfcTransportElementFixedTypeEnum& c) : express::select(c) {}; - IfcTransportElementTypeSelect(const IfcTransportElementNonFixedTypeEnum& c) : express::Select(c) {}; + IfcTransportElementTypeSelect(const IfcTransportElementNonFixedTypeEnum& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. @@ -3924,22 +3924,22 @@ public: /// NOTE Corresponding ISO 10303 type: trimming_select, please refer to ISO/IS 10303-42:1994, p. 20 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.0 -class IFC_SCHEMA_API IfcTrimmingSelect : public express::Select { +class IFC_SCHEMA_API IfcTrimmingSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCartesianPoint as() const { return express::Base::as(); } + // IfcCartesianPoint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } - IfcTrimmingSelect(const IfcCartesianPoint& c) : express::Select(c) {}; + IfcTrimmingSelect(const IfcCartesianPoint& c) : express::select(c) {}; - IfcTrimmingSelect(const IfcParameterValue& c) : express::Select(c) {}; + IfcTrimmingSelect(const IfcParameterValue& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. @@ -3955,28 +3955,28 @@ public: /// IfcMonetaryUnit: A unit for defining currencies. /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcUnit : public express::Select { +class IFC_SCHEMA_API IfcUnit : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedUnit as() const { return express::Base::as(); } + // IfcDerivedUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryUnit as() const { return express::Base::as(); } + // IfcMonetaryUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNamedUnit as() const { return express::Base::as(); } + // IfcNamedUnit as() const { return express::base::as(); } - IfcUnit(const IfcDerivedUnit& c) : express::Select(c) {}; + IfcUnit(const IfcDerivedUnit& c) : express::select(c) {}; - IfcUnit(const IfcMonetaryUnit& c) : express::Select(c) {}; + IfcUnit(const IfcMonetaryUnit& c) : express::select(c) {}; - IfcUnit(const IfcNamedUnit& c) : express::Select(c) {}; + IfcUnit(const IfcNamedUnit& c) : express::select(c) {}; }; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, @@ -3989,676 +3989,676 @@ public: /// IfcDerivedMeasureValue A select type for derived measure types. /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcValue : public express::Select { +class IFC_SCHEMA_API IfcValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedMeasureValue as() const { return express::Base::as(); } + // IfcDerivedMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureValue as() const { return express::Base::as(); } + // IfcMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSimpleValue as() const { return express::Base::as(); } + // IfcSimpleValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } - IfcValue(const IfcDerivedMeasureValue& c) : express::Select(c) {}; + IfcValue(const IfcDerivedMeasureValue& c) : express::select(c) {}; - IfcValue(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcValue(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcValue(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcValue(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcValue(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcValue(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcValue(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcValue(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcValue(const IfcForceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcForceMeasure& c) : express::select(c) {}; - IfcValue(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcValue(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcValue(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcValue(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcValue(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcValue(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcValue(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcValue(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcValue(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcValue(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcValue(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcValue(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcValue(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcValue(const IfcPHMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPHMeasure& c) : express::select(c) {}; - IfcValue(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcValue(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPowerMeasure& c) : express::select(c) {}; - IfcValue(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPressureMeasure& c) : express::select(c) {}; - IfcValue(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcValue(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcValue(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcValue(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcValue(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcValue(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcValue(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcValue(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcValue(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcValue(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcValue(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcValue(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcValue(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcValue(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcValue(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcValue(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcValue(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcWarpingMomentMeasure& c) : express::select(c) {}; - IfcValue(const IfcMeasureValue& c) : express::Select(c) {}; + IfcValue(const IfcMeasureValue& c) : express::select(c) {}; - IfcValue(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAreaMeasure& c) : express::select(c) {}; - IfcValue(const IfcComplexNumber& c) : express::Select(c) {}; + IfcValue(const IfcComplexNumber& c) : express::select(c) {}; - IfcValue(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcValue(const IfcCountMeasure& c) : express::Select(c) {}; + IfcValue(const IfcCountMeasure& c) : express::select(c) {}; - IfcValue(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcValue(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcValue(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassMeasure& c) : express::select(c) {}; - IfcValue(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcValue(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcValue(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcValue(const IfcNumericMeasure& c) : express::select(c) {}; - IfcValue(const IfcParameterValue& c) : express::Select(c) {}; + IfcValue(const IfcParameterValue& c) : express::select(c) {}; - IfcValue(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcValue(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRatioMeasure& c) : express::select(c) {}; - IfcValue(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcValue(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTimeMeasure& c) : express::select(c) {}; - IfcValue(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcVolumeMeasure& c) : express::select(c) {}; - IfcValue(const IfcSimpleValue& c) : express::Select(c) {}; + IfcValue(const IfcSimpleValue& c) : express::select(c) {}; - IfcValue(const IfcBinary& c) : express::Select(c) {}; + IfcValue(const IfcBinary& c) : express::select(c) {}; - IfcValue(const IfcBoolean& c) : express::Select(c) {}; + IfcValue(const IfcBoolean& c) : express::select(c) {}; - IfcValue(const IfcDate& c) : express::Select(c) {}; + IfcValue(const IfcDate& c) : express::select(c) {}; - IfcValue(const IfcDateTime& c) : express::Select(c) {}; + IfcValue(const IfcDateTime& c) : express::select(c) {}; - IfcValue(const IfcDuration& c) : express::Select(c) {}; + IfcValue(const IfcDuration& c) : express::select(c) {}; - IfcValue(const IfcIdentifier& c) : express::Select(c) {}; + IfcValue(const IfcIdentifier& c) : express::select(c) {}; - IfcValue(const IfcInteger& c) : express::Select(c) {}; + IfcValue(const IfcInteger& c) : express::select(c) {}; - IfcValue(const IfcLabel& c) : express::Select(c) {}; + IfcValue(const IfcLabel& c) : express::select(c) {}; - IfcValue(const IfcLogical& c) : express::Select(c) {}; + IfcValue(const IfcLogical& c) : express::select(c) {}; - IfcValue(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcValue(const IfcPositiveInteger& c) : express::select(c) {}; - IfcValue(const IfcReal& c) : express::Select(c) {}; + IfcValue(const IfcReal& c) : express::select(c) {}; - IfcValue(const IfcText& c) : express::Select(c) {}; + IfcValue(const IfcText& c) : express::select(c) {}; - IfcValue(const IfcTime& c) : express::Select(c) {}; + IfcValue(const IfcTime& c) : express::select(c) {}; - IfcValue(const IfcTimeStamp& c) : express::Select(c) {}; + IfcValue(const IfcTimeStamp& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This type is used to @@ -4669,43 +4669,43 @@ public: /// definition of the formal standard. /// HISTORY New Type in IFC Release /// 1.5 -class IFC_SCHEMA_API IfcVectorOrDirection : public express::Select { +class IFC_SCHEMA_API IfcVectorOrDirection : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDirection as() const { return express::Base::as(); } + // IfcDirection as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVector as() const { return express::Base::as(); } + // IfcVector as() const { return express::base::as(); } - IfcVectorOrDirection(const IfcDirection& c) : express::Select(c) {}; + IfcVectorOrDirection(const IfcDirection& c) : express::select(c) {}; - IfcVectorOrDirection(const IfcVector& c) : express::Select(c) {}; + IfcVectorOrDirection(const IfcVector& c) : express::select(c) {}; }; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcWarpingStiffnessSelect : public express::Select { +class IFC_SCHEMA_API IfcWarpingStiffnessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } - IfcWarpingStiffnessSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcWarpingStiffnessSelect(const IfcBoolean& c) : express::select(c) {}; - IfcWarpingStiffnessSelect(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcWarpingStiffnessSelect(const IfcWarpingMomentMeasure& c) : express::select(c) {}; }; /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. @@ -4719,9 +4719,9 @@ public: /// VERBAL: Request was made verbally in person. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcActionRequestTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActionRequestTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcActionRequestType_EMAIL, IfcActionRequestType_FAX, IfcActionRequestType_PHONE, IfcActionRequestType_POST, IfcActionRequestType_VERBAL, IfcActionRequestType_USERDEFINED, IfcActionRequestType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4737,9 +4737,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcActionSourceTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActionSourceTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4757,9 +4757,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcActionTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActionTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcActionType_PERMANENT_G, IfcActionType_VARIABLE_Q, IfcActionType_EXTRAORDINARY_A, IfcActionType_USERDEFINED, IfcActionType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4786,9 +4786,9 @@ public: /// /// See property set of actuator common attributes for specification of /// properties for hand operated actuators. -class IFC_SCHEMA_API IfcActuatorTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActuatorTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcActuatorType_ELECTRICACTUATOR, IfcActuatorType_HANDOPERATEDACTUATOR, IfcActuatorType_HYDRAULICACTUATOR, IfcActuatorType_PNEUMATICACTUATOR, IfcActuatorType_THERMOSTATICACTUATOR, IfcActuatorType_USERDEFINED, IfcActuatorType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4810,9 +4810,9 @@ public: /// HOME A home address. /// DISTRIBUTIONPOINT A postal distribution point address. /// USERDEFINED A user defined address type to be provided. -class IFC_SCHEMA_API IfcAddressTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAddressTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAddressType_OFFICE, IfcAddressType_SITE, IfcAddressType_HOME, IfcAddressType_DISTRIBUTIONPOINT, IfcAddressType_USERDEFINED} Value; static const char* ToString(Value v); @@ -4834,9 +4834,9 @@ public: /// NOTDEFINED: Undefined terminal box. /// /// HISTORY: New enumeration in IFC R2.0 -class IFC_SCHEMA_API IfcAirTerminalBoxTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAirTerminalBoxTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAirTerminalBoxType_CONSTANTFLOW, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREDEPENDANT, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREINDEPENDANT, IfcAirTerminalBoxType_USERDEFINED, IfcAirTerminalBoxType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4860,9 +4860,9 @@ public: /// NOTE: Architectural louvres within doors or windows are defined by IfcPermeableCoveringProperties. /// /// HISTORY: New enumeration in IFC R2x2. Modified in IFC R2x4 to add LOUVRE and remove EYEBALL, IRIS, LINEARGRILLE, LINEARDIFFUSER -class IFC_SCHEMA_API IfcAirTerminalTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAirTerminalTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAirTerminalType_DIFFUSER, IfcAirTerminalType_GRILLE, IfcAirTerminalType_LOUVRE, IfcAirTerminalType_REGISTER, IfcAirTerminalType_USERDEFINED, IfcAirTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4889,9 +4889,9 @@ public: /// NOTDEFINED: Undefined air to air heat recovery type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcAirToAirHeatRecoveryTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAirToAirHeatRecoveryTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4916,9 +4916,9 @@ public: /// WHISTLE: An audible alarm. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcAlarmTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAlarmTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4930,9 +4930,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcAlignmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAlignmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAlignmentType_USERDEFINED, IfcAlignmentType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4949,9 +4949,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcAnalysisModelTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAnalysisModelTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4969,9 +4969,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcAnalysisTheoryTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAnalysisTheoryTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4983,9 +4983,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcAnnotationTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAnnotationTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5008,9 +5008,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcArithmeticOperatorEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcArithmeticOperatorEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcArithmeticOperator_ADD, IfcArithmeticOperator_DIVIDE, IfcArithmeticOperator_MULTIPLY, IfcArithmeticOperator_SUBTRACT} Value; static const char* ToString(Value v); @@ -5033,9 +5033,9 @@ public: /// SITE - this assembly is assembled at site /// /// FACTORY - this assembly is assembled in a factory -class IFC_SCHEMA_API IfcAssemblyPlaceEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAssemblyPlaceEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAssemblyPlace_SITE, IfcAssemblyPlace_FACTORY, IfcAssemblyPlace_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5060,9 +5060,9 @@ public: /// SWITCHER: A device that receives audio and/or video signals, switches sources, and transmits signals to downstream devices. /// TELEPHONE: A telecommunications device that is used to transmit and receive sound, and optionally video. /// TUNER: An electronic receiver that detects, demodulates, and amplifies transmitted signals. -class IFC_SCHEMA_API IfcAudioVisualApplianceTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAudioVisualApplianceTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5087,9 +5087,9 @@ public: /// NOTE Corresponding ISO 10303 type: b_spline_curve_form. Please refer to ISO/IS 10303-42:1994, p. 15 for the final definition of the formal standard. /// /// HISTORY New type in Release IFC2x2. -class IFC_SCHEMA_API IfcBSplineCurveForm : public express::DeclaredType { +class IFC_SCHEMA_API IfcBSplineCurveForm : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5101,9 +5101,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBSplineSurfaceForm : public express::DeclaredType { +class IFC_SCHEMA_API IfcBSplineSurfaceForm : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5153,9 +5153,9 @@ public: /// IFC2x4 CHANGE The enumerators /// HOLLOWCORE and SPANDREL have been /// added. -class IFC_SCHEMA_API IfcBeamTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBeamTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5167,9 +5167,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBearingTypeDisplacementEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBearingTypeDisplacementEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBearingTypeDisplacement_FIXED_MOVEMENT, IfcBearingTypeDisplacement_GUIDED_LONGITUDINAL, IfcBearingTypeDisplacement_GUIDED_TRANSVERSAL, IfcBearingTypeDisplacement_FREE_MOVEMENT, IfcBearingTypeDisplacement_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5181,9 +5181,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBearingTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBearingTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5234,9 +5234,9 @@ public: /// /// NOTINCLUDEDIN /// 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_SCHEMA_API IfcBenchmarkEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBenchmarkEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5256,9 +5256,9 @@ public: /// NOTDEFINED: Undefined Boiler type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcBoilerTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBoilerTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBoilerType_WATER, IfcBoilerType_STEAM, IfcBoilerType_USERDEFINED, IfcBoilerType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5278,9 +5278,9 @@ public: /// NOTE Corresponding STEP type: boolean_operator, please refer to ISO/IS 10303-42:1994, p.167 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcBooleanOperator : public express::DeclaredType { +class IFC_SCHEMA_API IfcBooleanOperator : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBooleanOperator_UNION, IfcBooleanOperator_INTERSECTION, IfcBooleanOperator_DIFFERENCE} Value; static const char* ToString(Value v); @@ -5292,9 +5292,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBridgePartTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBridgePartTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5306,9 +5306,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBridgeTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBridgeTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5327,9 +5327,9 @@ public: /// NOTDEFINED: Undefined accessory /// /// HISTORY New Enumeration in IFC 2x4. -class IFC_SCHEMA_API IfcBuildingElementPartTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBuildingElementPartTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBuildingElementPartType_INSULATION, IfcBuildingElementPartType_PRECASTPANEL, IfcBuildingElementPartType_APRON, IfcBuildingElementPartType_ARMOURUNIT, IfcBuildingElementPartType_SAFETYCAGE, IfcBuildingElementPartType_USERDEFINED, IfcBuildingElementPartType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5351,9 +5351,9 @@ public: /// USERDEFINED /// /// NOTDEFINED -class IFC_SCHEMA_API IfcBuildingElementProxyTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBuildingElementProxyTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBuildingElementProxyType_COMPLEX, IfcBuildingElementProxyType_ELEMENT, IfcBuildingElementProxyType_PARTIAL, IfcBuildingElementProxyType_PROVISIONFORVOID, IfcBuildingElementProxyType_PROVISIONFORSPACE, IfcBuildingElementProxyType_USERDEFINED, IfcBuildingElementProxyType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5378,9 +5378,9 @@ public: /// natural sun light, /// TRANSPORT: System of all transport elements in a /// building that enables the transport of people or goods. -class IFC_SCHEMA_API IfcBuildingSystemTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBuildingSystemTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5392,9 +5392,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBuiltSystemTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBuiltSystemTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5412,9 +5412,9 @@ public: /// NOTDEFINED: Undefined burner type. /// /// HISTORY: New enumeration in IFC R2x4. -class IFC_SCHEMA_API IfcBurnerTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBurnerTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBurnerType_USERDEFINED, IfcBurnerType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5435,9 +5435,9 @@ public: /// TEE: A fitting at which a branch is taken from the main route of the cable carrier. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableCarrierFittingTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableCarrierFittingTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcCableCarrierFittingType_BEND, IfcCableCarrierFittingType_CROSS, IfcCableCarrierFittingType_REDUCER, IfcCableCarrierFittingType_TEE, IfcCableCarrierFittingType_USERDEFINED, IfcCableCarrierFittingType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5458,9 +5458,9 @@ public: /// CONDUITSEGMENT: An enclosed tubular carrier segment through which cables are pulled. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableCarrierSegmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableCarrierSegmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5482,9 +5482,9 @@ public: /// TRANSITION: A fitting that joins two cable segments of different connector types. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableFittingTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableFittingTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5507,9 +5507,9 @@ public: /// CORESEGMENT: A self contained element of a cable that comprises one or more conductors and sheathing.The core of one lead is normally single wired or multiwired which are intertwined. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableSegmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableSegmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5521,9 +5521,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcCaissonFoundationTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCaissonFoundationTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcCaissonFoundationType_WELL, IfcCaissonFoundationType_CAISSON, IfcCaissonFoundationType_USERDEFINED, IfcCaissonFoundationType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5545,9 +5545,9 @@ public: /// Consider Application A will create an IFC dataset that it wants to publish to others for modification and have the ability to subsequently merge these changes back into the original model. Before publication, it may want to set the IfcChangeActionEnum to NOCHANGE to establish a baseline so that other application changes can be easily identified. Application B then receives this IFC dataset and adds a new object and sets IfcChangeActionEnum to ADDED with Application B defined as the OwningApplication. Application B then modifies an existing object and (re)defines the LastModifiedDate to the time of the modification, LastModifyingUser to the IfcPersonAndOrganization making the change, and sets the LastModifyingApplication to Application B. When Application A receives this modified dataset, it can determine which objects have been added and modified by Application B and either merge or reject these changes as necessary. Consequently, the intent is that an application only modifies the value of IfcChangeActionEnum when it does something to the object, with the further intent that a model server is responsible for clearing the IfcChangeActionEnum back to NOCHANGE when it is ready to be republished. /// /// HISTORY: New enumeration in IFC R2.0. Modified in IFC2x4. -class IFC_SCHEMA_API IfcChangeActionEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcChangeActionEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcChangeAction_NOCHANGE, IfcChangeAction_MODIFIED, IfcChangeAction_ADDED, IfcChangeAction_DELETED, IfcChangeAction_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5568,9 +5568,9 @@ public: /// NOTDEFINED: Undefined chiller type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcChillerTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcChillerTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcChillerType_AIRCOOLED, IfcChillerType_WATERCOOLED, IfcChillerType_HEATRECOVERY, IfcChillerType_USERDEFINED, IfcChillerType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5591,9 +5591,9 @@ public: /// NOTE Currently there are no specific enumerators /// defined, the IfcChimneyTypeEnum has been added /// for future extensions. -class IFC_SCHEMA_API IfcChimneyTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcChimneyTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcChimneyType_USERDEFINED, IfcChimneyType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5626,9 +5626,9 @@ public: /// NOTDEFINED: Undefined coil type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcCoilTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCoilTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5653,9 +5653,9 @@ public: /// future releases of IFC. /// HISTORY New Enumeration /// in Release IFC2x Edition 2. -class IFC_SCHEMA_API IfcColumnTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcColumnTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcColumnType_COLUMN, IfcColumnType_PILASTER, IfcColumnType_PIERSTEM, IfcColumnType_PIERSTEM_SEGMENT, IfcColumnType_STANDCOLUMN, IfcColumnType_USERDEFINED, IfcColumnType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5682,9 +5682,9 @@ public: /// REPEATER: A repeater is an electronic device that receives a signal and retransmits it at a higher level and/or higher power, or onto the other side of an obstruction, so that the signal can cover longer distances without degradation. /// ROUTER: A router is a networking device whose software and hardware are usually tailored to the tasks of routing and forwarding information. For example, on the Internet, information is directed to various paths by routers. /// 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_SCHEMA_API IfcCommunicationsApplianceTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCommunicationsApplianceTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5703,9 +5703,9 @@ public: /// /// P_COMPLEX: the properties defined by this IfcComplexPropertyTemplate are of type IfcComplexProperty. /// Q_COMPLEX: the properties defined by this IfcComplexPropertyTemplate are of type IfcPhysicalComplexQuantity. -class IFC_SCHEMA_API IfcComplexPropertyTemplateTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcComplexPropertyTemplateTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcComplexPropertyTemplateType_P_COMPLEX, IfcComplexPropertyTemplateType_Q_COMPLEX} Value; static const char* ToString(Value v); @@ -5738,9 +5738,9 @@ public: /// NOTDEFINED: Undefined compressor type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcCompressorTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCompressorTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5764,9 +5764,9 @@ public: /// NOTDEFINED: Undefined condenser type. /// /// HISTORY: New enumeration in IFC 2x2. WATERCOOLED added in IFC 2x4. -class IFC_SCHEMA_API IfcCondenserTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCondenserTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5797,9 +5797,9 @@ public: /// RelatedConnectionType: AtStart /// /// Figure 65 — Connection types /*[3:3]*/ v); operator std::vector< int64_t > /*[3:3]*/() const; }; -class IFC_SCHEMA_API IfcAreaDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcAreaDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcAreaDensityMeasure initialize(double v); @@ -11991,18 +11991,18 @@ public: /// NOTE Corresponding ISO 10303 name: area_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcAreaMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcAreaMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcAreaMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcBinary : public express::DeclaredType { +class IFC_SCHEMA_API IfcBinary : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcBinary initialize(boost::dynamic_bitset<> v); @@ -12013,9 +12013,9 @@ public: /// Type: BOOLEAN /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcBoolean : public express::DeclaredType { +class IFC_SCHEMA_API IfcBoolean : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcBoolean initialize(bool v); @@ -12064,9 +12064,9 @@ public: /// Figure 284 illustrates an example extrusion shape with arbitrary profile (IfcArbitraryClosedProfileDef), aligned "mid-depth right" on the member axis. The line of sight follows the extrusion direction Z which points into the drawing plane of above illustration. Hence, "left" is in the positive X direction of the IfcProfileDef. "Top" is in the positive Y direction of the IfcProfileDef. /// /// Figure 284 — Cardinal point extrusion -class IFC_SCHEMA_API IfcCardinalPointReference : public express::DeclaredType { +class IFC_SCHEMA_API IfcCardinalPointReference : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCardinalPointReference initialize(int64_t v); @@ -12083,9 +12083,9 @@ public: /// Type: ARRAY [1:2] OF REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_SCHEMA_API IfcComplexNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcComplexNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcComplexNumber initialize(std::vector< double > /*[1:2]*/ v); @@ -12139,9 +12139,9 @@ public: ///      + FORMAT(ABS(c[4]), '##');  -- -50° 58' 33" 110400 /// /// 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_SCHEMA_API IfcCompoundPlaneAngleMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcCompoundPlaneAngleMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCompoundPlaneAngleMeasure initialize(std::vector< int64_t > /*[3:4]*/ v); @@ -12153,9 +12153,9 @@ public: /// NOTE Corresponding ISO 10303 name: context_dependent_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcContextDependentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcContextDependentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcContextDependentMeasure initialize(double v); @@ -12167,9 +12167,9 @@ public: /// NOTE Corresponding ISO 10303 name: count_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcCountMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcCountMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCountMeasure initialize(double v); @@ -12182,9 +12182,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcCurvatureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcCurvatureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCurvatureMeasure initialize(double v); @@ -12196,9 +12196,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcDate : public express::DeclaredType { +class IFC_SCHEMA_API IfcDate : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDate initialize(std::string v); @@ -12222,9 +12222,9 @@ public: /// otherwise they are forbidden. The year 0000 is prohibited. /// /// HISTORY: New type in IFC2x4 -class IFC_SCHEMA_API IfcDateTime : public express::DeclaredType { +class IFC_SCHEMA_API IfcDateTime : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDateTime initialize(std::string v); @@ -12242,9 +12242,9 @@ public: /// Release 1.5.1. /// IFC2x4 CHANGE Where rule /// ValidRange added. -class IFC_SCHEMA_API IfcDayInMonthNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcDayInMonthNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDayInMonthNumber initialize(int64_t v); @@ -12284,9 +12284,9 @@ public: /// Type: INTEGER /// HISTORY New type in /// IFC2x4. -class IFC_SCHEMA_API IfcDayInWeekNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcDayInWeekNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDayInWeekNumber initialize(int64_t v); @@ -12298,9 +12298,9 @@ public: /// NOTE Corresponding ISO 10303 name:descriptive_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDescriptiveMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcDescriptiveMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDescriptiveMeasure initialize(std::string v); @@ -12313,9 +12313,9 @@ public: /// NOTE Corresponding ISO 10303 type: dimension_count, please refer to ISO/IS 10303-42:1994, p. 14 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5 -class IFC_SCHEMA_API IfcDimensionCount : public express::DeclaredType { +class IFC_SCHEMA_API IfcDimensionCount : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDimensionCount initialize(int64_t v); @@ -12326,9 +12326,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcDoseEquivalentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcDoseEquivalentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDoseEquivalentMeasure initialize(double v); @@ -12339,9 +12339,9 @@ public: /// EXAMPLE: P0002-10-15T10:30:20 (duration of two years, 10 months, 15 days, 10 hours, 30 minutes and 20 seconds). /// /// HISTORY: New type in IFC2x4 -class IFC_SCHEMA_API IfcDuration : public express::DeclaredType { +class IFC_SCHEMA_API IfcDuration : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDuration initialize(std::string v); @@ -12353,9 +12353,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcDynamicViscosityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcDynamicViscosityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDynamicViscosityMeasure initialize(double v); @@ -12366,9 +12366,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricCapacitanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricCapacitanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricCapacitanceMeasure initialize(double v); @@ -12379,9 +12379,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricChargeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricChargeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricChargeMeasure initialize(double v); @@ -12392,9 +12392,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricConductanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricConductanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricConductanceMeasure initialize(double v); @@ -12407,9 +12407,9 @@ public: /// NOTE Corresponding ISO 10303 name: electric_current_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcElectricCurrentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricCurrentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricCurrentMeasure initialize(double v); @@ -12420,9 +12420,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricResistanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricResistanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricResistanceMeasure initialize(double v); @@ -12433,9 +12433,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcElectricVoltageMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricVoltageMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricVoltageMeasure initialize(double v); @@ -12446,9 +12446,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcEnergyMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcEnergyMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcEnergyMeasure initialize(double v); @@ -12468,9 +12468,9 @@ public: /// NOTE  Corresponding CSS1 definitions is font-style. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcFontStyle : public express::DeclaredType { +class IFC_SCHEMA_API IfcFontStyle : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFontStyle initialize(std::string v); @@ -12488,9 +12488,9 @@ public: /// NOTE  Corresponding CSS1 definitions is font-variant. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcFontVariant : public express::DeclaredType { +class IFC_SCHEMA_API IfcFontVariant : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFontVariant initialize(std::string v); @@ -12519,9 +12519,9 @@ public: /// NOTE  Corresponding CSS1 definitions is font-weight. /// /// HISTORY  New type in IFC2x2 Addendum 2. -class IFC_SCHEMA_API IfcFontWeight : public express::DeclaredType { +class IFC_SCHEMA_API IfcFontWeight : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFontWeight initialize(std::string v); @@ -12532,9 +12532,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcForceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcForceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcForceMeasure initialize(double v); @@ -12545,9 +12545,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcFrequencyMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcFrequencyMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFrequencyMeasure initialize(double v); @@ -12566,9 +12566,9 @@ public: /// Refer to the BuildingSMART website (www.buildingsmart-tech.org) for more information and sample encoding algorithms. /// /// HISTORY  New type in IFC R1.5.1. -class IFC_SCHEMA_API IfcGloballyUniqueId : public express::DeclaredType { +class IFC_SCHEMA_API IfcGloballyUniqueId : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcGloballyUniqueId initialize(std::string v); @@ -12579,9 +12579,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcHeatFluxDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcHeatFluxDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcHeatFluxDensityMeasure initialize(double v); @@ -12590,9 +12590,9 @@ public: /// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. /// /// HISTORY: This is new type in IFC2x2. -class IFC_SCHEMA_API IfcHeatingValueMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcHeatingValueMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcHeatingValueMeasure initialize(double v); @@ -12612,9 +12612,9 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// 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_SCHEMA_API IfcIdentifier : public express::DeclaredType { +class IFC_SCHEMA_API IfcIdentifier : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIdentifier initialize(std::string v); @@ -12625,9 +12625,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcIlluminanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIlluminanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIlluminanceMeasure initialize(double v); @@ -12638,9 +12638,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcInductanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcInductanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcInductanceMeasure initialize(double v); @@ -12653,9 +12653,9 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcInteger : public express::DeclaredType { +class IFC_SCHEMA_API IfcInteger : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcInteger initialize(int64_t v); @@ -12668,9 +12668,9 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcIntegerCountRateMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIntegerCountRateMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIntegerCountRateMeasure initialize(int64_t v); @@ -12679,9 +12679,9 @@ public: /// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcIonConcentrationMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIonConcentrationMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIonConcentrationMeasure initialize(double v); @@ -12692,9 +12692,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcIsothermalMoistureCapacityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIsothermalMoistureCapacityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIsothermalMoistureCapacityMeasure initialize(double v); @@ -12705,9 +12705,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcKinematicViscosityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcKinematicViscosityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcKinematicViscosityMeasure initialize(double v); @@ -12727,9 +12727,9 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// 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_SCHEMA_API IfcLabel : public express::DeclaredType { +class IFC_SCHEMA_API IfcLabel : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLabel initialize(std::string v); @@ -12760,18 +12760,18 @@ public: /// NOTE Corresponding ISO 10303 name: length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcLengthMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLengthMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLengthMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcLineIndex : public express::DeclaredType { +class IFC_SCHEMA_API IfcLineIndex : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLineIndex initialize(std::vector< int64_t > /*[2:?]*/ v); @@ -12782,9 +12782,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLinearForceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearForceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearForceMeasure initialize(double v); @@ -12795,9 +12795,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLinearMomentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearMomentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearMomentMeasure initialize(double v); @@ -12808,9 +12808,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLinearStiffnessMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearStiffnessMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearStiffnessMeasure initialize(double v); @@ -12821,9 +12821,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcLinearVelocityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearVelocityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearVelocityMeasure initialize(double v); @@ -12834,9 +12834,9 @@ public: /// Type: LOGICAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLogical : public express::DeclaredType { +class IFC_SCHEMA_API IfcLogical : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLogical initialize(boost::logic::tribool v); @@ -12847,9 +12847,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLuminousFluxMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLuminousFluxMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLuminousFluxMeasure initialize(double v); @@ -12862,9 +12862,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcLuminousIntensityDistributionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLuminousIntensityDistributionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLuminousIntensityDistributionMeasure initialize(double v); @@ -12877,9 +12877,9 @@ public: /// NOTE Corresponding ISO 10303 name: luminous_intensity_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcLuminousIntensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLuminousIntensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLuminousIntensityMeasure initialize(double v); @@ -12890,9 +12890,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMagneticFluxDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMagneticFluxDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMagneticFluxDensityMeasure initialize(double v); @@ -12903,9 +12903,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMagneticFluxMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMagneticFluxMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMagneticFluxMeasure initialize(double v); @@ -12916,9 +12916,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcMassDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassDensityMeasure initialize(double v); @@ -12929,9 +12929,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcMassFlowRateMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassFlowRateMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassFlowRateMeasure initialize(double v); @@ -12944,9 +12944,9 @@ public: /// NOTE Corresponding ISO 10303 name: mass_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcMassMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassMeasure initialize(double v); @@ -12959,9 +12959,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcMassPerLengthMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassPerLengthMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassPerLengthMeasure initialize(double v); @@ -12972,9 +12972,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcModulusOfElasticityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfElasticityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfElasticityMeasure initialize(double v); @@ -12985,9 +12985,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_SCHEMA_API IfcModulusOfLinearSubgradeReactionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfLinearSubgradeReactionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfLinearSubgradeReactionMeasure initialize(double v); @@ -12998,9 +12998,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfRotationalSubgradeReactionMeasure initialize(double v); @@ -13015,9 +13015,9 @@ public: /// Figure 290 illustrates elastic support of a planar member. /// /// Figure 290 — Modulus of subgrade reaction measure -class IFC_SCHEMA_API IfcModulusOfSubgradeReactionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfSubgradeReactionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfSubgradeReactionMeasure initialize(double v); @@ -13028,9 +13028,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMoistureDiffusivityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMoistureDiffusivityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMoistureDiffusivityMeasure initialize(double v); @@ -13041,9 +13041,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMolecularWeightMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMolecularWeightMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMolecularWeightMeasure initialize(double v); @@ -13054,9 +13054,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMomentOfInertiaMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMomentOfInertiaMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMomentOfInertiaMeasure initialize(double v); @@ -13066,9 +13066,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcMonetaryMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMonetaryMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMonetaryMeasure initialize(double v); @@ -13130,9 +13130,9 @@ public: /// standard. /// HISTORY New type in IFC /// Release 1.5.1. -class IFC_SCHEMA_API IfcMonthInYearNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcMonthInYearNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMonthInYearNumber initialize(int64_t v); @@ -13157,9 +13157,9 @@ public: /// NOTE Corresponding ISO 10303 name: numeric_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcNumericMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcNumericMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcNumericMeasure initialize(double v); @@ -13168,9 +13168,9 @@ public: /// 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. /// /// HISTORY: New type in IFC 2x2. -class IFC_SCHEMA_API IfcPHMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPHMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPHMeasure initialize(double v); @@ -13183,9 +13183,9 @@ public: /// NOTE Corresponding STEP name: parameter_value, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcParameterValue : public express::DeclaredType { +class IFC_SCHEMA_API IfcParameterValue : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcParameterValue initialize(double v); @@ -13196,9 +13196,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcPlanarForceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPlanarForceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPlanarForceMeasure initialize(double v); @@ -13215,9 +13215,9 @@ public: /// NOTE Corresponding ISO 10303 name: plane_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcPlaneAngleMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPlaneAngleMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPlaneAngleMeasure initialize(double v); @@ -13265,9 +13265,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcPowerMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPowerMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPowerMeasure initialize(double v); @@ -13282,9 +13282,9 @@ public: /// NOTE  Corresponding ISO 10303 name: presentable_text. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. /// /// HISTORY  New type in IFC2x2. -class IFC_SCHEMA_API IfcPresentableText : public express::DeclaredType { +class IFC_SCHEMA_API IfcPresentableText : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPresentableText initialize(std::string v); @@ -13295,18 +13295,18 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcPressureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPressureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPressureMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcPropertySetDefinitionSet : public express::DeclaredType { +class IFC_SCHEMA_API IfcPropertySetDefinitionSet : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPropertySetDefinitionSet initialize(std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > v); @@ -13317,9 +13317,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcRadioActivityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRadioActivityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRadioActivityMeasure initialize(double v); @@ -13335,9 +13335,9 @@ public: /// NOTE Corresponding STEP name: ratio_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcRatioMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRatioMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRatioMeasure initialize(double v); @@ -13350,9 +13350,9 @@ public: /// Type: REAL /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcReal : public express::DeclaredType { +class IFC_SCHEMA_API IfcReal : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcReal initialize(double v); @@ -13363,9 +13363,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcRotationalFrequencyMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRotationalFrequencyMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRotationalFrequencyMeasure initialize(double v); @@ -13377,9 +13377,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcRotationalMassMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRotationalMassMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRotationalMassMeasure initialize(double v); @@ -13390,9 +13390,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcRotationalStiffnessMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRotationalStiffnessMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRotationalStiffnessMeasure initialize(double v); @@ -13403,9 +13403,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_SCHEMA_API IfcSectionModulusMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSectionModulusMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSectionModulusMeasure initialize(double v); @@ -13416,9 +13416,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcSectionalAreaIntegralMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSectionalAreaIntegralMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSectionalAreaIntegralMeasure initialize(double v); @@ -13429,9 +13429,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcShearModulusMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcShearModulusMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcShearModulusMeasure initialize(double v); @@ -13444,18 +13444,18 @@ public: /// NOTE Corresponding ISO 10303 name: solid_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcSolidAngleMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSolidAngleMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSolidAngleMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcSoundPowerLevelMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPowerLevelMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPowerLevelMeasure initialize(double v); @@ -13466,18 +13466,18 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcSoundPowerMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPowerMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPowerMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcSoundPressureLevelMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPressureLevelMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPressureLevelMeasure initialize(double v); @@ -13488,9 +13488,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcSoundPressureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPressureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPressureMeasure initialize(double v); @@ -13501,9 +13501,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcSpecificHeatCapacityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSpecificHeatCapacityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSpecificHeatCapacityMeasure initialize(double v); @@ -13516,9 +13516,9 @@ public: /// NOTE: The datatype relates to the definition of specular_exponent in ISO 10303-46 entity surface_style_reflectance_ambient_diffuse_specular. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcSpecularExponent : public express::DeclaredType { +class IFC_SCHEMA_API IfcSpecularExponent : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSpecularExponent initialize(double v); @@ -13533,9 +13533,9 @@ public: /// NOTE: The datatype relates to the definition of "shiness" in VRML97, which is the reciprocate value to the specular roughness. /// /// HISTORY: New type in Release IFC2x2. -class IFC_SCHEMA_API IfcSpecularRoughness : public express::DeclaredType { +class IFC_SCHEMA_API IfcSpecularRoughness : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSpecularRoughness initialize(double v); @@ -13546,9 +13546,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcTemperatureGradientMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTemperatureGradientMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTemperatureGradientMeasure initialize(double v); @@ -13559,9 +13559,9 @@ public: /// Type: REAL /// /// HISTORY  New type in IFC2x4. -class IFC_SCHEMA_API IfcTemperatureRateOfChangeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTemperatureRateOfChangeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTemperatureRateOfChangeMeasure initialize(double v); @@ -13578,9 +13578,9 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// 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_SCHEMA_API IfcText : public express::DeclaredType { +class IFC_SCHEMA_API IfcText : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcText initialize(std::string v); @@ -13596,9 +13596,9 @@ public: /// NOTE  Corresponding CSS1 definition is text-align. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcTextAlignment : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextAlignment : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextAlignment initialize(std::string v); @@ -13617,9 +13617,9 @@ public: /// NOTE  Corresponding CSS1 definition is text-decoration. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcTextDecoration : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextDecoration : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextDecoration initialize(std::string v); @@ -13644,9 +13644,9 @@ public: /// HISTORY  New type in IFC2x2 Addendum 2. /// /// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. -class IFC_SCHEMA_API IfcTextFontName : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextFontName : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextFontName initialize(std::string v); @@ -13662,9 +13662,9 @@ public: /// NOTE  Corresponding CSS1 definition is text-transform. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcTextTransformation : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextTransformation : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextTransformation initialize(std::string v); @@ -13675,9 +13675,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcThermalAdmittanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalAdmittanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalAdmittanceMeasure initialize(double v); @@ -13688,9 +13688,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcThermalConductivityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalConductivityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalConductivityMeasure initialize(double v); @@ -13700,9 +13700,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcThermalExpansionCoefficientMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalExpansionCoefficientMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalExpansionCoefficientMeasure initialize(double v); @@ -13712,9 +13712,9 @@ public: /// Usually measured in m2 Kelvin/Watt. /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcThermalResistanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalResistanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalResistanceMeasure initialize(double v); @@ -13725,9 +13725,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcThermalTransmittanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalTransmittanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalTransmittanceMeasure initialize(double v); @@ -13740,9 +13740,9 @@ public: /// NOTE Corresponding ISO 10303 name: thermodynamic_temperature_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcThermodynamicTemperatureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermodynamicTemperatureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermodynamicTemperatureMeasure initialize(double v); @@ -13756,9 +13756,9 @@ public: /// 13:20:00-05:00. /// /// HISTORY: New type in IFC2x4 -class IFC_SCHEMA_API IfcTime : public express::DeclaredType { +class IFC_SCHEMA_API IfcTime : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTime initialize(std::string v); @@ -13771,9 +13771,9 @@ public: /// NOTE Corresponding ISO 10303 name: time_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcTimeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTimeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTimeMeasure initialize(double v); @@ -13783,9 +13783,9 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcTimeStamp : public express::DeclaredType { +class IFC_SCHEMA_API IfcTimeStamp : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTimeStamp initialize(int64_t v); @@ -13796,9 +13796,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcTorqueMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTorqueMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTorqueMeasure initialize(double v); @@ -13811,9 +13811,9 @@ public: /// designed to make it easy to map other namespaces (that share the properties of URNs) into URN-space. /// /// HISTORY New defined datatype in IFC 2x4. -class IFC_SCHEMA_API IfcURIReference : public express::DeclaredType { +class IFC_SCHEMA_API IfcURIReference : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcURIReference initialize(std::string v); @@ -13824,9 +13824,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcVaporPermeabilityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcVaporPermeabilityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcVaporPermeabilityMeasure initialize(double v); @@ -13839,9 +13839,9 @@ public: /// NOTE Corresponding ISO 10303 name: volume_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcVolumeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcVolumeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcVolumeMeasure initialize(double v); @@ -13852,9 +13852,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcVolumetricFlowRateMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcVolumetricFlowRateMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcVolumetricFlowRateMeasure initialize(double v); @@ -13865,9 +13865,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcWarpingConstantMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcWarpingConstantMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcWarpingConstantMeasure initialize(double v); @@ -13878,9 +13878,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcWarpingMomentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcWarpingMomentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcWarpingMomentMeasure initialize(double v); @@ -13958,9 +13958,9 @@ public: /// Corresponds to the following entity in ISO-10303-41: organization_role and person_role. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_SCHEMA_API IfcActorRole : public express::Entity { +class IFC_SCHEMA_API IfcActorRole : public express::entity { public: - using express::Entity::Entity; + 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. @@ -13985,9 +13985,9 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: address. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcAddress : public express::Entity { +class IFC_SCHEMA_API IfcAddress : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Identifies the logical location of the address. std::optional< ::Ifc4x3_rc1::IfcAddressTypeEnum::Value > Purpose() const; @@ -14010,9 +14010,9 @@ public: /// 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_SCHEMA_API IfcApplication : public express::Entity { +class IFC_SCHEMA_API IfcApplication : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Name of the application developer, being requested to be member of the IAI. ::Ifc4x3_rc1::IfcOrganization ApplicationDeveloper() const; @@ -14044,9 +14044,9 @@ public: /// An instance of IfcAppliedValue may have a unit basis asserted. This is defined as an IfcMeasureWithUnit that determines the extent of the unit value for application purposes. It is assumed that when this attribute is asserted, then the value given to IfcAppliedValue is that for unit quantity. This is not enforced within the IFC schema and thus needs to be controlled within an application. /// /// 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_SCHEMA_API IfcAppliedValue : public express::Entity { +class IFC_SCHEMA_API IfcAppliedValue : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A name or additional clarification given to a cost value. std::optional< std::string > Name() const; @@ -14092,9 +14092,9 @@ public: /// HISTORY New Entity in IFC Release 2.0 /// /// 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_SCHEMA_API IfcApproval : public express::Entity { +class IFC_SCHEMA_API IfcApproval : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A computer interpretable identifier by which the approval is known. std::optional< std::string > Identifier() const; @@ -14153,9 +14153,9 @@ public: /// HISTORY: New entity /// in Release IFC2x Edition /// 2. -class IFC_SCHEMA_API IfcBoundaryCondition : public express::Entity { +class IFC_SCHEMA_API IfcBoundaryCondition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optionally defines a name for this boundary condition. std::optional< std::string > Name() const; @@ -14297,9 +14297,9 @@ public: /// HISTORY  New entity in IFC Release 1.5. /// /// 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_SCHEMA_API IfcConnectionGeometry : public express::Entity { +class IFC_SCHEMA_API IfcConnectionGeometry : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; static const ifcopenshell::entity& Class(); @@ -14389,9 +14389,9 @@ public: /// A constraint must have a name applied through the IfcConstraint.Name attribute and optionally, a description through IfcConstraint.Description. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade or IfcConstraint.UserDefinedGrade whilst the source, creating actor and time at which the constraint is created may be optionally asserted through IfcConstraint.ConstraintSource, IfcConstraint.CreatingActor and IfcConstraint.CreationTime. /// /// 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_SCHEMA_API IfcConstraint : public express::Entity { +class IFC_SCHEMA_API IfcConstraint : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; @@ -14469,9 +14469,9 @@ public: /// and any map or other coordinate reference system. /// /// HISTORY  New entity in IFC2x4. -class IFC_SCHEMA_API IfcCoordinateOperation : public express::Entity { +class IFC_SCHEMA_API IfcCoordinateOperation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Source coordinate reference system for the operation. ::Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect SourceCRS() const; @@ -14505,9 +14505,9 @@ public: /// Specifications. /// /// HISTORY  New entity in IFC2x4. -class IFC_SCHEMA_API IfcCoordinateReferenceSystem : public express::Entity { +class IFC_SCHEMA_API IfcCoordinateReferenceSystem : public express::entity { public: - using express::Entity::Entity; + 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. @@ -14591,9 +14591,9 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDerivedUnit : public express::Entity { +class IFC_SCHEMA_API IfcDerivedUnit : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The group of units and their exponents that define the derived unit. std::vector< ::Ifc4x3_rc1::IfcDerivedUnitElement > Elements() const; @@ -14616,9 +14616,9 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit_element, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDerivedUnitElement : public express::Entity { +class IFC_SCHEMA_API IfcDerivedUnitElement : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The fixed quantity which is used as the mathematical factor. ::Ifc4x3_rc1::IfcNamedUnit Unit() const; @@ -14647,9 +14647,9 @@ public: /// for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDimensionalExponents : public express::Entity { +class IFC_SCHEMA_API IfcDimensionalExponents : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The power of the length base quantity. int64_t LengthExponent() const; @@ -14682,9 +14682,9 @@ public: /// all external information entities. /// /// HISTORY New entity in IFC2x4. -class IFC_SCHEMA_API IfcExternalInformation : public express::Entity { +class IFC_SCHEMA_API IfcExternalInformation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; static const ifcopenshell::entity& Class(); @@ -14699,9 +14699,9 @@ public: /// IfcExternalReference is an abstract supertype of all external reference entities. /// /// HISTORY New entity in IFC2x. -class IFC_SCHEMA_API IfcExternalReference : public express::Entity { +class IFC_SCHEMA_API IfcExternalReference : public express::entity { public: - using express::Entity::Entity; + 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. /// @@ -14796,9 +14796,9 @@ public: /// underlying AxisCurve supports this concept. /// /// Figure 242 — Grid axis -class IFC_SCHEMA_API IfcGridAxis : public express::Entity { +class IFC_SCHEMA_API IfcGridAxis : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The tag or name for this grid axis. std::optional< std::string > AxisTag() const; @@ -14820,9 +14820,9 @@ public: /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// /// HISTORY: New entity in IFC 2x2. -class IFC_SCHEMA_API IfcIrregularTimeSeriesValue : public express::Entity { +class IFC_SCHEMA_API IfcIrregularTimeSeriesValue : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The specification of the time point. std::string TimeStamp() const; @@ -14917,9 +14917,9 @@ public: /// For each pair of MainPlaneAngle and SecondaryPlaneAngle the LuminousIntensity is provided (the unit is given by the IfcUnitAssignment referring to the LuminousIntensityDistributionUnit, normally cd/klm). /// /// HISTORY: New entity in IFC2x2. -class IFC_SCHEMA_API IfcLightDistributionData : public express::Entity { +class IFC_SCHEMA_API IfcLightDistributionData : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; @@ -14939,9 +14939,9 @@ public: /// 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_SCHEMA_API IfcLightIntensityDistribution : public express::Entity { +class IFC_SCHEMA_API IfcLightIntensityDistribution : public express::entity { public: - using express::Entity::Entity; + 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; @@ -15002,9 +15002,9 @@ public: /// HISTORY New entity in IFC2x. /// /// IFC2x4 CHANGE The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. -class IFC_SCHEMA_API IfcMaterialClassificationRelationship : public express::Entity { +class IFC_SCHEMA_API IfcMaterialClassificationRelationship : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The material classifications identifying the type of material. std::vector< ::Ifc4x3_rc1::IfcClassificationSelect > MaterialClassifications() const; @@ -15040,9 +15040,9 @@ public: /// IfcRelAssociatesMaterial. /// /// HISTORY New entity in IFC2x4 -class IFC_SCHEMA_API IfcMaterialDefinition : public express::Entity { +class IFC_SCHEMA_API IfcMaterialDefinition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects @@ -15238,9 +15238,9 @@ public: /// /// IFC2x4 CHANGE The entity IfcMaterialList is deprecated and shall no longer /// be used. Use IfcMaterialConstituentSet instead. -class IFC_SCHEMA_API IfcMaterialList : public express::Entity { +class IFC_SCHEMA_API IfcMaterialList : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Materials used in a composition of substances. std::vector< ::Ifc4x3_rc1::IfcMaterial > Materials() const; @@ -15356,9 +15356,9 @@ public: /// IfcMaterialUsageDefinition to a subtype of /// IfcElementType, it shall only be assigned to an element /// occurrence. -class IFC_SCHEMA_API IfcMaterialUsageDefinition : public express::Entity { +class IFC_SCHEMA_API IfcMaterialUsageDefinition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial @@ -15375,9 +15375,9 @@ public: /// NOTE Corresponding ISO 10303 name: measure_with_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcMeasureWithUnit : public express::Entity { +class IFC_SCHEMA_API IfcMeasureWithUnit : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The value of the physical quantity when expressed in the specified units. ::Ifc4x3_rc1::IfcValue ValueComponent() const; @@ -15465,9 +15465,9 @@ public: /// HISTORY: New entity in IFC Release 2x. /// /// IFC2x4 CHANGE: Type of the attribute Currency changed. -class IFC_SCHEMA_API IfcMonetaryUnit : public express::Entity { +class IFC_SCHEMA_API IfcMonetaryUnit : public express::entity { public: - using express::Entity::Entity; + 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; @@ -15481,9 +15481,9 @@ public: /// NOTE Corresponding ISO 10303 name: named_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcNamedUnit : public express::Entity { +class IFC_SCHEMA_API IfcNamedUnit : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The dimensional exponents of the SI base units by which the named unit is defined. ::Ifc4x3_rc1::IfcDimensionalExponents Dimensions() const; @@ -15506,9 +15506,9 @@ public: /// In any case the object placement has to unambiguously define the object coordinate system as either two-dimensional axis placement (IfcAxis2Placement2D) or three-dimensional axis placement (IfcAxis2Placement3D). The axis placement may have to be calculated. /// /// HISTORY New entity in IFC Release 2x. -class IFC_SCHEMA_API IfcObjectPlacement : public express::Entity { +class IFC_SCHEMA_API IfcObjectPlacement : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; ::Ifc4x3_rc1::IfcObjectPlacement PlacementRelTo() const; void setPlacementRelTo(const ::Ifc4x3_rc1::IfcObjectPlacement& v); @@ -15553,9 +15553,9 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. -class IFC_SCHEMA_API IfcOrganization : public express::Entity { +class IFC_SCHEMA_API IfcOrganization : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Identification of the organization. std::optional< std::string > Identification() const; @@ -15590,9 +15590,9 @@ public: /// /// If LastModifiedDate is defined but ChangeAction is not asserted, then the state of ChangeAction is assumed to be UNDEFINED. /// If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate. -class IFC_SCHEMA_API IfcOwnerHistory : public express::Entity { +class IFC_SCHEMA_API IfcOwnerHistory : public express::entity { public: - using express::Entity::Entity; + 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; @@ -15631,9 +15631,9 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. -class IFC_SCHEMA_API IfcPerson : public express::Entity { +class IFC_SCHEMA_API IfcPerson : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Identification of the person. std::optional< std::string > Identification() const; @@ -15675,9 +15675,9 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: person_and_organization. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_SCHEMA_API IfcPersonAndOrganization : public express::Entity { +class IFC_SCHEMA_API IfcPersonAndOrganization : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The person who is related to the organization. ::Ifc4x3_rc1::IfcPerson ThePerson() const; @@ -15697,9 +15697,9 @@ public: /// The Name attribute defines the actual usage or kind of measure. The interpretation of the name label has to be established within the actual exchange context. In addition an informative text may be associated to each quantity by the Description attribute. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_SCHEMA_API IfcPhysicalQuantity : public express::Entity { +class IFC_SCHEMA_API IfcPhysicalQuantity : public express::entity { public: - using express::Entity::Entity; + 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; @@ -15772,9 +15772,9 @@ public: 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_SCHEMA_API IfcPresentationItem : public express::Entity { +class IFC_SCHEMA_API IfcPresentationItem : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; static const ifcopenshell::entity& Class(); @@ -15795,9 +15795,9 @@ public: /// Figure 305 illustrates assignment of items by shape representation or representation item. The set of AssignedItems can either include a whole shape representation, or individual geometric representation items. If both, the IfcShapeRepresentation has a layer assignment, and an individual geometric representation item in the set of IfcShapeRepresentation.Items, then the layer assignment of the IfcGeometricRepresentationItem overides the layer assignment of the IfcShapeRepresentation. /// /// Figure 305 — Presentation layer assignment -class IFC_SCHEMA_API IfcPresentationLayerAssignment : public express::Entity { +class IFC_SCHEMA_API IfcPresentationLayerAssignment : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Name of the layer. std::string Name() const; @@ -15857,9 +15857,9 @@ public: /// Each subtype of  IfcPresentationStyle can be assigned to IfcGeometricRepresentationItem's via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or one of its subtypes. /// /// HISTORY  New entity in IFC2x3. -class IFC_SCHEMA_API IfcPresentationStyle : public express::Entity { +class IFC_SCHEMA_API IfcPresentationStyle : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Name of the presentation style. std::optional< std::string > Name() const; @@ -15873,9 +15873,9 @@ public: /// NOTE Corresponding ISO 10303 name: presentation_style_assignment. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in Release IFC2x2. -class IFC_SCHEMA_API IfcPresentationStyleAssignment : public express::Entity { +class IFC_SCHEMA_API IfcPresentationStyleAssignment : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A set of presentation styles that are assigned to styled items. std::vector< ::Ifc4x3_rc1::IfcPresentationStyleSelect > Styles() const; @@ -15901,9 +15901,9 @@ public: /// IFC2x3 NOTE Users should not instantiate the entity from IFC2x Edition 3 onwards. /// /// IFC2x4 CHANGE  Entity made abstract. -class IFC_SCHEMA_API IfcProductRepresentation : public express::Entity { +class IFC_SCHEMA_API IfcProductRepresentation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The word or group of words by which the product representation is known. std::optional< std::string > Name() const; @@ -16088,9 +16088,9 @@ public: /// possible to directly instantiate IfcProfileDef and further specify /// the profile only by external reference or by profile properties. The latter /// are tracked by the inverse attribute HasProperties. -class IFC_SCHEMA_API IfcProfileDef : public express::Entity { +class IFC_SCHEMA_API IfcProfileDef : public express::entity { public: - using express::Entity::Entity; + 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; @@ -16152,9 +16152,9 @@ public: 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_SCHEMA_API IfcPropertyAbstraction : public express::Entity { +class IFC_SCHEMA_API IfcPropertyAbstraction : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects @@ -16356,9 +16356,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcRecurrencePattern : public express::Entity { +class IFC_SCHEMA_API IfcRecurrencePattern : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Defines the recurrence type that gives meaning to the used /// attributes and decides about possible attribute @@ -16402,9 +16402,9 @@ public: IfcRecurrencePattern initialize(::Ifc4x3_rc1::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int64_t > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v4_MonthComponent, std::optional< int64_t > v5_Position, std::optional< int64_t > v6_Interval, std::optional< int64_t > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_rc1::IfcTimePeriod > > v8_TimePeriods); }; -class IFC_SCHEMA_API IfcReference : public express::Entity { +class IFC_SCHEMA_API IfcReference : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::optional< std::string > TypeIdentifier() const; void setTypeIdentifier(const std::optional< std::string >& v); @@ -16466,9 +16466,9 @@ public: /// IFC2x4 CHANGE  Entity /// IfcRepresentation has been changed into an ABSTRACT /// supertype. -class IFC_SCHEMA_API IfcRepresentation : public express::Entity { +class IFC_SCHEMA_API IfcRepresentation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Definition of the representation context for which the different subtypes of representation are valid. ::Ifc4x3_rc1::IfcRepresentationContext ContextOfItems() const; @@ -16500,9 +16500,9 @@ public: /// /// IFC2x4 CHANGE Entity made abstract, had been deprecated from instantiation since /// IFC2x2. -class IFC_SCHEMA_API IfcRepresentationContext : public express::Entity { +class IFC_SCHEMA_API IfcRepresentationContext : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The optional identifier of the representation context as used within a project. std::optional< std::string > ContextIdentifier() const; @@ -16547,9 +16547,9 @@ public: /// HISTORY  New entity in IFC Release 2x. /// /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. -class IFC_SCHEMA_API IfcRepresentationItem : public express::Entity { +class IFC_SCHEMA_API IfcRepresentationItem : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcPresentationLayerAssignment > LayerAssignment() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems std::vector< IfcStyledItem > StyledByItem() const; // INVERSE IfcStyledItem::Item @@ -16568,9 +16568,9 @@ public: /// NOTE  The definition of a mapping which is used to specify a new representation item comprises a representation map and a mapped item entity. Without both entities, the mapping is not fully defined. Two entities are specified to allow the same source representation to be mapped into multiple new representations. /// /// HISTORY  New entity in IFC Release 2x. -class IFC_SCHEMA_API IfcRepresentationMap : public express::Entity { +class IFC_SCHEMA_API IfcRepresentationMap : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// An axis2 placement that defines the position about which the mapped /// representation is mapped. @@ -16588,9 +16588,9 @@ public: /// IfcResourceLevelRelationship is an abstract base class for relationships between resource-level entities. /// /// HISTORY New Entity in IFC 2x4 -class IFC_SCHEMA_API IfcResourceLevelRelationship : public express::Entity { +class IFC_SCHEMA_API IfcResourceLevelRelationship : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A name used to identify or qualify the relationship. std::optional< std::string > Name() const; @@ -16611,9 +16611,9 @@ public: /// HISTORY New entity in IFC Release 1.0 /// /// IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL. -class IFC_SCHEMA_API IfcRoot : public express::Entity { +class IFC_SCHEMA_API IfcRoot : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; @@ -16661,9 +16661,9 @@ public: /// IfcSchedulingTime is the abstract supertype of entities that capture time-related information of processes. /// /// HISTORY: New entity in IFC2x4. -class IFC_SCHEMA_API IfcSchedulingTime : public express::Entity { +class IFC_SCHEMA_API IfcSchedulingTime : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optional name for the time definition. std::optional< std::string > Name() const; @@ -16716,9 +16716,9 @@ public: /// IfcRepresentationMap's that are used by an /// IfcTypeProduct through the /// RepresentationMaps attribute. -class IFC_SCHEMA_API IfcShapeAspect : public express::Entity { +class IFC_SCHEMA_API IfcShapeAspect : public express::entity { public: - using express::Entity::Entity; + 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 @@ -16917,9 +16917,9 @@ public: /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. -class IFC_SCHEMA_API IfcStructuralConnectionCondition : public express::Entity { +class IFC_SCHEMA_API IfcStructuralConnectionCondition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optionally defines a name for this connection condition. std::optional< std::string > Name() const; @@ -16931,9 +16931,9 @@ public: /// 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_SCHEMA_API IfcStructuralLoad : public express::Entity { +class IFC_SCHEMA_API IfcStructuralLoad : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optionally defines a name for this load. std::optional< std::string > Name() const; @@ -17386,9 +17386,9 @@ public: /// HISTORY  New entity in IFC R1.5. /// /// IFC2x4 CHANGE  Columns attribute added. -class IFC_SCHEMA_API IfcTable : public express::Entity { +class IFC_SCHEMA_API IfcTable : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A unique name which is intended to describe the usage of the Table. std::optional< std::string > Name() const; @@ -17408,9 +17408,9 @@ public: /// The use of IfcTableColumn supercedes the IsHeading flag associated with IfcTableRow. /// /// HISTORY  New entity in IFC2x4. -class IFC_SCHEMA_API IfcTableColumn : public express::Entity { +class IFC_SCHEMA_API IfcTableColumn : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Table column identifier. std::optional< std::string > Identifier() const; @@ -17443,9 +17443,9 @@ public: /// Figure 338 — Table row use alternative /// /// HISTORY  New entity in IFC R1.5. -class IFC_SCHEMA_API IfcTableRow : public express::Entity { +class IFC_SCHEMA_API IfcTableRow : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The data value of the table cell.. std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > > RowCells() const; @@ -17939,9 +17939,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcTimePeriod : public express::Entity { +class IFC_SCHEMA_API IfcTimePeriod : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Start time of the time period. std::string StartTime() const; @@ -17958,9 +17958,9 @@ public: /// The modeling of buildings and their performance involves data that are generated and recorded over a period of time. Such data cover a large spectrum, from weather data to schedules of all kinds to status measurements to reporting to everything else that has a time related aspect. Their correct placement in time is essential for their proper understanding and use, and the IfcTimeSeries subtypes provide the appropriate data structures to accommodate these types of data. /// /// HISTORY: New entity in IFC 2x2. -class IFC_SCHEMA_API IfcTimeSeries : public express::Entity { +class IFC_SCHEMA_API IfcTimeSeries : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// An unique name for the time series. std::string Name() const; @@ -18000,9 +18000,9 @@ public: /// Figure 241 — Time series value /// /// HISTORY  New entity in IFC2x2. -class IFC_SCHEMA_API IfcTimeSeriesValue : public express::Entity { +class IFC_SCHEMA_API IfcTimeSeriesValue : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A list of time-series values. At least one value is required. std::vector< ::Ifc4x3_rc1::IfcValue > ListValues() const; @@ -18071,9 +18071,9 @@ public: /// NOTE  A project (IfcProject) has a unit assignment which establishes a set of units which will be used globally within the project, if not otherwise defined. Other objects may have local unit assignments if there is a requirement for them to make use of units which do not fall within the project unit assignment. /// /// HISTORY  New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcUnitAssignment : public express::Entity { +class IFC_SCHEMA_API IfcUnitAssignment : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Units to be included within a unit assignment. std::vector< ::Ifc4x3_rc1::IfcUnit > Units() const; @@ -18179,9 +18179,9 @@ public: /// OffsetDistances[1] is a negative length measure /// /// Figure 248 — Virtual grid intersection negative offset -class IFC_SCHEMA_API IfcVirtualGridIntersection : public express::Entity { +class IFC_SCHEMA_API IfcVirtualGridIntersection : public express::entity { public: - using express::Entity::Entity; + 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; diff --git a/src/ifcparse/schemas/Ifc4x3_rc2.cpp b/src/ifcparse/schemas/Ifc4x3_rc2.cpp index f57f0a58d7..bb33704694 100644 --- a/src/ifcparse/schemas/Ifc4x3_rc2.cpp +++ b/src/ifcparse/schemas/Ifc4x3_rc2.cpp @@ -44,7 +44,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcActionRequestTypeEnum::Clas /* Ifc4x3_rc2::IfcActionRequestTypeEnum::IfcActionRequestTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcActionRequestTypeEnum::IfcActionRequestTypeEnum(Value v) { @@ -73,7 +73,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcActionSourceTypeEnum::Class /* Ifc4x3_rc2::IfcActionSourceTypeEnum::IfcActionSourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcActionSourceTypeEnum::IfcActionSourceTypeEnum(Value v) { @@ -102,7 +102,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcActionTypeEnum::Class() { r /* Ifc4x3_rc2::IfcActionTypeEnum::IfcActionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcActionTypeEnum::IfcActionTypeEnum(Value v) { @@ -131,7 +131,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcActuatorTypeEnum::Class() { /* Ifc4x3_rc2::IfcActuatorTypeEnum::IfcActuatorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcActuatorTypeEnum::IfcActuatorTypeEnum(Value v) { @@ -160,7 +160,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcAddressTypeEnum::Class() { /* Ifc4x3_rc2::IfcAddressTypeEnum::IfcAddressTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcAddressTypeEnum::IfcAddressTypeEnum(Value v) { @@ -189,7 +189,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Cla /* Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum(Value v) { @@ -218,7 +218,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcAirTerminalTypeEnum::Class( /* Ifc4x3_rc2::IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum(Value v) { @@ -247,7 +247,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnu /* Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum(Value v) { @@ -276,7 +276,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcAlarmTypeEnum::Class() { re /* Ifc4x3_rc2::IfcAlarmTypeEnum::IfcAlarmTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcAlarmTypeEnum::IfcAlarmTypeEnum(Value v) { @@ -305,7 +305,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnu /* Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::IfcAlignmentCantSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::IfcAlignmentCantSegmentTypeEnum(Value v) { @@ -334,7 +334,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcAlignmentHorizontalSegmentT /* Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::IfcAlignmentHorizontalSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::IfcAlignmentHorizontalSegmentTypeEnum(Value v) { @@ -363,7 +363,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcAlignmentTypeEnum::Class() /* Ifc4x3_rc2::IfcAlignmentTypeEnum::IfcAlignmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcAlignmentTypeEnum::IfcAlignmentTypeEnum(Value v) { @@ -392,7 +392,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcAlignmentVerticalSegmentTyp /* Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::IfcAlignmentVerticalSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::IfcAlignmentVerticalSegmentTypeEnum(Value v) { @@ -421,7 +421,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcAnalysisModelTypeEnum::Clas /* Ifc4x3_rc2::IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum(Value v) { @@ -450,7 +450,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::Cla /* Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum(Value v) { @@ -479,7 +479,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcAnnotationTypeEnum::Class() /* Ifc4x3_rc2::IfcAnnotationTypeEnum::IfcAnnotationTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcAnnotationTypeEnum::IfcAnnotationTypeEnum(Value v) { @@ -508,7 +508,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcArithmeticOperatorEnum::Cla /* Ifc4x3_rc2::IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum(Value v) { @@ -537,7 +537,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcAssemblyPlaceEnum::Class() /* Ifc4x3_rc2::IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum(Value v) { @@ -566,7 +566,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnu /* Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum(Value v) { @@ -595,7 +595,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcBSplineCurveForm::Class() { /* Ifc4x3_rc2::IfcBSplineCurveForm::IfcBSplineCurveForm(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcBSplineCurveForm::IfcBSplineCurveForm(Value v) { @@ -624,7 +624,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcBSplineSurfaceForm::Class() /* Ifc4x3_rc2::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm(Value v) { @@ -653,7 +653,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcBeamTypeEnum::Class() { ret /* Ifc4x3_rc2::IfcBeamTypeEnum::IfcBeamTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcBeamTypeEnum::IfcBeamTypeEnum(Value v) { @@ -682,7 +682,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcBearingTypeDisplacementEnum /* Ifc4x3_rc2::IfcBearingTypeDisplacementEnum::IfcBearingTypeDisplacementEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcBearingTypeDisplacementEnum::IfcBearingTypeDisplacementEnum(Value v) { @@ -711,7 +711,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcBearingTypeEnum::Class() { /* Ifc4x3_rc2::IfcBearingTypeEnum::IfcBearingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcBearingTypeEnum::IfcBearingTypeEnum(Value v) { @@ -740,7 +740,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcBenchmarkEnum::Class() { re /* Ifc4x3_rc2::IfcBenchmarkEnum::IfcBenchmarkEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcBenchmarkEnum::IfcBenchmarkEnum(Value v) { @@ -769,7 +769,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcBoilerTypeEnum::Class() { r /* Ifc4x3_rc2::IfcBoilerTypeEnum::IfcBoilerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcBoilerTypeEnum::IfcBoilerTypeEnum(Value v) { @@ -798,7 +798,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcBooleanOperator::Class() { /* Ifc4x3_rc2::IfcBooleanOperator::IfcBooleanOperator(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcBooleanOperator::IfcBooleanOperator(Value v) { @@ -827,7 +827,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcBridgePartTypeEnum::Class() /* Ifc4x3_rc2::IfcBridgePartTypeEnum::IfcBridgePartTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcBridgePartTypeEnum::IfcBridgePartTypeEnum(Value v) { @@ -856,7 +856,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcBridgeTypeEnum::Class() { r /* Ifc4x3_rc2::IfcBridgeTypeEnum::IfcBridgeTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcBridgeTypeEnum::IfcBridgeTypeEnum(Value v) { @@ -885,7 +885,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcBuildingElementPartTypeEnum /* Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum(Value v) { @@ -914,7 +914,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcBuildingElementProxyTypeEnu /* Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum(Value v) { @@ -943,7 +943,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcBuildingSystemTypeEnum::Cla /* Ifc4x3_rc2::IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum(Value v) { @@ -972,7 +972,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Class( /* Ifc4x3_rc2::IfcBuiltSystemTypeEnum::IfcBuiltSystemTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcBuiltSystemTypeEnum::IfcBuiltSystemTypeEnum(Value v) { @@ -1001,7 +1001,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcBurnerTypeEnum::Class() { r /* Ifc4x3_rc2::IfcBurnerTypeEnum::IfcBurnerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcBurnerTypeEnum::IfcBurnerTypeEnum(Value v) { @@ -1030,7 +1030,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum /* Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum(Value v) { @@ -1059,7 +1059,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum /* Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum(Value v) { @@ -1088,7 +1088,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcCableFittingTypeEnum::Class /* Ifc4x3_rc2::IfcCableFittingTypeEnum::IfcCableFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcCableFittingTypeEnum::IfcCableFittingTypeEnum(Value v) { @@ -1117,7 +1117,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcCableSegmentTypeEnum::Class /* Ifc4x3_rc2::IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum(Value v) { @@ -1146,7 +1146,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcCaissonFoundationTypeEnum:: /* Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::IfcCaissonFoundationTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::IfcCaissonFoundationTypeEnum(Value v) { @@ -1175,7 +1175,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcChangeActionEnum::Class() { /* Ifc4x3_rc2::IfcChangeActionEnum::IfcChangeActionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcChangeActionEnum::IfcChangeActionEnum(Value v) { @@ -1204,7 +1204,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcChillerTypeEnum::Class() { /* Ifc4x3_rc2::IfcChillerTypeEnum::IfcChillerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcChillerTypeEnum::IfcChillerTypeEnum(Value v) { @@ -1233,7 +1233,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcChimneyTypeEnum::Class() { /* Ifc4x3_rc2::IfcChimneyTypeEnum::IfcChimneyTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcChimneyTypeEnum::IfcChimneyTypeEnum(Value v) { @@ -1262,7 +1262,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcCoilTypeEnum::Class() { ret /* Ifc4x3_rc2::IfcCoilTypeEnum::IfcCoilTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcCoilTypeEnum::IfcCoilTypeEnum(Value v) { @@ -1291,7 +1291,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcColumnTypeEnum::Class() { r /* Ifc4x3_rc2::IfcColumnTypeEnum::IfcColumnTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcColumnTypeEnum::IfcColumnTypeEnum(Value v) { @@ -1320,7 +1320,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcCommunicationsApplianceType /* Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum(Value v) { @@ -1349,7 +1349,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcComplexPropertyTemplateType /* Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum(Value v) { @@ -1378,7 +1378,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcCompressorTypeEnum::Class() /* Ifc4x3_rc2::IfcCompressorTypeEnum::IfcCompressorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcCompressorTypeEnum::IfcCompressorTypeEnum(Value v) { @@ -1407,7 +1407,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcCondenserTypeEnum::Class() /* Ifc4x3_rc2::IfcCondenserTypeEnum::IfcCondenserTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcCondenserTypeEnum::IfcCondenserTypeEnum(Value v) { @@ -1436,7 +1436,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcConnectionTypeEnum::Class() /* Ifc4x3_rc2::IfcConnectionTypeEnum::IfcConnectionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcConnectionTypeEnum::IfcConnectionTypeEnum(Value v) { @@ -1465,7 +1465,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcConstraintEnum::Class() { r /* Ifc4x3_rc2::IfcConstraintEnum::IfcConstraintEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcConstraintEnum::IfcConstraintEnum(Value v) { @@ -1494,7 +1494,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcConstructionEquipmentResour /* Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum(Value v) { @@ -1523,7 +1523,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcConstructionMaterialResourc /* Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum(Value v) { @@ -1552,7 +1552,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcConstructionProductResource /* Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum(Value v) { @@ -1581,7 +1581,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcControllerTypeEnum::Class() /* Ifc4x3_rc2::IfcControllerTypeEnum::IfcControllerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcControllerTypeEnum::IfcControllerTypeEnum(Value v) { @@ -1610,7 +1610,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Cl /* Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::IfcConveyorSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::IfcConveyorSegmentTypeEnum(Value v) { @@ -1639,7 +1639,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcCooledBeamTypeEnum::Class() /* Ifc4x3_rc2::IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum(Value v) { @@ -1668,7 +1668,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Class /* Ifc4x3_rc2::IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum(Value v) { @@ -1697,7 +1697,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcCostItemTypeEnum::Class() { /* Ifc4x3_rc2::IfcCostItemTypeEnum::IfcCostItemTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcCostItemTypeEnum::IfcCostItemTypeEnum(Value v) { @@ -1726,7 +1726,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcCostScheduleTypeEnum::Class /* Ifc4x3_rc2::IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum(Value v) { @@ -1755,7 +1755,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcCourseTypeEnum::Class() { r /* Ifc4x3_rc2::IfcCourseTypeEnum::IfcCourseTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcCourseTypeEnum::IfcCourseTypeEnum(Value v) { @@ -1784,7 +1784,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcCoveringTypeEnum::Class() { /* Ifc4x3_rc2::IfcCoveringTypeEnum::IfcCoveringTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcCoveringTypeEnum::IfcCoveringTypeEnum(Value v) { @@ -1813,7 +1813,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcCrewResourceTypeEnum::Class /* Ifc4x3_rc2::IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum(Value v) { @@ -1842,7 +1842,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcCurtainWallTypeEnum::Class( /* Ifc4x3_rc2::IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum(Value v) { @@ -1871,7 +1871,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcCurveInterpolationEnum::Cla /* Ifc4x3_rc2::IfcCurveInterpolationEnum::IfcCurveInterpolationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcCurveInterpolationEnum::IfcCurveInterpolationEnum(Value v) { @@ -1900,7 +1900,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcDamperTypeEnum::Class() { r /* Ifc4x3_rc2::IfcDamperTypeEnum::IfcDamperTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcDamperTypeEnum::IfcDamperTypeEnum(Value v) { @@ -1929,7 +1929,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcDataOriginEnum::Class() { r /* Ifc4x3_rc2::IfcDataOriginEnum::IfcDataOriginEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcDataOriginEnum::IfcDataOriginEnum(Value v) { @@ -1958,7 +1958,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcDerivedUnitEnum::Class() { /* Ifc4x3_rc2::IfcDerivedUnitEnum::IfcDerivedUnitEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcDerivedUnitEnum::IfcDerivedUnitEnum(Value v) { @@ -1987,7 +1987,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcDirectionSenseEnum::Class() /* Ifc4x3_rc2::IfcDirectionSenseEnum::IfcDirectionSenseEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcDirectionSenseEnum::IfcDirectionSenseEnum(Value v) { @@ -2016,7 +2016,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum:: /* Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum(Value v) { @@ -2045,7 +2045,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcDistributionBoardTypeEnum:: /* Ifc4x3_rc2::IfcDistributionBoardTypeEnum::IfcDistributionBoardTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcDistributionBoardTypeEnum::IfcDistributionBoardTypeEnum(Value v) { @@ -2074,7 +2074,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcDistributionChamberElementT /* Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum(Value v) { @@ -2103,7 +2103,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcDistributionPortTypeEnum::C /* Ifc4x3_rc2::IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum(Value v) { @@ -2132,7 +2132,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcDistributionSystemEnum::Cla /* Ifc4x3_rc2::IfcDistributionSystemEnum::IfcDistributionSystemEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcDistributionSystemEnum::IfcDistributionSystemEnum(Value v) { @@ -2161,7 +2161,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcDocumentConfidentialityEnum /* Ifc4x3_rc2::IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum(Value v) { @@ -2190,7 +2190,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcDocumentStatusEnum::Class() /* Ifc4x3_rc2::IfcDocumentStatusEnum::IfcDocumentStatusEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcDocumentStatusEnum::IfcDocumentStatusEnum(Value v) { @@ -2219,7 +2219,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcDoorPanelOperationEnum::Cla /* Ifc4x3_rc2::IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum(Value v) { @@ -2248,7 +2248,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcDoorPanelPositionEnum::Clas /* Ifc4x3_rc2::IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum(Value v) { @@ -2277,7 +2277,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcDoorStyleConstructionEnum:: /* Ifc4x3_rc2::IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum(Value v) { @@ -2306,7 +2306,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcDoorStyleOperationEnum::Cla /* Ifc4x3_rc2::IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum(Value v) { @@ -2335,7 +2335,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcDoorTypeEnum::Class() { ret /* Ifc4x3_rc2::IfcDoorTypeEnum::IfcDoorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcDoorTypeEnum::IfcDoorTypeEnum(Value v) { @@ -2364,7 +2364,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcDoorTypeOperationEnum::Clas /* Ifc4x3_rc2::IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum(Value v) { @@ -2393,7 +2393,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcDuctFittingTypeEnum::Class( /* Ifc4x3_rc2::IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum(Value v) { @@ -2422,7 +2422,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Class( /* Ifc4x3_rc2::IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum(Value v) { @@ -2451,7 +2451,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Class /* Ifc4x3_rc2::IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum(Value v) { @@ -2480,7 +2480,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcEarthworksCutTypeEnum::Clas /* Ifc4x3_rc2::IfcEarthworksCutTypeEnum::IfcEarthworksCutTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcEarthworksCutTypeEnum::IfcEarthworksCutTypeEnum(Value v) { @@ -2509,7 +2509,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcEarthworksFillTypeEnum::Cla /* Ifc4x3_rc2::IfcEarthworksFillTypeEnum::IfcEarthworksFillTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcEarthworksFillTypeEnum::IfcEarthworksFillTypeEnum(Value v) { @@ -2538,7 +2538,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcElectricApplianceTypeEnum:: /* Ifc4x3_rc2::IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum(Value v) { @@ -2567,7 +2567,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcElectricDistributionBoardTy /* Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum(Value v) { @@ -2596,7 +2596,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcElectricFlowStorageDeviceTy /* Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum(Value v) { @@ -2625,7 +2625,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcElectricFlowTreatmentDevice /* Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::IfcElectricFlowTreatmentDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::IfcElectricFlowTreatmentDeviceTypeEnum(Value v) { @@ -2654,7 +2654,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcElectricGeneratorTypeEnum:: /* Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum(Value v) { @@ -2683,7 +2683,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcElectricMotorTypeEnum::Clas /* Ifc4x3_rc2::IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum(Value v) { @@ -2712,7 +2712,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcElectricTimeControlTypeEnum /* Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum(Value v) { @@ -2741,7 +2741,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Cl /* Ifc4x3_rc2::IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum(Value v) { @@ -2770,7 +2770,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcElementCompositionEnum::Cla /* Ifc4x3_rc2::IfcElementCompositionEnum::IfcElementCompositionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcElementCompositionEnum::IfcElementCompositionEnum(Value v) { @@ -2799,7 +2799,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcEngineTypeEnum::Class() { r /* Ifc4x3_rc2::IfcEngineTypeEnum::IfcEngineTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcEngineTypeEnum::IfcEngineTypeEnum(Value v) { @@ -2828,7 +2828,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum:: /* Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum(Value v) { @@ -2857,7 +2857,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcEvaporatorTypeEnum::Class() /* Ifc4x3_rc2::IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum(Value v) { @@ -2886,7 +2886,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcEventTriggerTypeEnum::Class /* Ifc4x3_rc2::IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum(Value v) { @@ -2915,7 +2915,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcEventTypeEnum::Class() { re /* Ifc4x3_rc2::IfcEventTypeEnum::IfcEventTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcEventTypeEnum::IfcEventTypeEnum(Value v) { @@ -2944,7 +2944,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcExternalSpatialElementTypeE /* Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum(Value v) { @@ -2973,7 +2973,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcFacilityPartCommonTypeEnum: /* Ifc4x3_rc2::IfcFacilityPartCommonTypeEnum::IfcFacilityPartCommonTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcFacilityPartCommonTypeEnum::IfcFacilityPartCommonTypeEnum(Value v) { @@ -3002,7 +3002,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcFacilityUsageEnum::Class() /* Ifc4x3_rc2::IfcFacilityUsageEnum::IfcFacilityUsageEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcFacilityUsageEnum::IfcFacilityUsageEnum(Value v) { @@ -3031,7 +3031,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcFanTypeEnum::Class() { retu /* Ifc4x3_rc2::IfcFanTypeEnum::IfcFanTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcFanTypeEnum::IfcFanTypeEnum(Value v) { @@ -3060,7 +3060,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcFastenerTypeEnum::Class() { /* Ifc4x3_rc2::IfcFastenerTypeEnum::IfcFastenerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcFastenerTypeEnum::IfcFastenerTypeEnum(Value v) { @@ -3089,7 +3089,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcFilterTypeEnum::Class() { r /* Ifc4x3_rc2::IfcFilterTypeEnum::IfcFilterTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcFilterTypeEnum::IfcFilterTypeEnum(Value v) { @@ -3118,7 +3118,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcFireSuppressionTerminalType /* Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum(Value v) { @@ -3147,7 +3147,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcFlowDirectionEnum::Class() /* Ifc4x3_rc2::IfcFlowDirectionEnum::IfcFlowDirectionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcFlowDirectionEnum::IfcFlowDirectionEnum(Value v) { @@ -3176,7 +3176,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Cla /* Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum(Value v) { @@ -3205,7 +3205,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcFlowMeterTypeEnum::Class() /* Ifc4x3_rc2::IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum(Value v) { @@ -3234,7 +3234,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcFootingTypeEnum::Class() { /* Ifc4x3_rc2::IfcFootingTypeEnum::IfcFootingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcFootingTypeEnum::IfcFootingTypeEnum(Value v) { @@ -3263,7 +3263,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcFurnitureTypeEnum::Class() /* Ifc4x3_rc2::IfcFurnitureTypeEnum::IfcFurnitureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcFurnitureTypeEnum::IfcFurnitureTypeEnum(Value v) { @@ -3292,7 +3292,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcGeographicElementTypeEnum:: /* Ifc4x3_rc2::IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum(Value v) { @@ -3321,7 +3321,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcGeometricProjectionEnum::Cl /* Ifc4x3_rc2::IfcGeometricProjectionEnum::IfcGeometricProjectionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcGeometricProjectionEnum::IfcGeometricProjectionEnum(Value v) { @@ -3350,7 +3350,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class() /* Ifc4x3_rc2::IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum(Value v) { @@ -3379,7 +3379,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcGridTypeEnum::Class() { ret /* Ifc4x3_rc2::IfcGridTypeEnum::IfcGridTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcGridTypeEnum::IfcGridTypeEnum(Value v) { @@ -3408,7 +3408,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Clas /* Ifc4x3_rc2::IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum(Value v) { @@ -3437,7 +3437,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcHumidifierTypeEnum::Class() /* Ifc4x3_rc2::IfcHumidifierTypeEnum::IfcHumidifierTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcHumidifierTypeEnum::IfcHumidifierTypeEnum(Value v) { @@ -3466,7 +3466,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcImpactProtectionDeviceTypeE /* Ifc4x3_rc2::IfcImpactProtectionDeviceTypeEnum::IfcImpactProtectionDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcImpactProtectionDeviceTypeEnum::IfcImpactProtectionDeviceTypeEnum(Value v) { @@ -3495,7 +3495,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcInterceptorTypeEnum::Class( /* Ifc4x3_rc2::IfcInterceptorTypeEnum::IfcInterceptorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcInterceptorTypeEnum::IfcInterceptorTypeEnum(Value v) { @@ -3524,7 +3524,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcInternalOrExternalEnum::Cla /* Ifc4x3_rc2::IfcInternalOrExternalEnum::IfcInternalOrExternalEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcInternalOrExternalEnum::IfcInternalOrExternalEnum(Value v) { @@ -3553,7 +3553,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcInventoryTypeEnum::Class() /* Ifc4x3_rc2::IfcInventoryTypeEnum::IfcInventoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcInventoryTypeEnum::IfcInventoryTypeEnum(Value v) { @@ -3582,7 +3582,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Class( /* Ifc4x3_rc2::IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum(Value v) { @@ -3611,7 +3611,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcKnotType::Class() { return /* Ifc4x3_rc2::IfcKnotType::IfcKnotType(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcKnotType::IfcKnotType(Value v) { @@ -3640,7 +3640,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcLaborResourceTypeEnum::Clas /* Ifc4x3_rc2::IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum(Value v) { @@ -3669,7 +3669,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcLampTypeEnum::Class() { ret /* Ifc4x3_rc2::IfcLampTypeEnum::IfcLampTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcLampTypeEnum::IfcLampTypeEnum(Value v) { @@ -3698,7 +3698,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcLayerSetDirectionEnum::Clas /* Ifc4x3_rc2::IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum(Value v) { @@ -3727,7 +3727,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcLightDistributionCurveEnum: /* Ifc4x3_rc2::IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum(Value v) { @@ -3756,7 +3756,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcLightEmissionSourceEnum::Cl /* Ifc4x3_rc2::IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum(Value v) { @@ -3785,7 +3785,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcLightFixtureTypeEnum::Class /* Ifc4x3_rc2::IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum(Value v) { @@ -3814,7 +3814,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Cla /* Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::IfcLiquidTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::IfcLiquidTerminalTypeEnum(Value v) { @@ -3843,7 +3843,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcLoadGroupTypeEnum::Class() /* Ifc4x3_rc2::IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum(Value v) { @@ -3872,7 +3872,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcLogicalOperatorEnum::Class( /* Ifc4x3_rc2::IfcLogicalOperatorEnum::IfcLogicalOperatorEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcLogicalOperatorEnum::IfcLogicalOperatorEnum(Value v) { @@ -3901,7 +3901,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcMarineFacilityTypeEnum::Cla /* Ifc4x3_rc2::IfcMarineFacilityTypeEnum::IfcMarineFacilityTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcMarineFacilityTypeEnum::IfcMarineFacilityTypeEnum(Value v) { @@ -3930,7 +3930,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcMarinePartTypeEnum::Class() /* Ifc4x3_rc2::IfcMarinePartTypeEnum::IfcMarinePartTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcMarinePartTypeEnum::IfcMarinePartTypeEnum(Value v) { @@ -3959,7 +3959,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum: /* Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum(Value v) { @@ -3988,7 +3988,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Clas /* Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum(Value v) { @@ -4017,7 +4017,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcMemberTypeEnum::Class() { r /* Ifc4x3_rc2::IfcMemberTypeEnum::IfcMemberTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcMemberTypeEnum::IfcMemberTypeEnum(Value v) { @@ -4046,7 +4046,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcMobileTelecommunicationsApp /* Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunicationsApplianceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunicationsApplianceTypeEnum(Value v) { @@ -4075,7 +4075,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Clas /* Ifc4x3_rc2::IfcMooringDeviceTypeEnum::IfcMooringDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcMooringDeviceTypeEnum::IfcMooringDeviceTypeEnum(Value v) { @@ -4104,7 +4104,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Cl /* Ifc4x3_rc2::IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum(Value v) { @@ -4133,7 +4133,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcNavigationElementTypeEnum:: /* Ifc4x3_rc2::IfcNavigationElementTypeEnum::IfcNavigationElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcNavigationElementTypeEnum::IfcNavigationElementTypeEnum(Value v) { @@ -4162,7 +4162,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcNullStyle::Class() { return /* Ifc4x3_rc2::IfcNullStyle::IfcNullStyle(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcNullStyle::IfcNullStyle(Value v) { @@ -4191,7 +4191,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcObjectTypeEnum::Class() { r /* Ifc4x3_rc2::IfcObjectTypeEnum::IfcObjectTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcObjectTypeEnum::IfcObjectTypeEnum(Value v) { @@ -4220,7 +4220,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcObjectiveEnum::Class() { re /* Ifc4x3_rc2::IfcObjectiveEnum::IfcObjectiveEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcObjectiveEnum::IfcObjectiveEnum(Value v) { @@ -4249,7 +4249,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcOccupantTypeEnum::Class() { /* Ifc4x3_rc2::IfcOccupantTypeEnum::IfcOccupantTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcOccupantTypeEnum::IfcOccupantTypeEnum(Value v) { @@ -4278,7 +4278,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcOpeningElementTypeEnum::Cla /* Ifc4x3_rc2::IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum(Value v) { @@ -4307,7 +4307,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcOutletTypeEnum::Class() { r /* Ifc4x3_rc2::IfcOutletTypeEnum::IfcOutletTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcOutletTypeEnum::IfcOutletTypeEnum(Value v) { @@ -4336,7 +4336,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum: /* Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum(Value v) { @@ -4365,7 +4365,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcPermeableCoveringOperationE /* Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum(Value v) { @@ -4394,7 +4394,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcPermitTypeEnum::Class() { r /* Ifc4x3_rc2::IfcPermitTypeEnum::IfcPermitTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcPermitTypeEnum::IfcPermitTypeEnum(Value v) { @@ -4423,7 +4423,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Clas /* Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum(Value v) { @@ -4452,7 +4452,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcPileConstructionEnum::Class /* Ifc4x3_rc2::IfcPileConstructionEnum::IfcPileConstructionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcPileConstructionEnum::IfcPileConstructionEnum(Value v) { @@ -4481,7 +4481,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcPileTypeEnum::Class() { ret /* Ifc4x3_rc2::IfcPileTypeEnum::IfcPileTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcPileTypeEnum::IfcPileTypeEnum(Value v) { @@ -4510,7 +4510,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcPipeFittingTypeEnum::Class( /* Ifc4x3_rc2::IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum(Value v) { @@ -4539,7 +4539,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Class( /* Ifc4x3_rc2::IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum(Value v) { @@ -4568,7 +4568,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcPlateTypeEnum::Class() { re /* Ifc4x3_rc2::IfcPlateTypeEnum::IfcPlateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcPlateTypeEnum::IfcPlateTypeEnum(Value v) { @@ -4597,7 +4597,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcPreferredSurfaceCurveRepres /* Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation(Value v) { @@ -4626,7 +4626,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcProcedureTypeEnum::Class() /* Ifc4x3_rc2::IfcProcedureTypeEnum::IfcProcedureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcProcedureTypeEnum::IfcProcedureTypeEnum(Value v) { @@ -4655,7 +4655,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcProfileTypeEnum::Class() { /* Ifc4x3_rc2::IfcProfileTypeEnum::IfcProfileTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcProfileTypeEnum::IfcProfileTypeEnum(Value v) { @@ -4684,7 +4684,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcProjectOrderTypeEnum::Class /* Ifc4x3_rc2::IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum(Value v) { @@ -4713,7 +4713,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum:: /* Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum(Value v) { @@ -4742,7 +4742,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcProjectionElementTypeEnum:: /* Ifc4x3_rc2::IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum(Value v) { @@ -4771,7 +4771,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum /* Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum(Value v) { @@ -4800,7 +4800,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcProtectiveDeviceTrippingUni /* Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum(Value v) { @@ -4829,7 +4829,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::C /* Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum(Value v) { @@ -4858,7 +4858,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcPumpTypeEnum::Class() { ret /* Ifc4x3_rc2::IfcPumpTypeEnum::IfcPumpTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcPumpTypeEnum::IfcPumpTypeEnum(Value v) { @@ -4887,7 +4887,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcRailTypeEnum::Class() { ret /* Ifc4x3_rc2::IfcRailTypeEnum::IfcRailTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcRailTypeEnum::IfcRailTypeEnum(Value v) { @@ -4916,7 +4916,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcRailingTypeEnum::Class() { /* Ifc4x3_rc2::IfcRailingTypeEnum::IfcRailingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcRailingTypeEnum::IfcRailingTypeEnum(Value v) { @@ -4945,7 +4945,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcRailwayPartTypeEnum::Class( /* Ifc4x3_rc2::IfcRailwayPartTypeEnum::IfcRailwayPartTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcRailwayPartTypeEnum::IfcRailwayPartTypeEnum(Value v) { @@ -4974,7 +4974,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcRampFlightTypeEnum::Class() /* Ifc4x3_rc2::IfcRampFlightTypeEnum::IfcRampFlightTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcRampFlightTypeEnum::IfcRampFlightTypeEnum(Value v) { @@ -5003,7 +5003,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcRampTypeEnum::Class() { ret /* Ifc4x3_rc2::IfcRampTypeEnum::IfcRampTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcRampTypeEnum::IfcRampTypeEnum(Value v) { @@ -5032,7 +5032,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcRecurrenceTypeEnum::Class() /* Ifc4x3_rc2::IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum(Value v) { @@ -5061,7 +5061,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcReferentTypeEnum::Class() { /* Ifc4x3_rc2::IfcReferentTypeEnum::IfcReferentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcReferentTypeEnum::IfcReferentTypeEnum(Value v) { @@ -5090,7 +5090,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcReflectanceMethodEnum::Clas /* Ifc4x3_rc2::IfcReflectanceMethodEnum::IfcReflectanceMethodEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcReflectanceMethodEnum::IfcReflectanceMethodEnum(Value v) { @@ -5119,7 +5119,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::Cla /* Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::IfcReinforcedSoilTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::IfcReinforcedSoilTypeEnum(Value v) { @@ -5148,7 +5148,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcReinforcingBarRoleEnum::Cla /* Ifc4x3_rc2::IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum(Value v) { @@ -5177,7 +5177,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum:: /* Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum(Value v) { @@ -5206,7 +5206,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Cla /* Ifc4x3_rc2::IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum(Value v) { @@ -5235,7 +5235,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Cl /* Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum(Value v) { @@ -5264,7 +5264,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcRoadPartTypeEnum::Class() { /* Ifc4x3_rc2::IfcRoadPartTypeEnum::IfcRoadPartTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcRoadPartTypeEnum::IfcRoadPartTypeEnum(Value v) { @@ -5293,7 +5293,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcRoleEnum::Class() { return /* Ifc4x3_rc2::IfcRoleEnum::IfcRoleEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcRoleEnum::IfcRoleEnum(Value v) { @@ -5322,7 +5322,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcRoofTypeEnum::Class() { ret /* Ifc4x3_rc2::IfcRoofTypeEnum::IfcRoofTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcRoofTypeEnum::IfcRoofTypeEnum(Value v) { @@ -5351,7 +5351,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcSIPrefix::Class() { return /* Ifc4x3_rc2::IfcSIPrefix::IfcSIPrefix(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcSIPrefix::IfcSIPrefix(Value v) { @@ -5380,7 +5380,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcSIUnitName::Class() { retur /* Ifc4x3_rc2::IfcSIUnitName::IfcSIUnitName(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcSIUnitName::IfcSIUnitName(Value v) { @@ -5409,7 +5409,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::C /* Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum(Value v) { @@ -5438,7 +5438,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcSectionTypeEnum::Class() { /* Ifc4x3_rc2::IfcSectionTypeEnum::IfcSectionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcSectionTypeEnum::IfcSectionTypeEnum(Value v) { @@ -5467,7 +5467,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcSensorTypeEnum::Class() { r /* Ifc4x3_rc2::IfcSensorTypeEnum::IfcSensorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcSensorTypeEnum::IfcSensorTypeEnum(Value v) { @@ -5496,7 +5496,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcSequenceEnum::Class() { ret /* Ifc4x3_rc2::IfcSequenceEnum::IfcSequenceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcSequenceEnum::IfcSequenceEnum(Value v) { @@ -5525,7 +5525,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Clas /* Ifc4x3_rc2::IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum(Value v) { @@ -5554,7 +5554,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcSignTypeEnum::Class() { ret /* Ifc4x3_rc2::IfcSignTypeEnum::IfcSignTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcSignTypeEnum::IfcSignTypeEnum(Value v) { @@ -5583,7 +5583,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcSignalTypeEnum::Class() { r /* Ifc4x3_rc2::IfcSignalTypeEnum::IfcSignalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcSignalTypeEnum::IfcSignalTypeEnum(Value v) { @@ -5612,7 +5612,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcSimplePropertyTemplateTypeE /* Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum(Value v) { @@ -5641,7 +5641,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcSlabTypeEnum::Class() { ret /* Ifc4x3_rc2::IfcSlabTypeEnum::IfcSlabTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcSlabTypeEnum::IfcSlabTypeEnum(Value v) { @@ -5670,7 +5670,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Class( /* Ifc4x3_rc2::IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum(Value v) { @@ -5699,7 +5699,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Class( /* Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum(Value v) { @@ -5728,7 +5728,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcSpaceTypeEnum::Class() { re /* Ifc4x3_rc2::IfcSpaceTypeEnum::IfcSpaceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcSpaceTypeEnum::IfcSpaceTypeEnum(Value v) { @@ -5757,7 +5757,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Class( /* Ifc4x3_rc2::IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum(Value v) { @@ -5786,7 +5786,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcStackTerminalTypeEnum::Clas /* Ifc4x3_rc2::IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum(Value v) { @@ -5815,7 +5815,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcStairFlightTypeEnum::Class( /* Ifc4x3_rc2::IfcStairFlightTypeEnum::IfcStairFlightTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcStairFlightTypeEnum::IfcStairFlightTypeEnum(Value v) { @@ -5844,7 +5844,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcStairTypeEnum::Class() { re /* Ifc4x3_rc2::IfcStairTypeEnum::IfcStairTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcStairTypeEnum::IfcStairTypeEnum(Value v) { @@ -5873,7 +5873,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcStateEnum::Class() { return /* Ifc4x3_rc2::IfcStateEnum::IfcStateEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcStateEnum::IfcStateEnum(Value v) { @@ -5902,7 +5902,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcStructuralCurveActivityType /* Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum(Value v) { @@ -5931,7 +5931,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcStructuralCurveMemberTypeEn /* Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum(Value v) { @@ -5960,7 +5960,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcStructuralSurfaceActivityTy /* Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum(Value v) { @@ -5989,7 +5989,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcStructuralSurfaceMemberType /* Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum(Value v) { @@ -6018,7 +6018,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcSubContractResourceTypeEnum /* Ifc4x3_rc2::IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum(Value v) { @@ -6047,7 +6047,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::Cla /* Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum(Value v) { @@ -6076,7 +6076,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcSurfaceSide::Class() { retu /* Ifc4x3_rc2::IfcSurfaceSide::IfcSurfaceSide(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcSurfaceSide::IfcSurfaceSide(Value v) { @@ -6105,7 +6105,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Cl /* Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum(Value v) { @@ -6134,7 +6134,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcSystemFurnitureElementTypeE /* Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum(Value v) { @@ -6163,7 +6163,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcTankTypeEnum::Class() { ret /* Ifc4x3_rc2::IfcTankTypeEnum::IfcTankTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcTankTypeEnum::IfcTankTypeEnum(Value v) { @@ -6192,7 +6192,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcTaskDurationEnum::Class() { /* Ifc4x3_rc2::IfcTaskDurationEnum::IfcTaskDurationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcTaskDurationEnum::IfcTaskDurationEnum(Value v) { @@ -6221,7 +6221,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcTaskTypeEnum::Class() { ret /* Ifc4x3_rc2::IfcTaskTypeEnum::IfcTaskTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcTaskTypeEnum::IfcTaskTypeEnum(Value v) { @@ -6250,7 +6250,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Class /* Ifc4x3_rc2::IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum(Value v) { @@ -6279,7 +6279,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcTendonConduitTypeEnum::Clas /* Ifc4x3_rc2::IfcTendonConduitTypeEnum::IfcTendonConduitTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcTendonConduitTypeEnum::IfcTendonConduitTypeEnum(Value v) { @@ -6308,7 +6308,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcTendonTypeEnum::Class() { r /* Ifc4x3_rc2::IfcTendonTypeEnum::IfcTendonTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcTendonTypeEnum::IfcTendonTypeEnum(Value v) { @@ -6337,7 +6337,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcTextPath::Class() { return /* Ifc4x3_rc2::IfcTextPath::IfcTextPath(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcTextPath::IfcTextPath(Value v) { @@ -6366,7 +6366,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Cla /* Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum(Value v) { @@ -6395,7 +6395,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcTrackElementTypeEnum::Class /* Ifc4x3_rc2::IfcTrackElementTypeEnum::IfcTrackElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcTrackElementTypeEnum::IfcTrackElementTypeEnum(Value v) { @@ -6424,7 +6424,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcTransformerTypeEnum::Class( /* Ifc4x3_rc2::IfcTransformerTypeEnum::IfcTransformerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcTransformerTypeEnum::IfcTransformerTypeEnum(Value v) { @@ -6453,7 +6453,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcTransitionCode::Class() { r /* Ifc4x3_rc2::IfcTransitionCode::IfcTransitionCode(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcTransitionCode::IfcTransitionCode(Value v) { @@ -6482,7 +6482,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcTransitionCurveType::Class( /* Ifc4x3_rc2::IfcTransitionCurveType::IfcTransitionCurveType(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcTransitionCurveType::IfcTransitionCurveType(Value v) { @@ -6511,7 +6511,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcTransportElementFixedTypeEn /* Ifc4x3_rc2::IfcTransportElementFixedTypeEnum::IfcTransportElementFixedTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcTransportElementFixedTypeEnum::IfcTransportElementFixedTypeEnum(Value v) { @@ -6540,7 +6540,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcTransportElementNonFixedTyp /* Ifc4x3_rc2::IfcTransportElementNonFixedTypeEnum::IfcTransportElementNonFixedTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcTransportElementNonFixedTypeEnum::IfcTransportElementNonFixedTypeEnum(Value v) { @@ -6569,7 +6569,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcTrimmingPreference::Class() /* Ifc4x3_rc2::IfcTrimmingPreference::IfcTrimmingPreference(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcTrimmingPreference::IfcTrimmingPreference(Value v) { @@ -6598,7 +6598,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcTubeBundleTypeEnum::Class() /* Ifc4x3_rc2::IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum(Value v) { @@ -6627,7 +6627,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcUnitEnum::Class() { return /* Ifc4x3_rc2::IfcUnitEnum::IfcUnitEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcUnitEnum::IfcUnitEnum(Value v) { @@ -6656,7 +6656,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcUnitaryControlElementTypeEn /* Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum(Value v) { @@ -6685,7 +6685,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::C /* Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum(Value v) { @@ -6714,7 +6714,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcValveTypeEnum::Class() { re /* Ifc4x3_rc2::IfcValveTypeEnum::IfcValveTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcValveTypeEnum::IfcValveTypeEnum(Value v) { @@ -6743,7 +6743,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Cl /* Ifc4x3_rc2::IfcVibrationDamperTypeEnum::IfcVibrationDamperTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcVibrationDamperTypeEnum::IfcVibrationDamperTypeEnum(Value v) { @@ -6772,7 +6772,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum:: /* Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum(Value v) { @@ -6801,7 +6801,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::Cla /* Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum(Value v) { @@ -6830,7 +6830,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcWallTypeEnum::Class() { ret /* Ifc4x3_rc2::IfcWallTypeEnum::IfcWallTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcWallTypeEnum::IfcWallTypeEnum(Value v) { @@ -6859,7 +6859,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Clas /* Ifc4x3_rc2::IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum(Value v) { @@ -6888,7 +6888,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcWindowPanelOperationEnum::C /* Ifc4x3_rc2::IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum(Value v) { @@ -6917,7 +6917,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcWindowPanelPositionEnum::Cl /* Ifc4x3_rc2::IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum(Value v) { @@ -6946,7 +6946,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcWindowStyleConstructionEnum /* Ifc4x3_rc2::IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum(Value v) { @@ -6975,7 +6975,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcWindowStyleOperationEnum::C /* Ifc4x3_rc2::IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum(Value v) { @@ -7004,7 +7004,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcWindowTypeEnum::Class() { r /* Ifc4x3_rc2::IfcWindowTypeEnum::IfcWindowTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcWindowTypeEnum::IfcWindowTypeEnum(Value v) { @@ -7033,7 +7033,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcWindowTypePartitioningEnum: /* Ifc4x3_rc2::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum(Value v) { @@ -7062,7 +7062,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcWorkCalendarTypeEnum::Class /* Ifc4x3_rc2::IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum(Value v) { @@ -7091,7 +7091,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcWorkPlanTypeEnum::Class() { /* Ifc4x3_rc2::IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum(Value v) { @@ -7120,7 +7120,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc2::IfcWorkScheduleTypeEnum::Class /* Ifc4x3_rc2::IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc2::IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum(Value v) { @@ -7726,8 +7726,8 @@ Ifc4x3_rc2::IfcPressureMeasure::operator double() const { return get_attribute_v // Function implementations for IfcPropertySetDefinitionSet const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcPropertySetDefinitionSet::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[849]); } -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); } +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]); } @@ -7943,7 +7943,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcActionRequest::Class() { return *((if 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>(); } +::Ifc4x3_rc2::IfcActorSelect Ifc4x3_rc2::IfcActor::TheActor() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcActorSelect>(); } void Ifc4x3_rc2::IfcActor::setTheActor(const ::Ifc4x3_rc2::IfcActorSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } std::vector<::Ifc4x3_rc2::IfcRelAssignsToActor> Ifc4x3_rc2::IfcActor::IsActingUpon() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[919], 6)); } @@ -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]); } -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; } +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)); } @@ -8001,18 +8001,18 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcAdvancedBrep::Class() { return *((ifc 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); } -void Ifc4x3_rc2::IfcAdvancedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_rc2::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc2::IfcClosedShell > Ifc4x3_rc2::IfcAdvancedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcClosedShell>(es); } +void Ifc4x3_rc2::IfcAdvancedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_rc2::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_rc2::IfcAdvancedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[15]); } -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; } +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]); } -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; } +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)); } @@ -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]); } -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; } +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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -8115,12 +8115,12 @@ Ifc4x3_rc2::IfcAlignment2DVerSegParabolicArc Ifc4x3_rc2::IfcAlignment2DVerSegPar // Function implementations for IfcAlignmentCant double Ifc4x3_rc2::IfcAlignmentCant::RailHeadDistance() const { double v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcAlignmentCant::setRailHeadDistance(const double& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< ::Ifc4x3_rc2::IfcAlignmentCantSegment > Ifc4x3_rc2::IfcAlignmentCant::Segments() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc2::IfcAlignmentCantSegment>(es); } -void Ifc4x3_rc2::IfcAlignmentCant::setSegments(const std::vector< ::Ifc4x3_rc2::IfcAlignmentCantSegment >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } +std::vector< ::Ifc4x3_rc2::IfcAlignmentCantSegment > Ifc4x3_rc2::IfcAlignmentCant::Segments() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc2::IfcAlignmentCantSegment>(es); } +void Ifc4x3_rc2::IfcAlignmentCant::setSegments(const std::vector< ::Ifc4x3_rc2::IfcAlignmentCantSegment >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } const ifcopenshell::entity& Ifc4x3_rc2::IfcAlignmentCant::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[33]); } -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; } +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; } @@ -8145,9 +8145,9 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcAlignmentCantSegment::Class() { retur 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>(); } +::Ifc4x3_rc2::IfcAlignmentHorizontal Ifc4x3_rc2::IfcAlignmentCurve::Horizontal() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcAlignmentHorizontal>(); } void Ifc4x3_rc2::IfcAlignmentCurve::setHorizontal(const ::Ifc4x3_rc2::IfcAlignmentHorizontal& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcAlignmentVertical Ifc4x3_rc2::IfcAlignmentCurve::Vertical() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc2::IfcAlignmentVertical{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcAlignmentVertical>(); } +::Ifc4x3_rc2::IfcAlignmentVertical Ifc4x3_rc2::IfcAlignmentCurve::Vertical() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc2::IfcAlignmentVertical{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcAlignmentVertical>(); } void Ifc4x3_rc2::IfcAlignmentCurve::setVertical(const ::Ifc4x3_rc2::IfcAlignmentVertical& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_rc2::IfcAlignmentCurve::Tag() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcAlignmentCurve::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } @@ -8159,15 +8159,15 @@ Ifc4x3_rc2::IfcAlignmentCurve Ifc4x3_rc2::IfcAlignmentCurve::initialize(::Ifc4x3 // 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; } void Ifc4x3_rc2::IfcAlignmentHorizontal::setStartDistAlong(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -std::vector< ::Ifc4x3_rc2::IfcAlignmentHorizontalSegment > Ifc4x3_rc2::IfcAlignmentHorizontal::Segments() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc2::IfcAlignmentHorizontalSegment>(es); } -void Ifc4x3_rc2::IfcAlignmentHorizontal::setSegments(const std::vector< ::Ifc4x3_rc2::IfcAlignmentHorizontalSegment >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } +std::vector< ::Ifc4x3_rc2::IfcAlignmentHorizontalSegment > Ifc4x3_rc2::IfcAlignmentHorizontal::Segments() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc2::IfcAlignmentHorizontalSegment>(es); } +void Ifc4x3_rc2::IfcAlignmentHorizontal::setSegments(const std::vector< ::Ifc4x3_rc2::IfcAlignmentHorizontalSegment >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } const ifcopenshell::entity& Ifc4x3_rc2::IfcAlignmentHorizontal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[37]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcCartesianPoint Ifc4x3_rc2::IfcAlignmentHorizontalSegment::StartPoint() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcCartesianPoint>(); } void Ifc4x3_rc2::IfcAlignmentHorizontalSegment::setStartPoint(const ::Ifc4x3_rc2::IfcCartesianPoint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc4x3_rc2::IfcAlignmentHorizontalSegment::StartDirection() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcAlignmentHorizontalSegment::setStartDirection(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -8197,7 +8197,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcAlignmentParameterSegment::Class() { 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>(); } +::Ifc4x3_rc2::IfcAlignmentParameterSegment Ifc4x3_rc2::IfcAlignmentSegment::GeometricParameters() const { return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc2::IfcAlignmentParameterSegment>(); } void Ifc4x3_rc2::IfcAlignmentSegment::setGeometricParameters(const ::Ifc4x3_rc2::IfcAlignmentParameterSegment& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -8205,12 +8205,12 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcAlignmentSegment::Class() { return *( 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); } -void Ifc4x3_rc2::IfcAlignmentVertical::setSegments(const std::vector< ::Ifc4x3_rc2::IfcAlignmentVerticalSegment >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } +std::vector< ::Ifc4x3_rc2::IfcAlignmentVerticalSegment > Ifc4x3_rc2::IfcAlignmentVertical::Segments() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc2::IfcAlignmentVerticalSegment>(es); } +void Ifc4x3_rc2::IfcAlignmentVertical::setSegments(const std::vector< ::Ifc4x3_rc2::IfcAlignmentVerticalSegment >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } const ifcopenshell::entity& Ifc4x3_rc2::IfcAlignmentVertical::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[43]); } -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; } +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; } @@ -8242,17 +8242,17 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcAnnotation::Class() { return *((ifcop 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>(); } +::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcAnnotationFillArea::OuterBoundary() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCurve>(); } void Ifc4x3_rc2::IfcAnnotationFillArea::setOuterBoundary(const ::Ifc4x3_rc2::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::optional< std::vector< ::Ifc4x3_rc2::IfcCurve > > Ifc4x3_rc2::IfcAnnotationFillArea::InnerBoundaries() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcCurve>(es); } -void Ifc4x3_rc2::IfcAnnotationFillArea::setInnerBoundaries(const std::optional< std::vector< ::Ifc4x3_rc2::IfcCurve > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } +std::optional< std::vector< ::Ifc4x3_rc2::IfcCurve > > Ifc4x3_rc2::IfcAnnotationFillArea::InnerBoundaries() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcCurve>(es); } +void Ifc4x3_rc2::IfcAnnotationFillArea::setInnerBoundaries(const std::optional< std::vector< ::Ifc4x3_rc2::IfcCurve > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } const ifcopenshell::entity& Ifc4x3_rc2::IfcAnnotationFillArea::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[51]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcOrganization Ifc4x3_rc2::IfcApplication::ApplicationDeveloper() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcOrganization>(); } void Ifc4x3_rc2::IfcApplication::setApplicationDeveloper(const ::Ifc4x3_rc2::IfcOrganization& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::string Ifc4x3_rc2::IfcApplication::Version() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcApplication::setVersion(const std::string& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8270,9 +8270,9 @@ std::optional< std::string > Ifc4x3_rc2::IfcAppliedValue::Name() const { if(get_ void Ifc4x3_rc2::IfcAppliedValue::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_rc2::IfcAppliedValue::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcAppliedValue::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc2::IfcAppliedValueSelect Ifc4x3_rc2::IfcAppliedValue::AppliedValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcAppliedValueSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcAppliedValueSelect>(); } +::Ifc4x3_rc2::IfcAppliedValueSelect Ifc4x3_rc2::IfcAppliedValue::AppliedValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcAppliedValueSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcAppliedValueSelect>(); } void Ifc4x3_rc2::IfcAppliedValue::setAppliedValue(const ::Ifc4x3_rc2::IfcAppliedValueSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcMeasureWithUnit Ifc4x3_rc2::IfcAppliedValue::UnitBasis() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcMeasureWithUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcMeasureWithUnit>(); } +::Ifc4x3_rc2::IfcMeasureWithUnit Ifc4x3_rc2::IfcAppliedValue::UnitBasis() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcMeasureWithUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcMeasureWithUnit>(); } void Ifc4x3_rc2::IfcAppliedValue::setUnitBasis(const ::Ifc4x3_rc2::IfcMeasureWithUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc2::IfcAppliedValue::ApplicableDate() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcAppliedValue::setApplicableDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -8284,13 +8284,13 @@ std::optional< std::string > Ifc4x3_rc2::IfcAppliedValue::Condition() const { if void Ifc4x3_rc2::IfcAppliedValue::setCondition(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } std::optional< ::Ifc4x3_rc2::IfcArithmeticOperatorEnum::Value > Ifc4x3_rc2::IfcAppliedValue::ArithmeticOperator() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcArithmeticOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcAppliedValue::setArithmeticOperator(const std::optional< ::Ifc4x3_rc2::IfcArithmeticOperatorEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc2::IfcArithmeticOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > Ifc4x3_rc2::IfcAppliedValue::Components() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc2::IfcAppliedValue>(es); } -void Ifc4x3_rc2::IfcAppliedValue::setComponents(const std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > Ifc4x3_rc2::IfcAppliedValue::Components() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc2::IfcAppliedValue>(es); } +void Ifc4x3_rc2::IfcAppliedValue::setComponents(const std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } 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]); } -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; } +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; } @@ -8307,9 +8307,9 @@ std::optional< std::string > Ifc4x3_rc2::IfcApproval::Level() const { if(get_att void Ifc4x3_rc2::IfcApproval::setLevel(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< std::string > Ifc4x3_rc2::IfcApproval::Qualifier() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcApproval::setQualifier(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_rc2::IfcActorSelect Ifc4x3_rc2::IfcApproval::RequestingApproval() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc2::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc2::IfcActorSelect>(); } +::Ifc4x3_rc2::IfcActorSelect Ifc4x3_rc2::IfcApproval::RequestingApproval() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc2::IfcActorSelect{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc2::IfcActorSelect>(); } void Ifc4x3_rc2::IfcApproval::setRequestingApproval(const ::Ifc4x3_rc2::IfcActorSelect& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc2::IfcActorSelect Ifc4x3_rc2::IfcApproval::GivingApproval() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc2::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc2::IfcActorSelect>(); } +::Ifc4x3_rc2::IfcActorSelect Ifc4x3_rc2::IfcApproval::GivingApproval() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc2::IfcActorSelect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc2::IfcActorSelect>(); } void Ifc4x3_rc2::IfcApproval::setGivingApproval(const ::Ifc4x3_rc2::IfcActorSelect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcApproval::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[441], 3)); } @@ -8322,17 +8322,17 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcApproval::Class() { return *((ifcopen 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>(); } +::Ifc4x3_rc2::IfcApproval Ifc4x3_rc2::IfcApprovalRelationship::RelatingApproval() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcApproval>(); } void Ifc4x3_rc2::IfcApprovalRelationship::setRelatingApproval(const ::Ifc4x3_rc2::IfcApproval& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_rc2::IfcApproval > Ifc4x3_rc2::IfcApprovalRelationship::RelatedApprovals() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc2::IfcApproval>(es); } -void Ifc4x3_rc2::IfcApprovalRelationship::setRelatedApprovals(const std::vector< ::Ifc4x3_rc2::IfcApproval >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc2::IfcApproval > Ifc4x3_rc2::IfcApprovalRelationship::RelatedApprovals() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc2::IfcApproval>(es); } +void Ifc4x3_rc2::IfcApprovalRelationship::setRelatedApprovals(const std::vector< ::Ifc4x3_rc2::IfcApproval >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc2::IfcApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[57]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcCurve>(); } void Ifc4x3_rc2::IfcArbitraryClosedProfileDef::setOuterCurve(const ::Ifc4x3_rc2::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8340,7 +8340,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcArbitraryClosedProfileDef::Class() { 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>(); } +::Ifc4x3_rc2::IfcBoundedCurve Ifc4x3_rc2::IfcArbitraryOpenProfileDef::Curve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcBoundedCurve>(); } void Ifc4x3_rc2::IfcArbitraryOpenProfileDef::setCurve(const ::Ifc4x3_rc2::IfcBoundedCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8348,31 +8348,31 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcArbitraryOpenProfileDef::Class() { re 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); } -void Ifc4x3_rc2::IfcArbitraryProfileDefWithVoids::setInnerCurves(const std::vector< ::Ifc4x3_rc2::IfcCurve >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc2::IfcCurve > Ifc4x3_rc2::IfcArbitraryProfileDefWithVoids::InnerCurves() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc2::IfcCurve>(es); } +void Ifc4x3_rc2::IfcArbitraryProfileDefWithVoids::setInnerCurves(const std::vector< ::Ifc4x3_rc2::IfcCurve >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc2::IfcArbitraryProfileDefWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[60]); } -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; } +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; } void Ifc4x3_rc2::IfcAsset::setIdentification(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc2::IfcCostValue Ifc4x3_rc2::IfcAsset::OriginalValue() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcCostValue{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcCostValue>(); } +::Ifc4x3_rc2::IfcCostValue Ifc4x3_rc2::IfcAsset::OriginalValue() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcCostValue{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcCostValue>(); } void Ifc4x3_rc2::IfcAsset::setOriginalValue(const ::Ifc4x3_rc2::IfcCostValue& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc2::IfcCostValue Ifc4x3_rc2::IfcAsset::CurrentValue() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc2::IfcCostValue{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc2::IfcCostValue>(); } +::Ifc4x3_rc2::IfcCostValue Ifc4x3_rc2::IfcAsset::CurrentValue() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc2::IfcCostValue{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc2::IfcCostValue>(); } void Ifc4x3_rc2::IfcAsset::setCurrentValue(const ::Ifc4x3_rc2::IfcCostValue& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc2::IfcCostValue Ifc4x3_rc2::IfcAsset::TotalReplacementCost() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc2::IfcCostValue{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc2::IfcCostValue>(); } +::Ifc4x3_rc2::IfcCostValue Ifc4x3_rc2::IfcAsset::TotalReplacementCost() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc2::IfcCostValue{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc2::IfcCostValue>(); } void Ifc4x3_rc2::IfcAsset::setTotalReplacementCost(const ::Ifc4x3_rc2::IfcCostValue& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc2::IfcActorSelect Ifc4x3_rc2::IfcAsset::Owner() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc2::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc2::IfcActorSelect>(); } +::Ifc4x3_rc2::IfcActorSelect Ifc4x3_rc2::IfcAsset::Owner() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc2::IfcActorSelect{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc2::IfcActorSelect>(); } void Ifc4x3_rc2::IfcAsset::setOwner(const ::Ifc4x3_rc2::IfcActorSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc2::IfcActorSelect Ifc4x3_rc2::IfcAsset::User() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc2::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_rc2::IfcActorSelect>(); } +::Ifc4x3_rc2::IfcActorSelect Ifc4x3_rc2::IfcAsset::User() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc2::IfcActorSelect{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x3_rc2::IfcActorSelect>(); } void Ifc4x3_rc2::IfcAsset::setUser(const ::Ifc4x3_rc2::IfcActorSelect& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -::Ifc4x3_rc2::IfcPerson Ifc4x3_rc2::IfcAsset::ResponsiblePerson() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x3_rc2::IfcPerson{}; } return ((express::Base)(get_attribute_value(11))).as<::Ifc4x3_rc2::IfcPerson>(); } +::Ifc4x3_rc2::IfcPerson Ifc4x3_rc2::IfcAsset::ResponsiblePerson() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x3_rc2::IfcPerson{}; } return ((express::base)(get_attribute_value(11))).as<::Ifc4x3_rc2::IfcPerson>(); } void Ifc4x3_rc2::IfcAsset::setResponsiblePerson(const ::Ifc4x3_rc2::IfcPerson& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } std::optional< std::string > Ifc4x3_rc2::IfcAsset::IncorporationDate() const { if(get_attribute_value(12).isNull()) { return std::nullopt; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc2::IfcAsset::setIncorporationDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x3_rc2::IfcCostValue Ifc4x3_rc2::IfcAsset::DepreciatedValue() const { if(get_attribute_value(13).isNull()) { return ::Ifc4x3_rc2::IfcCostValue{}; } return ((express::Base)(get_attribute_value(13))).as<::Ifc4x3_rc2::IfcCostValue>(); } +::Ifc4x3_rc2::IfcCostValue Ifc4x3_rc2::IfcAsset::DepreciatedValue() const { if(get_attribute_value(13).isNull()) { return ::Ifc4x3_rc2::IfcCostValue{}; } return ((express::base)(get_attribute_value(13))).as<::Ifc4x3_rc2::IfcCostValue>(); } void Ifc4x3_rc2::IfcAsset::setDepreciatedValue(const ::Ifc4x3_rc2::IfcCostValue& v) { set_attribute_value(13, v);if constexpr (false)unset_attribute_value(13); } @@ -8423,10 +8423,10 @@ void Ifc4x3_rc2::IfcAudioVisualApplianceType::setPredefinedType(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc2::IfcAudioVisualApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[69]); } -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; } +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>(); } +::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>(); } void Ifc4x3_rc2::IfcAxis1Placement::setAxis(const ::Ifc4x3_rc2::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8434,7 +8434,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcAxis1Placement::Class() { return *((i 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>(); } +::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>(); } void Ifc4x3_rc2::IfcAxis2Placement2D::setRefDirection(const ::Ifc4x3_rc2::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8442,9 +8442,9 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcAxis2Placement2D::Class() { return *( 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>(); } +::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>(); } void Ifc4x3_rc2::IfcAxis2Placement3D::setAxis(const ::Ifc4x3_rc2::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcAxis2Placement3D::RefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcDirection{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcDirection>(); } +::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcAxis2Placement3D::RefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcDirection{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcDirection>(); } void Ifc4x3_rc2::IfcAxis2Placement3D::setRefDirection(const ::Ifc4x3_rc2::IfcDirection& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8452,9 +8452,9 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcAxis2Placement3D::Class() { return *( 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>(); } +::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>(); } void Ifc4x3_rc2::IfcAxis2PlacementLinear::setAxis(const ::Ifc4x3_rc2::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcAxis2PlacementLinear::RefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcDirection{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcDirection>(); } +::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcAxis2PlacementLinear::RefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcDirection{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcDirection>(); } void Ifc4x3_rc2::IfcAxis2PlacementLinear::setRefDirection(const ::Ifc4x3_rc2::IfcDirection& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8471,8 +8471,8 @@ Ifc4x3_rc2::IfcAxisLateralInclination Ifc4x3_rc2::IfcAxisLateralInclination::ini // Function implementations for IfcBSplineCurve int64_t Ifc4x3_rc2::IfcBSplineCurve::Degree() const { int64_t v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcBSplineCurve::setDegree(const int64_t& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > Ifc4x3_rc2::IfcBSplineCurve::ControlPointsList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcCartesianPoint>(es); } -void Ifc4x3_rc2::IfcBSplineCurve::setControlPointsList(const std::vector< ::Ifc4x3_rc2::IfcCartesianPoint >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > Ifc4x3_rc2::IfcBSplineCurve::ControlPointsList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcCartesianPoint>(es); } +void Ifc4x3_rc2::IfcBSplineCurve::setControlPointsList(const std::vector< ::Ifc4x3_rc2::IfcCartesianPoint >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } ::Ifc4x3_rc2::IfcBSplineCurveForm::Value Ifc4x3_rc2::IfcBSplineCurve::CurveForm() const { return ::Ifc4x3_rc2::IfcBSplineCurveForm::FromString(get_attribute_value(2)); } void Ifc4x3_rc2::IfcBSplineCurve::setCurveForm(const ::Ifc4x3_rc2::IfcBSplineCurveForm::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4x3_rc2::IfcBSplineCurveForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } boost::logic::tribool Ifc4x3_rc2::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = get_attribute_value(3); 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]); } -Ifc4x3_rc2::IfcBSplineCurve Ifc4x3_rc2::IfcBSplineCurve::initialize(int64_t 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; } +Ifc4x3_rc2::IfcBSplineCurve Ifc4x3_rc2::IfcBSplineCurve::initialize(int64_t 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< int64_t > /*[2:?]*/ Ifc4x3_rc2::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int64_t > /*[2:?]*/ v = get_attribute_value(5); return v; } @@ -8494,15 +8494,15 @@ void Ifc4x3_rc2::IfcBSplineCurveWithKnots::setKnotSpec(const ::Ifc4x3_rc2::IfcKn const ifcopenshell::entity& Ifc4x3_rc2::IfcBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[117]); } -Ifc4x3_rc2::IfcBSplineCurveWithKnots Ifc4x3_rc2::IfcBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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; } +Ifc4x3_rc2::IfcBSplineCurveWithKnots Ifc4x3_rc2::IfcBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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 int64_t Ifc4x3_rc2::IfcBSplineSurface::UDegree() const { int64_t v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcBSplineSurface::setUDegree(const int64_t& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } int64_t Ifc4x3_rc2::IfcBSplineSurface::VDegree() const { int64_t v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcBSplineSurface::setVDegree(const int64_t& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector< std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > > Ifc4x3_rc2::IfcBSplineSurface::ControlPointsList() const { std::vector> es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcCartesianPoint>(es); } -void Ifc4x3_rc2::IfcBSplineSurface::setControlPointsList(const std::vector< std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > > Ifc4x3_rc2::IfcBSplineSurface::ControlPointsList() const { std::vector> es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcCartesianPoint>(es); } +void Ifc4x3_rc2::IfcBSplineSurface::setControlPointsList(const std::vector< std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } ::Ifc4x3_rc2::IfcBSplineSurfaceForm::Value Ifc4x3_rc2::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4x3_rc2::IfcBSplineSurfaceForm::FromString(get_attribute_value(3)); } void Ifc4x3_rc2::IfcBSplineSurface::setSurfaceForm(const ::Ifc4x3_rc2::IfcBSplineSurfaceForm::Value& v) { set_attribute_value(3, enumeration_reference(&::Ifc4x3_rc2::IfcBSplineSurfaceForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } boost::logic::tribool Ifc4x3_rc2::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = get_attribute_value(4); 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]); } -Ifc4x3_rc2::IfcBSplineSurface Ifc4x3_rc2::IfcBSplineSurface::initialize(int64_t v1_UDegree, int64_t 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; } +Ifc4x3_rc2::IfcBSplineSurface Ifc4x3_rc2::IfcBSplineSurface::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ Ifc4x3_rc2::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int64_t > /*[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]); } -Ifc4x3_rc2::IfcBSplineSurfaceWithKnots Ifc4x3_rc2::IfcBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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; } +Ifc4x3_rc2::IfcBSplineSurfaceWithKnots Ifc4x3_rc2::IfcBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -8593,7 +8593,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcBlock::Class() { return *((ifcopenshe 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>(); } +::Ifc4x3_rc2::IfcAxis2Placement Ifc4x3_rc2::IfcBlossCurve::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcAxis2Placement>(); } void Ifc4x3_rc2::IfcBlossCurve::setPosition(const ::Ifc4x3_rc2::IfcAxis2Placement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc2::IfcBlossCurve::CurveLength() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcBlossCurve::setCurveLength(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8618,7 +8618,7 @@ void Ifc4x3_rc2::IfcBoilerType::setPredefinedType(const ::Ifc4x3_rc2::IfcBoilerT const ifcopenshell::entity& Ifc4x3_rc2::IfcBoilerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[92]); } -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; } +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 @@ -8629,9 +8629,9 @@ Ifc4x3_rc2::IfcBooleanClippingResult Ifc4x3_rc2::IfcBooleanClippingResult::initi // Function implementations for IfcBooleanResult ::Ifc4x3_rc2::IfcBooleanOperator::Value Ifc4x3_rc2::IfcBooleanResult::Operator() const { return ::Ifc4x3_rc2::IfcBooleanOperator::FromString(get_attribute_value(0)); } void Ifc4x3_rc2::IfcBooleanResult::setOperator(const ::Ifc4x3_rc2::IfcBooleanOperator::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc4x3_rc2::IfcBooleanOperator::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcBooleanOperand Ifc4x3_rc2::IfcBooleanResult::FirstOperand() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcBooleanOperand>(); } +::Ifc4x3_rc2::IfcBooleanOperand Ifc4x3_rc2::IfcBooleanResult::FirstOperand() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcBooleanOperand>(); } void Ifc4x3_rc2::IfcBooleanResult::setFirstOperand(const ::Ifc4x3_rc2::IfcBooleanOperand& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcBooleanOperand Ifc4x3_rc2::IfcBooleanResult::SecondOperand() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcBooleanOperand>(); } +::Ifc4x3_rc2::IfcBooleanOperand Ifc4x3_rc2::IfcBooleanResult::SecondOperand() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcBooleanOperand>(); } void Ifc4x3_rc2::IfcBooleanResult::setSecondOperand(const ::Ifc4x3_rc2::IfcBooleanOperand& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8656,20 +8656,20 @@ Ifc4x3_rc2::IfcBoundaryCondition Ifc4x3_rc2::IfcBoundaryCondition::initialize(st const ifcopenshell::entity& Ifc4x3_rc2::IfcBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[101]); } -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; } +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>(); } +::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>(); } void Ifc4x3_rc2::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(const ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x3_rc2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x3_rc2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect>(); } void Ifc4x3_rc2::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(const ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x3_rc2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x3_rc2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect>(); } void Ifc4x3_rc2::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(const ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x3_rc2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x3_rc2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect>(); } void Ifc4x3_rc2::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(const ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x3_rc2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x3_rc2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect>(); } void Ifc4x3_rc2::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(const ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x3_rc2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x3_rc2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect>(); } void Ifc4x3_rc2::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(const ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -8677,11 +8677,11 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcBoundaryEdgeCondition::Class() { retu 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>(); } +::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>(); } void Ifc4x3_rc2::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(const ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect Ifc4x3_rc2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect Ifc4x3_rc2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect>(); } void Ifc4x3_rc2::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(const ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect Ifc4x3_rc2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect Ifc4x3_rc2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect>(); } void Ifc4x3_rc2::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(const ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -8689,17 +8689,17 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcBoundaryFaceCondition::Class() { retu 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>(); } +::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>(); } void Ifc4x3_rc2::IfcBoundaryNodeCondition::setTranslationalStiffnessX(const ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcTranslationalStiffnessSelect Ifc4x3_rc2::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcTranslationalStiffnessSelect>(); } +::Ifc4x3_rc2::IfcTranslationalStiffnessSelect Ifc4x3_rc2::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcTranslationalStiffnessSelect>(); } void Ifc4x3_rc2::IfcBoundaryNodeCondition::setTranslationalStiffnessY(const ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcTranslationalStiffnessSelect Ifc4x3_rc2::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcTranslationalStiffnessSelect>(); } +::Ifc4x3_rc2::IfcTranslationalStiffnessSelect Ifc4x3_rc2::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcTranslationalStiffnessSelect>(); } void Ifc4x3_rc2::IfcBoundaryNodeCondition::setTranslationalStiffnessZ(const ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc2::IfcRotationalStiffnessSelect Ifc4x3_rc2::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc2::IfcRotationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcRotationalStiffnessSelect>(); } +::Ifc4x3_rc2::IfcRotationalStiffnessSelect Ifc4x3_rc2::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc2::IfcRotationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcRotationalStiffnessSelect>(); } void Ifc4x3_rc2::IfcBoundaryNodeCondition::setRotationalStiffnessX(const ::Ifc4x3_rc2::IfcRotationalStiffnessSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcRotationalStiffnessSelect Ifc4x3_rc2::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc2::IfcRotationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcRotationalStiffnessSelect>(); } +::Ifc4x3_rc2::IfcRotationalStiffnessSelect Ifc4x3_rc2::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc2::IfcRotationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcRotationalStiffnessSelect>(); } void Ifc4x3_rc2::IfcBoundaryNodeCondition::setRotationalStiffnessY(const ::Ifc4x3_rc2::IfcRotationalStiffnessSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc2::IfcRotationalStiffnessSelect Ifc4x3_rc2::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcRotationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcRotationalStiffnessSelect>(); } +::Ifc4x3_rc2::IfcRotationalStiffnessSelect Ifc4x3_rc2::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcRotationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcRotationalStiffnessSelect>(); } void Ifc4x3_rc2::IfcBoundaryNodeCondition::setRotationalStiffnessZ(const ::Ifc4x3_rc2::IfcRotationalStiffnessSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -8707,7 +8707,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcBoundaryNodeCondition::Class() { retu 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>(); } +::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>(); } void Ifc4x3_rc2::IfcBoundaryNodeConditionWarping::setWarpingStiffness(const ::Ifc4x3_rc2::IfcWarpingStiffnessSelect& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -8728,7 +8728,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcBoundedSurface::Class() { return *((i 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>(); } +::Ifc4x3_rc2::IfcCartesianPoint Ifc4x3_rc2::IfcBoundingBox::Corner() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCartesianPoint>(); } void Ifc4x3_rc2::IfcBoundingBox::setCorner(const ::Ifc4x3_rc2::IfcCartesianPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc2::IfcBoundingBox::XDim() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcBoundingBox::setXDim(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8742,7 +8742,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcBoundingBox::Class() { return *((ifco 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>(); } +::Ifc4x3_rc2::IfcBoundingBox Ifc4x3_rc2::IfcBoxedHalfSpace::Enclosure() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcBoundingBox>(); } void Ifc4x3_rc2::IfcBoxedHalfSpace::setEnclosure(const ::Ifc4x3_rc2::IfcBoundingBox& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8768,7 +8768,7 @@ std::optional< double > Ifc4x3_rc2::IfcBuilding::ElevationOfRefHeight() const { void Ifc4x3_rc2::IfcBuilding::setElevationOfRefHeight(const std::optional< double >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } std::optional< double > Ifc4x3_rc2::IfcBuilding::ElevationOfTerrain() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcBuilding::setElevationOfTerrain(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x3_rc2::IfcPostalAddress Ifc4x3_rc2::IfcBuilding::BuildingAddress() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x3_rc2::IfcPostalAddress{}; } return ((express::Base)(get_attribute_value(11))).as<::Ifc4x3_rc2::IfcPostalAddress>(); } +::Ifc4x3_rc2::IfcPostalAddress Ifc4x3_rc2::IfcBuilding::BuildingAddress() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x3_rc2::IfcPostalAddress{}; } return ((express::base)(get_attribute_value(11))).as<::Ifc4x3_rc2::IfcPostalAddress>(); } void Ifc4x3_rc2::IfcBuilding::setBuildingAddress(const ::Ifc4x3_rc2::IfcPostalAddress& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -8835,7 +8835,7 @@ Ifc4x3_rc2::IfcBuiltElement Ifc4x3_rc2::IfcBuiltElement::initialize(std::string const ifcopenshell::entity& Ifc4x3_rc2::IfcBuiltElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[132]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -8994,11 +8994,11 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcCartesianPointList3D::Class() { retur 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>(); } +::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>(); } void Ifc4x3_rc2::IfcCartesianTransformationOperator::setAxis1(const ::Ifc4x3_rc2::IfcDirection& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcCartesianTransformationOperator::Axis2() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc2::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcDirection>(); } +::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcCartesianTransformationOperator::Axis2() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc2::IfcDirection{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcDirection>(); } void Ifc4x3_rc2::IfcCartesianTransformationOperator::setAxis2(const ::Ifc4x3_rc2::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcCartesianPoint Ifc4x3_rc2::IfcCartesianTransformationOperator::LocalOrigin() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcCartesianPoint>(); } +::Ifc4x3_rc2::IfcCartesianPoint Ifc4x3_rc2::IfcCartesianTransformationOperator::LocalOrigin() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcCartesianPoint>(); } void Ifc4x3_rc2::IfcCartesianTransformationOperator::setLocalOrigin(const ::Ifc4x3_rc2::IfcCartesianPoint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc4x3_rc2::IfcCartesianTransformationOperator::Scale() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcCartesianTransformationOperator::setScale(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } @@ -9022,7 +9022,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcCartesianTransformationOperator2DnonU 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>(); } +::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>(); } void Ifc4x3_rc2::IfcCartesianTransformationOperator3D::setAxis3(const ::Ifc4x3_rc2::IfcDirection& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -9123,7 +9123,7 @@ Ifc4x3_rc2::IfcCivilElement Ifc4x3_rc2::IfcCivilElement::initialize(std::string const ifcopenshell::entity& Ifc4x3_rc2::IfcCivilElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[176]); } -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; } +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; } @@ -9148,7 +9148,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcClassification::Class() { return *((i 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>(); } +::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>(); } void Ifc4x3_rc2::IfcClassificationReference::setReferencedSource(const ::Ifc4x3_rc2::IfcClassificationReferenceSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc2::IfcClassificationReference::Description() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcClassificationReference::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -9165,10 +9165,10 @@ Ifc4x3_rc2::IfcClassificationReference Ifc4x3_rc2::IfcClassificationReference::i const ifcopenshell::entity& Ifc4x3_rc2::IfcClosedShell::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[181]); } -Ifc4x3_rc2::IfcClosedShell Ifc4x3_rc2::IfcClosedShell::initialize(std::vector< ::Ifc4x3_rc2::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } +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>(); } +::Ifc4x3_rc2::IfcAxis2Placement Ifc4x3_rc2::IfcClothoid::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcAxis2Placement>(); } void Ifc4x3_rc2::IfcClothoid::setPosition(const ::Ifc4x3_rc2::IfcAxis2Placement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc2::IfcClothoid::ClothoidConstant() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcClothoid::setClothoidConstant(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -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]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -9257,50 +9257,50 @@ void Ifc4x3_rc2::IfcCommunicationsApplianceType::setPredefinedType(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc2::IfcCommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[196]); } -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; } +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; } void Ifc4x3_rc2::IfcComplexProperty::setUsageName(const std::string& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_rc2::IfcProperty > Ifc4x3_rc2::IfcComplexProperty::HasProperties() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc2::IfcProperty>(es); } -void Ifc4x3_rc2::IfcComplexProperty::setHasProperties(const std::vector< ::Ifc4x3_rc2::IfcProperty >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc2::IfcProperty > Ifc4x3_rc2::IfcComplexProperty::HasProperties() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc2::IfcProperty>(es); } +void Ifc4x3_rc2::IfcComplexProperty::setHasProperties(const std::vector< ::Ifc4x3_rc2::IfcProperty >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc2::IfcComplexProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[199]); } -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; } +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; } void Ifc4x3_rc2::IfcComplexPropertyTemplate::setUsageName(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } std::optional< ::Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x3_rc2::IfcComplexPropertyTemplate::TemplateType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc2::IfcComplexPropertyTemplate::setTemplateType(const std::optional< ::Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::Value >& v) { if (v) {set_attribute_value(5, enumeration_reference(&::Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertyTemplate > > Ifc4x3_rc2::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc2::IfcPropertyTemplate>(es); } -void Ifc4x3_rc2::IfcComplexPropertyTemplate::setHasPropertyTemplates(const std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertyTemplate > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertyTemplate > > Ifc4x3_rc2::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc2::IfcPropertyTemplate>(es); } +void Ifc4x3_rc2::IfcComplexPropertyTemplate::setHasPropertyTemplates(const std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertyTemplate > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } const ifcopenshell::entity& Ifc4x3_rc2::IfcComplexPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[200]); } -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; } +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); } -void Ifc4x3_rc2::IfcCompositeCurve::setSegments(const std::vector< ::Ifc4x3_rc2::IfcSegment >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc2::IfcSegment > Ifc4x3_rc2::IfcCompositeCurve::Segments() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcSegment>(es); } +void Ifc4x3_rc2::IfcCompositeCurve::setSegments(const std::vector< ::Ifc4x3_rc2::IfcSegment >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } boost::logic::tribool Ifc4x3_rc2::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcCompositeCurve::setSelfIntersect(const boost::logic::tribool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_rc2::IfcCompositeCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[202]); } -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; } +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]); } -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; } +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; } void Ifc4x3_rc2::IfcCompositeCurveSegment::setSameSense(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcCompositeCurveSegment::ParentCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcCurve>(); } +::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcCompositeCurveSegment::ParentCurve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcCurve>(); } void Ifc4x3_rc2::IfcCompositeCurveSegment::setParentCurve(const ::Ifc4x3_rc2::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::vector<::Ifc4x3_rc2::IfcCompositeCurve> Ifc4x3_rc2::IfcCompositeCurveSegment::UsingCurves() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[202], 0)); } @@ -9309,14 +9309,14 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcCompositeCurveSegment::Class() { retu 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); } -void Ifc4x3_rc2::IfcCompositeProfileDef::setProfiles(const std::vector< ::Ifc4x3_rc2::IfcProfileDef >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc2::IfcProfileDef > Ifc4x3_rc2::IfcCompositeProfileDef::Profiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcProfileDef>(es); } +void Ifc4x3_rc2::IfcCompositeProfileDef::setProfiles(const std::vector< ::Ifc4x3_rc2::IfcProfileDef >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4x3_rc2::IfcCompositeProfileDef::Label() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcCompositeProfileDef::setLabel(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const ifcopenshell::entity& Ifc4x3_rc2::IfcCompositeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[205]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -9348,10 +9348,10 @@ void Ifc4x3_rc2::IfcCondenserType::setPredefinedType(const ::Ifc4x3_rc2::IfcCond const ifcopenshell::entity& Ifc4x3_rc2::IfcCondenserType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[211]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcAxis2Placement Ifc4x3_rc2::IfcConic::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcAxis2Placement>(); } void Ifc4x3_rc2::IfcConic::setPosition(const ::Ifc4x3_rc2::IfcAxis2Placement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -9359,17 +9359,17 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcConic::Class() { return *((ifcopenshe 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); } -void Ifc4x3_rc2::IfcConnectedFaceSet::setCfsFaces(const std::vector< ::Ifc4x3_rc2::IfcFace >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc2::IfcFace > Ifc4x3_rc2::IfcConnectedFaceSet::CfsFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcFace>(es); } +void Ifc4x3_rc2::IfcConnectedFaceSet::setCfsFaces(const std::vector< ::Ifc4x3_rc2::IfcFace >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc2::IfcConnectedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[214]); } -Ifc4x3_rc2::IfcConnectedFaceSet Ifc4x3_rc2::IfcConnectedFaceSet::initialize(std::vector< ::Ifc4x3_rc2::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } +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>(); } +::Ifc4x3_rc2::IfcCurveOrEdgeCurve Ifc4x3_rc2::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCurveOrEdgeCurve>(); } void Ifc4x3_rc2::IfcConnectionCurveGeometry::setCurveOnRelatingElement(const ::Ifc4x3_rc2::IfcCurveOrEdgeCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcCurveOrEdgeCurve Ifc4x3_rc2::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc2::IfcCurveOrEdgeCurve{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcCurveOrEdgeCurve>(); } +::Ifc4x3_rc2::IfcCurveOrEdgeCurve Ifc4x3_rc2::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc2::IfcCurveOrEdgeCurve{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcCurveOrEdgeCurve>(); } void Ifc4x3_rc2::IfcConnectionCurveGeometry::setCurveOnRelatedElement(const ::Ifc4x3_rc2::IfcCurveOrEdgeCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9395,9 +9395,9 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcConnectionPointEccentricity::Class() 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>(); } +::Ifc4x3_rc2::IfcPointOrVertexPoint Ifc4x3_rc2::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcPointOrVertexPoint>(); } void Ifc4x3_rc2::IfcConnectionPointGeometry::setPointOnRelatingElement(const ::Ifc4x3_rc2::IfcPointOrVertexPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcPointOrVertexPoint Ifc4x3_rc2::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc2::IfcPointOrVertexPoint{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcPointOrVertexPoint>(); } +::Ifc4x3_rc2::IfcPointOrVertexPoint Ifc4x3_rc2::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc2::IfcPointOrVertexPoint{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcPointOrVertexPoint>(); } void Ifc4x3_rc2::IfcConnectionPointGeometry::setPointOnRelatedElement(const ::Ifc4x3_rc2::IfcPointOrVertexPoint& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9405,9 +9405,9 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcConnectionPointGeometry::Class() { re 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>(); } +::Ifc4x3_rc2::IfcSurfaceOrFaceSurface Ifc4x3_rc2::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcSurfaceOrFaceSurface>(); } void Ifc4x3_rc2::IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(const ::Ifc4x3_rc2::IfcSurfaceOrFaceSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcSurfaceOrFaceSurface Ifc4x3_rc2::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc2::IfcSurfaceOrFaceSurface{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcSurfaceOrFaceSurface>(); } +::Ifc4x3_rc2::IfcSurfaceOrFaceSurface Ifc4x3_rc2::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc2::IfcSurfaceOrFaceSurface{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcSurfaceOrFaceSurface>(); } void Ifc4x3_rc2::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(const ::Ifc4x3_rc2::IfcSurfaceOrFaceSurface& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9415,9 +9415,9 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcConnectionSurfaceGeometry::Class() { 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>(); } +::Ifc4x3_rc2::IfcSolidOrShell Ifc4x3_rc2::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcSolidOrShell>(); } void Ifc4x3_rc2::IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(const ::Ifc4x3_rc2::IfcSolidOrShell& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcSolidOrShell Ifc4x3_rc2::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc2::IfcSolidOrShell{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcSolidOrShell>(); } +::Ifc4x3_rc2::IfcSolidOrShell Ifc4x3_rc2::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc2::IfcSolidOrShell{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcSolidOrShell>(); } void Ifc4x3_rc2::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(const ::Ifc4x3_rc2::IfcSolidOrShell& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9433,7 +9433,7 @@ void Ifc4x3_rc2::IfcConstraint::setDescription(const std::optional< std::string void Ifc4x3_rc2::IfcConstraint::setConstraintGrade(const ::Ifc4x3_rc2::IfcConstraintEnum::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4x3_rc2::IfcConstraintEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4x3_rc2::IfcConstraint::ConstraintSource() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcConstraint::setConstraintSource(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc2::IfcActorSelect Ifc4x3_rc2::IfcConstraint::CreatingActor() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc2::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcActorSelect>(); } +::Ifc4x3_rc2::IfcActorSelect Ifc4x3_rc2::IfcConstraint::CreatingActor() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc2::IfcActorSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcActorSelect>(); } void Ifc4x3_rc2::IfcConstraint::setCreatingActor(const ::Ifc4x3_rc2::IfcActorSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::optional< std::string > Ifc4x3_rc2::IfcConstraint::CreationTime() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcConstraint::setCreationTime(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } @@ -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]); } -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; } +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]); } -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; } +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]); } -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; } +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]); } -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; } +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]); } -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; } +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,29 +9492,29 @@ void Ifc4x3_rc2::IfcConstructionProductResourceType::setPredefinedType(const ::I const ifcopenshell::entity& Ifc4x3_rc2::IfcConstructionProductResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[231]); } -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; } +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>(); } +::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>(); } void Ifc4x3_rc2::IfcConstructionResource::setUsage(const ::Ifc4x3_rc2::IfcResourceTime& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > Ifc4x3_rc2::IfcConstructionResource::BaseCosts() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc2::IfcAppliedValue>(es); } -void Ifc4x3_rc2::IfcConstructionResource::setBaseCosts(const std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } -::Ifc4x3_rc2::IfcPhysicalQuantity Ifc4x3_rc2::IfcConstructionResource::BaseQuantity() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc2::IfcPhysicalQuantity{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc2::IfcPhysicalQuantity>(); } +std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > Ifc4x3_rc2::IfcConstructionResource::BaseCosts() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc2::IfcAppliedValue>(es); } +void Ifc4x3_rc2::IfcConstructionResource::setBaseCosts(const std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } +::Ifc4x3_rc2::IfcPhysicalQuantity Ifc4x3_rc2::IfcConstructionResource::BaseQuantity() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc2::IfcPhysicalQuantity{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc2::IfcPhysicalQuantity>(); } void Ifc4x3_rc2::IfcConstructionResource::setBaseQuantity(const ::Ifc4x3_rc2::IfcPhysicalQuantity& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } const ifcopenshell::entity& Ifc4x3_rc2::IfcConstructionResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[233]); } -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; } +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); } -void Ifc4x3_rc2::IfcConstructionResourceType::setBaseCosts(const std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } -::Ifc4x3_rc2::IfcPhysicalQuantity Ifc4x3_rc2::IfcConstructionResourceType::BaseQuantity() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc2::IfcPhysicalQuantity{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_rc2::IfcPhysicalQuantity>(); } +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); } +void Ifc4x3_rc2::IfcConstructionResourceType::setBaseCosts(const std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +::Ifc4x3_rc2::IfcPhysicalQuantity Ifc4x3_rc2::IfcConstructionResourceType::BaseQuantity() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc2::IfcPhysicalQuantity{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x3_rc2::IfcPhysicalQuantity>(); } void Ifc4x3_rc2::IfcConstructionResourceType::setBaseQuantity(const ::Ifc4x3_rc2::IfcPhysicalQuantity& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } const ifcopenshell::entity& Ifc4x3_rc2::IfcConstructionResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[234]); } -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; } +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; } @@ -9523,16 +9523,16 @@ std::optional< std::string > Ifc4x3_rc2::IfcContext::LongName() const { if(get_a void Ifc4x3_rc2::IfcContext::setLongName(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< std::string > Ifc4x3_rc2::IfcContext::Phase() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcContext::setPhase(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationContext > > Ifc4x3_rc2::IfcContext::RepresentationContexts() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc2::IfcRepresentationContext>(es); } -void Ifc4x3_rc2::IfcContext::setRepresentationContexts(const std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationContext > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } -::Ifc4x3_rc2::IfcUnitAssignment Ifc4x3_rc2::IfcContext::UnitsInContext() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc2::IfcUnitAssignment{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc2::IfcUnitAssignment>(); } +std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationContext > > Ifc4x3_rc2::IfcContext::RepresentationContexts() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc2::IfcRepresentationContext>(es); } +void Ifc4x3_rc2::IfcContext::setRepresentationContexts(const std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationContext > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +::Ifc4x3_rc2::IfcUnitAssignment Ifc4x3_rc2::IfcContext::UnitsInContext() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc2::IfcUnitAssignment{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc2::IfcUnitAssignment>(); } void Ifc4x3_rc2::IfcContext::setUnitsInContext(const ::Ifc4x3_rc2::IfcUnitAssignment& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } std::vector<::Ifc4x3_rc2::IfcRelDefinesByProperties> Ifc4x3_rc2::IfcContext::IsDefinedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[951], 4)); } 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]); } -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; } +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; } @@ -9566,12 +9566,12 @@ void Ifc4x3_rc2::IfcControllerType::setPredefinedType(const ::Ifc4x3_rc2::IfcCon const ifcopenshell::entity& Ifc4x3_rc2::IfcControllerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[240]); } -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; } +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; } void Ifc4x3_rc2::IfcConversionBasedUnit::setName(const std::string& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcMeasureWithUnit Ifc4x3_rc2::IfcConversionBasedUnit::ConversionFactor() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcMeasureWithUnit>(); } +::Ifc4x3_rc2::IfcMeasureWithUnit Ifc4x3_rc2::IfcConversionBasedUnit::ConversionFactor() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcMeasureWithUnit>(); } void Ifc4x3_rc2::IfcConversionBasedUnit::setConversionFactor(const ::Ifc4x3_rc2::IfcMeasureWithUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[441], 3)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -9633,12 +9633,12 @@ void Ifc4x3_rc2::IfcCoolingTowerType::setPredefinedType(const ::Ifc4x3_rc2::IfcC const ifcopenshell::entity& Ifc4x3_rc2::IfcCoolingTowerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[251]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect Ifc4x3_rc2::IfcCoordinateOperation::SourceCRS() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect>(); } void Ifc4x3_rc2::IfcCoordinateOperation::setSourceCRS(const ::Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcCoordinateReferenceSystem Ifc4x3_rc2::IfcCoordinateOperation::TargetCRS() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcCoordinateReferenceSystem>(); } +::Ifc4x3_rc2::IfcCoordinateReferenceSystem Ifc4x3_rc2::IfcCoordinateOperation::TargetCRS() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcCoordinateReferenceSystem>(); } void Ifc4x3_rc2::IfcCoordinateOperation::setTargetCRS(const ::Ifc4x3_rc2::IfcCoordinateReferenceSystem& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9663,14 +9663,14 @@ Ifc4x3_rc2::IfcCoordinateReferenceSystem Ifc4x3_rc2::IfcCoordinateReferenceSyste // 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)); } void Ifc4x3_rc2::IfcCostItem::setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcCostItemTypeEnum::Value >& v) { if (v) {set_attribute_value(6, enumeration_reference(&::Ifc4x3_rc2::IfcCostItemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x3_rc2::IfcCostValue > > Ifc4x3_rc2::IfcCostItem::CostValues() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc2::IfcCostValue>(es); } -void Ifc4x3_rc2::IfcCostItem::setCostValues(const std::optional< std::vector< ::Ifc4x3_rc2::IfcCostValue > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } -std::optional< std::vector< ::Ifc4x3_rc2::IfcPhysicalQuantity > > Ifc4x3_rc2::IfcCostItem::CostQuantities() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc2::IfcPhysicalQuantity>(es); } -void Ifc4x3_rc2::IfcCostItem::setCostQuantities(const std::optional< std::vector< ::Ifc4x3_rc2::IfcPhysicalQuantity > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } +std::optional< std::vector< ::Ifc4x3_rc2::IfcCostValue > > Ifc4x3_rc2::IfcCostItem::CostValues() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc2::IfcCostValue>(es); } +void Ifc4x3_rc2::IfcCostItem::setCostValues(const std::optional< std::vector< ::Ifc4x3_rc2::IfcCostValue > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x3_rc2::IfcPhysicalQuantity > > Ifc4x3_rc2::IfcCostItem::CostQuantities() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc2::IfcPhysicalQuantity>(es); } +void Ifc4x3_rc2::IfcCostItem::setCostQuantities(const std::optional< std::vector< ::Ifc4x3_rc2::IfcPhysicalQuantity > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } const ifcopenshell::entity& Ifc4x3_rc2::IfcCostItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[256]); } -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; } +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)); } @@ -9690,7 +9690,7 @@ Ifc4x3_rc2::IfcCostSchedule Ifc4x3_rc2::IfcCostSchedule::initialize(std::string const ifcopenshell::entity& Ifc4x3_rc2::IfcCostValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[260]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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]); } -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; } +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,10 +9740,10 @@ void Ifc4x3_rc2::IfcCrewResourceType::setPredefinedType(const ::Ifc4x3_rc2::IfcC const ifcopenshell::entity& Ifc4x3_rc2::IfcCrewResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[269]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcAxis2Placement3D Ifc4x3_rc2::IfcCsgPrimitive3D::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcAxis2Placement3D>(); } void Ifc4x3_rc2::IfcCsgPrimitive3D::setPosition(const ::Ifc4x3_rc2::IfcAxis2Placement3D& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -9751,7 +9751,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcCsgPrimitive3D::Class() { return *((i 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>(); } +::Ifc4x3_rc2::IfcCsgSelect Ifc4x3_rc2::IfcCsgSolid::TreeRootExpression() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCsgSelect>(); } void Ifc4x3_rc2::IfcCsgSolid::setTreeRootExpression(const ::Ifc4x3_rc2::IfcCsgSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -9759,15 +9759,15 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcCsgSolid::Class() { return *((ifcopen 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>(); } +::Ifc4x3_rc2::IfcMonetaryUnit Ifc4x3_rc2::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcMonetaryUnit>(); } void Ifc4x3_rc2::IfcCurrencyRelationship::setRelatingMonetaryUnit(const ::Ifc4x3_rc2::IfcMonetaryUnit& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcMonetaryUnit Ifc4x3_rc2::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcMonetaryUnit>(); } +::Ifc4x3_rc2::IfcMonetaryUnit Ifc4x3_rc2::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcMonetaryUnit>(); } void Ifc4x3_rc2::IfcCurrencyRelationship::setRelatedMonetaryUnit(const ::Ifc4x3_rc2::IfcMonetaryUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } double Ifc4x3_rc2::IfcCurrencyRelationship::ExchangeRate() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcCurrencyRelationship::setExchangeRate(const double& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::optional< std::string > Ifc4x3_rc2::IfcCurrencyRelationship::RateDateTime() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcCurrencyRelationship::setRateDateTime(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc2::IfcLibraryInformation Ifc4x3_rc2::IfcCurrencyRelationship::RateSource() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcLibraryInformation{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcLibraryInformation>(); } +::Ifc4x3_rc2::IfcLibraryInformation Ifc4x3_rc2::IfcCurrencyRelationship::RateSource() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcLibraryInformation{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcLibraryInformation>(); } void Ifc4x3_rc2::IfcCurrencyRelationship::setRateSource(const ::Ifc4x3_rc2::IfcLibraryInformation& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -9788,7 +9788,7 @@ void Ifc4x3_rc2::IfcCurtainWallType::setPredefinedType(const ::Ifc4x3_rc2::IfcCu const ifcopenshell::entity& Ifc4x3_rc2::IfcCurtainWallType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[277]); } -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; } +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 @@ -9797,35 +9797,35 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcCurve::Class() { return *((ifcopenshe 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>(); } +::Ifc4x3_rc2::IfcPlane Ifc4x3_rc2::IfcCurveBoundedPlane::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcPlane>(); } void Ifc4x3_rc2::IfcCurveBoundedPlane::setBasisSurface(const ::Ifc4x3_rc2::IfcPlane& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcCurveBoundedPlane::OuterBoundary() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcCurve>(); } +::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcCurveBoundedPlane::OuterBoundary() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcCurve>(); } void Ifc4x3_rc2::IfcCurveBoundedPlane::setOuterBoundary(const ::Ifc4x3_rc2::IfcCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x3_rc2::IfcCurve > Ifc4x3_rc2::IfcCurveBoundedPlane::InnerBoundaries() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcCurve>(es); } -void Ifc4x3_rc2::IfcCurveBoundedPlane::setInnerBoundaries(const std::vector< ::Ifc4x3_rc2::IfcCurve >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc2::IfcCurve > Ifc4x3_rc2::IfcCurveBoundedPlane::InnerBoundaries() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcCurve>(es); } +void Ifc4x3_rc2::IfcCurveBoundedPlane::setInnerBoundaries(const std::vector< ::Ifc4x3_rc2::IfcCurve >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc2::IfcCurveBoundedPlane::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[281]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcSurface Ifc4x3_rc2::IfcCurveBoundedSurface::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcSurface>(); } void Ifc4x3_rc2::IfcCurveBoundedSurface::setBasisSurface(const ::Ifc4x3_rc2::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc2::IfcBoundaryCurve > Ifc4x3_rc2::IfcCurveBoundedSurface::Boundaries() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcBoundaryCurve>(es); } -void Ifc4x3_rc2::IfcCurveBoundedSurface::setBoundaries(const std::vector< ::Ifc4x3_rc2::IfcBoundaryCurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc2::IfcBoundaryCurve > Ifc4x3_rc2::IfcCurveBoundedSurface::Boundaries() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcBoundaryCurve>(es); } +void Ifc4x3_rc2::IfcCurveBoundedSurface::setBoundaries(const std::vector< ::Ifc4x3_rc2::IfcBoundaryCurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } bool Ifc4x3_rc2::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcCurveBoundedSurface::setImplicitOuter(const bool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc2::IfcCurveBoundedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[282]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcPlacement Ifc4x3_rc2::IfcCurveSegment::StartPlacement() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcPlacement>(); } void Ifc4x3_rc2::IfcCurveSegment::setStartPlacement(const ::Ifc4x3_rc2::IfcPlacement& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcCurveMeasureSelect Ifc4x3_rc2::IfcCurveSegment::SegmentLength() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcCurveMeasureSelect>(); } +::Ifc4x3_rc2::IfcCurveMeasureSelect Ifc4x3_rc2::IfcCurveSegment::SegmentLength() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcCurveMeasureSelect>(); } void Ifc4x3_rc2::IfcCurveSegment::setSegmentLength(const ::Ifc4x3_rc2::IfcCurveMeasureSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcCurveSegment::ParentCurve() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcCurve>(); } +::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcCurveSegment::ParentCurve() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcCurve>(); } void Ifc4x3_rc2::IfcCurveSegment::setParentCurve(const ::Ifc4x3_rc2::IfcCurve& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -9833,7 +9833,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcCurveSegment::Class() { return *((ifc 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>(); } +::Ifc4x3_rc2::IfcCartesianPoint Ifc4x3_rc2::IfcCurveSegment2D::StartPoint() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCartesianPoint>(); } void Ifc4x3_rc2::IfcCurveSegment2D::setStartPoint(const ::Ifc4x3_rc2::IfcCartesianPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc2::IfcCurveSegment2D::StartDirection() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcCurveSegment2D::setStartDirection(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9845,11 +9845,11 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcCurveSegment2D::Class() { return *((i 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>(); } +::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>(); } void Ifc4x3_rc2::IfcCurveStyle::setCurveFont(const ::Ifc4x3_rc2::IfcCurveFontOrScaledCurveFontSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcSizeSelect Ifc4x3_rc2::IfcCurveStyle::CurveWidth() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcSizeSelect>(); } +::Ifc4x3_rc2::IfcSizeSelect Ifc4x3_rc2::IfcCurveStyle::CurveWidth() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcSizeSelect>(); } void Ifc4x3_rc2::IfcCurveStyle::setCurveWidth(const ::Ifc4x3_rc2::IfcSizeSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcColour Ifc4x3_rc2::IfcCurveStyle::CurveColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcColour{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcColour>(); } +::Ifc4x3_rc2::IfcColour Ifc4x3_rc2::IfcCurveStyle::CurveColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcColour{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcColour>(); } void Ifc4x3_rc2::IfcCurveStyle::setCurveColour(const ::Ifc4x3_rc2::IfcColour& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< bool > Ifc4x3_rc2::IfcCurveStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } bool v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcCurveStyle::setModelOrDraughting(const std::optional< bool >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -9861,17 +9861,17 @@ Ifc4x3_rc2::IfcCurveStyle Ifc4x3_rc2::IfcCurveStyle::initialize(std::optional< s // 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; } void Ifc4x3_rc2::IfcCurveStyleFont::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::vector< ::Ifc4x3_rc2::IfcCurveStyleFontPattern > Ifc4x3_rc2::IfcCurveStyleFont::PatternList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcCurveStyleFontPattern>(es); } -void Ifc4x3_rc2::IfcCurveStyleFont::setPatternList(const std::vector< ::Ifc4x3_rc2::IfcCurveStyleFontPattern >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc2::IfcCurveStyleFontPattern > Ifc4x3_rc2::IfcCurveStyleFont::PatternList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcCurveStyleFontPattern>(es); } +void Ifc4x3_rc2::IfcCurveStyleFont::setPatternList(const std::vector< ::Ifc4x3_rc2::IfcCurveStyleFontPattern >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_rc2::IfcCurveStyleFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[291]); } -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; } +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; } void Ifc4x3_rc2::IfcCurveStyleFontAndScaling::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_rc2::IfcCurveStyleFontSelect Ifc4x3_rc2::IfcCurveStyleFontAndScaling::CurveFont() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcCurveStyleFontSelect>(); } +::Ifc4x3_rc2::IfcCurveStyleFontSelect Ifc4x3_rc2::IfcCurveStyleFontAndScaling::CurveFont() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcCurveStyleFontSelect>(); } void Ifc4x3_rc2::IfcCurveStyleFontAndScaling::setCurveFont(const ::Ifc4x3_rc2::IfcCurveStyleFontSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } double Ifc4x3_rc2::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcCurveStyleFontAndScaling::setCurveFontScaling(const double& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -9912,7 +9912,7 @@ void Ifc4x3_rc2::IfcDamperType::setPredefinedType(const ::Ifc4x3_rc2::IfcDamperT const ifcopenshell::entity& Ifc4x3_rc2::IfcDamperType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[297]); } -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; } +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 @@ -9924,12 +9924,12 @@ Ifc4x3_rc2::IfcDeepFoundation Ifc4x3_rc2::IfcDeepFoundation::initialize(std::str const ifcopenshell::entity& Ifc4x3_rc2::IfcDeepFoundationType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[305]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcProfileDef Ifc4x3_rc2::IfcDerivedProfileDef::ParentProfile() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcProfileDef>(); } void Ifc4x3_rc2::IfcDerivedProfileDef::setParentProfile(const ::Ifc4x3_rc2::IfcProfileDef& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcCartesianTransformationOperator2D Ifc4x3_rc2::IfcDerivedProfileDef::Operator() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcCartesianTransformationOperator2D>(); } +::Ifc4x3_rc2::IfcCartesianTransformationOperator2D Ifc4x3_rc2::IfcDerivedProfileDef::Operator() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcCartesianTransformationOperator2D>(); } void Ifc4x3_rc2::IfcDerivedProfileDef::setOperator(const ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc2::IfcDerivedProfileDef::Label() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcDerivedProfileDef::setLabel(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -9939,8 +9939,8 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcDerivedProfileDef::Class() { return * 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); } -void Ifc4x3_rc2::IfcDerivedUnit::setElements(const std::vector< ::Ifc4x3_rc2::IfcDerivedUnitElement >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc2::IfcDerivedUnitElement > Ifc4x3_rc2::IfcDerivedUnit::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcDerivedUnitElement>(es); } +void Ifc4x3_rc2::IfcDerivedUnit::setElements(const std::vector< ::Ifc4x3_rc2::IfcDerivedUnitElement >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_rc2::IfcDerivedUnitEnum::Value Ifc4x3_rc2::IfcDerivedUnit::UnitType() const { return ::Ifc4x3_rc2::IfcDerivedUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x3_rc2::IfcDerivedUnit::setUnitType(const ::Ifc4x3_rc2::IfcDerivedUnitEnum::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4x3_rc2::IfcDerivedUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_rc2::IfcDerivedUnit::UserDefinedType() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } @@ -9948,10 +9948,10 @@ void Ifc4x3_rc2::IfcDerivedUnit::setUserDefinedType(const std::optional< std::st const ifcopenshell::entity& Ifc4x3_rc2::IfcDerivedUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[309]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcNamedUnit Ifc4x3_rc2::IfcDerivedUnitElement::Unit() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcNamedUnit>(); } void Ifc4x3_rc2::IfcDerivedUnitElement::setUnit(const ::Ifc4x3_rc2::IfcNamedUnit& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } int64_t Ifc4x3_rc2::IfcDerivedUnitElement::Exponent() const { int64_t v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcDerivedUnitElement::setExponent(const int64_t& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9989,11 +9989,11 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcDirection::Class() { return *((ifcope 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>(); } +::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcCurve>(); } void Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::setDirectrix(const ::Ifc4x3_rc2::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcCurveMeasureSelect Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcCurveMeasureSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcCurveMeasureSelect>(); } +::Ifc4x3_rc2::IfcCurveMeasureSelect Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcCurveMeasureSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcCurveMeasureSelect>(); } void Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::setStartParam(const ::Ifc4x3_rc2::IfcCurveMeasureSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc2::IfcCurveMeasureSelect Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc2::IfcCurveMeasureSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcCurveMeasureSelect>(); } +::Ifc4x3_rc2::IfcCurveMeasureSelect Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc2::IfcCurveMeasureSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcCurveMeasureSelect>(); } void Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::setEndParam(const ::Ifc4x3_rc2::IfcCurveMeasureSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -10001,11 +10001,11 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::Class() 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>(); } +::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::Directrix() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcCurve>(); } void Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::setDirectrix(const ::Ifc4x3_rc2::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcPointByDistanceExpression Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::StartDistance() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcPointByDistanceExpression{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcPointByDistanceExpression>(); } +::Ifc4x3_rc2::IfcPointByDistanceExpression Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::StartDistance() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcPointByDistanceExpression{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcPointByDistanceExpression>(); } void Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::setStartDistance(const ::Ifc4x3_rc2::IfcPointByDistanceExpression& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc2::IfcPointByDistanceExpression Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::EndDistance() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc2::IfcPointByDistanceExpression{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcPointByDistanceExpression>(); } +::Ifc4x3_rc2::IfcPointByDistanceExpression Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::EndDistance() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc2::IfcPointByDistanceExpression{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcPointByDistanceExpression>(); } void Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::setEndDistance(const ::Ifc4x3_rc2::IfcPointByDistanceExpression& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -10058,7 +10058,7 @@ void Ifc4x3_rc2::IfcDistributionChamberElementType::setPredefinedType(const ::If const ifcopenshell::entity& Ifc4x3_rc2::IfcDistributionChamberElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[326]); } -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; } +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 @@ -10077,7 +10077,7 @@ Ifc4x3_rc2::IfcDistributionControlElement Ifc4x3_rc2::IfcDistributionControlElem const ifcopenshell::entity& Ifc4x3_rc2::IfcDistributionControlElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[330]); } -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; } +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 @@ -10090,7 +10090,7 @@ Ifc4x3_rc2::IfcDistributionElement Ifc4x3_rc2::IfcDistributionElement::initializ const ifcopenshell::entity& Ifc4x3_rc2::IfcDistributionElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[332]); } -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; } +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 @@ -10103,7 +10103,7 @@ Ifc4x3_rc2::IfcDistributionFlowElement Ifc4x3_rc2::IfcDistributionFlowElement::i const ifcopenshell::entity& Ifc4x3_rc2::IfcDistributionFlowElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[334]); } -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; } +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)); } @@ -10144,10 +10144,10 @@ std::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::Scope() const { void Ifc4x3_rc2::IfcDocumentInformation::setScope(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } std::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::Revision() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcDocumentInformation::setRevision(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc2::IfcActorSelect Ifc4x3_rc2::IfcDocumentInformation::DocumentOwner() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc2::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc2::IfcActorSelect>(); } +::Ifc4x3_rc2::IfcActorSelect Ifc4x3_rc2::IfcDocumentInformation::DocumentOwner() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc2::IfcActorSelect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc2::IfcActorSelect>(); } void Ifc4x3_rc2::IfcDocumentInformation::setDocumentOwner(const ::Ifc4x3_rc2::IfcActorSelect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::optional< std::vector< ::Ifc4x3_rc2::IfcActorSelect > > Ifc4x3_rc2::IfcDocumentInformation::Editors() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc2::IfcActorSelect>(es); } -void Ifc4x3_rc2::IfcDocumentInformation::setEditors(const std::optional< std::vector< ::Ifc4x3_rc2::IfcActorSelect > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +std::optional< std::vector< ::Ifc4x3_rc2::IfcActorSelect > > Ifc4x3_rc2::IfcDocumentInformation::Editors() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc2::IfcActorSelect>(es); } +void Ifc4x3_rc2::IfcDocumentInformation::setEditors(const std::optional< std::vector< ::Ifc4x3_rc2::IfcActorSelect > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } std::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::CreationTime() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcDocumentInformation::setCreationTime(const std::optional< std::string >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } std::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::LastRevisionTime() const { if(get_attribute_value(11).isNull()) { return std::nullopt; } std::string v = get_attribute_value(11); return v; } @@ -10169,24 +10169,24 @@ 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]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcDocumentInformation Ifc4x3_rc2::IfcDocumentInformationRelationship::RelatingDocument() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcDocumentInformation>(); } void Ifc4x3_rc2::IfcDocumentInformationRelationship::setRelatingDocument(const ::Ifc4x3_rc2::IfcDocumentInformation& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_rc2::IfcDocumentInformation > Ifc4x3_rc2::IfcDocumentInformationRelationship::RelatedDocuments() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc2::IfcDocumentInformation>(es); } -void Ifc4x3_rc2::IfcDocumentInformationRelationship::setRelatedDocuments(const std::vector< ::Ifc4x3_rc2::IfcDocumentInformation >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc2::IfcDocumentInformation > Ifc4x3_rc2::IfcDocumentInformationRelationship::RelatedDocuments() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc2::IfcDocumentInformation>(es); } +void Ifc4x3_rc2::IfcDocumentInformationRelationship::setRelatedDocuments(const std::vector< ::Ifc4x3_rc2::IfcDocumentInformation >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc2::IfcDocumentInformationRelationship::RelationshipType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcDocumentInformationRelationship::setRelationshipType(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const ifcopenshell::entity& Ifc4x3_rc2::IfcDocumentInformationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[341]); } -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; } +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; } void Ifc4x3_rc2::IfcDocumentReference::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc2::IfcDocumentInformation Ifc4x3_rc2::IfcDocumentReference::ReferencedDocument() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc2::IfcDocumentInformation{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcDocumentInformation>(); } +::Ifc4x3_rc2::IfcDocumentInformation Ifc4x3_rc2::IfcDocumentReference::ReferencedDocument() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc2::IfcDocumentInformation{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcDocumentInformation>(); } void Ifc4x3_rc2::IfcDocumentReference::setReferencedDocument(const ::Ifc4x3_rc2::IfcDocumentInformation& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::vector<::Ifc4x3_rc2::IfcRelAssociatesDocument> Ifc4x3_rc2::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[930], 5)); } @@ -10231,7 +10231,7 @@ std::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::CasingThickness() c void Ifc4x3_rc2::IfcDoorLiningProperties::setCasingThickness(const std::optional< double >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } std::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::CasingDepth() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc2::IfcDoorLiningProperties::setCasingDepth(const std::optional< double >& v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -::Ifc4x3_rc2::IfcShapeAspect Ifc4x3_rc2::IfcDoorLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(14).isNull()) { return ::Ifc4x3_rc2::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(14))).as<::Ifc4x3_rc2::IfcShapeAspect>(); } +::Ifc4x3_rc2::IfcShapeAspect Ifc4x3_rc2::IfcDoorLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(14).isNull()) { return ::Ifc4x3_rc2::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(14))).as<::Ifc4x3_rc2::IfcShapeAspect>(); } void Ifc4x3_rc2::IfcDoorLiningProperties::setShapeAspectStyle(const ::Ifc4x3_rc2::IfcShapeAspect& v) { set_attribute_value(14, v);if constexpr (false)unset_attribute_value(14); } std::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(get_attribute_value(15).isNull()) { return std::nullopt; } double v = get_attribute_value(15); return v; } void Ifc4x3_rc2::IfcDoorLiningProperties::setLiningToPanelOffsetX(const std::optional< double >& v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } @@ -10251,7 +10251,7 @@ std::optional< double > Ifc4x3_rc2::IfcDoorPanelProperties::PanelWidth() const { void Ifc4x3_rc2::IfcDoorPanelProperties::setPanelWidth(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_rc2::IfcDoorPanelPositionEnum::Value Ifc4x3_rc2::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x3_rc2::IfcDoorPanelPositionEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc2::IfcDoorPanelProperties::setPanelPosition(const ::Ifc4x3_rc2::IfcDoorPanelPositionEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4x3_rc2::IfcDoorPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc2::IfcShapeAspect Ifc4x3_rc2::IfcDoorPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc2::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc2::IfcShapeAspect>(); } +::Ifc4x3_rc2::IfcShapeAspect Ifc4x3_rc2::IfcDoorPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc2::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc2::IfcShapeAspect>(); } void Ifc4x3_rc2::IfcDoorPanelProperties::setShapeAspectStyle(const ::Ifc4x3_rc2::IfcShapeAspect& v) { set_attribute_value(8, v);if constexpr (false)unset_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]); } -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; } +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,7 +10290,7 @@ void Ifc4x3_rc2::IfcDoorType::setUserDefinedOperationType(const std::optional< s const ifcopenshell::entity& Ifc4x3_rc2::IfcDoorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[354]); } -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; } +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 @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -10375,9 +10375,9 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcEarthworksFill::Class() { return *((i 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>(); } +::Ifc4x3_rc2::IfcVertex Ifc4x3_rc2::IfcEdge::EdgeStart() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcVertex>(); } void Ifc4x3_rc2::IfcEdge::setEdgeStart(const ::Ifc4x3_rc2::IfcVertex& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcVertex Ifc4x3_rc2::IfcEdge::EdgeEnd() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcVertex>(); } +::Ifc4x3_rc2::IfcVertex Ifc4x3_rc2::IfcEdge::EdgeEnd() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcVertex>(); } void Ifc4x3_rc2::IfcEdge::setEdgeEnd(const ::Ifc4x3_rc2::IfcVertex& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -10385,7 +10385,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcEdge::Class() { return *((ifcopenshel 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>(); } +::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcEdgeCurve::EdgeGeometry() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcCurve>(); } void Ifc4x3_rc2::IfcEdgeCurve::setEdgeGeometry(const ::Ifc4x3_rc2::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } bool Ifc4x3_rc2::IfcEdgeCurve::SameSense() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcEdgeCurve::setSameSense(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -10395,12 +10395,12 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcEdgeCurve::Class() { return *((ifcope 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); } -void Ifc4x3_rc2::IfcEdgeLoop::setEdgeList(const std::vector< ::Ifc4x3_rc2::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc2::IfcOrientedEdge > Ifc4x3_rc2::IfcEdgeLoop::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcOrientedEdge>(es); } +void Ifc4x3_rc2::IfcEdgeLoop::setEdgeList(const std::vector< ::Ifc4x3_rc2::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc2::IfcEdgeLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[378]); } -Ifc4x3_rc2::IfcEdgeLoop Ifc4x3_rc2::IfcEdgeLoop::initialize(std::vector< ::Ifc4x3_rc2::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -10549,7 +10549,7 @@ void Ifc4x3_rc2::IfcElementAssemblyType::setPredefinedType(const ::Ifc4x3_rc2::I const ifcopenshell::entity& Ifc4x3_rc2::IfcElementAssemblyType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[409]); } -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; } +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 @@ -10561,17 +10561,17 @@ Ifc4x3_rc2::IfcElementComponent Ifc4x3_rc2::IfcElementComponent::initialize(std: const ifcopenshell::entity& Ifc4x3_rc2::IfcElementComponentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[412]); } -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; } +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; } void Ifc4x3_rc2::IfcElementQuantity::setMethodOfMeasurement(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector< ::Ifc4x3_rc2::IfcPhysicalQuantity > Ifc4x3_rc2::IfcElementQuantity::Quantities() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc2::IfcPhysicalQuantity>(es); } -void Ifc4x3_rc2::IfcElementQuantity::setQuantities(const std::vector< ::Ifc4x3_rc2::IfcPhysicalQuantity >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc2::IfcPhysicalQuantity > Ifc4x3_rc2::IfcElementQuantity::Quantities() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc2::IfcPhysicalQuantity>(es); } +void Ifc4x3_rc2::IfcElementQuantity::setQuantities(const std::vector< ::Ifc4x3_rc2::IfcPhysicalQuantity >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc2::IfcElementQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[414]); } -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; } +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,10 +10579,10 @@ void Ifc4x3_rc2::IfcElementType::setElementType(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc2::IfcElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[415]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcAxis2Placement3D Ifc4x3_rc2::IfcElementarySurface::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcAxis2Placement3D>(); } void Ifc4x3_rc2::IfcElementarySurface::setPosition(const ::Ifc4x3_rc2::IfcAxis2Placement3D& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -10619,7 +10619,7 @@ Ifc4x3_rc2::IfcEnergyConversionDevice Ifc4x3_rc2::IfcEnergyConversionDevice::ini const ifcopenshell::entity& Ifc4x3_rc2::IfcEnergyConversionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[419]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -10676,7 +10676,7 @@ std::optional< ::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value > Ifc4x3_rc2::IfcEve void Ifc4x3_rc2::IfcEvent::setEventTriggerType(const std::optional< ::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } std::optional< std::string > Ifc4x3_rc2::IfcEvent::UserDefinedEventTriggerType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcEvent::setUserDefinedEventTriggerType(const std::optional< std::string >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -::Ifc4x3_rc2::IfcEventTime Ifc4x3_rc2::IfcEvent::EventOccurenceTime() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc2::IfcEventTime{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_rc2::IfcEventTime>(); } +::Ifc4x3_rc2::IfcEventTime Ifc4x3_rc2::IfcEvent::EventOccurenceTime() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc2::IfcEventTime{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x3_rc2::IfcEventTime>(); } void Ifc4x3_rc2::IfcEvent::setEventOccurenceTime(const ::Ifc4x3_rc2::IfcEventTime& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } @@ -10707,19 +10707,19 @@ void Ifc4x3_rc2::IfcEventType::setUserDefinedEventTriggerType(const std::optiona const ifcopenshell::entity& Ifc4x3_rc2::IfcEventType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[433]); } -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; } +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; } void Ifc4x3_rc2::IfcExtendedProperties::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_rc2::IfcExtendedProperties::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcExtendedProperties::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x3_rc2::IfcProperty > Ifc4x3_rc2::IfcExtendedProperties::Properties() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcProperty>(es); } -void Ifc4x3_rc2::IfcExtendedProperties::setProperties(const std::vector< ::Ifc4x3_rc2::IfcProperty >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc2::IfcProperty > Ifc4x3_rc2::IfcExtendedProperties::Properties() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcProperty>(es); } +void Ifc4x3_rc2::IfcExtendedProperties::setProperties(const std::vector< ::Ifc4x3_rc2::IfcProperty >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc2::IfcExtendedProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[435]); } -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; } +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 @@ -10741,14 +10741,14 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcExternalReference::Class() { return * 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>(); } +::Ifc4x3_rc2::IfcExternalReference Ifc4x3_rc2::IfcExternalReferenceRelationship::RelatingReference() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcExternalReference>(); } void Ifc4x3_rc2::IfcExternalReferenceRelationship::setRelatingReference(const ::Ifc4x3_rc2::IfcExternalReference& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_rc2::IfcResourceObjectSelect > Ifc4x3_rc2::IfcExternalReferenceRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc2::IfcResourceObjectSelect>(es); } -void Ifc4x3_rc2::IfcExternalReferenceRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc2::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc2::IfcResourceObjectSelect > Ifc4x3_rc2::IfcExternalReferenceRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc2::IfcResourceObjectSelect>(es); } +void Ifc4x3_rc2::IfcExternalReferenceRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc2::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc2::IfcExternalReferenceRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[441]); } -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; } +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)); } @@ -10784,7 +10784,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcExternallyDefinedTextFont::Class() { 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>(); } +::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcDirection>(); } void Ifc4x3_rc2::IfcExtrudedAreaSolid::setExtrudedDirection(const ::Ifc4x3_rc2::IfcDirection& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc4x3_rc2::IfcExtrudedAreaSolid::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcExtrudedAreaSolid::setDepth(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -10794,7 +10794,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcExtrudedAreaSolid::Class() { return * 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>(); } +::Ifc4x3_rc2::IfcProfileDef Ifc4x3_rc2::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcProfileDef>(); } void Ifc4x3_rc2::IfcExtrudedAreaSolidTapered::setEndSweptArea(const ::Ifc4x3_rc2::IfcProfileDef& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -10802,24 +10802,24 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcExtrudedAreaSolidTapered::Class() { r 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); } -void Ifc4x3_rc2::IfcFace::setBounds(const std::vector< ::Ifc4x3_rc2::IfcFaceBound >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc2::IfcFaceBound > Ifc4x3_rc2::IfcFace::Bounds() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcFaceBound>(es); } +void Ifc4x3_rc2::IfcFace::setBounds(const std::vector< ::Ifc4x3_rc2::IfcFaceBound >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } 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]); } -Ifc4x3_rc2::IfcFace Ifc4x3_rc2::IfcFace::initialize(std::vector< ::Ifc4x3_rc2::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds));; return *this; } +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); } -void Ifc4x3_rc2::IfcFaceBasedSurfaceModel::setFbsmFaces(const std::vector< ::Ifc4x3_rc2::IfcConnectedFaceSet >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc2::IfcConnectedFaceSet > Ifc4x3_rc2::IfcFaceBasedSurfaceModel::FbsmFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcConnectedFaceSet>(es); } +void Ifc4x3_rc2::IfcFaceBasedSurfaceModel::setFbsmFaces(const std::vector< ::Ifc4x3_rc2::IfcConnectedFaceSet >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc2::IfcFaceBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[448]); } -Ifc4x3_rc2::IfcFaceBasedSurfaceModel Ifc4x3_rc2::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_rc2::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces));; return *this; } +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>(); } +::Ifc4x3_rc2::IfcLoop Ifc4x3_rc2::IfcFaceBound::Bound() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcLoop>(); } void Ifc4x3_rc2::IfcFaceBound::setBound(const ::Ifc4x3_rc2::IfcLoop& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } bool Ifc4x3_rc2::IfcFaceBound::Orientation() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcFaceBound::setOrientation(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -10835,14 +10835,14 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcFaceOuterBound::Class() { return *((i 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>(); } +::Ifc4x3_rc2::IfcSurface Ifc4x3_rc2::IfcFaceSurface::FaceSurface() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcSurface>(); } void Ifc4x3_rc2::IfcFaceSurface::setFaceSurface(const ::Ifc4x3_rc2::IfcSurface& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } bool Ifc4x3_rc2::IfcFaceSurface::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcFaceSurface::setSameSense(const bool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc2::IfcFaceSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[451]); } -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; } +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 @@ -10851,12 +10851,12 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcFacetedBrep::Class() { return *((ifco 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); } -void Ifc4x3_rc2::IfcFacetedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_rc2::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc2::IfcClosedShell > Ifc4x3_rc2::IfcFacetedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcClosedShell>(es); } +void Ifc4x3_rc2::IfcFacetedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_rc2::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_rc2::IfcFacetedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[453]); } -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; } +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 @@ -10865,7 +10865,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcFacility::Class() { return *((ifcopen 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>(); } +::Ifc4x3_rc2::IfcFacilityPartTypeSelect Ifc4x3_rc2::IfcFacilityPart::PredefinedType() const { return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc2::IfcFacilityPartTypeSelect>(); } void Ifc4x3_rc2::IfcFacilityPart::setPredefinedType(const ::Ifc4x3_rc2::IfcFacilityPartTypeSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } ::Ifc4x3_rc2::IfcFacilityUsageEnum::Value Ifc4x3_rc2::IfcFacilityPart::UsageType() const { return ::Ifc4x3_rc2::IfcFacilityUsageEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc2::IfcFacilityPart::setUsageType(const ::Ifc4x3_rc2::IfcFacilityUsageEnum::Value& v) { set_attribute_value(10, enumeration_reference(&::Ifc4x3_rc2::IfcFacilityUsageEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } @@ -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]); } -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; } +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)); } @@ -10922,7 +10922,7 @@ void Ifc4x3_rc2::IfcFastenerType::setPredefinedType(const ::Ifc4x3_rc2::IfcFaste const ifcopenshell::entity& Ifc4x3_rc2::IfcFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[464]); } -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; } +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 @@ -10945,23 +10945,23 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcFeatureElementSubtraction::Class() { 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); } -void Ifc4x3_rc2::IfcFillAreaStyle::setFillStyles(const std::vector< ::Ifc4x3_rc2::IfcFillStyleSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc2::IfcFillStyleSelect > Ifc4x3_rc2::IfcFillAreaStyle::FillStyles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcFillStyleSelect>(es); } +void Ifc4x3_rc2::IfcFillAreaStyle::setFillStyles(const std::vector< ::Ifc4x3_rc2::IfcFillStyleSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< bool > Ifc4x3_rc2::IfcFillAreaStyle::ModelOrDraughting() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } bool v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcFillAreaStyle::setModelOrDraughting(const std::optional< bool >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_rc2::IfcFillAreaStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[469]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcCurveStyle Ifc4x3_rc2::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCurveStyle>(); } void Ifc4x3_rc2::IfcFillAreaStyleHatching::setHatchLineAppearance(const ::Ifc4x3_rc2::IfcCurveStyle& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcHatchLineDistanceSelect Ifc4x3_rc2::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcHatchLineDistanceSelect>(); } +::Ifc4x3_rc2::IfcHatchLineDistanceSelect Ifc4x3_rc2::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcHatchLineDistanceSelect>(); } void Ifc4x3_rc2::IfcFillAreaStyleHatching::setStartOfNextHatchLine(const ::Ifc4x3_rc2::IfcHatchLineDistanceSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcCartesianPoint Ifc4x3_rc2::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcCartesianPoint{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcCartesianPoint>(); } +::Ifc4x3_rc2::IfcCartesianPoint Ifc4x3_rc2::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcCartesianPoint{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcCartesianPoint>(); } void Ifc4x3_rc2::IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(const ::Ifc4x3_rc2::IfcCartesianPoint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcCartesianPoint Ifc4x3_rc2::IfcFillAreaStyleHatching::PatternStart() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcCartesianPoint{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcCartesianPoint>(); } +::Ifc4x3_rc2::IfcCartesianPoint Ifc4x3_rc2::IfcFillAreaStyleHatching::PatternStart() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcCartesianPoint{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcCartesianPoint>(); } void Ifc4x3_rc2::IfcFillAreaStyleHatching::setPatternStart(const ::Ifc4x3_rc2::IfcCartesianPoint& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } double Ifc4x3_rc2::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcFillAreaStyleHatching::setHatchLineAngle(const double& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -10971,16 +10971,16 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcFillAreaStyleHatching::Class() { retu 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); } -void Ifc4x3_rc2::IfcFillAreaStyleTiles::setTilingPattern(const std::vector< ::Ifc4x3_rc2::IfcVector >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc2::IfcStyledItem > Ifc4x3_rc2::IfcFillAreaStyleTiles::Tiles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcStyledItem>(es); } -void Ifc4x3_rc2::IfcFillAreaStyleTiles::setTiles(const std::vector< ::Ifc4x3_rc2::IfcStyledItem >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc2::IfcVector > Ifc4x3_rc2::IfcFillAreaStyleTiles::TilingPattern() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcVector>(es); } +void Ifc4x3_rc2::IfcFillAreaStyleTiles::setTilingPattern(const std::vector< ::Ifc4x3_rc2::IfcVector >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc2::IfcStyledItem > Ifc4x3_rc2::IfcFillAreaStyleTiles::Tiles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcStyledItem>(es); } +void Ifc4x3_rc2::IfcFillAreaStyleTiles::setTiles(const std::vector< ::Ifc4x3_rc2::IfcStyledItem >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } double Ifc4x3_rc2::IfcFillAreaStyleTiles::TilingScale() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcFillAreaStyleTiles::setTilingScale(const double& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc2::IfcFillAreaStyleTiles::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[471]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -11012,10 +11012,10 @@ void Ifc4x3_rc2::IfcFireSuppressionTerminalType::setPredefinedType(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc2::IfcFireSuppressionTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[477]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcDirection>(); } void Ifc4x3_rc2::IfcFixedReferenceSweptAreaSolid::setFixedReference(const ::Ifc4x3_rc2::IfcDirection& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -11032,7 +11032,7 @@ Ifc4x3_rc2::IfcFlowController Ifc4x3_rc2::IfcFlowController::initialize(std::str const ifcopenshell::entity& Ifc4x3_rc2::IfcFlowControllerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[481]); } -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; } +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 @@ -11044,7 +11044,7 @@ Ifc4x3_rc2::IfcFlowFitting Ifc4x3_rc2::IfcFlowFitting::initialize(std::string v1 const ifcopenshell::entity& Ifc4x3_rc2::IfcFlowFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[484]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -11076,7 +11076,7 @@ void Ifc4x3_rc2::IfcFlowMeterType::setPredefinedType(const ::Ifc4x3_rc2::IfcFlow const ifcopenshell::entity& Ifc4x3_rc2::IfcFlowMeterType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[489]); } -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; } +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 @@ -11088,7 +11088,7 @@ Ifc4x3_rc2::IfcFlowMovingDevice Ifc4x3_rc2::IfcFlowMovingDevice::initialize(std: const ifcopenshell::entity& Ifc4x3_rc2::IfcFlowMovingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[492]); } -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; } +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 @@ -11100,7 +11100,7 @@ Ifc4x3_rc2::IfcFlowSegment Ifc4x3_rc2::IfcFlowSegment::initialize(std::string v1 const ifcopenshell::entity& Ifc4x3_rc2::IfcFlowSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[494]); } -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; } +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 @@ -11112,7 +11112,7 @@ Ifc4x3_rc2::IfcFlowStorageDevice Ifc4x3_rc2::IfcFlowStorageDevice::initialize(st const ifcopenshell::entity& Ifc4x3_rc2::IfcFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[496]); } -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; } +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 @@ -11124,7 +11124,7 @@ Ifc4x3_rc2::IfcFlowTerminal Ifc4x3_rc2::IfcFlowTerminal::initialize(std::string const ifcopenshell::entity& Ifc4x3_rc2::IfcFlowTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[498]); } -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; } +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 @@ -11136,7 +11136,7 @@ Ifc4x3_rc2::IfcFlowTreatmentDevice Ifc4x3_rc2::IfcFlowTreatmentDevice::initializ const ifcopenshell::entity& Ifc4x3_rc2::IfcFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[500]); } -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; } +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)); } @@ -11152,7 +11152,7 @@ void Ifc4x3_rc2::IfcFootingType::setPredefinedType(const ::Ifc4x3_rc2::IfcFootin const ifcopenshell::entity& Ifc4x3_rc2::IfcFootingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[505]); } -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; } +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 @@ -11164,7 +11164,7 @@ Ifc4x3_rc2::IfcFurnishingElement Ifc4x3_rc2::IfcFurnishingElement::initialize(st const ifcopenshell::entity& Ifc4x3_rc2::IfcFurnishingElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[510]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -11198,22 +11198,22 @@ void Ifc4x3_rc2::IfcGeographicElementType::setPredefinedType(const ::Ifc4x3_rc2: const ifcopenshell::entity& Ifc4x3_rc2::IfcGeographicElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[515]); } -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; } +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]); } -Ifc4x3_rc2::IfcGeometricCurveSet Ifc4x3_rc2::IfcGeometricCurveSet::initialize(std::vector< ::Ifc4x3_rc2::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } +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 int64_t Ifc4x3_rc2::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int64_t v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(const int64_t& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc4x3_rc2::IfcGeometricRepresentationContext::Precision() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcGeometricRepresentationContext::setPrecision(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc2::IfcAxis2Placement Ifc4x3_rc2::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcAxis2Placement>(); } +::Ifc4x3_rc2::IfcAxis2Placement Ifc4x3_rc2::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcAxis2Placement>(); } void Ifc4x3_rc2::IfcGeometricRepresentationContext::setWorldCoordinateSystem(const ::Ifc4x3_rc2::IfcAxis2Placement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc2::IfcDirection{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcDirection>(); } +::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc2::IfcDirection{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcDirection>(); } void Ifc4x3_rc2::IfcGeometricRepresentationContext::setTrueNorth(const ::Ifc4x3_rc2::IfcDirection& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } std::vector<::Ifc4x3_rc2::IfcGeometricRepresentationSubContext> Ifc4x3_rc2::IfcGeometricRepresentationContext::HasSubContexts() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[521], 6)); } @@ -11229,7 +11229,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcGeometricRepresentationItem::Class() 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>(); } +::Ifc4x3_rc2::IfcGeometricRepresentationContext Ifc4x3_rc2::IfcGeometricRepresentationSubContext::ParentContext() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcGeometricRepresentationContext>(); } void Ifc4x3_rc2::IfcGeometricRepresentationSubContext::setParentContext(const ::Ifc4x3_rc2::IfcGeometricRepresentationContext& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< double > Ifc4x3_rc2::IfcGeometricRepresentationSubContext::TargetScale() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcGeometricRepresentationSubContext::setTargetScale(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } @@ -11243,12 +11243,12 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcGeometricRepresentationSubContext::Cl 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); } -void Ifc4x3_rc2::IfcGeometricSet::setElements(const std::vector< ::Ifc4x3_rc2::IfcGeometricSetSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc2::IfcGeometricSetSelect > Ifc4x3_rc2::IfcGeometricSet::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcGeometricSetSelect>(es); } +void Ifc4x3_rc2::IfcGeometricSet::setElements(const std::vector< ::Ifc4x3_rc2::IfcGeometricSetSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc2::IfcGeometricSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[522]); } -Ifc4x3_rc2::IfcGeometricSet Ifc4x3_rc2::IfcGeometricSet::initialize(std::vector< ::Ifc4x3_rc2::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } +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 @@ -11281,35 +11281,35 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcGeotechnicalStratum::Class() { return 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>(); } +::Ifc4x3_rc2::IfcBoundedCurve Ifc4x3_rc2::IfcGradientCurve::BaseCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcBoundedCurve>(); } void Ifc4x3_rc2::IfcGradientCurve::setBaseCurve(const ::Ifc4x3_rc2::IfcBoundedCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc2::IfcCurveSegment > Ifc4x3_rc2::IfcGradientCurve::Segments() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcCurveSegment>(es); } -void Ifc4x3_rc2::IfcGradientCurve::setSegments(const std::vector< ::Ifc4x3_rc2::IfcCurveSegment >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcCartesianPoint Ifc4x3_rc2::IfcGradientCurve::EndPoint() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcCartesianPoint{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcCartesianPoint>(); } +std::vector< ::Ifc4x3_rc2::IfcCurveSegment > Ifc4x3_rc2::IfcGradientCurve::Segments() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcCurveSegment>(es); } +void Ifc4x3_rc2::IfcGradientCurve::setSegments(const std::vector< ::Ifc4x3_rc2::IfcCurveSegment >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +::Ifc4x3_rc2::IfcCartesianPoint Ifc4x3_rc2::IfcGradientCurve::EndPoint() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcCartesianPoint{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcCartesianPoint>(); } void Ifc4x3_rc2::IfcGradientCurve::setEndPoint(const ::Ifc4x3_rc2::IfcCartesianPoint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc2::IfcGradientCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[531]); } -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; } +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); } -void Ifc4x3_rc2::IfcGrid::setUAxes(const std::vector< ::Ifc4x3_rc2::IfcGridAxis >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } -std::vector< ::Ifc4x3_rc2::IfcGridAxis > Ifc4x3_rc2::IfcGrid::VAxes() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc2::IfcGridAxis>(es); } -void Ifc4x3_rc2::IfcGrid::setVAxes(const std::vector< ::Ifc4x3_rc2::IfcGridAxis >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } -std::optional< std::vector< ::Ifc4x3_rc2::IfcGridAxis > > Ifc4x3_rc2::IfcGrid::WAxes() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc2::IfcGridAxis>(es); } -void Ifc4x3_rc2::IfcGrid::setWAxes(const std::optional< std::vector< ::Ifc4x3_rc2::IfcGridAxis > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +std::vector< ::Ifc4x3_rc2::IfcGridAxis > Ifc4x3_rc2::IfcGrid::UAxes() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc2::IfcGridAxis>(es); } +void Ifc4x3_rc2::IfcGrid::setUAxes(const std::vector< ::Ifc4x3_rc2::IfcGridAxis >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } +std::vector< ::Ifc4x3_rc2::IfcGridAxis > Ifc4x3_rc2::IfcGrid::VAxes() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc2::IfcGridAxis>(es); } +void Ifc4x3_rc2::IfcGrid::setVAxes(const std::vector< ::Ifc4x3_rc2::IfcGridAxis >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } +std::optional< std::vector< ::Ifc4x3_rc2::IfcGridAxis > > Ifc4x3_rc2::IfcGrid::WAxes() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc2::IfcGridAxis>(es); } +void Ifc4x3_rc2::IfcGrid::setWAxes(const std::optional< std::vector< ::Ifc4x3_rc2::IfcGridAxis > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } std::optional< ::Ifc4x3_rc2::IfcGridTypeEnum::Value > Ifc4x3_rc2::IfcGrid::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcGridTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc2::IfcGrid::setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcGridTypeEnum::Value >& v) { if (v) {set_attribute_value(10, enumeration_reference(&::Ifc4x3_rc2::IfcGridTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const ifcopenshell::entity& Ifc4x3_rc2::IfcGrid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[532]); } -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; } +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; } void Ifc4x3_rc2::IfcGridAxis::setAxisTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcGridAxis::AxisCurve() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcCurve>(); } +::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcGridAxis::AxisCurve() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcCurve>(); } void Ifc4x3_rc2::IfcGridAxis::setAxisCurve(const ::Ifc4x3_rc2::IfcCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } bool Ifc4x3_rc2::IfcGridAxis::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcGridAxis::setSameSense(const bool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -11323,9 +11323,9 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcGridAxis::Class() { return *((ifcopen 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>(); } +::Ifc4x3_rc2::IfcVirtualGridIntersection Ifc4x3_rc2::IfcGridPlacement::PlacementLocation() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcVirtualGridIntersection>(); } void Ifc4x3_rc2::IfcGridPlacement::setPlacementLocation(const ::Ifc4x3_rc2::IfcVirtualGridIntersection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcGridPlacementDirectionSelect Ifc4x3_rc2::IfcGridPlacement::PlacementRefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcGridPlacementDirectionSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcGridPlacementDirectionSelect>(); } +::Ifc4x3_rc2::IfcGridPlacementDirectionSelect Ifc4x3_rc2::IfcGridPlacement::PlacementRefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcGridPlacementDirectionSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcGridPlacementDirectionSelect>(); } void Ifc4x3_rc2::IfcGridPlacement::setPlacementRefDirection(const ::Ifc4x3_rc2::IfcGridPlacementDirectionSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -11340,7 +11340,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcGroup::Class() { return *((ifcopenshe 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>(); } +::Ifc4x3_rc2::IfcSurface Ifc4x3_rc2::IfcHalfSpaceSolid::BaseSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcSurface>(); } void Ifc4x3_rc2::IfcHalfSpaceSolid::setBaseSurface(const ::Ifc4x3_rc2::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } bool Ifc4x3_rc2::IfcHalfSpaceSolid::AgreementFlag() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcHalfSpaceSolid::setAgreementFlag(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -11410,7 +11410,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcImageTexture::Class() { return *((ifc 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>(); } +::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>(); } void Ifc4x3_rc2::IfcImpactProtectionDevice::setPredefinedType(const ::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -11418,17 +11418,17 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcImpactProtectionDevice::Class() { ret 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>(); } +::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect Ifc4x3_rc2::IfcImpactProtectionDeviceType::PredefinedType() const { return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect>(); } void Ifc4x3_rc2::IfcImpactProtectionDeviceType::setPredefinedType(const ::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } const ifcopenshell::entity& Ifc4x3_rc2::IfcImpactProtectionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[552]); } -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; } +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; } void Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::setFixedAxisVertical(const std::optional< bool >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc2::IfcAxisLateralInclination Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::Inclinating() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcAxisLateralInclination>(); } +::Ifc4x3_rc2::IfcAxisLateralInclination Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::Inclinating() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcAxisLateralInclination>(); } void Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::setInclinating(const ::Ifc4x3_rc2::IfcAxisLateralInclination& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -11436,11 +11436,11 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::Clas 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>(); } +::Ifc4x3_rc2::IfcTessellatedFaceSet Ifc4x3_rc2::IfcIndexedColourMap::MappedTo() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcTessellatedFaceSet>(); } void Ifc4x3_rc2::IfcIndexedColourMap::setMappedTo(const ::Ifc4x3_rc2::IfcTessellatedFaceSet& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< double > Ifc4x3_rc2::IfcIndexedColourMap::Opacity() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcIndexedColourMap::setOpacity(const std::optional< double >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc2::IfcColourRgbList Ifc4x3_rc2::IfcIndexedColourMap::Colours() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcColourRgbList>(); } +::Ifc4x3_rc2::IfcColourRgbList Ifc4x3_rc2::IfcIndexedColourMap::Colours() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcColourRgbList>(); } void Ifc4x3_rc2::IfcIndexedColourMap::setColours(const ::Ifc4x3_rc2::IfcColourRgbList& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::vector< int64_t > /*[1:?]*/ Ifc4x3_rc2::IfcIndexedColourMap::ColourIndex() const { std::vector< int64_t > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcIndexedColourMap::setColourIndex(const std::vector< int64_t > /*[1:?]*/& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -11450,16 +11450,16 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcIndexedColourMap::Class() { return *( Ifc4x3_rc2::IfcIndexedColourMap Ifc4x3_rc2::IfcIndexedColourMap::initialize(::Ifc4x3_rc2::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_rc2::IfcColourRgbList v3_Colours, std::vector< int64_t > /*[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>(); } +::Ifc4x3_rc2::IfcCartesianPointList Ifc4x3_rc2::IfcIndexedPolyCurve::Points() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCartesianPointList>(); } void Ifc4x3_rc2::IfcIndexedPolyCurve::setPoints(const ::Ifc4x3_rc2::IfcCartesianPointList& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::optional< std::vector< ::Ifc4x3_rc2::IfcSegmentIndexSelect > > Ifc4x3_rc2::IfcIndexedPolyCurve::Segments() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcSegmentIndexSelect>(es); } -void Ifc4x3_rc2::IfcIndexedPolyCurve::setSegments(const std::optional< std::vector< ::Ifc4x3_rc2::IfcSegmentIndexSelect > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } +std::optional< std::vector< ::Ifc4x3_rc2::IfcSegmentIndexSelect > > Ifc4x3_rc2::IfcIndexedPolyCurve::Segments() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcSegmentIndexSelect>(es); } +void Ifc4x3_rc2::IfcIndexedPolyCurve::setSegments(const std::optional< std::vector< ::Ifc4x3_rc2::IfcSegmentIndexSelect > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } std::optional< bool > Ifc4x3_rc2::IfcIndexedPolyCurve::SelfIntersect() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } bool v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcIndexedPolyCurve::setSelfIntersect(const std::optional< bool >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_rc2::IfcIndexedPolyCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[557]); } -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; } +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< int64_t > /*[3:?]*/ Ifc4x3_rc2::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int64_t > /*[3:?]*/ v = get_attribute_value(0); return v; } @@ -11479,14 +11479,14 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcIndexedPolygonalFaceWithVoids::Class( Ifc4x3_rc2::IfcIndexedPolygonalFaceWithVoids Ifc4x3_rc2::IfcIndexedPolygonalFaceWithVoids::initialize(std::vector< int64_t > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int64_t > > 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>(); } +::Ifc4x3_rc2::IfcTessellatedFaceSet Ifc4x3_rc2::IfcIndexedTextureMap::MappedTo() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcTessellatedFaceSet>(); } void Ifc4x3_rc2::IfcIndexedTextureMap::setMappedTo(const ::Ifc4x3_rc2::IfcTessellatedFaceSet& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcTextureVertexList Ifc4x3_rc2::IfcIndexedTextureMap::TexCoords() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcTextureVertexList>(); } +::Ifc4x3_rc2::IfcTextureVertexList Ifc4x3_rc2::IfcIndexedTextureMap::TexCoords() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcTextureVertexList>(); } void Ifc4x3_rc2::IfcIndexedTextureMap::setTexCoords(const ::Ifc4x3_rc2::IfcTextureVertexList& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc2::IfcIndexedTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[560]); } -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; } +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< int64_t > > > Ifc4x3_rc2::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< std::vector< int64_t > > 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]); } -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< int64_t > > > 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; } +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< int64_t > > > 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)); } @@ -11510,49 +11510,49 @@ void Ifc4x3_rc2::IfcInterceptorType::setPredefinedType(const ::Ifc4x3_rc2::IfcIn const ifcopenshell::entity& Ifc4x3_rc2::IfcInterceptorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[566]); } -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; } +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]); } -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; } +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)); } void Ifc4x3_rc2::IfcInventory::setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcInventoryTypeEnum::Value >& v) { if (v) {set_attribute_value(5, enumeration_reference(&::Ifc4x3_rc2::IfcInventoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -::Ifc4x3_rc2::IfcActorSelect Ifc4x3_rc2::IfcInventory::Jurisdiction() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcActorSelect>(); } +::Ifc4x3_rc2::IfcActorSelect Ifc4x3_rc2::IfcInventory::Jurisdiction() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcActorSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcActorSelect>(); } void Ifc4x3_rc2::IfcInventory::setJurisdiction(const ::Ifc4x3_rc2::IfcActorSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::optional< std::vector< ::Ifc4x3_rc2::IfcPerson > > Ifc4x3_rc2::IfcInventory::ResponsiblePersons() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc2::IfcPerson>(es); } -void Ifc4x3_rc2::IfcInventory::setResponsiblePersons(const std::optional< std::vector< ::Ifc4x3_rc2::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x3_rc2::IfcPerson > > Ifc4x3_rc2::IfcInventory::ResponsiblePersons() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc2::IfcPerson>(es); } +void Ifc4x3_rc2::IfcInventory::setResponsiblePersons(const std::optional< std::vector< ::Ifc4x3_rc2::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< std::string > Ifc4x3_rc2::IfcInventory::LastUpdateDate() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcInventory::setLastUpdateDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_rc2::IfcCostValue Ifc4x3_rc2::IfcInventory::CurrentValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc2::IfcCostValue{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc2::IfcCostValue>(); } +::Ifc4x3_rc2::IfcCostValue Ifc4x3_rc2::IfcInventory::CurrentValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc2::IfcCostValue{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc2::IfcCostValue>(); } void Ifc4x3_rc2::IfcInventory::setCurrentValue(const ::Ifc4x3_rc2::IfcCostValue& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc2::IfcCostValue Ifc4x3_rc2::IfcInventory::OriginalValue() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc2::IfcCostValue{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_rc2::IfcCostValue>(); } +::Ifc4x3_rc2::IfcCostValue Ifc4x3_rc2::IfcInventory::OriginalValue() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc2::IfcCostValue{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x3_rc2::IfcCostValue>(); } void Ifc4x3_rc2::IfcInventory::setOriginalValue(const ::Ifc4x3_rc2::IfcCostValue& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } const ifcopenshell::entity& Ifc4x3_rc2::IfcInventory::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[571]); } -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; } +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); } -void Ifc4x3_rc2::IfcIrregularTimeSeries::setValues(const std::vector< ::Ifc4x3_rc2::IfcIrregularTimeSeriesValue >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } +std::vector< ::Ifc4x3_rc2::IfcIrregularTimeSeriesValue > Ifc4x3_rc2::IfcIrregularTimeSeries::Values() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc2::IfcIrregularTimeSeriesValue>(es); } +void Ifc4x3_rc2::IfcIrregularTimeSeries::setValues(const std::vector< ::Ifc4x3_rc2::IfcIrregularTimeSeriesValue >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } const ifcopenshell::entity& Ifc4x3_rc2::IfcIrregularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[574]); } -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; } +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; } void Ifc4x3_rc2::IfcIrregularTimeSeriesValue::setTimeStamp(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc2::IfcValue > Ifc4x3_rc2::IfcIrregularTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcValue>(es); } -void Ifc4x3_rc2::IfcIrregularTimeSeriesValue::setListValues(const std::vector< ::Ifc4x3_rc2::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc2::IfcValue > Ifc4x3_rc2::IfcIrregularTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcValue>(es); } +void Ifc4x3_rc2::IfcIrregularTimeSeriesValue::setListValues(const std::vector< ::Ifc4x3_rc2::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_rc2::IfcIrregularTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[575]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -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]); } -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; } +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; } @@ -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]); } -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; } +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,10 +11618,10 @@ void Ifc4x3_rc2::IfcLaborResourceType::setPredefinedType(const ::Ifc4x3_rc2::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcLaborResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[587]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcTimeOrRatioSelect Ifc4x3_rc2::IfcLagTime::LagValue() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcTimeOrRatioSelect>(); } void Ifc4x3_rc2::IfcLagTime::setLagValue(const ::Ifc4x3_rc2::IfcTimeOrRatioSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } ::Ifc4x3_rc2::IfcTaskDurationEnum::Value Ifc4x3_rc2::IfcLagTime::DurationType() const { return ::Ifc4x3_rc2::IfcTaskDurationEnum::FromString(get_attribute_value(4)); } void Ifc4x3_rc2::IfcLagTime::setDurationType(const ::Ifc4x3_rc2::IfcTaskDurationEnum::Value& v) { set_attribute_value(4, enumeration_reference(&::Ifc4x3_rc2::IfcTaskDurationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } @@ -11644,14 +11644,14 @@ void Ifc4x3_rc2::IfcLampType::setPredefinedType(const ::Ifc4x3_rc2::IfcLampTypeE const ifcopenshell::entity& Ifc4x3_rc2::IfcLampType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[591]); } -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; } +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; } void Ifc4x3_rc2::IfcLibraryInformation::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x3_rc2::IfcLibraryInformation::Version() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcLibraryInformation::setVersion(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc2::IfcActorSelect Ifc4x3_rc2::IfcLibraryInformation::Publisher() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcActorSelect>(); } +::Ifc4x3_rc2::IfcActorSelect Ifc4x3_rc2::IfcLibraryInformation::Publisher() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcActorSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcActorSelect>(); } void Ifc4x3_rc2::IfcLibraryInformation::setPublisher(const ::Ifc4x3_rc2::IfcActorSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4x3_rc2::IfcLibraryInformation::VersionDate() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcLibraryInformation::setVersionDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } @@ -11671,7 +11671,7 @@ std::optional< std::string > Ifc4x3_rc2::IfcLibraryReference::Description() cons void Ifc4x3_rc2::IfcLibraryReference::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } std::optional< std::string > Ifc4x3_rc2::IfcLibraryReference::Language() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcLibraryReference::setLanguage(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc2::IfcLibraryInformation Ifc4x3_rc2::IfcLibraryReference::ReferencedLibrary() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc2::IfcLibraryInformation{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcLibraryInformation>(); } +::Ifc4x3_rc2::IfcLibraryInformation Ifc4x3_rc2::IfcLibraryReference::ReferencedLibrary() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc2::IfcLibraryInformation{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcLibraryInformation>(); } void Ifc4x3_rc2::IfcLibraryReference::setReferencedLibrary(const ::Ifc4x3_rc2::IfcLibraryInformation& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } std::vector<::Ifc4x3_rc2::IfcRelAssociatesLibrary> Ifc4x3_rc2::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[931], 5)); } @@ -11705,22 +11705,22 @@ void Ifc4x3_rc2::IfcLightFixtureType::setPredefinedType(const ::Ifc4x3_rc2::IfcL const ifcopenshell::entity& Ifc4x3_rc2::IfcLightFixtureType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[605]); } -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; } +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)); } void Ifc4x3_rc2::IfcLightIntensityDistribution::setLightDistributionCurve(const ::Ifc4x3_rc2::IfcLightDistributionCurveEnum::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc4x3_rc2::IfcLightDistributionCurveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc2::IfcLightDistributionData > Ifc4x3_rc2::IfcLightIntensityDistribution::DistributionData() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcLightDistributionData>(es); } -void Ifc4x3_rc2::IfcLightIntensityDistribution::setDistributionData(const std::vector< ::Ifc4x3_rc2::IfcLightDistributionData >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc2::IfcLightDistributionData > Ifc4x3_rc2::IfcLightIntensityDistribution::DistributionData() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcLightDistributionData>(es); } +void Ifc4x3_rc2::IfcLightIntensityDistribution::setDistributionData(const std::vector< ::Ifc4x3_rc2::IfcLightDistributionData >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_rc2::IfcLightIntensityDistribution::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[607]); } -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; } +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; } void Ifc4x3_rc2::IfcLightSource::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_rc2::IfcColourRgb Ifc4x3_rc2::IfcLightSource::LightColour() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcColourRgb>(); } +::Ifc4x3_rc2::IfcColourRgb Ifc4x3_rc2::IfcLightSource::LightColour() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcColourRgb>(); } void Ifc4x3_rc2::IfcLightSource::setLightColour(const ::Ifc4x3_rc2::IfcColourRgb& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< double > Ifc4x3_rc2::IfcLightSource::AmbientIntensity() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcLightSource::setAmbientIntensity(const std::optional< double >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } @@ -11738,7 +11738,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcLightSourceAmbient::Class() { return 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>(); } +::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcLightSourceDirectional::Orientation() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcDirection>(); } void Ifc4x3_rc2::IfcLightSourceDirectional::setOrientation(const ::Ifc4x3_rc2::IfcDirection& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -11746,9 +11746,9 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcLightSourceDirectional::Class() { ret 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>(); } +::Ifc4x3_rc2::IfcAxis2Placement3D Ifc4x3_rc2::IfcLightSourceGoniometric::Position() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcAxis2Placement3D>(); } void Ifc4x3_rc2::IfcLightSourceGoniometric::setPosition(const ::Ifc4x3_rc2::IfcAxis2Placement3D& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcColourRgb Ifc4x3_rc2::IfcLightSourceGoniometric::ColourAppearance() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc2::IfcColourRgb{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcColourRgb>(); } +::Ifc4x3_rc2::IfcColourRgb Ifc4x3_rc2::IfcLightSourceGoniometric::ColourAppearance() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc2::IfcColourRgb{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcColourRgb>(); } void Ifc4x3_rc2::IfcLightSourceGoniometric::setColourAppearance(const ::Ifc4x3_rc2::IfcColourRgb& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } double Ifc4x3_rc2::IfcLightSourceGoniometric::ColourTemperature() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcLightSourceGoniometric::setColourTemperature(const double& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -11756,7 +11756,7 @@ double Ifc4x3_rc2::IfcLightSourceGoniometric::LuminousFlux() const { double v = void Ifc4x3_rc2::IfcLightSourceGoniometric::setLuminousFlux(const double& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_rc2::IfcLightEmissionSourceEnum::Value Ifc4x3_rc2::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x3_rc2::IfcLightEmissionSourceEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcLightSourceGoniometric::setLightEmissionSource(const ::Ifc4x3_rc2::IfcLightEmissionSourceEnum::Value& v) { set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc2::IfcLightEmissionSourceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc2::IfcLightDistributionDataSourceSelect Ifc4x3_rc2::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc2::IfcLightDistributionDataSourceSelect>(); } +::Ifc4x3_rc2::IfcLightDistributionDataSourceSelect Ifc4x3_rc2::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc2::IfcLightDistributionDataSourceSelect>(); } void Ifc4x3_rc2::IfcLightSourceGoniometric::setLightDistributionDataSource(const ::Ifc4x3_rc2::IfcLightDistributionDataSourceSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } @@ -11764,7 +11764,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcLightSourceGoniometric::Class() { ret 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>(); } +::Ifc4x3_rc2::IfcCartesianPoint Ifc4x3_rc2::IfcLightSourcePositional::Position() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcCartesianPoint>(); } void Ifc4x3_rc2::IfcLightSourcePositional::setPosition(const ::Ifc4x3_rc2::IfcCartesianPoint& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } double Ifc4x3_rc2::IfcLightSourcePositional::Radius() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcLightSourcePositional::setRadius(const double& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -11780,7 +11780,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcLightSourcePositional::Class() { retu 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>(); } +::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcLightSourceSpot::Orientation() const { return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc2::IfcDirection>(); } void Ifc4x3_rc2::IfcLightSourceSpot::setOrientation(const ::Ifc4x3_rc2::IfcDirection& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::optional< double > Ifc4x3_rc2::IfcLightSourceSpot::ConcentrationExponent() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcLightSourceSpot::setConcentrationExponent(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } @@ -11794,9 +11794,9 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcLightSourceSpot::Class() { return *(( 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>(); } +::Ifc4x3_rc2::IfcCartesianPoint Ifc4x3_rc2::IfcLine::Pnt() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCartesianPoint>(); } void Ifc4x3_rc2::IfcLine::setPnt(const ::Ifc4x3_rc2::IfcCartesianPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcVector Ifc4x3_rc2::IfcLine::Dir() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcVector>(); } +::Ifc4x3_rc2::IfcVector Ifc4x3_rc2::IfcLine::Dir() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcVector>(); } void Ifc4x3_rc2::IfcLine::setDir(const ::Ifc4x3_rc2::IfcVector& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11810,9 +11810,9 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcLineSegment2D::Class() { return *((if 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>(); } +::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcLinearAxisWithInclination::Directrix() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCurve>(); } void Ifc4x3_rc2::IfcLinearAxisWithInclination::setDirectrix(const ::Ifc4x3_rc2::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcAxisLateralInclination Ifc4x3_rc2::IfcLinearAxisWithInclination::Inclinating() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcAxisLateralInclination>(); } +::Ifc4x3_rc2::IfcAxisLateralInclination Ifc4x3_rc2::IfcLinearAxisWithInclination::Inclinating() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcAxisLateralInclination>(); } void Ifc4x3_rc2::IfcLinearAxisWithInclination::setInclinating(const ::Ifc4x3_rc2::IfcAxisLateralInclination& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11826,13 +11826,13 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcLinearElement::Class() { return *((if 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>(); } +::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcLinearPlacement::PlacementMeasuredAlong() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcCurve>(); } void Ifc4x3_rc2::IfcLinearPlacement::setPlacementMeasuredAlong(const ::Ifc4x3_rc2::IfcCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcPointByDistanceExpression Ifc4x3_rc2::IfcLinearPlacement::Distance() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcPointByDistanceExpression>(); } +::Ifc4x3_rc2::IfcPointByDistanceExpression Ifc4x3_rc2::IfcLinearPlacement::Distance() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcPointByDistanceExpression>(); } void Ifc4x3_rc2::IfcLinearPlacement::setDistance(const ::Ifc4x3_rc2::IfcPointByDistanceExpression& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcAxis2PlacementLinear Ifc4x3_rc2::IfcLinearPlacement::RelativePlacement() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcAxis2PlacementLinear>(); } +::Ifc4x3_rc2::IfcAxis2PlacementLinear Ifc4x3_rc2::IfcLinearPlacement::RelativePlacement() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcAxis2PlacementLinear>(); } void Ifc4x3_rc2::IfcLinearPlacement::setRelativePlacement(const ::Ifc4x3_rc2::IfcAxis2PlacementLinear& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc2::IfcAxis2Placement3D Ifc4x3_rc2::IfcLinearPlacement::CartesianPosition() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc2::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcAxis2Placement3D>(); } +::Ifc4x3_rc2::IfcAxis2Placement3D Ifc4x3_rc2::IfcLinearPlacement::CartesianPosition() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc2::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcAxis2Placement3D>(); } void Ifc4x3_rc2::IfcLinearPlacement::setCartesianPosition(const ::Ifc4x3_rc2::IfcAxis2Placement3D& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -11840,7 +11840,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcLinearPlacement::Class() { return *(( 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>(); } +::Ifc4x3_rc2::IfcAxisLateralInclination Ifc4x3_rc2::IfcLinearPlacementWithInclination::Inclinating() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcAxisLateralInclination>(); } void Ifc4x3_rc2::IfcLinearPlacementWithInclination::setInclinating(const ::Ifc4x3_rc2::IfcAxisLateralInclination& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -11848,7 +11848,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcLinearPlacementWithInclination::Class 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>(); } +::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcLinearPositioningElement::Axis() const { return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc2::IfcCurve>(); } void Ifc4x3_rc2::IfcLinearPositioningElement::setAxis(const ::Ifc4x3_rc2::IfcCurve& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -11877,10 +11877,10 @@ void Ifc4x3_rc2::IfcLiquidTerminalType::setPredefinedType(const ::Ifc4x3_rc2::If const ifcopenshell::entity& Ifc4x3_rc2::IfcLiquidTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[629]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcAxis2Placement Ifc4x3_rc2::IfcLocalPlacement::RelativePlacement() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcAxis2Placement>(); } void Ifc4x3_rc2::IfcLocalPlacement::setRelativePlacement(const ::Ifc4x3_rc2::IfcAxis2Placement& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11894,7 +11894,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcLoop::Class() { return *((ifcopenshel 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>(); } +::Ifc4x3_rc2::IfcClosedShell Ifc4x3_rc2::IfcManifoldSolidBrep::Outer() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcClosedShell>(); } void Ifc4x3_rc2::IfcManifoldSolidBrep::setOuter(const ::Ifc4x3_rc2::IfcClosedShell& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -11920,9 +11920,9 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcMapConversion::Class() { return *((if 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>(); } +::Ifc4x3_rc2::IfcRepresentationMap Ifc4x3_rc2::IfcMappedItem::MappingSource() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcRepresentationMap>(); } void Ifc4x3_rc2::IfcMappedItem::setMappingSource(const ::Ifc4x3_rc2::IfcRepresentationMap& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcCartesianTransformationOperator Ifc4x3_rc2::IfcMappedItem::MappingTarget() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcCartesianTransformationOperator>(); } +::Ifc4x3_rc2::IfcCartesianTransformationOperator Ifc4x3_rc2::IfcMappedItem::MappingTarget() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcCartesianTransformationOperator>(); } void Ifc4x3_rc2::IfcMappedItem::setMappingTarget(const ::Ifc4x3_rc2::IfcCartesianTransformationOperator& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11953,21 +11953,21 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterial::Class() { return *((ifcopen 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); } -void Ifc4x3_rc2::IfcMaterialClassificationRelationship::setMaterialClassifications(const std::vector< ::Ifc4x3_rc2::IfcClassificationSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcMaterial Ifc4x3_rc2::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcMaterial>(); } +std::vector< ::Ifc4x3_rc2::IfcClassificationSelect > Ifc4x3_rc2::IfcMaterialClassificationRelationship::MaterialClassifications() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcClassificationSelect>(es); } +void Ifc4x3_rc2::IfcMaterialClassificationRelationship::setMaterialClassifications(const std::vector< ::Ifc4x3_rc2::IfcClassificationSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +::Ifc4x3_rc2::IfcMaterial Ifc4x3_rc2::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcMaterial>(); } void Ifc4x3_rc2::IfcMaterialClassificationRelationship::setClassifiedMaterial(const ::Ifc4x3_rc2::IfcMaterial& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialClassificationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[653]); } -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; } +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; } void Ifc4x3_rc2::IfcMaterialConstituent::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_rc2::IfcMaterialConstituent::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcMaterialConstituent::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc2::IfcMaterial Ifc4x3_rc2::IfcMaterialConstituent::Material() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcMaterial>(); } +::Ifc4x3_rc2::IfcMaterial Ifc4x3_rc2::IfcMaterialConstituent::Material() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcMaterial>(); } void Ifc4x3_rc2::IfcMaterialConstituent::setMaterial(const ::Ifc4x3_rc2::IfcMaterial& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc4x3_rc2::IfcMaterialConstituent::Fraction() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcMaterialConstituent::setFraction(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } @@ -11984,12 +11984,12 @@ std::optional< std::string > Ifc4x3_rc2::IfcMaterialConstituentSet::Name() const void Ifc4x3_rc2::IfcMaterialConstituentSet::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_rc2::IfcMaterialConstituentSet::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcMaterialConstituentSet::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::optional< std::vector< ::Ifc4x3_rc2::IfcMaterialConstituent > > Ifc4x3_rc2::IfcMaterialConstituentSet::MaterialConstituents() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcMaterialConstituent>(es); } -void Ifc4x3_rc2::IfcMaterialConstituentSet::setMaterialConstituents(const std::optional< std::vector< ::Ifc4x3_rc2::IfcMaterialConstituent > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4x3_rc2::IfcMaterialConstituent > > Ifc4x3_rc2::IfcMaterialConstituentSet::MaterialConstituents() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcMaterialConstituent>(es); } +void Ifc4x3_rc2::IfcMaterialConstituentSet::setMaterialConstituents(const std::optional< std::vector< ::Ifc4x3_rc2::IfcMaterialConstituent > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialConstituentSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[655]); } -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; } +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 @@ -12001,15 +12001,15 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialDefinition::Class() { return 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>(); } +::Ifc4x3_rc2::IfcMaterial Ifc4x3_rc2::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcMaterial>(); } void Ifc4x3_rc2::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(const ::Ifc4x3_rc2::IfcMaterial& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialDefinitionRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[657]); } -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; } +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>(); } +::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>(); } void Ifc4x3_rc2::IfcMaterialLayer::setMaterial(const ::Ifc4x3_rc2::IfcMaterial& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc2::IfcMaterialLayer::LayerThickness() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcMaterialLayer::setLayerThickness(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -12030,8 +12030,8 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialLayer::Class() { return *((if 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< int64_t > 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); } -void Ifc4x3_rc2::IfcMaterialLayerSet::setMaterialLayers(const std::vector< ::Ifc4x3_rc2::IfcMaterialLayer >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc2::IfcMaterialLayer > Ifc4x3_rc2::IfcMaterialLayerSet::MaterialLayers() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcMaterialLayer>(es); } +void Ifc4x3_rc2::IfcMaterialLayerSet::setMaterialLayers(const std::vector< ::Ifc4x3_rc2::IfcMaterialLayer >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x3_rc2::IfcMaterialLayerSet::LayerSetName() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcMaterialLayerSet::setLayerSetName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x3_rc2::IfcMaterialLayerSet::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } @@ -12039,10 +12039,10 @@ void Ifc4x3_rc2::IfcMaterialLayerSet::setDescription(const std::optional< std::s const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialLayerSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[659]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcMaterialLayerSet Ifc4x3_rc2::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcMaterialLayerSet>(); } void Ifc4x3_rc2::IfcMaterialLayerSetUsage::setForLayerSet(const ::Ifc4x3_rc2::IfcMaterialLayerSet& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Value Ifc4x3_rc2::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x3_rc2::IfcLayerSetDirectionEnum::FromString(get_attribute_value(1)); } void Ifc4x3_rc2::IfcMaterialLayerSetUsage::setLayerSetDirection(const ::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } @@ -12068,21 +12068,21 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialLayerWithOffsets::Class() { r 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< int64_t > 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); } -void Ifc4x3_rc2::IfcMaterialList::setMaterials(const std::vector< ::Ifc4x3_rc2::IfcMaterial >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc2::IfcMaterial > Ifc4x3_rc2::IfcMaterialList::Materials() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcMaterial>(es); } +void Ifc4x3_rc2::IfcMaterialList::setMaterials(const std::vector< ::Ifc4x3_rc2::IfcMaterial >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialList::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[662]); } -Ifc4x3_rc2::IfcMaterialList Ifc4x3_rc2::IfcMaterialList::initialize(std::vector< ::Ifc4x3_rc2::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials));; return *this; } +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; } void Ifc4x3_rc2::IfcMaterialProfile::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_rc2::IfcMaterialProfile::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcMaterialProfile::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc2::IfcMaterial Ifc4x3_rc2::IfcMaterialProfile::Material() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcMaterial{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcMaterial>(); } +::Ifc4x3_rc2::IfcMaterial Ifc4x3_rc2::IfcMaterialProfile::Material() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcMaterial{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcMaterial>(); } void Ifc4x3_rc2::IfcMaterialProfile::setMaterial(const ::Ifc4x3_rc2::IfcMaterial& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcProfileDef Ifc4x3_rc2::IfcMaterialProfile::Profile() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcProfileDef>(); } +::Ifc4x3_rc2::IfcProfileDef Ifc4x3_rc2::IfcMaterialProfile::Profile() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcProfileDef>(); } void Ifc4x3_rc2::IfcMaterialProfile::setProfile(const ::Ifc4x3_rc2::IfcProfileDef& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< int64_t > Ifc4x3_rc2::IfcMaterialProfile::Priority() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcMaterialProfile::setPriority(const std::optional< int64_t >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -12099,17 +12099,17 @@ std::optional< std::string > Ifc4x3_rc2::IfcMaterialProfileSet::Name() const { i void Ifc4x3_rc2::IfcMaterialProfileSet::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_rc2::IfcMaterialProfileSet::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcMaterialProfileSet::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x3_rc2::IfcMaterialProfile > Ifc4x3_rc2::IfcMaterialProfileSet::MaterialProfiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcMaterialProfile>(es); } -void Ifc4x3_rc2::IfcMaterialProfileSet::setMaterialProfiles(const std::vector< ::Ifc4x3_rc2::IfcMaterialProfile >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcCompositeProfileDef Ifc4x3_rc2::IfcMaterialProfileSet::CompositeProfile() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcCompositeProfileDef{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcCompositeProfileDef>(); } +std::vector< ::Ifc4x3_rc2::IfcMaterialProfile > Ifc4x3_rc2::IfcMaterialProfileSet::MaterialProfiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcMaterialProfile>(es); } +void Ifc4x3_rc2::IfcMaterialProfileSet::setMaterialProfiles(const std::vector< ::Ifc4x3_rc2::IfcMaterialProfile >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +::Ifc4x3_rc2::IfcCompositeProfileDef Ifc4x3_rc2::IfcMaterialProfileSet::CompositeProfile() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcCompositeProfileDef{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcCompositeProfileDef>(); } void Ifc4x3_rc2::IfcMaterialProfileSet::setCompositeProfile(const ::Ifc4x3_rc2::IfcCompositeProfileDef& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialProfileSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[664]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcMaterialProfileSet Ifc4x3_rc2::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcMaterialProfileSet>(); } void Ifc4x3_rc2::IfcMaterialProfileSetUsage::setForProfileSet(const ::Ifc4x3_rc2::IfcMaterialProfileSet& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< int64_t > Ifc4x3_rc2::IfcMaterialProfileSetUsage::CardinalPoint() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcMaterialProfileSetUsage::setCardinalPoint(const std::optional< int64_t >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } @@ -12121,7 +12121,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialProfileSetUsage::Class() { re Ifc4x3_rc2::IfcMaterialProfileSetUsage Ifc4x3_rc2::IfcMaterialProfileSetUsage::initialize(::Ifc4x3_rc2::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int64_t > 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>(); } +::Ifc4x3_rc2::IfcMaterialProfileSet Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcMaterialProfileSet>(); } void Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(const ::Ifc4x3_rc2::IfcMaterialProfileSet& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< int64_t > Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(const std::optional< int64_t >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -12139,24 +12139,24 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialProfileWithOffsets::Class() { 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< int64_t > 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>(); } +::Ifc4x3_rc2::IfcMaterialDefinition Ifc4x3_rc2::IfcMaterialProperties::Material() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcMaterialDefinition>(); } void Ifc4x3_rc2::IfcMaterialProperties::setMaterial(const ::Ifc4x3_rc2::IfcMaterialDefinition& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[668]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcMaterial Ifc4x3_rc2::IfcMaterialRelationship::RelatingMaterial() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcMaterial>(); } void Ifc4x3_rc2::IfcMaterialRelationship::setRelatingMaterial(const ::Ifc4x3_rc2::IfcMaterial& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_rc2::IfcMaterial > Ifc4x3_rc2::IfcMaterialRelationship::RelatedMaterials() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc2::IfcMaterial>(es); } -void Ifc4x3_rc2::IfcMaterialRelationship::setRelatedMaterials(const std::vector< ::Ifc4x3_rc2::IfcMaterial >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc2::IfcMaterial > Ifc4x3_rc2::IfcMaterialRelationship::RelatedMaterials() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc2::IfcMaterial>(es); } +void Ifc4x3_rc2::IfcMaterialRelationship::setRelatedMaterials(const std::vector< ::Ifc4x3_rc2::IfcMaterial >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc2::IfcMaterialRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcMaterialRelationship::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[669]); } -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; } +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 @@ -12166,9 +12166,9 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialUsageDefinition::Class() { re 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>(); } +::Ifc4x3_rc2::IfcValue Ifc4x3_rc2::IfcMeasureWithUnit::ValueComponent() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcValue>(); } void Ifc4x3_rc2::IfcMeasureWithUnit::setValueComponent(const ::Ifc4x3_rc2::IfcValue& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcUnit Ifc4x3_rc2::IfcMeasureWithUnit::UnitComponent() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcUnit>(); } +::Ifc4x3_rc2::IfcUnit Ifc4x3_rc2::IfcMeasureWithUnit::UnitComponent() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcUnit>(); } void Ifc4x3_rc2::IfcMeasureWithUnit::setUnitComponent(const ::Ifc4x3_rc2::IfcUnit& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -12235,16 +12235,16 @@ void Ifc4x3_rc2::IfcMemberType::setPredefinedType(const ::Ifc4x3_rc2::IfcMemberT const ifcopenshell::entity& Ifc4x3_rc2::IfcMemberType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[682]); } -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; } +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)); } void Ifc4x3_rc2::IfcMetric::setBenchmark(const ::Ifc4x3_rc2::IfcBenchmarkEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4x3_rc2::IfcBenchmarkEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } std::optional< std::string > Ifc4x3_rc2::IfcMetric::ValueSource() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcMetric::setValueSource(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_rc2::IfcMetricValueSelect Ifc4x3_rc2::IfcMetric::DataValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc2::IfcMetricValueSelect{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc2::IfcMetricValueSelect>(); } +::Ifc4x3_rc2::IfcMetricValueSelect Ifc4x3_rc2::IfcMetric::DataValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc2::IfcMetricValueSelect{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc2::IfcMetricValueSelect>(); } void Ifc4x3_rc2::IfcMetric::setDataValue(const ::Ifc4x3_rc2::IfcMetricValueSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc2::IfcReference Ifc4x3_rc2::IfcMetric::ReferencePath() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc2::IfcReference{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_rc2::IfcReference>(); } +::Ifc4x3_rc2::IfcReference Ifc4x3_rc2::IfcMetric::ReferencePath() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc2::IfcReference{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x3_rc2::IfcReference>(); } void Ifc4x3_rc2::IfcMetric::setReferencePath(const ::Ifc4x3_rc2::IfcReference& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } @@ -12271,7 +12271,7 @@ void Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceType::setPredefinedType(con const ifcopenshell::entity& Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[688]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -12311,10 +12311,10 @@ void Ifc4x3_rc2::IfcMotorConnectionType::setPredefinedType(const ::Ifc4x3_rc2::I const ifcopenshell::entity& Ifc4x3_rc2::IfcMotorConnectionType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[707]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcDimensionalExponents Ifc4x3_rc2::IfcNamedUnit::Dimensions() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcDimensionalExponents>(); } void Ifc4x3_rc2::IfcNamedUnit::setDimensions(const ::Ifc4x3_rc2::IfcDimensionalExponents& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_rc2::IfcUnitEnum::Value Ifc4x3_rc2::IfcNamedUnit::UnitType() const { return ::Ifc4x3_rc2::IfcUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x3_rc2::IfcNamedUnit::setUnitType(const ::Ifc4x3_rc2::IfcUnitEnum::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4x3_rc2::IfcUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } @@ -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]); } -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; } +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; } @@ -12365,7 +12365,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcObjectDefinition::Class() { return *( 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>(); } +::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>(); } void Ifc4x3_rc2::IfcObjectPlacement::setPlacementRelTo(const ::Ifc4x3_rc2::IfcObjectPlacement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::vector<::Ifc4x3_rc2::IfcProduct> Ifc4x3_rc2::IfcObjectPlacement::PlacesObject() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[821], 5)); } @@ -12374,8 +12374,8 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcObjectPlacement::Class() { return *(( 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); } -void Ifc4x3_rc2::IfcObjective::setBenchmarkValues(const std::optional< std::vector< ::Ifc4x3_rc2::IfcConstraint > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +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); } +void Ifc4x3_rc2::IfcObjective::setBenchmarkValues(const std::optional< std::vector< ::Ifc4x3_rc2::IfcConstraint > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< ::Ifc4x3_rc2::IfcLogicalOperatorEnum::Value > Ifc4x3_rc2::IfcObjective::LogicalAggregator() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcLogicalOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcObjective::setLogicalAggregator(const std::optional< ::Ifc4x3_rc2::IfcLogicalOperatorEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc2::IfcLogicalOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3_rc2::IfcObjectiveEnum::Value Ifc4x3_rc2::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x3_rc2::IfcObjectiveEnum::FromString(get_attribute_value(9)); } @@ -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]); } -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; } +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)); } @@ -12396,7 +12396,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcOccupant::Class() { return *((ifcopen 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>(); } +::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcOffsetCurve::BasisCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCurve>(); } void Ifc4x3_rc2::IfcOffsetCurve::setBasisCurve(const ::Ifc4x3_rc2::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -12418,7 +12418,7 @@ double Ifc4x3_rc2::IfcOffsetCurve3D::Distance() const { double v = get_attribut void Ifc4x3_rc2::IfcOffsetCurve3D::setDistance(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } boost::logic::tribool Ifc4x3_rc2::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcOffsetCurve3D::setSelfIntersect(const boost::logic::tribool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcOffsetCurve3D::RefDirection() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcDirection>(); } +::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcOffsetCurve3D::RefDirection() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcDirection>(); } void Ifc4x3_rc2::IfcOffsetCurve3D::setRefDirection(const ::Ifc4x3_rc2::IfcDirection& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -12426,14 +12426,14 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcOffsetCurve3D::Class() { return *((if 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); } -void Ifc4x3_rc2::IfcOffsetCurveByDistances::setOffsetValues(const std::vector< ::Ifc4x3_rc2::IfcPointByDistanceExpression >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc2::IfcPointByDistanceExpression > Ifc4x3_rc2::IfcOffsetCurveByDistances::OffsetValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcPointByDistanceExpression>(es); } +void Ifc4x3_rc2::IfcOffsetCurveByDistances::setOffsetValues(const std::vector< ::Ifc4x3_rc2::IfcPointByDistanceExpression >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_rc2::IfcOffsetCurveByDistances::Tag() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcOffsetCurveByDistances::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_rc2::IfcOffsetCurveByDistances::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[729]); } -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; } +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; } @@ -12453,7 +12453,7 @@ Ifc4x3_rc2::IfcOpenCrossProfileDef Ifc4x3_rc2::IfcOpenCrossProfileDef::initializ const ifcopenshell::entity& Ifc4x3_rc2::IfcOpenShell::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[734]); } -Ifc4x3_rc2::IfcOpenShell Ifc4x3_rc2::IfcOpenShell::initialize(std::vector< ::Ifc4x3_rc2::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } +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)); } @@ -12477,30 +12477,30 @@ std::string Ifc4x3_rc2::IfcOrganization::Name() const { std::string v = get_att void Ifc4x3_rc2::IfcOrganization::setName(const std::string& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_rc2::IfcOrganization::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcOrganization::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::optional< std::vector< ::Ifc4x3_rc2::IfcActorRole > > Ifc4x3_rc2::IfcOrganization::Roles() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc2::IfcActorRole>(es); } -void Ifc4x3_rc2::IfcOrganization::setRoles(const std::optional< std::vector< ::Ifc4x3_rc2::IfcActorRole > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } -std::optional< std::vector< ::Ifc4x3_rc2::IfcAddress > > Ifc4x3_rc2::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc2::IfcAddress>(es); } -void Ifc4x3_rc2::IfcOrganization::setAddresses(const std::optional< std::vector< ::Ifc4x3_rc2::IfcAddress > >& v) { if (v) {set_attribute_value(4, cast_vector(*v));} else {unset_attribute_value(4);} } +std::optional< std::vector< ::Ifc4x3_rc2::IfcActorRole > > Ifc4x3_rc2::IfcOrganization::Roles() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc2::IfcActorRole>(es); } +void Ifc4x3_rc2::IfcOrganization::setRoles(const std::optional< std::vector< ::Ifc4x3_rc2::IfcActorRole > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } +std::optional< std::vector< ::Ifc4x3_rc2::IfcAddress > > Ifc4x3_rc2::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc2::IfcAddress>(es); } +void Ifc4x3_rc2::IfcOrganization::setAddresses(const std::optional< std::vector< ::Ifc4x3_rc2::IfcAddress > >& v) { if (v) {set_attribute_value(4, cast_vector(*v));} else {unset_attribute_value(4);} } std::vector<::Ifc4x3_rc2::IfcOrganizationRelationship> Ifc4x3_rc2::IfcOrganization::IsRelatedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[736], 3)); } std::vector<::Ifc4x3_rc2::IfcOrganizationRelationship> Ifc4x3_rc2::IfcOrganization::Relates() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[736], 2)); } 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]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcOrganization Ifc4x3_rc2::IfcOrganizationRelationship::RelatingOrganization() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcOrganization>(); } void Ifc4x3_rc2::IfcOrganizationRelationship::setRelatingOrganization(const ::Ifc4x3_rc2::IfcOrganization& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_rc2::IfcOrganization > Ifc4x3_rc2::IfcOrganizationRelationship::RelatedOrganizations() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc2::IfcOrganization>(es); } -void Ifc4x3_rc2::IfcOrganizationRelationship::setRelatedOrganizations(const std::vector< ::Ifc4x3_rc2::IfcOrganization >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc2::IfcOrganization > Ifc4x3_rc2::IfcOrganizationRelationship::RelatedOrganizations() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc2::IfcOrganization>(es); } +void Ifc4x3_rc2::IfcOrganizationRelationship::setRelatedOrganizations(const std::vector< ::Ifc4x3_rc2::IfcOrganization >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc2::IfcOrganizationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[736]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcEdge Ifc4x3_rc2::IfcOrientedEdge::EdgeElement() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcEdge>(); } void Ifc4x3_rc2::IfcOrientedEdge::setEdgeElement(const ::Ifc4x3_rc2::IfcEdge& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } bool Ifc4x3_rc2::IfcOrientedEdge::Orientation() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcOrientedEdge::setOrientation(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -12513,7 +12513,7 @@ Ifc4x3_rc2::IfcOrientedEdge Ifc4x3_rc2::IfcOrientedEdge::initialize(::Ifc4x3_rc2 const ifcopenshell::entity& Ifc4x3_rc2::IfcOuterBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[738]); } -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; } +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)); } @@ -12529,12 +12529,12 @@ void Ifc4x3_rc2::IfcOutletType::setPredefinedType(const ::Ifc4x3_rc2::IfcOutletT const ifcopenshell::entity& Ifc4x3_rc2::IfcOutletType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[740]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcPersonAndOrganization Ifc4x3_rc2::IfcOwnerHistory::OwningUser() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcPersonAndOrganization>(); } void Ifc4x3_rc2::IfcOwnerHistory::setOwningUser(const ::Ifc4x3_rc2::IfcPersonAndOrganization& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcApplication Ifc4x3_rc2::IfcOwnerHistory::OwningApplication() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcApplication>(); } +::Ifc4x3_rc2::IfcApplication Ifc4x3_rc2::IfcOwnerHistory::OwningApplication() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcApplication>(); } void Ifc4x3_rc2::IfcOwnerHistory::setOwningApplication(const ::Ifc4x3_rc2::IfcApplication& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< ::Ifc4x3_rc2::IfcStateEnum::Value > Ifc4x3_rc2::IfcOwnerHistory::State() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcStateEnum::FromString(get_attribute_value(2)); } void Ifc4x3_rc2::IfcOwnerHistory::setState(const std::optional< ::Ifc4x3_rc2::IfcStateEnum::Value >& v) { if (v) {set_attribute_value(2, enumeration_reference(&::Ifc4x3_rc2::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } @@ -12542,9 +12542,9 @@ std::optional< ::Ifc4x3_rc2::IfcChangeActionEnum::Value > Ifc4x3_rc2::IfcOwnerHi void Ifc4x3_rc2::IfcOwnerHistory::setChangeAction(const std::optional< ::Ifc4x3_rc2::IfcChangeActionEnum::Value >& v) { if (v) {set_attribute_value(3, enumeration_reference(&::Ifc4x3_rc2::IfcChangeActionEnum::Class(), (size_t) *v));} else {unset_attribute_value(3);} } std::optional< int64_t > Ifc4x3_rc2::IfcOwnerHistory::LastModifiedDate() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcOwnerHistory::setLastModifiedDate(const std::optional< int64_t >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc2::IfcPersonAndOrganization Ifc4x3_rc2::IfcOwnerHistory::LastModifyingUser() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc2::IfcPersonAndOrganization{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcPersonAndOrganization>(); } +::Ifc4x3_rc2::IfcPersonAndOrganization Ifc4x3_rc2::IfcOwnerHistory::LastModifyingUser() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc2::IfcPersonAndOrganization{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcPersonAndOrganization>(); } void Ifc4x3_rc2::IfcOwnerHistory::setLastModifyingUser(const ::Ifc4x3_rc2::IfcPersonAndOrganization& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc2::IfcApplication Ifc4x3_rc2::IfcOwnerHistory::LastModifyingApplication() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcApplication{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcApplication>(); } +::Ifc4x3_rc2::IfcApplication Ifc4x3_rc2::IfcOwnerHistory::LastModifyingApplication() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcApplication{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcApplication>(); } void Ifc4x3_rc2::IfcOwnerHistory::setLastModifyingApplication(const ::Ifc4x3_rc2::IfcApplication& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } int64_t Ifc4x3_rc2::IfcOwnerHistory::CreationDate() const { int64_t v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcOwnerHistory::setCreationDate(const int64_t& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -12554,7 +12554,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcOwnerHistory::Class() { return *((ifc 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< int64_t > v5_LastModifiedDate, ::Ifc4x3_rc2::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_rc2::IfcApplication v7_LastModifyingApplication, int64_t 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>(); } +::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>(); } void Ifc4x3_rc2::IfcParameterizedProfileDef::setPosition(const ::Ifc4x3_rc2::IfcAxis2Placement2D& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -12562,12 +12562,12 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcParameterizedProfileDef::Class() { re 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); } -void Ifc4x3_rc2::IfcPath::setEdgeList(const std::vector< ::Ifc4x3_rc2::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc2::IfcOrientedEdge > Ifc4x3_rc2::IfcPath::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcOrientedEdge>(es); } +void Ifc4x3_rc2::IfcPath::setEdgeList(const std::vector< ::Ifc4x3_rc2::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc2::IfcPath::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[745]); } -Ifc4x3_rc2::IfcPath Ifc4x3_rc2::IfcPath::initialize(std::vector< ::Ifc4x3_rc2::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } +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; } @@ -12583,12 +12583,12 @@ 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]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcSurface Ifc4x3_rc2::IfcPcurve::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcSurface>(); } void Ifc4x3_rc2::IfcPcurve::setBasisSurface(const ::Ifc4x3_rc2::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcPcurve::ReferenceCurve() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcCurve>(); } +::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcPcurve::ReferenceCurve() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcCurve>(); } void Ifc4x3_rc2::IfcPcurve::setReferenceCurve(const ::Ifc4x3_rc2::IfcCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -12614,7 +12614,7 @@ std::optional< double > Ifc4x3_rc2::IfcPermeableCoveringProperties::FrameDepth() void Ifc4x3_rc2::IfcPermeableCoveringProperties::setFrameDepth(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } std::optional< double > Ifc4x3_rc2::IfcPermeableCoveringProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcPermeableCoveringProperties::setFrameThickness(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc2::IfcShapeAspect Ifc4x3_rc2::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc2::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc2::IfcShapeAspect>(); } +::Ifc4x3_rc2::IfcShapeAspect Ifc4x3_rc2::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc2::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc2::IfcShapeAspect>(); } void Ifc4x3_rc2::IfcPermeableCoveringProperties::setShapeAspectStyle(const ::Ifc4x3_rc2::IfcShapeAspect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -12646,31 +12646,31 @@ std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcPerson::Pre void Ifc4x3_rc2::IfcPerson::setPrefixTitles(const std::optional< std::vector< std::string > /*[1:?]*/ >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcPerson::SuffixTitles() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcPerson::setSuffixTitles(const std::optional< std::vector< std::string > /*[1:?]*/ >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::optional< std::vector< ::Ifc4x3_rc2::IfcActorRole > > Ifc4x3_rc2::IfcPerson::Roles() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc2::IfcActorRole>(es); } -void Ifc4x3_rc2::IfcPerson::setRoles(const std::optional< std::vector< ::Ifc4x3_rc2::IfcActorRole > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x3_rc2::IfcAddress > > Ifc4x3_rc2::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc2::IfcAddress>(es); } -void Ifc4x3_rc2::IfcPerson::setAddresses(const std::optional< std::vector< ::Ifc4x3_rc2::IfcAddress > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x3_rc2::IfcActorRole > > Ifc4x3_rc2::IfcPerson::Roles() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc2::IfcActorRole>(es); } +void Ifc4x3_rc2::IfcPerson::setRoles(const std::optional< std::vector< ::Ifc4x3_rc2::IfcActorRole > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +std::optional< std::vector< ::Ifc4x3_rc2::IfcAddress > > Ifc4x3_rc2::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc2::IfcAddress>(es); } +void Ifc4x3_rc2::IfcPerson::setAddresses(const std::optional< std::vector< ::Ifc4x3_rc2::IfcAddress > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } 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]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcPerson Ifc4x3_rc2::IfcPersonAndOrganization::ThePerson() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcPerson>(); } void Ifc4x3_rc2::IfcPersonAndOrganization::setThePerson(const ::Ifc4x3_rc2::IfcPerson& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcOrganization Ifc4x3_rc2::IfcPersonAndOrganization::TheOrganization() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcOrganization>(); } +::Ifc4x3_rc2::IfcOrganization Ifc4x3_rc2::IfcPersonAndOrganization::TheOrganization() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcOrganization>(); } void Ifc4x3_rc2::IfcPersonAndOrganization::setTheOrganization(const ::Ifc4x3_rc2::IfcOrganization& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::optional< std::vector< ::Ifc4x3_rc2::IfcActorRole > > Ifc4x3_rc2::IfcPersonAndOrganization::Roles() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcActorRole>(es); } -void Ifc4x3_rc2::IfcPersonAndOrganization::setRoles(const std::optional< std::vector< ::Ifc4x3_rc2::IfcActorRole > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4x3_rc2::IfcActorRole > > Ifc4x3_rc2::IfcPersonAndOrganization::Roles() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcActorRole>(es); } +void Ifc4x3_rc2::IfcPersonAndOrganization::setRoles(const std::optional< std::vector< ::Ifc4x3_rc2::IfcActorRole > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_rc2::IfcPersonAndOrganization::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[756]); } -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; } +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); } -void Ifc4x3_rc2::IfcPhysicalComplexQuantity::setHasQuantities(const std::vector< ::Ifc4x3_rc2::IfcPhysicalQuantity >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc2::IfcPhysicalQuantity > Ifc4x3_rc2::IfcPhysicalComplexQuantity::HasQuantities() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcPhysicalQuantity>(es); } +void Ifc4x3_rc2::IfcPhysicalComplexQuantity::setHasQuantities(const std::vector< ::Ifc4x3_rc2::IfcPhysicalQuantity >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::string Ifc4x3_rc2::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcPhysicalComplexQuantity::setDiscrimination(const std::string& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc2::IfcPhysicalComplexQuantity::Quality() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -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]); } -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; } +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; } @@ -12695,7 +12695,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcPhysicalQuantity::Class() { return *( 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>(); } +::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>(); } void Ifc4x3_rc2::IfcPhysicalSimpleQuantity::setUnit(const ::Ifc4x3_rc2::IfcNamedUnit& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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 int64_t Ifc4x3_rc2::IfcPixelTexture::Width() const { int64_t v = get_attribute_value(5); return v; } @@ -12767,7 +12767,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcPixelTexture::Class() { return *((ifc 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, int64_t v6_Width, int64_t v7_Height, int64_t 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>(); } +::Ifc4x3_rc2::IfcPoint Ifc4x3_rc2::IfcPlacement::Location() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcPoint>(); } void Ifc4x3_rc2::IfcPlacement::setLocation(const ::Ifc4x3_rc2::IfcPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -12775,7 +12775,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcPlacement::Class() { return *((ifcope 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>(); } +::Ifc4x3_rc2::IfcAxis2Placement Ifc4x3_rc2::IfcPlanarBox::Placement() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcAxis2Placement>(); } void Ifc4x3_rc2::IfcPlanarBox::setPlacement(const ::Ifc4x3_rc2::IfcAxis2Placement& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -12824,7 +12824,7 @@ void Ifc4x3_rc2::IfcPlateType::setPredefinedType(const ::Ifc4x3_rc2::IfcPlateTyp const ifcopenshell::entity& Ifc4x3_rc2::IfcPlateType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[782]); } -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; } +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 @@ -12833,7 +12833,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcPoint::Class() { return *((ifcopenshe 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>(); } +::Ifc4x3_rc2::IfcCurveMeasureSelect Ifc4x3_rc2::IfcPointByDistanceExpression::DistanceAlong() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCurveMeasureSelect>(); } void Ifc4x3_rc2::IfcPointByDistanceExpression::setDistanceAlong(const ::Ifc4x3_rc2::IfcCurveMeasureSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< double > Ifc4x3_rc2::IfcPointByDistanceExpression::OffsetLateral() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcPointByDistanceExpression::setOffsetLateral(const std::optional< double >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } @@ -12841,7 +12841,7 @@ std::optional< double > Ifc4x3_rc2::IfcPointByDistanceExpression::OffsetVertical void Ifc4x3_rc2::IfcPointByDistanceExpression::setOffsetVertical(const std::optional< double >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } std::optional< double > Ifc4x3_rc2::IfcPointByDistanceExpression::OffsetLongitudinal() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcPointByDistanceExpression::setOffsetLongitudinal(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcPointByDistanceExpression::BasisCurve() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcCurve>(); } +::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcPointByDistanceExpression::BasisCurve() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcCurve>(); } void Ifc4x3_rc2::IfcPointByDistanceExpression::setBasisCurve(const ::Ifc4x3_rc2::IfcCurve& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -12849,7 +12849,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcPointByDistanceExpression::Class() { 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>(); } +::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcPointOnCurve::BasisCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCurve>(); } void Ifc4x3_rc2::IfcPointOnCurve::setBasisCurve(const ::Ifc4x3_rc2::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc2::IfcPointOnCurve::PointParameter() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcPointOnCurve::setPointParameter(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -12859,7 +12859,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcPointOnCurve::Class() { return *((ifc 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>(); } +::Ifc4x3_rc2::IfcSurface Ifc4x3_rc2::IfcPointOnSurface::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcSurface>(); } void Ifc4x3_rc2::IfcPointOnSurface::setBasisSurface(const ::Ifc4x3_rc2::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc2::IfcPointOnSurface::PointParameterU() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcPointOnSurface::setPointParameterU(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -12871,17 +12871,17 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcPointOnSurface::Class() { return *((i 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); } -void Ifc4x3_rc2::IfcPolyLoop::setPolygon(const std::vector< ::Ifc4x3_rc2::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > Ifc4x3_rc2::IfcPolyLoop::Polygon() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcCartesianPoint>(es); } +void Ifc4x3_rc2::IfcPolyLoop::setPolygon(const std::vector< ::Ifc4x3_rc2::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc2::IfcPolyLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[792]); } -Ifc4x3_rc2::IfcPolyLoop Ifc4x3_rc2::IfcPolyLoop::initialize(std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon));; return *this; } +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>(); } +::Ifc4x3_rc2::IfcAxis2Placement3D Ifc4x3_rc2::IfcPolygonalBoundedHalfSpace::Position() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcAxis2Placement3D>(); } void Ifc4x3_rc2::IfcPolygonalBoundedHalfSpace::setPosition(const ::Ifc4x3_rc2::IfcAxis2Placement3D& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcBoundedCurve Ifc4x3_rc2::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcBoundedCurve>(); } +::Ifc4x3_rc2::IfcBoundedCurve Ifc4x3_rc2::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcBoundedCurve>(); } void Ifc4x3_rc2::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(const ::Ifc4x3_rc2::IfcBoundedCurve& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -12891,22 +12891,22 @@ Ifc4x3_rc2::IfcPolygonalBoundedHalfSpace Ifc4x3_rc2::IfcPolygonalBoundedHalfSpac // 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; } void Ifc4x3_rc2::IfcPolygonalFaceSet::setClosed(const std::optional< bool >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x3_rc2::IfcIndexedPolygonalFace > Ifc4x3_rc2::IfcPolygonalFaceSet::Faces() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcIndexedPolygonalFace>(es); } -void Ifc4x3_rc2::IfcPolygonalFaceSet::setFaces(const std::vector< ::Ifc4x3_rc2::IfcIndexedPolygonalFace >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc2::IfcIndexedPolygonalFace > Ifc4x3_rc2::IfcPolygonalFaceSet::Faces() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcIndexedPolygonalFace>(es); } +void Ifc4x3_rc2::IfcPolygonalFaceSet::setFaces(const std::vector< ::Ifc4x3_rc2::IfcIndexedPolygonalFace >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::optional< std::vector< int64_t > /*[1:?]*/ > Ifc4x3_rc2::IfcPolygonalFaceSet::PnIndex() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< int64_t > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcPolygonalFaceSet::setPnIndex(const std::optional< std::vector< int64_t > /*[1:?]*/ >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const ifcopenshell::entity& Ifc4x3_rc2::IfcPolygonalFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[790]); } -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< int64_t > /*[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; } +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< int64_t > /*[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); } -void Ifc4x3_rc2::IfcPolyline::setPoints(const std::vector< ::Ifc4x3_rc2::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > Ifc4x3_rc2::IfcPolyline::Points() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcCartesianPoint>(es); } +void Ifc4x3_rc2::IfcPolyline::setPoints(const std::vector< ::Ifc4x3_rc2::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc2::IfcPolyline::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[791]); } -Ifc4x3_rc2::IfcPolyline Ifc4x3_rc2::IfcPolyline::initialize(std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points));; return *this; } +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 @@ -12994,14 +12994,14 @@ std::string Ifc4x3_rc2::IfcPresentationLayerAssignment::Name() const { std::str void Ifc4x3_rc2::IfcPresentationLayerAssignment::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x3_rc2::IfcPresentationLayerAssignment::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcPresentationLayerAssignment::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x3_rc2::IfcLayeredItem > Ifc4x3_rc2::IfcPresentationLayerAssignment::AssignedItems() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcLayeredItem>(es); } -void Ifc4x3_rc2::IfcPresentationLayerAssignment::setAssignedItems(const std::vector< ::Ifc4x3_rc2::IfcLayeredItem >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc2::IfcLayeredItem > Ifc4x3_rc2::IfcPresentationLayerAssignment::AssignedItems() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcLayeredItem>(es); } +void Ifc4x3_rc2::IfcPresentationLayerAssignment::setAssignedItems(const std::vector< ::Ifc4x3_rc2::IfcLayeredItem >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4x3_rc2::IfcPresentationLayerAssignment::Identifier() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcPresentationLayerAssignment::setIdentifier(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const ifcopenshell::entity& Ifc4x3_rc2::IfcPresentationLayerAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[810]); } -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; } +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; } @@ -13010,12 +13010,12 @@ boost::logic::tribool Ifc4x3_rc2::IfcPresentationLayerWithStyle::LayerFrozen() c void Ifc4x3_rc2::IfcPresentationLayerWithStyle::setLayerFrozen(const boost::logic::tribool& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } boost::logic::tribool Ifc4x3_rc2::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcPresentationLayerWithStyle::setLayerBlocked(const boost::logic::tribool& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::vector< ::Ifc4x3_rc2::IfcPresentationStyle > Ifc4x3_rc2::IfcPresentationLayerWithStyle::LayerStyles() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc2::IfcPresentationStyle>(es); } -void Ifc4x3_rc2::IfcPresentationLayerWithStyle::setLayerStyles(const std::vector< ::Ifc4x3_rc2::IfcPresentationStyle >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } +std::vector< ::Ifc4x3_rc2::IfcPresentationStyle > Ifc4x3_rc2::IfcPresentationLayerWithStyle::LayerStyles() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc2::IfcPresentationStyle>(es); } +void Ifc4x3_rc2::IfcPresentationLayerWithStyle::setLayerStyles(const std::vector< ::Ifc4x3_rc2::IfcPresentationStyle >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } const ifcopenshell::entity& Ifc4x3_rc2::IfcPresentationLayerWithStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[811]); } -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; } +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; } @@ -13026,12 +13026,12 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcPresentationStyle::Class() { return * 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); } -void Ifc4x3_rc2::IfcPresentationStyleAssignment::setStyles(const std::vector< ::Ifc4x3_rc2::IfcPresentationStyleSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc2::IfcPresentationStyleSelect > Ifc4x3_rc2::IfcPresentationStyleAssignment::Styles() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcPresentationStyleSelect>(es); } +void Ifc4x3_rc2::IfcPresentationStyleAssignment::setStyles(const std::vector< ::Ifc4x3_rc2::IfcPresentationStyleSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc2::IfcPresentationStyleAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[813]); } -Ifc4x3_rc2::IfcPresentationStyleAssignment Ifc4x3_rc2::IfcPresentationStyleAssignment::initialize(std::vector< ::Ifc4x3_rc2::IfcPresentationStyleSelect > v1_Styles) { set_attribute_value(0, cast_vector(v1_Styles));; return *this; } +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)); } @@ -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]); } -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; } +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; } @@ -13063,9 +13063,9 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcProcess::Class() { return *((ifcopens 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>(); } +::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>(); } void Ifc4x3_rc2::IfcProduct::setObjectPlacement(const ::Ifc4x3_rc2::IfcObjectPlacement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc2::IfcProductRepresentation Ifc4x3_rc2::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcProductRepresentation{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcProductRepresentation>(); } +::Ifc4x3_rc2::IfcProductRepresentation Ifc4x3_rc2::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcProductRepresentation{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcProductRepresentation>(); } void Ifc4x3_rc2::IfcProduct::setRepresentation(const ::Ifc4x3_rc2::IfcProductRepresentation& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::vector<::Ifc4x3_rc2::IfcRelAssignsToProduct> Ifc4x3_rc2::IfcProduct::ReferencedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[924], 6)); } @@ -13081,19 +13081,19 @@ 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]); } -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; } +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; } void Ifc4x3_rc2::IfcProductRepresentation::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_rc2::IfcProductRepresentation::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcProductRepresentation::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x3_rc2::IfcRepresentation > Ifc4x3_rc2::IfcProductRepresentation::Representations() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcRepresentation>(es); } -void Ifc4x3_rc2::IfcProductRepresentation::setRepresentations(const std::vector< ::Ifc4x3_rc2::IfcRepresentation >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc2::IfcRepresentation > Ifc4x3_rc2::IfcProductRepresentation::Representations() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcRepresentation>(es); } +void Ifc4x3_rc2::IfcProductRepresentation::setRepresentations(const std::vector< ::Ifc4x3_rc2::IfcRepresentation >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc2::IfcProductRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[823]); } -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; } +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)); } @@ -13108,24 +13108,24 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcProfileDef::Class() { return *((ifcop 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>(); } +::Ifc4x3_rc2::IfcProfileDef Ifc4x3_rc2::IfcProfileProperties::ProfileDefinition() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcProfileDef>(); } void Ifc4x3_rc2::IfcProfileProperties::setProfileDefinition(const ::Ifc4x3_rc2::IfcProfileDef& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc2::IfcProfileProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[827]); } -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; } +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]); } -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; } +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]); } -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; } +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)); } @@ -13144,7 +13144,7 @@ std::optional< std::string > Ifc4x3_rc2::IfcProjectedCRS::MapProjection() const void Ifc4x3_rc2::IfcProjectedCRS::setMapProjection(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } std::optional< std::string > Ifc4x3_rc2::IfcProjectedCRS::MapZone() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcProjectedCRS::setMapZone(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc2::IfcNamedUnit Ifc4x3_rc2::IfcProjectedCRS::MapUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcNamedUnit{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcNamedUnit>(); } +::Ifc4x3_rc2::IfcNamedUnit Ifc4x3_rc2::IfcProjectedCRS::MapUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcNamedUnit{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcNamedUnit>(); } void Ifc4x3_rc2::IfcProjectedCRS::setMapUnit(const ::Ifc4x3_rc2::IfcNamedUnit& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -13183,13 +13183,13 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcPropertyAbstraction::Class() { return 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>(); } +::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>(); } void Ifc4x3_rc2::IfcPropertyBoundedValue::setUpperBoundValue(const ::Ifc4x3_rc2::IfcValue& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcValue Ifc4x3_rc2::IfcPropertyBoundedValue::LowerBoundValue() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcValue{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcValue>(); } +::Ifc4x3_rc2::IfcValue Ifc4x3_rc2::IfcPropertyBoundedValue::LowerBoundValue() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcValue{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcValue>(); } void Ifc4x3_rc2::IfcPropertyBoundedValue::setLowerBoundValue(const ::Ifc4x3_rc2::IfcValue& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc2::IfcUnit Ifc4x3_rc2::IfcPropertyBoundedValue::Unit() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc2::IfcUnit{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcUnit>(); } +::Ifc4x3_rc2::IfcUnit Ifc4x3_rc2::IfcPropertyBoundedValue::Unit() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc2::IfcUnit{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcUnit>(); } void Ifc4x3_rc2::IfcPropertyBoundedValue::setUnit(const ::Ifc4x3_rc2::IfcUnit& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcValue Ifc4x3_rc2::IfcPropertyBoundedValue::SetPointValue() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc2::IfcValue{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcValue>(); } +::Ifc4x3_rc2::IfcValue Ifc4x3_rc2::IfcPropertyBoundedValue::SetPointValue() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc2::IfcValue{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcValue>(); } void Ifc4x3_rc2::IfcPropertyBoundedValue::setSetPointValue(const ::Ifc4x3_rc2::IfcValue& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -13205,9 +13205,9 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcPropertyDefinition::Class() { return 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>(); } +::Ifc4x3_rc2::IfcProperty Ifc4x3_rc2::IfcPropertyDependencyRelationship::DependingProperty() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcProperty>(); } void Ifc4x3_rc2::IfcPropertyDependencyRelationship::setDependingProperty(const ::Ifc4x3_rc2::IfcProperty& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcProperty Ifc4x3_rc2::IfcPropertyDependencyRelationship::DependantProperty() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcProperty>(); } +::Ifc4x3_rc2::IfcProperty Ifc4x3_rc2::IfcPropertyDependencyRelationship::DependantProperty() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcProperty>(); } void Ifc4x3_rc2::IfcPropertyDependencyRelationship::setDependantProperty(const ::Ifc4x3_rc2::IfcProperty& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc2::IfcPropertyDependencyRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcPropertyDependencyRelationship::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -13217,41 +13217,41 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcPropertyDependencyRelationship::Class 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); } -void Ifc4x3_rc2::IfcPropertyEnumeratedValue::setEnumerationValues(const std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } -::Ifc4x3_rc2::IfcPropertyEnumeration Ifc4x3_rc2::IfcPropertyEnumeratedValue::EnumerationReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcPropertyEnumeration{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcPropertyEnumeration>(); } +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); } +void Ifc4x3_rc2::IfcPropertyEnumeratedValue::setEnumerationValues(const std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +::Ifc4x3_rc2::IfcPropertyEnumeration Ifc4x3_rc2::IfcPropertyEnumeratedValue::EnumerationReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcPropertyEnumeration{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcPropertyEnumeration>(); } void Ifc4x3_rc2::IfcPropertyEnumeratedValue::setEnumerationReference(const ::Ifc4x3_rc2::IfcPropertyEnumeration& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc2::IfcPropertyEnumeratedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[842]); } -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; } +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; } void Ifc4x3_rc2::IfcPropertyEnumeration::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc2::IfcValue > Ifc4x3_rc2::IfcPropertyEnumeration::EnumerationValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcValue>(es); } -void Ifc4x3_rc2::IfcPropertyEnumeration::setEnumerationValues(const std::vector< ::Ifc4x3_rc2::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcUnit Ifc4x3_rc2::IfcPropertyEnumeration::Unit() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcUnit{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcUnit>(); } +std::vector< ::Ifc4x3_rc2::IfcValue > Ifc4x3_rc2::IfcPropertyEnumeration::EnumerationValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcValue>(es); } +void Ifc4x3_rc2::IfcPropertyEnumeration::setEnumerationValues(const std::vector< ::Ifc4x3_rc2::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +::Ifc4x3_rc2::IfcUnit Ifc4x3_rc2::IfcPropertyEnumeration::Unit() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcUnit{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcUnit>(); } void Ifc4x3_rc2::IfcPropertyEnumeration::setUnit(const ::Ifc4x3_rc2::IfcUnit& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc2::IfcPropertyEnumeration::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[843]); } -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; } +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); } -void Ifc4x3_rc2::IfcPropertyListValue::setListValues(const std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } -::Ifc4x3_rc2::IfcUnit Ifc4x3_rc2::IfcPropertyListValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcUnit>(); } +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); } +void Ifc4x3_rc2::IfcPropertyListValue::setListValues(const std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +::Ifc4x3_rc2::IfcUnit Ifc4x3_rc2::IfcPropertyListValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcUnit>(); } void Ifc4x3_rc2::IfcPropertyListValue::setUnit(const ::Ifc4x3_rc2::IfcUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc2::IfcPropertyListValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[844]); } -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; } +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; } void Ifc4x3_rc2::IfcPropertyReferenceValue::setUsageName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc2::IfcObjectReferenceSelect Ifc4x3_rc2::IfcPropertyReferenceValue::PropertyReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcObjectReferenceSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcObjectReferenceSelect>(); } +::Ifc4x3_rc2::IfcObjectReferenceSelect Ifc4x3_rc2::IfcPropertyReferenceValue::PropertyReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcObjectReferenceSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcObjectReferenceSelect>(); } void Ifc4x3_rc2::IfcPropertyReferenceValue::setPropertyReference(const ::Ifc4x3_rc2::IfcObjectReferenceSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -13259,12 +13259,12 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcPropertyReferenceValue::Class() { ret 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); } -void Ifc4x3_rc2::IfcPropertySet::setHasProperties(const std::vector< ::Ifc4x3_rc2::IfcProperty >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +std::vector< ::Ifc4x3_rc2::IfcProperty > Ifc4x3_rc2::IfcPropertySet::HasProperties() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc2::IfcProperty>(es); } +void Ifc4x3_rc2::IfcPropertySet::setHasProperties(const std::vector< ::Ifc4x3_rc2::IfcProperty >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } const ifcopenshell::entity& Ifc4x3_rc2::IfcPropertySet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[846]); } -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; } +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 @@ -13280,18 +13280,18 @@ std::optional< ::Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3_rc2: void Ifc4x3_rc2::IfcPropertySetTemplate::setTemplateType(const std::optional< ::Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::Value >& v) { if (v) {set_attribute_value(4, enumeration_reference(&::Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } std::optional< std::string > Ifc4x3_rc2::IfcPropertySetTemplate::ApplicableEntity() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcPropertySetTemplate::setApplicableEntity(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector< ::Ifc4x3_rc2::IfcPropertyTemplate > Ifc4x3_rc2::IfcPropertySetTemplate::HasPropertyTemplates() const { std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc2::IfcPropertyTemplate>(es); } -void Ifc4x3_rc2::IfcPropertySetTemplate::setHasPropertyTemplates(const std::vector< ::Ifc4x3_rc2::IfcPropertyTemplate >& v) { set_attribute_value(6, cast_vector(v));if constexpr (false)unset_attribute_value(6); } +std::vector< ::Ifc4x3_rc2::IfcPropertyTemplate > Ifc4x3_rc2::IfcPropertySetTemplate::HasPropertyTemplates() const { std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc2::IfcPropertyTemplate>(es); } +void Ifc4x3_rc2::IfcPropertySetTemplate::setHasPropertyTemplates(const std::vector< ::Ifc4x3_rc2::IfcPropertyTemplate >& v) { set_attribute_value(6, cast_vector(v));if constexpr (false)unset_attribute_value(6); } 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]); } -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; } +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>(); } +::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>(); } void Ifc4x3_rc2::IfcPropertySingleValue::setNominalValue(const ::Ifc4x3_rc2::IfcValue& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcUnit Ifc4x3_rc2::IfcPropertySingleValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcUnit>(); } +::Ifc4x3_rc2::IfcUnit Ifc4x3_rc2::IfcPropertySingleValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcUnit>(); } void Ifc4x3_rc2::IfcPropertySingleValue::setUnit(const ::Ifc4x3_rc2::IfcUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -13299,22 +13299,22 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcPropertySingleValue::Class() { return 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); } -void Ifc4x3_rc2::IfcPropertyTableValue::setDefiningValues(const std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } -std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > > Ifc4x3_rc2::IfcPropertyTableValue::DefinedValues() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc2::IfcValue>(es); } -void Ifc4x3_rc2::IfcPropertyTableValue::setDefinedValues(const std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } +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); } +void Ifc4x3_rc2::IfcPropertyTableValue::setDefiningValues(const std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > > Ifc4x3_rc2::IfcPropertyTableValue::DefinedValues() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc2::IfcValue>(es); } +void Ifc4x3_rc2::IfcPropertyTableValue::setDefinedValues(const std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } std::optional< std::string > Ifc4x3_rc2::IfcPropertyTableValue::Expression() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcPropertyTableValue::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc2::IfcUnit Ifc4x3_rc2::IfcPropertyTableValue::DefiningUnit() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc2::IfcUnit{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcUnit>(); } +::Ifc4x3_rc2::IfcUnit Ifc4x3_rc2::IfcPropertyTableValue::DefiningUnit() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc2::IfcUnit{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcUnit>(); } void Ifc4x3_rc2::IfcPropertyTableValue::setDefiningUnit(const ::Ifc4x3_rc2::IfcUnit& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc2::IfcUnit Ifc4x3_rc2::IfcPropertyTableValue::DefinedUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcUnit{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcUnit>(); } +::Ifc4x3_rc2::IfcUnit Ifc4x3_rc2::IfcPropertyTableValue::DefinedUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcUnit{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcUnit>(); } void Ifc4x3_rc2::IfcPropertyTableValue::setDefinedUnit(const ::Ifc4x3_rc2::IfcUnit& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< ::Ifc4x3_rc2::IfcCurveInterpolationEnum::Value > Ifc4x3_rc2::IfcPropertyTableValue::CurveInterpolation() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcCurveInterpolationEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc2::IfcPropertyTableValue::setCurveInterpolation(const std::optional< ::Ifc4x3_rc2::IfcCurveInterpolationEnum::Value >& v) { if (v) {set_attribute_value(7, enumeration_reference(&::Ifc4x3_rc2::IfcCurveInterpolationEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const ifcopenshell::entity& Ifc4x3_rc2::IfcPropertyTableValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[853]); } -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; } +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 @@ -13352,7 +13352,7 @@ void Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(const :: const ifcopenshell::entity& Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[858]); } -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; } +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]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -13484,7 +13484,7 @@ void Ifc4x3_rc2::IfcRailingType::setPredefinedType(const ::Ifc4x3_rc2::IfcRailin const ifcopenshell::entity& Ifc4x3_rc2::IfcRailingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[876]); } -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; } +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 @@ -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]); } -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; } +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]); } -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; } +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]); } -Ifc4x3_rc2::IfcRationalBSplineCurveWithKnots Ifc4x3_rc2::IfcRationalBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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; } +Ifc4x3_rc2::IfcRationalBSplineCurveWithKnots Ifc4x3_rc2::IfcRationalBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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]); } -Ifc4x3_rc2::IfcRationalBSplineSurfaceWithKnots Ifc4x3_rc2::IfcRationalBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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; } +Ifc4x3_rc2::IfcRationalBSplineSurfaceWithKnots Ifc4x3_rc2::IfcRationalBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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; } @@ -13575,7 +13575,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcRectangularPyramid::Class() { return 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>(); } +::Ifc4x3_rc2::IfcSurface Ifc4x3_rc2::IfcRectangularTrimmedSurface::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcSurface>(); } void Ifc4x3_rc2::IfcRectangularTrimmedSurface::setBasisSurface(const ::Ifc4x3_rc2::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc2::IfcRectangularTrimmedSurface::U1() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcRectangularTrimmedSurface::setU1(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -13609,12 +13609,12 @@ std::optional< int64_t > Ifc4x3_rc2::IfcRecurrencePattern::Interval() const { if void Ifc4x3_rc2::IfcRecurrencePattern::setInterval(const std::optional< int64_t >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< int64_t > Ifc4x3_rc2::IfcRecurrencePattern::Occurrences() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcRecurrencePattern::setOccurrences(const std::optional< int64_t >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x3_rc2::IfcTimePeriod > > Ifc4x3_rc2::IfcRecurrencePattern::TimePeriods() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc2::IfcTimePeriod>(es); } -void Ifc4x3_rc2::IfcRecurrencePattern::setTimePeriods(const std::optional< std::vector< ::Ifc4x3_rc2::IfcTimePeriod > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x3_rc2::IfcTimePeriod > > Ifc4x3_rc2::IfcRecurrencePattern::TimePeriods() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc2::IfcTimePeriod>(es); } +void Ifc4x3_rc2::IfcRecurrencePattern::setTimePeriods(const std::optional< std::vector< ::Ifc4x3_rc2::IfcTimePeriod > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } const ifcopenshell::entity& Ifc4x3_rc2::IfcRecurrencePattern::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[896]); } -Ifc4x3_rc2::IfcRecurrencePattern Ifc4x3_rc2::IfcRecurrencePattern::initialize(::Ifc4x3_rc2::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int64_t > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v4_MonthComponent, std::optional< int64_t > v5_Position, std::optional< int64_t > v6_Interval, std::optional< int64_t > 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; } +Ifc4x3_rc2::IfcRecurrencePattern Ifc4x3_rc2::IfcRecurrencePattern::initialize(::Ifc4x3_rc2::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int64_t > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v4_MonthComponent, std::optional< int64_t > v5_Position, std::optional< int64_t > v6_Interval, std::optional< int64_t > 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; } @@ -13625,7 +13625,7 @@ std::optional< std::string > Ifc4x3_rc2::IfcReference::InstanceName() const { if void Ifc4x3_rc2::IfcReference::setInstanceName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } std::optional< std::vector< int64_t > /*[1:?]*/ > Ifc4x3_rc2::IfcReference::ListPositions() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< int64_t > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcReference::setListPositions(const std::optional< std::vector< int64_t > /*[1:?]*/ >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc2::IfcReference Ifc4x3_rc2::IfcReference::InnerReference() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc2::IfcReference{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcReference>(); } +::Ifc4x3_rc2::IfcReference Ifc4x3_rc2::IfcReference::InnerReference() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc2::IfcReference{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcReference>(); } void Ifc4x3_rc2::IfcReference::setInnerReference(const ::Ifc4x3_rc2::IfcReference& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -13645,12 +13645,12 @@ Ifc4x3_rc2::IfcReferent Ifc4x3_rc2::IfcReferent::initialize(std::string v1_Globa // Function implementations for IfcRegularTimeSeries double Ifc4x3_rc2::IfcRegularTimeSeries::TimeStep() const { double v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcRegularTimeSeries::setTimeStep(const double& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::vector< ::Ifc4x3_rc2::IfcTimeSeriesValue > Ifc4x3_rc2::IfcRegularTimeSeries::Values() const { std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc2::IfcTimeSeriesValue>(es); } -void Ifc4x3_rc2::IfcRegularTimeSeries::setValues(const std::vector< ::Ifc4x3_rc2::IfcTimeSeriesValue >& v) { set_attribute_value(9, cast_vector(v));if constexpr (false)unset_attribute_value(9); } +std::vector< ::Ifc4x3_rc2::IfcTimeSeriesValue > Ifc4x3_rc2::IfcRegularTimeSeries::Values() const { std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc2::IfcTimeSeriesValue>(es); } +void Ifc4x3_rc2::IfcRegularTimeSeries::setValues(const std::vector< ::Ifc4x3_rc2::IfcTimeSeriesValue >& v) { set_attribute_value(9, cast_vector(v));if constexpr (false)unset_attribute_value(9); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRegularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[902]); } -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; } +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)); } @@ -13681,12 +13681,12 @@ Ifc4x3_rc2::IfcReinforcementBarProperties Ifc4x3_rc2::IfcReinforcementBarPropert // 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; } void Ifc4x3_rc2::IfcReinforcementDefinitionProperties::setDefinitionType(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector< ::Ifc4x3_rc2::IfcSectionReinforcementProperties > Ifc4x3_rc2::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc2::IfcSectionReinforcementProperties>(es); } -void Ifc4x3_rc2::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(const std::vector< ::Ifc4x3_rc2::IfcSectionReinforcementProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc2::IfcSectionReinforcementProperties > Ifc4x3_rc2::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc2::IfcSectionReinforcementProperties>(es); } +void Ifc4x3_rc2::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(const std::vector< ::Ifc4x3_rc2::IfcSectionReinforcementProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc2::IfcReinforcementDefinitionProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[906]); } -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; } +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; } @@ -13717,12 +13717,12 @@ std::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc2::I void Ifc4x3_rc2::IfcReinforcingBarType::setBarSurface(const std::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value >& v) { if (v) {set_attribute_value(13, enumeration_reference(&::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } std::optional< std::string > Ifc4x3_rc2::IfcReinforcingBarType::BendingShapeCode() const { if(get_attribute_value(14).isNull()) { return std::nullopt; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_rc2::IfcReinforcingBarType::setBendingShapeCode(const std::optional< std::string >& v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -std::optional< std::vector< ::Ifc4x3_rc2::IfcBendingParameterSelect > > Ifc4x3_rc2::IfcReinforcingBarType::BendingParameters() const { if(get_attribute_value(15).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(15); return cast_vector<::Ifc4x3_rc2::IfcBendingParameterSelect>(es); } -void Ifc4x3_rc2::IfcReinforcingBarType::setBendingParameters(const std::optional< std::vector< ::Ifc4x3_rc2::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(15, cast_vector(*v));} else {unset_attribute_value(15);} } +std::optional< std::vector< ::Ifc4x3_rc2::IfcBendingParameterSelect > > Ifc4x3_rc2::IfcReinforcingBarType::BendingParameters() const { if(get_attribute_value(15).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(15); return cast_vector<::Ifc4x3_rc2::IfcBendingParameterSelect>(es); } +void Ifc4x3_rc2::IfcReinforcingBarType::setBendingParameters(const std::optional< std::vector< ::Ifc4x3_rc2::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(15, cast_vector(*v));} else {unset_attribute_value(15);} } const ifcopenshell::entity& Ifc4x3_rc2::IfcReinforcingBarType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[910]); } -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; } +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; } @@ -13736,7 +13736,7 @@ Ifc4x3_rc2::IfcReinforcingElement Ifc4x3_rc2::IfcReinforcingElement::initialize( const ifcopenshell::entity& Ifc4x3_rc2::IfcReinforcingElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[913]); } -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; } +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; } @@ -13783,58 +13783,58 @@ std::optional< double > Ifc4x3_rc2::IfcReinforcingMeshType::TransverseBarSpacing void Ifc4x3_rc2::IfcReinforcingMeshType::setTransverseBarSpacing(const std::optional< double >& v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } std::optional< std::string > Ifc4x3_rc2::IfcReinforcingMeshType::BendingShapeCode() const { if(get_attribute_value(18).isNull()) { return std::nullopt; } std::string v = get_attribute_value(18); return v; } void Ifc4x3_rc2::IfcReinforcingMeshType::setBendingShapeCode(const std::optional< std::string >& v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -std::optional< std::vector< ::Ifc4x3_rc2::IfcBendingParameterSelect > > Ifc4x3_rc2::IfcReinforcingMeshType::BendingParameters() const { if(get_attribute_value(19).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(19); return cast_vector<::Ifc4x3_rc2::IfcBendingParameterSelect>(es); } -void Ifc4x3_rc2::IfcReinforcingMeshType::setBendingParameters(const std::optional< std::vector< ::Ifc4x3_rc2::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(19, cast_vector(*v));} else {unset_attribute_value(19);} } +std::optional< std::vector< ::Ifc4x3_rc2::IfcBendingParameterSelect > > Ifc4x3_rc2::IfcReinforcingMeshType::BendingParameters() const { if(get_attribute_value(19).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(19); return cast_vector<::Ifc4x3_rc2::IfcBendingParameterSelect>(es); } +void Ifc4x3_rc2::IfcReinforcingMeshType::setBendingParameters(const std::optional< std::vector< ::Ifc4x3_rc2::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(19, cast_vector(*v));} else {unset_attribute_value(19);} } const ifcopenshell::entity& Ifc4x3_rc2::IfcReinforcingMeshType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[915]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcObjectDefinition Ifc4x3_rc2::IfcRelAggregates::RelatingObject() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcObjectDefinition>(); } void Ifc4x3_rc2::IfcRelAggregates::setRelatingObject(const ::Ifc4x3_rc2::IfcObjectDefinition& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > Ifc4x3_rc2::IfcRelAggregates::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc2::IfcObjectDefinition>(es); } -void Ifc4x3_rc2::IfcRelAggregates::setRelatedObjects(const std::vector< ::Ifc4x3_rc2::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > Ifc4x3_rc2::IfcRelAggregates::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc2::IfcObjectDefinition>(es); } +void Ifc4x3_rc2::IfcRelAggregates::setRelatedObjects(const std::vector< ::Ifc4x3_rc2::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAggregates::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[917]); } -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; } +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); } -void Ifc4x3_rc2::IfcRelAssigns::setRelatedObjects(const std::vector< ::Ifc4x3_rc2::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > Ifc4x3_rc2::IfcRelAssigns::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc2::IfcObjectDefinition>(es); } +void Ifc4x3_rc2::IfcRelAssigns::setRelatedObjects(const std::vector< ::Ifc4x3_rc2::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > Ifc4x3_rc2::IfcRelAssigns::RelatedObjectsType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcObjectTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc2::IfcRelAssigns::setRelatedObjectsType(const std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value >& v) { if (v) {set_attribute_value(5, enumeration_reference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssigns::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[918]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcActor Ifc4x3_rc2::IfcRelAssignsToActor::RelatingActor() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcActor>(); } void Ifc4x3_rc2::IfcRelAssignsToActor::setRelatingActor(const ::Ifc4x3_rc2::IfcActor& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc2::IfcActorRole Ifc4x3_rc2::IfcRelAssignsToActor::ActingRole() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc2::IfcActorRole{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc2::IfcActorRole>(); } +::Ifc4x3_rc2::IfcActorRole Ifc4x3_rc2::IfcRelAssignsToActor::ActingRole() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc2::IfcActorRole{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc2::IfcActorRole>(); } void Ifc4x3_rc2::IfcRelAssignsToActor::setActingRole(const ::Ifc4x3_rc2::IfcActorRole& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssignsToActor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[919]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcControl Ifc4x3_rc2::IfcRelAssignsToControl::RelatingControl() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcControl>(); } void Ifc4x3_rc2::IfcRelAssignsToControl::setRelatingControl(const ::Ifc4x3_rc2::IfcControl& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssignsToControl::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[920]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcGroup Ifc4x3_rc2::IfcRelAssignsToGroup::RelatingGroup() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcGroup>(); } void Ifc4x3_rc2::IfcRelAssignsToGroup::setRelatingGroup(const ::Ifc4x3_rc2::IfcGroup& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssignsToGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[921]); } -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; } +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,99 +13842,99 @@ void Ifc4x3_rc2::IfcRelAssignsToGroupByFactor::setFactor(const double& v) { set_ const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssignsToGroupByFactor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[922]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcProcessSelect Ifc4x3_rc2::IfcRelAssignsToProcess::RelatingProcess() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcProcessSelect>(); } void Ifc4x3_rc2::IfcRelAssignsToProcess::setRelatingProcess(const ::Ifc4x3_rc2::IfcProcessSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc2::IfcMeasureWithUnit Ifc4x3_rc2::IfcRelAssignsToProcess::QuantityInProcess() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc2::IfcMeasureWithUnit{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc2::IfcMeasureWithUnit>(); } +::Ifc4x3_rc2::IfcMeasureWithUnit Ifc4x3_rc2::IfcRelAssignsToProcess::QuantityInProcess() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc2::IfcMeasureWithUnit{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc2::IfcMeasureWithUnit>(); } void Ifc4x3_rc2::IfcRelAssignsToProcess::setQuantityInProcess(const ::Ifc4x3_rc2::IfcMeasureWithUnit& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssignsToProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[923]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcProductSelect Ifc4x3_rc2::IfcRelAssignsToProduct::RelatingProduct() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcProductSelect>(); } void Ifc4x3_rc2::IfcRelAssignsToProduct::setRelatingProduct(const ::Ifc4x3_rc2::IfcProductSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssignsToProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[924]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcResourceSelect Ifc4x3_rc2::IfcRelAssignsToResource::RelatingResource() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcResourceSelect>(); } void Ifc4x3_rc2::IfcRelAssignsToResource::setRelatingResource(const ::Ifc4x3_rc2::IfcResourceSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssignsToResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[925]); } -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; } +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); } -void Ifc4x3_rc2::IfcRelAssociates::setRelatedObjects(const std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > Ifc4x3_rc2::IfcRelAssociates::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc2::IfcDefinitionSelect>(es); } +void Ifc4x3_rc2::IfcRelAssociates::setRelatedObjects(const std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssociates::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[926]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcApproval Ifc4x3_rc2::IfcRelAssociatesApproval::RelatingApproval() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcApproval>(); } void Ifc4x3_rc2::IfcRelAssociatesApproval::setRelatingApproval(const ::Ifc4x3_rc2::IfcApproval& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssociatesApproval::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[927]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcClassificationSelect Ifc4x3_rc2::IfcRelAssociatesClassification::RelatingClassification() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcClassificationSelect>(); } void Ifc4x3_rc2::IfcRelAssociatesClassification::setRelatingClassification(const ::Ifc4x3_rc2::IfcClassificationSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssociatesClassification::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[928]); } -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; } +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; } void Ifc4x3_rc2::IfcRelAssociatesConstraint::setIntent(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc2::IfcConstraint Ifc4x3_rc2::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcConstraint>(); } +::Ifc4x3_rc2::IfcConstraint Ifc4x3_rc2::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcConstraint>(); } void Ifc4x3_rc2::IfcRelAssociatesConstraint::setRelatingConstraint(const ::Ifc4x3_rc2::IfcConstraint& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssociatesConstraint::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[929]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcDocumentSelect Ifc4x3_rc2::IfcRelAssociatesDocument::RelatingDocument() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcDocumentSelect>(); } void Ifc4x3_rc2::IfcRelAssociatesDocument::setRelatingDocument(const ::Ifc4x3_rc2::IfcDocumentSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssociatesDocument::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[930]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcLibrarySelect Ifc4x3_rc2::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcLibrarySelect>(); } void Ifc4x3_rc2::IfcRelAssociatesLibrary::setRelatingLibrary(const ::Ifc4x3_rc2::IfcLibrarySelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssociatesLibrary::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[931]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcMaterialSelect Ifc4x3_rc2::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcMaterialSelect>(); } void Ifc4x3_rc2::IfcRelAssociatesMaterial::setRelatingMaterial(const ::Ifc4x3_rc2::IfcMaterialSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssociatesMaterial::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[932]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcProfileDef Ifc4x3_rc2::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcProfileDef>(); } void Ifc4x3_rc2::IfcRelAssociatesProfileDef::setRelatingProfileDef(const ::Ifc4x3_rc2::IfcProfileDef& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssociatesProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[933]); } -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; } +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 @@ -13943,11 +13943,11 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcRelConnects::Class() { return *((ifco 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>(); } +::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>(); } void Ifc4x3_rc2::IfcRelConnectsElements::setConnectionGeometry(const ::Ifc4x3_rc2::IfcConnectionGeometry& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcElement Ifc4x3_rc2::IfcRelConnectsElements::RelatingElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcElement>(); } +::Ifc4x3_rc2::IfcElement Ifc4x3_rc2::IfcRelConnectsElements::RelatingElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcElement>(); } void Ifc4x3_rc2::IfcRelConnectsElements::setRelatingElement(const ::Ifc4x3_rc2::IfcElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc2::IfcElement Ifc4x3_rc2::IfcRelConnectsElements::RelatedElement() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcElement>(); } +::Ifc4x3_rc2::IfcElement Ifc4x3_rc2::IfcRelConnectsElements::RelatedElement() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcElement>(); } void Ifc4x3_rc2::IfcRelConnectsElements::setRelatedElement(const ::Ifc4x3_rc2::IfcElement& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -13969,9 +13969,9 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcRelConnectsPathElements::Class() { re 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< int64_t > /*[0:?]*/ v8_RelatingPriorities, std::vector< int64_t > /*[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>(); } +::Ifc4x3_rc2::IfcPort Ifc4x3_rc2::IfcRelConnectsPortToElement::RelatingPort() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcPort>(); } void Ifc4x3_rc2::IfcRelConnectsPortToElement::setRelatingPort(const ::Ifc4x3_rc2::IfcPort& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcDistributionElement Ifc4x3_rc2::IfcRelConnectsPortToElement::RelatedElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcDistributionElement>(); } +::Ifc4x3_rc2::IfcDistributionElement Ifc4x3_rc2::IfcRelConnectsPortToElement::RelatedElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcDistributionElement>(); } void Ifc4x3_rc2::IfcRelConnectsPortToElement::setRelatedElement(const ::Ifc4x3_rc2::IfcDistributionElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -13979,11 +13979,11 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcRelConnectsPortToElement::Class() { r 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>(); } +::Ifc4x3_rc2::IfcPort Ifc4x3_rc2::IfcRelConnectsPorts::RelatingPort() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcPort>(); } void Ifc4x3_rc2::IfcRelConnectsPorts::setRelatingPort(const ::Ifc4x3_rc2::IfcPort& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcPort Ifc4x3_rc2::IfcRelConnectsPorts::RelatedPort() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcPort>(); } +::Ifc4x3_rc2::IfcPort Ifc4x3_rc2::IfcRelConnectsPorts::RelatedPort() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcPort>(); } void Ifc4x3_rc2::IfcRelConnectsPorts::setRelatedPort(const ::Ifc4x3_rc2::IfcPort& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc2::IfcElement Ifc4x3_rc2::IfcRelConnectsPorts::RealizingElement() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcElement{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcElement>(); } +::Ifc4x3_rc2::IfcElement Ifc4x3_rc2::IfcRelConnectsPorts::RealizingElement() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcElement{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcElement>(); } void Ifc4x3_rc2::IfcRelConnectsPorts::setRealizingElement(const ::Ifc4x3_rc2::IfcElement& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -13991,9 +13991,9 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcRelConnectsPorts::Class() { return *( 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>(); } +::Ifc4x3_rc2::IfcStructuralActivityAssignmentSelect Ifc4x3_rc2::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcStructuralActivityAssignmentSelect>(); } void Ifc4x3_rc2::IfcRelConnectsStructuralActivity::setRelatingElement(const ::Ifc4x3_rc2::IfcStructuralActivityAssignmentSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcStructuralActivity Ifc4x3_rc2::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcStructuralActivity>(); } +::Ifc4x3_rc2::IfcStructuralActivity Ifc4x3_rc2::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcStructuralActivity>(); } void Ifc4x3_rc2::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(const ::Ifc4x3_rc2::IfcStructuralActivity& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -14001,17 +14001,17 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcRelConnectsStructuralActivity::Class( 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>(); } +::Ifc4x3_rc2::IfcStructuralMember Ifc4x3_rc2::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcStructuralMember>(); } void Ifc4x3_rc2::IfcRelConnectsStructuralMember::setRelatingStructuralMember(const ::Ifc4x3_rc2::IfcStructuralMember& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcStructuralConnection Ifc4x3_rc2::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcStructuralConnection>(); } +::Ifc4x3_rc2::IfcStructuralConnection Ifc4x3_rc2::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcStructuralConnection>(); } void Ifc4x3_rc2::IfcRelConnectsStructuralMember::setRelatedStructuralConnection(const ::Ifc4x3_rc2::IfcStructuralConnection& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc2::IfcBoundaryCondition Ifc4x3_rc2::IfcRelConnectsStructuralMember::AppliedCondition() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcBoundaryCondition{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcBoundaryCondition>(); } +::Ifc4x3_rc2::IfcBoundaryCondition Ifc4x3_rc2::IfcRelConnectsStructuralMember::AppliedCondition() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcBoundaryCondition{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcBoundaryCondition>(); } void Ifc4x3_rc2::IfcRelConnectsStructuralMember::setAppliedCondition(const ::Ifc4x3_rc2::IfcBoundaryCondition& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc2::IfcStructuralConnectionCondition Ifc4x3_rc2::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc2::IfcStructuralConnectionCondition{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc2::IfcStructuralConnectionCondition>(); } +::Ifc4x3_rc2::IfcStructuralConnectionCondition Ifc4x3_rc2::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc2::IfcStructuralConnectionCondition{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc2::IfcStructuralConnectionCondition>(); } void Ifc4x3_rc2::IfcRelConnectsStructuralMember::setAdditionalConditions(const ::Ifc4x3_rc2::IfcStructuralConnectionCondition& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } std::optional< double > Ifc4x3_rc2::IfcRelConnectsStructuralMember::SupportedLength() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcRelConnectsStructuralMember::setSupportedLength(const std::optional< double >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_rc2::IfcAxis2Placement3D Ifc4x3_rc2::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc2::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc2::IfcAxis2Placement3D>(); } +::Ifc4x3_rc2::IfcAxis2Placement3D Ifc4x3_rc2::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc2::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc2::IfcAxis2Placement3D>(); } void Ifc4x3_rc2::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(const ::Ifc4x3_rc2::IfcAxis2Placement3D& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } @@ -14019,7 +14019,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcRelConnectsStructuralMember::Class() 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>(); } +::Ifc4x3_rc2::IfcConnectionGeometry Ifc4x3_rc2::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((express::base)(get_attribute_value(10))).as<::Ifc4x3_rc2::IfcConnectionGeometry>(); } void Ifc4x3_rc2::IfcRelConnectsWithEccentricity::setConnectionConstraint(const ::Ifc4x3_rc2::IfcConnectionGeometry& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } @@ -14027,54 +14027,54 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcRelConnectsWithEccentricity::Class() 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); } -void Ifc4x3_rc2::IfcRelConnectsWithRealizingElements::setRealizingElements(const std::vector< ::Ifc4x3_rc2::IfcElement >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } +std::vector< ::Ifc4x3_rc2::IfcElement > Ifc4x3_rc2::IfcRelConnectsWithRealizingElements::RealizingElements() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc2::IfcElement>(es); } +void Ifc4x3_rc2::IfcRelConnectsWithRealizingElements::setRealizingElements(const std::vector< ::Ifc4x3_rc2::IfcElement >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } std::optional< std::string > Ifc4x3_rc2::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcRelConnectsWithRealizingElements::setConnectionType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelConnectsWithRealizingElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[943]); } -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; } +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); } -void Ifc4x3_rc2::IfcRelContainedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4x3_rc2::IfcProduct >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcSpatialElement Ifc4x3_rc2::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcSpatialElement>(); } +std::vector< ::Ifc4x3_rc2::IfcProduct > Ifc4x3_rc2::IfcRelContainedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc2::IfcProduct>(es); } +void Ifc4x3_rc2::IfcRelContainedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4x3_rc2::IfcProduct >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_rc2::IfcSpatialElement Ifc4x3_rc2::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcSpatialElement>(); } void Ifc4x3_rc2::IfcRelContainedInSpatialStructure::setRelatingStructure(const ::Ifc4x3_rc2::IfcSpatialElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelContainedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[944]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcElement Ifc4x3_rc2::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcElement>(); } void Ifc4x3_rc2::IfcRelCoversBldgElements::setRelatingBuildingElement(const ::Ifc4x3_rc2::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc2::IfcCovering > Ifc4x3_rc2::IfcRelCoversBldgElements::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc2::IfcCovering>(es); } -void Ifc4x3_rc2::IfcRelCoversBldgElements::setRelatedCoverings(const std::vector< ::Ifc4x3_rc2::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc2::IfcCovering > Ifc4x3_rc2::IfcRelCoversBldgElements::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc2::IfcCovering>(es); } +void Ifc4x3_rc2::IfcRelCoversBldgElements::setRelatedCoverings(const std::vector< ::Ifc4x3_rc2::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelCoversBldgElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[945]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcSpace Ifc4x3_rc2::IfcRelCoversSpaces::RelatingSpace() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcSpace>(); } void Ifc4x3_rc2::IfcRelCoversSpaces::setRelatingSpace(const ::Ifc4x3_rc2::IfcSpace& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc2::IfcCovering > Ifc4x3_rc2::IfcRelCoversSpaces::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc2::IfcCovering>(es); } -void Ifc4x3_rc2::IfcRelCoversSpaces::setRelatedCoverings(const std::vector< ::Ifc4x3_rc2::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc2::IfcCovering > Ifc4x3_rc2::IfcRelCoversSpaces::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc2::IfcCovering>(es); } +void Ifc4x3_rc2::IfcRelCoversSpaces::setRelatedCoverings(const std::vector< ::Ifc4x3_rc2::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelCoversSpaces::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[946]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcContext Ifc4x3_rc2::IfcRelDeclares::RelatingContext() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcContext>(); } void Ifc4x3_rc2::IfcRelDeclares::setRelatingContext(const ::Ifc4x3_rc2::IfcContext& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > Ifc4x3_rc2::IfcRelDeclares::RelatedDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc2::IfcDefinitionSelect>(es); } -void Ifc4x3_rc2::IfcRelDeclares::setRelatedDefinitions(const std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > Ifc4x3_rc2::IfcRelDeclares::RelatedDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc2::IfcDefinitionSelect>(es); } +void Ifc4x3_rc2::IfcRelDeclares::setRelatedDefinitions(const std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelDeclares::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[947]); } -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; } +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 @@ -14089,49 +14089,49 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcRelDefines::Class() { return *((ifcop 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); } -void Ifc4x3_rc2::IfcRelDefinesByObject::setRelatedObjects(const std::vector< ::Ifc4x3_rc2::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcObject Ifc4x3_rc2::IfcRelDefinesByObject::RelatingObject() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcObject>(); } +std::vector< ::Ifc4x3_rc2::IfcObject > Ifc4x3_rc2::IfcRelDefinesByObject::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc2::IfcObject>(es); } +void Ifc4x3_rc2::IfcRelDefinesByObject::setRelatedObjects(const std::vector< ::Ifc4x3_rc2::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_rc2::IfcObject Ifc4x3_rc2::IfcRelDefinesByObject::RelatingObject() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcObject>(); } void Ifc4x3_rc2::IfcRelDefinesByObject::setRelatingObject(const ::Ifc4x3_rc2::IfcObject& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelDefinesByObject::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[950]); } -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; } +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); } -void Ifc4x3_rc2::IfcRelDefinesByProperties::setRelatedObjects(const std::vector< ::Ifc4x3_rc2::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcPropertySetDefinitionSelect Ifc4x3_rc2::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcPropertySetDefinitionSelect>(); } +std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > Ifc4x3_rc2::IfcRelDefinesByProperties::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc2::IfcObjectDefinition>(es); } +void Ifc4x3_rc2::IfcRelDefinesByProperties::setRelatedObjects(const std::vector< ::Ifc4x3_rc2::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_rc2::IfcPropertySetDefinitionSelect Ifc4x3_rc2::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcPropertySetDefinitionSelect>(); } void Ifc4x3_rc2::IfcRelDefinesByProperties::setRelatingPropertyDefinition(const ::Ifc4x3_rc2::IfcPropertySetDefinitionSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelDefinesByProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[951]); } -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; } +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); } -void Ifc4x3_rc2::IfcRelDefinesByTemplate::setRelatedPropertySets(const std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcPropertySetTemplate Ifc4x3_rc2::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcPropertySetTemplate>(); } +std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > Ifc4x3_rc2::IfcRelDefinesByTemplate::RelatedPropertySets() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc2::IfcPropertySetDefinition>(es); } +void Ifc4x3_rc2::IfcRelDefinesByTemplate::setRelatedPropertySets(const std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_rc2::IfcPropertySetTemplate Ifc4x3_rc2::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcPropertySetTemplate>(); } void Ifc4x3_rc2::IfcRelDefinesByTemplate::setRelatingTemplate(const ::Ifc4x3_rc2::IfcPropertySetTemplate& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelDefinesByTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[952]); } -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; } +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); } -void Ifc4x3_rc2::IfcRelDefinesByType::setRelatedObjects(const std::vector< ::Ifc4x3_rc2::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcTypeObject Ifc4x3_rc2::IfcRelDefinesByType::RelatingType() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcTypeObject>(); } +std::vector< ::Ifc4x3_rc2::IfcObject > Ifc4x3_rc2::IfcRelDefinesByType::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc2::IfcObject>(es); } +void Ifc4x3_rc2::IfcRelDefinesByType::setRelatedObjects(const std::vector< ::Ifc4x3_rc2::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_rc2::IfcTypeObject Ifc4x3_rc2::IfcRelDefinesByType::RelatingType() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcTypeObject>(); } void Ifc4x3_rc2::IfcRelDefinesByType::setRelatingType(const ::Ifc4x3_rc2::IfcTypeObject& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelDefinesByType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[953]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcOpeningElement Ifc4x3_rc2::IfcRelFillsElement::RelatingOpeningElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcOpeningElement>(); } void Ifc4x3_rc2::IfcRelFillsElement::setRelatingOpeningElement(const ::Ifc4x3_rc2::IfcOpeningElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcElement Ifc4x3_rc2::IfcRelFillsElement::RelatedBuildingElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcElement>(); } +::Ifc4x3_rc2::IfcElement Ifc4x3_rc2::IfcRelFillsElement::RelatedBuildingElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcElement>(); } void Ifc4x3_rc2::IfcRelFillsElement::setRelatedBuildingElement(const ::Ifc4x3_rc2::IfcElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -14139,21 +14139,21 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcRelFillsElement::Class() { return *(( 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); } -void Ifc4x3_rc2::IfcRelFlowControlElements::setRelatedControlElements(const std::vector< ::Ifc4x3_rc2::IfcDistributionControlElement >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcDistributionFlowElement Ifc4x3_rc2::IfcRelFlowControlElements::RelatingFlowElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcDistributionFlowElement>(); } +std::vector< ::Ifc4x3_rc2::IfcDistributionControlElement > Ifc4x3_rc2::IfcRelFlowControlElements::RelatedControlElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc2::IfcDistributionControlElement>(es); } +void Ifc4x3_rc2::IfcRelFlowControlElements::setRelatedControlElements(const std::vector< ::Ifc4x3_rc2::IfcDistributionControlElement >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_rc2::IfcDistributionFlowElement Ifc4x3_rc2::IfcRelFlowControlElements::RelatingFlowElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcDistributionFlowElement>(); } void Ifc4x3_rc2::IfcRelFlowControlElements::setRelatingFlowElement(const ::Ifc4x3_rc2::IfcDistributionFlowElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelFlowControlElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[955]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcInterferenceSelect Ifc4x3_rc2::IfcRelInterferesElements::RelatingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcInterferenceSelect>(); } void Ifc4x3_rc2::IfcRelInterferesElements::setRelatingElement(const ::Ifc4x3_rc2::IfcInterferenceSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcInterferenceSelect Ifc4x3_rc2::IfcRelInterferesElements::RelatedElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcInterferenceSelect>(); } +::Ifc4x3_rc2::IfcInterferenceSelect Ifc4x3_rc2::IfcRelInterferesElements::RelatedElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcInterferenceSelect>(); } void Ifc4x3_rc2::IfcRelInterferesElements::setRelatedElement(const ::Ifc4x3_rc2::IfcInterferenceSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc2::IfcConnectionGeometry Ifc4x3_rc2::IfcRelInterferesElements::InterferenceGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcConnectionGeometry{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcConnectionGeometry>(); } +::Ifc4x3_rc2::IfcConnectionGeometry Ifc4x3_rc2::IfcRelInterferesElements::InterferenceGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcConnectionGeometry{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcConnectionGeometry>(); } void Ifc4x3_rc2::IfcRelInterferesElements::setInterferenceGeometry(const ::Ifc4x3_rc2::IfcConnectionGeometry& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< std::string > Ifc4x3_rc2::IfcRelInterferesElements::InterferenceType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcRelInterferesElements::setInterferenceType(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } @@ -14165,29 +14165,29 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcRelInterferesElements::Class() { retu 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>(); } +::Ifc4x3_rc2::IfcObjectDefinition Ifc4x3_rc2::IfcRelNests::RelatingObject() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcObjectDefinition>(); } void Ifc4x3_rc2::IfcRelNests::setRelatingObject(const ::Ifc4x3_rc2::IfcObjectDefinition& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > Ifc4x3_rc2::IfcRelNests::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc2::IfcObjectDefinition>(es); } -void Ifc4x3_rc2::IfcRelNests::setRelatedObjects(const std::vector< ::Ifc4x3_rc2::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > Ifc4x3_rc2::IfcRelNests::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc2::IfcObjectDefinition>(es); } +void Ifc4x3_rc2::IfcRelNests::setRelatedObjects(const std::vector< ::Ifc4x3_rc2::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelNests::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[957]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcPositioningElement Ifc4x3_rc2::IfcRelPositions::RelatingPositioningElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcPositioningElement>(); } void Ifc4x3_rc2::IfcRelPositions::setRelatingPositioningElement(const ::Ifc4x3_rc2::IfcPositioningElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc2::IfcProduct > Ifc4x3_rc2::IfcRelPositions::RelatedProducts() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc2::IfcProduct>(es); } -void Ifc4x3_rc2::IfcRelPositions::setRelatedProducts(const std::vector< ::Ifc4x3_rc2::IfcProduct >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc2::IfcProduct > Ifc4x3_rc2::IfcRelPositions::RelatedProducts() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc2::IfcProduct>(es); } +void Ifc4x3_rc2::IfcRelPositions::setRelatedProducts(const std::vector< ::Ifc4x3_rc2::IfcProduct >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelPositions::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[958]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcElement Ifc4x3_rc2::IfcRelProjectsElement::RelatingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcElement>(); } void Ifc4x3_rc2::IfcRelProjectsElement::setRelatingElement(const ::Ifc4x3_rc2::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcFeatureElementAddition Ifc4x3_rc2::IfcRelProjectsElement::RelatedFeatureElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcFeatureElementAddition>(); } +::Ifc4x3_rc2::IfcFeatureElementAddition Ifc4x3_rc2::IfcRelProjectsElement::RelatedFeatureElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcFeatureElementAddition>(); } void Ifc4x3_rc2::IfcRelProjectsElement::setRelatedFeatureElement(const ::Ifc4x3_rc2::IfcFeatureElementAddition& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -14195,21 +14195,21 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcRelProjectsElement::Class() { return 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); } -void Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4x3_rc2::IfcSpatialReferenceSelect >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcSpatialElement Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcSpatialElement>(); } +std::vector< ::Ifc4x3_rc2::IfcSpatialReferenceSelect > Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc2::IfcSpatialReferenceSelect>(es); } +void Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4x3_rc2::IfcSpatialReferenceSelect >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_rc2::IfcSpatialElement Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcSpatialElement>(); } void Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::setRelatingStructure(const ::Ifc4x3_rc2::IfcSpatialElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[960]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcProcess Ifc4x3_rc2::IfcRelSequence::RelatingProcess() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcProcess>(); } void Ifc4x3_rc2::IfcRelSequence::setRelatingProcess(const ::Ifc4x3_rc2::IfcProcess& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcProcess Ifc4x3_rc2::IfcRelSequence::RelatedProcess() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcProcess>(); } +::Ifc4x3_rc2::IfcProcess Ifc4x3_rc2::IfcRelSequence::RelatedProcess() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcProcess>(); } void Ifc4x3_rc2::IfcRelSequence::setRelatedProcess(const ::Ifc4x3_rc2::IfcProcess& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc2::IfcLagTime Ifc4x3_rc2::IfcRelSequence::TimeLag() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcLagTime{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcLagTime>(); } +::Ifc4x3_rc2::IfcLagTime Ifc4x3_rc2::IfcRelSequence::TimeLag() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcLagTime{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcLagTime>(); } void Ifc4x3_rc2::IfcRelSequence::setTimeLag(const ::Ifc4x3_rc2::IfcLagTime& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< ::Ifc4x3_rc2::IfcSequenceEnum::Value > Ifc4x3_rc2::IfcRelSequence::SequenceType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcSequenceEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc2::IfcRelSequence::setSequenceType(const std::optional< ::Ifc4x3_rc2::IfcSequenceEnum::Value >& v) { if (v) {set_attribute_value(7, enumeration_reference(&::Ifc4x3_rc2::IfcSequenceEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } @@ -14221,21 +14221,21 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcRelSequence::Class() { return *((ifco 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>(); } +::Ifc4x3_rc2::IfcSystem Ifc4x3_rc2::IfcRelServicesBuildings::RelatingSystem() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcSystem>(); } void Ifc4x3_rc2::IfcRelServicesBuildings::setRelatingSystem(const ::Ifc4x3_rc2::IfcSystem& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc2::IfcSpatialElement > Ifc4x3_rc2::IfcRelServicesBuildings::RelatedBuildings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc2::IfcSpatialElement>(es); } -void Ifc4x3_rc2::IfcRelServicesBuildings::setRelatedBuildings(const std::vector< ::Ifc4x3_rc2::IfcSpatialElement >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc2::IfcSpatialElement > Ifc4x3_rc2::IfcRelServicesBuildings::RelatedBuildings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc2::IfcSpatialElement>(es); } +void Ifc4x3_rc2::IfcRelServicesBuildings::setRelatedBuildings(const std::vector< ::Ifc4x3_rc2::IfcSpatialElement >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelServicesBuildings::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[962]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcSpaceBoundarySelect Ifc4x3_rc2::IfcRelSpaceBoundary::RelatingSpace() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcSpaceBoundarySelect>(); } void Ifc4x3_rc2::IfcRelSpaceBoundary::setRelatingSpace(const ::Ifc4x3_rc2::IfcSpaceBoundarySelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcElement Ifc4x3_rc2::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcElement>(); } +::Ifc4x3_rc2::IfcElement Ifc4x3_rc2::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcElement>(); } void Ifc4x3_rc2::IfcRelSpaceBoundary::setRelatedBuildingElement(const ::Ifc4x3_rc2::IfcElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc2::IfcConnectionGeometry Ifc4x3_rc2::IfcRelSpaceBoundary::ConnectionGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcConnectionGeometry{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcConnectionGeometry>(); } +::Ifc4x3_rc2::IfcConnectionGeometry Ifc4x3_rc2::IfcRelSpaceBoundary::ConnectionGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcConnectionGeometry{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcConnectionGeometry>(); } void Ifc4x3_rc2::IfcRelSpaceBoundary::setConnectionGeometry(const ::Ifc4x3_rc2::IfcConnectionGeometry& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } ::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value Ifc4x3_rc2::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc2::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(const ::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } @@ -14247,7 +14247,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcRelSpaceBoundary::Class() { return *( 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>(); } +::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>(); } void Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel::setParentBoundary(const ::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::vector<::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel> Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[964], 9)); } @@ -14256,7 +14256,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel::Class() { r 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>(); } +::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>(); } void Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(const ::Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } std::vector<::Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel> Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[965], 10)); } @@ -14265,9 +14265,9 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel::Class() { r 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>(); } +::Ifc4x3_rc2::IfcElement Ifc4x3_rc2::IfcRelVoidsElement::RelatingBuildingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcElement>(); } void Ifc4x3_rc2::IfcRelVoidsElement::setRelatingBuildingElement(const ::Ifc4x3_rc2::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcFeatureElementSubtraction Ifc4x3_rc2::IfcRelVoidsElement::RelatedOpeningElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcFeatureElementSubtraction>(); } +::Ifc4x3_rc2::IfcFeatureElementSubtraction Ifc4x3_rc2::IfcRelVoidsElement::RelatedOpeningElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcFeatureElementSubtraction>(); } void Ifc4x3_rc2::IfcRelVoidsElement::setRelatedOpeningElement(const ::Ifc4x3_rc2::IfcFeatureElementSubtraction& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -14289,21 +14289,21 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcReparametrisedCompositeCurveSegment:: 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>(); } +::Ifc4x3_rc2::IfcRepresentationContext Ifc4x3_rc2::IfcRepresentation::ContextOfItems() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcRepresentationContext>(); } void Ifc4x3_rc2::IfcRepresentation::setContextOfItems(const ::Ifc4x3_rc2::IfcRepresentationContext& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x3_rc2::IfcRepresentation::RepresentationIdentifier() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcRepresentation::setRepresentationIdentifier(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x3_rc2::IfcRepresentation::RepresentationType() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcRepresentation::setRepresentationType(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector< ::Ifc4x3_rc2::IfcRepresentationItem > Ifc4x3_rc2::IfcRepresentation::Items() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc2::IfcRepresentationItem>(es); } -void Ifc4x3_rc2::IfcRepresentation::setItems(const std::vector< ::Ifc4x3_rc2::IfcRepresentationItem >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc2::IfcRepresentationItem > Ifc4x3_rc2::IfcRepresentation::Items() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc2::IfcRepresentationItem>(es); } +void Ifc4x3_rc2::IfcRepresentation::setItems(const std::vector< ::Ifc4x3_rc2::IfcRepresentationItem >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } std::vector<::Ifc4x3_rc2::IfcRepresentationMap> Ifc4x3_rc2::IfcRepresentation::RepresentationMap() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[971], 1)); } std::vector<::Ifc4x3_rc2::IfcPresentationLayerAssignment> Ifc4x3_rc2::IfcRepresentation::LayerAssignments() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[810], 2)); } 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]); } -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; } +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; } @@ -14325,9 +14325,9 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcRepresentationItem::Class() { return 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>(); } +::Ifc4x3_rc2::IfcAxis2Placement Ifc4x3_rc2::IfcRepresentationMap::MappingOrigin() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcAxis2Placement>(); } void Ifc4x3_rc2::IfcRepresentationMap::setMappingOrigin(const ::Ifc4x3_rc2::IfcAxis2Placement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcRepresentation Ifc4x3_rc2::IfcRepresentationMap::MappedRepresentation() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcRepresentation>(); } +::Ifc4x3_rc2::IfcRepresentation Ifc4x3_rc2::IfcRepresentationMap::MappedRepresentation() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcRepresentation>(); } void Ifc4x3_rc2::IfcRepresentationMap::setMappedRepresentation(const ::Ifc4x3_rc2::IfcRepresentation& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::vector<::Ifc4x3_rc2::IfcShapeAspect> Ifc4x3_rc2::IfcRepresentationMap::HasShapeAspects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[1020], 4)); } @@ -14348,24 +14348,24 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcResource::Class() { return *((ifcopen 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); } -void Ifc4x3_rc2::IfcResourceApprovalRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc2::IfcResourceObjectSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcApproval Ifc4x3_rc2::IfcResourceApprovalRelationship::RelatingApproval() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcApproval>(); } +std::vector< ::Ifc4x3_rc2::IfcResourceObjectSelect > Ifc4x3_rc2::IfcResourceApprovalRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcResourceObjectSelect>(es); } +void Ifc4x3_rc2::IfcResourceApprovalRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc2::IfcResourceObjectSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +::Ifc4x3_rc2::IfcApproval Ifc4x3_rc2::IfcResourceApprovalRelationship::RelatingApproval() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcApproval>(); } void Ifc4x3_rc2::IfcResourceApprovalRelationship::setRelatingApproval(const ::Ifc4x3_rc2::IfcApproval& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc2::IfcResourceApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[973]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcConstraint Ifc4x3_rc2::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcConstraint>(); } void Ifc4x3_rc2::IfcResourceConstraintRelationship::setRelatingConstraint(const ::Ifc4x3_rc2::IfcConstraint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_rc2::IfcResourceObjectSelect > Ifc4x3_rc2::IfcResourceConstraintRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc2::IfcResourceObjectSelect>(es); } -void Ifc4x3_rc2::IfcResourceConstraintRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc2::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc2::IfcResourceObjectSelect > Ifc4x3_rc2::IfcResourceConstraintRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc2::IfcResourceObjectSelect>(es); } +void Ifc4x3_rc2::IfcResourceConstraintRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc2::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc2::IfcResourceConstraintRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[974]); } -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; } +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; } @@ -14414,7 +14414,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcResourceTime::Class() { return *((ifc 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>(); } +::Ifc4x3_rc2::IfcAxis1Placement Ifc4x3_rc2::IfcRevolvedAreaSolid::Axis() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcAxis1Placement>(); } void Ifc4x3_rc2::IfcRevolvedAreaSolid::setAxis(const ::Ifc4x3_rc2::IfcAxis1Placement& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc4x3_rc2::IfcRevolvedAreaSolid::Angle() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcRevolvedAreaSolid::setAngle(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -14424,7 +14424,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcRevolvedAreaSolid::Class() { return * 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>(); } +::Ifc4x3_rc2::IfcProfileDef Ifc4x3_rc2::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcProfileDef>(); } void Ifc4x3_rc2::IfcRevolvedAreaSolidTapered::setEndSweptArea(const ::Ifc4x3_rc2::IfcProfileDef& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -14471,12 +14471,12 @@ void Ifc4x3_rc2::IfcRoofType::setPredefinedType(const ::Ifc4x3_rc2::IfcRoofTypeE const ifcopenshell::entity& Ifc4x3_rc2::IfcRoofType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[987]); } -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; } +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; } void Ifc4x3_rc2::IfcRoot::setGlobalId(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcOwnerHistory Ifc4x3_rc2::IfcRoot::OwnerHistory() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc2::IfcOwnerHistory{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcOwnerHistory>(); } +::Ifc4x3_rc2::IfcOwnerHistory Ifc4x3_rc2::IfcRoot::OwnerHistory() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc2::IfcOwnerHistory{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcOwnerHistory>(); } void Ifc4x3_rc2::IfcRoot::setOwnerHistory(const ::Ifc4x3_rc2::IfcOwnerHistory& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_rc2::IfcRoot::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcRoot::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } @@ -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]); } -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; } +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; } @@ -14537,14 +14537,14 @@ Ifc4x3_rc2::IfcSchedulingTime Ifc4x3_rc2::IfcSchedulingTime::initialize(std::opt const ifcopenshell::entity& Ifc4x3_rc2::IfcSeamCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[999]); } -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; } +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)); } void Ifc4x3_rc2::IfcSectionProperties::setSectionType(const ::Ifc4x3_rc2::IfcSectionTypeEnum::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc4x3_rc2::IfcSectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcProfileDef Ifc4x3_rc2::IfcSectionProperties::StartProfile() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcProfileDef>(); } +::Ifc4x3_rc2::IfcProfileDef Ifc4x3_rc2::IfcSectionProperties::StartProfile() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcProfileDef>(); } void Ifc4x3_rc2::IfcSectionProperties::setStartProfile(const ::Ifc4x3_rc2::IfcProfileDef& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcProfileDef Ifc4x3_rc2::IfcSectionProperties::EndProfile() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcProfileDef{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcProfileDef>(); } +::Ifc4x3_rc2::IfcProfileDef Ifc4x3_rc2::IfcSectionProperties::EndProfile() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcProfileDef{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcProfileDef>(); } void Ifc4x3_rc2::IfcSectionProperties::setEndProfile(const ::Ifc4x3_rc2::IfcProfileDef& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -14560,60 +14560,60 @@ std::optional< double > Ifc4x3_rc2::IfcSectionReinforcementProperties::Transvers void Ifc4x3_rc2::IfcSectionReinforcementProperties::setTransversePosition(const std::optional< double >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_rc2::IfcReinforcingBarRoleEnum::Value Ifc4x3_rc2::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x3_rc2::IfcReinforcingBarRoleEnum::FromString(get_attribute_value(3)); } void Ifc4x3_rc2::IfcSectionReinforcementProperties::setReinforcementRole(const ::Ifc4x3_rc2::IfcReinforcingBarRoleEnum::Value& v) { set_attribute_value(3, enumeration_reference(&::Ifc4x3_rc2::IfcReinforcingBarRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc2::IfcSectionProperties Ifc4x3_rc2::IfcSectionReinforcementProperties::SectionDefinition() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcSectionProperties>(); } +::Ifc4x3_rc2::IfcSectionProperties Ifc4x3_rc2::IfcSectionReinforcementProperties::SectionDefinition() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcSectionProperties>(); } void Ifc4x3_rc2::IfcSectionReinforcementProperties::setSectionDefinition(const ::Ifc4x3_rc2::IfcSectionProperties& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc2::IfcReinforcementBarProperties > Ifc4x3_rc2::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc2::IfcReinforcementBarProperties>(es); } -void Ifc4x3_rc2::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(const std::vector< ::Ifc4x3_rc2::IfcReinforcementBarProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc2::IfcReinforcementBarProperties > Ifc4x3_rc2::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc2::IfcReinforcementBarProperties>(es); } +void Ifc4x3_rc2::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(const std::vector< ::Ifc4x3_rc2::IfcReinforcementBarProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc2::IfcSectionReinforcementProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1007]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcSectionedSolid::Directrix() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCurve>(); } void Ifc4x3_rc2::IfcSectionedSolid::setDirectrix(const ::Ifc4x3_rc2::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc2::IfcProfileDef > Ifc4x3_rc2::IfcSectionedSolid::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcProfileDef>(es); } -void Ifc4x3_rc2::IfcSectionedSolid::setCrossSections(const std::vector< ::Ifc4x3_rc2::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc2::IfcProfileDef > Ifc4x3_rc2::IfcSectionedSolid::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcProfileDef>(es); } +void Ifc4x3_rc2::IfcSectionedSolid::setCrossSections(const std::vector< ::Ifc4x3_rc2::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_rc2::IfcSectionedSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1001]); } -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; } +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); } -void Ifc4x3_rc2::IfcSectionedSolidHorizontal::setCrossSectionPositions(const std::vector< ::Ifc4x3_rc2::IfcPointByDistanceExpression >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc2::IfcPointByDistanceExpression > Ifc4x3_rc2::IfcSectionedSolidHorizontal::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcPointByDistanceExpression>(es); } +void Ifc4x3_rc2::IfcSectionedSolidHorizontal::setCrossSectionPositions(const std::vector< ::Ifc4x3_rc2::IfcPointByDistanceExpression >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } bool Ifc4x3_rc2::IfcSectionedSolidHorizontal::FixedAxisVertical() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcSectionedSolidHorizontal::setFixedAxisVertical(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc2::IfcSectionedSolidHorizontal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1002]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcCompositeCurve Ifc4x3_rc2::IfcSectionedSpine::SpineCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCompositeCurve>(); } void Ifc4x3_rc2::IfcSectionedSpine::setSpineCurve(const ::Ifc4x3_rc2::IfcCompositeCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc2::IfcProfileDef > Ifc4x3_rc2::IfcSectionedSpine::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcProfileDef>(es); } -void Ifc4x3_rc2::IfcSectionedSpine::setCrossSections(const std::vector< ::Ifc4x3_rc2::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x3_rc2::IfcAxis2Placement3D > Ifc4x3_rc2::IfcSectionedSpine::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcAxis2Placement3D>(es); } -void Ifc4x3_rc2::IfcSectionedSpine::setCrossSectionPositions(const std::vector< ::Ifc4x3_rc2::IfcAxis2Placement3D >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc2::IfcProfileDef > Ifc4x3_rc2::IfcSectionedSpine::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcProfileDef>(es); } +void Ifc4x3_rc2::IfcSectionedSpine::setCrossSections(const std::vector< ::Ifc4x3_rc2::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc2::IfcAxis2Placement3D > Ifc4x3_rc2::IfcSectionedSpine::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcAxis2Placement3D>(es); } +void Ifc4x3_rc2::IfcSectionedSpine::setCrossSectionPositions(const std::vector< ::Ifc4x3_rc2::IfcAxis2Placement3D >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc2::IfcSectionedSpine::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1003]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcSectionedSurface::Directrix() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCurve>(); } void Ifc4x3_rc2::IfcSectionedSurface::setDirectrix(const ::Ifc4x3_rc2::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc2::IfcPointByDistanceExpression > Ifc4x3_rc2::IfcSectionedSurface::CrossSectionPositions() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcPointByDistanceExpression>(es); } -void Ifc4x3_rc2::IfcSectionedSurface::setCrossSectionPositions(const std::vector< ::Ifc4x3_rc2::IfcPointByDistanceExpression >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x3_rc2::IfcProfileDef > Ifc4x3_rc2::IfcSectionedSurface::CrossSections() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcProfileDef>(es); } -void Ifc4x3_rc2::IfcSectionedSurface::setCrossSections(const std::vector< ::Ifc4x3_rc2::IfcProfileDef >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc2::IfcPointByDistanceExpression > Ifc4x3_rc2::IfcSectionedSurface::CrossSectionPositions() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcPointByDistanceExpression>(es); } +void Ifc4x3_rc2::IfcSectionedSurface::setCrossSectionPositions(const std::vector< ::Ifc4x3_rc2::IfcPointByDistanceExpression >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc2::IfcProfileDef > Ifc4x3_rc2::IfcSectionedSurface::CrossSections() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcProfileDef>(es); } +void Ifc4x3_rc2::IfcSectionedSurface::setCrossSections(const std::vector< ::Ifc4x3_rc2::IfcProfileDef >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } bool Ifc4x3_rc2::IfcSectionedSurface::FixedAxisVertical() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcSectionedSurface::setFixedAxisVertical(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc2::IfcSectionedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1004]); } -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; } +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)); } @@ -14624,16 +14624,16 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcSegment::Class() { return *((ifcopens 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>(); } +::Ifc4x3_rc2::IfcBoundedCurve Ifc4x3_rc2::IfcSegmentedReferenceCurve::BaseCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcBoundedCurve>(); } void Ifc4x3_rc2::IfcSegmentedReferenceCurve::setBaseCurve(const ::Ifc4x3_rc2::IfcBoundedCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc2::IfcCurveSegment > Ifc4x3_rc2::IfcSegmentedReferenceCurve::Segments() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcCurveSegment>(es); } -void Ifc4x3_rc2::IfcSegmentedReferenceCurve::setSegments(const std::vector< ::Ifc4x3_rc2::IfcCurveSegment >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcPlacement Ifc4x3_rc2::IfcSegmentedReferenceCurve::EndPoint() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcPlacement{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcPlacement>(); } +std::vector< ::Ifc4x3_rc2::IfcCurveSegment > Ifc4x3_rc2::IfcSegmentedReferenceCurve::Segments() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcCurveSegment>(es); } +void Ifc4x3_rc2::IfcSegmentedReferenceCurve::setSegments(const std::vector< ::Ifc4x3_rc2::IfcCurveSegment >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +::Ifc4x3_rc2::IfcPlacement Ifc4x3_rc2::IfcSegmentedReferenceCurve::EndPoint() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcPlacement{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcPlacement>(); } void Ifc4x3_rc2::IfcSegmentedReferenceCurve::setEndPoint(const ::Ifc4x3_rc2::IfcPlacement& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc2::IfcSegmentedReferenceCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1010]); } -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; } +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)); } @@ -14649,10 +14649,10 @@ void Ifc4x3_rc2::IfcSensorType::setPredefinedType(const ::Ifc4x3_rc2::IfcSensorT const ifcopenshell::entity& Ifc4x3_rc2::IfcSensorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1013]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcPlacement Ifc4x3_rc2::IfcSeriesParameterCurve::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcPlacement>(); } void Ifc4x3_rc2::IfcSeriesParameterCurve::setPosition(const ::Ifc4x3_rc2::IfcPlacement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::vector< double > /*[2:?]*/ Ifc4x3_rc2::IfcSeriesParameterCurve::CoefficientsX() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcSeriesParameterCurve::setCoefficientsX(const std::vector< double > /*[2:?]*/& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -14677,45 +14677,45 @@ void Ifc4x3_rc2::IfcShadingDeviceType::setPredefinedType(const ::Ifc4x3_rc2::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcShadingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1018]); } -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; } +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); } -void Ifc4x3_rc2::IfcShapeAspect::setShapeRepresentations(const std::vector< ::Ifc4x3_rc2::IfcShapeModel >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc2::IfcShapeModel > Ifc4x3_rc2::IfcShapeAspect::ShapeRepresentations() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcShapeModel>(es); } +void Ifc4x3_rc2::IfcShapeAspect::setShapeRepresentations(const std::vector< ::Ifc4x3_rc2::IfcShapeModel >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x3_rc2::IfcShapeAspect::Name() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcShapeAspect::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x3_rc2::IfcShapeAspect::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcShapeAspect::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } boost::logic::tribool Ifc4x3_rc2::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcShapeAspect::setProductDefinitional(const boost::logic::tribool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc2::IfcProductRepresentationSelect Ifc4x3_rc2::IfcShapeAspect::PartOfProductDefinitionShape() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc2::IfcProductRepresentationSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcProductRepresentationSelect>(); } +::Ifc4x3_rc2::IfcProductRepresentationSelect Ifc4x3_rc2::IfcShapeAspect::PartOfProductDefinitionShape() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc2::IfcProductRepresentationSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcProductRepresentationSelect>(); } void Ifc4x3_rc2::IfcShapeAspect::setPartOfProductDefinitionShape(const ::Ifc4x3_rc2::IfcProductRepresentationSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } 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]); } -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; } +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]); } -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; } +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]); } -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; } +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); } -void Ifc4x3_rc2::IfcShellBasedSurfaceModel::setSbsmBoundary(const std::vector< ::Ifc4x3_rc2::IfcShell >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc2::IfcShell > Ifc4x3_rc2::IfcShellBasedSurfaceModel::SbsmBoundary() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcShell>(es); } +void Ifc4x3_rc2::IfcShellBasedSurfaceModel::setSbsmBoundary(const std::vector< ::Ifc4x3_rc2::IfcShell >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc2::IfcShellBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1025]); } -Ifc4x3_rc2::IfcShellBasedSurfaceModel Ifc4x3_rc2::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_rc2::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary));; return *this; } +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)); } @@ -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]); } -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; } +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)); } @@ -14747,7 +14747,7 @@ void Ifc4x3_rc2::IfcSignalType::setPredefinedType(const ::Ifc4x3_rc2::IfcSignalT const ifcopenshell::entity& Ifc4x3_rc2::IfcSignalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1028]); } -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; } +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 @@ -14762,11 +14762,11 @@ std::optional< std::string > Ifc4x3_rc2::IfcSimplePropertyTemplate::PrimaryMeasu void Ifc4x3_rc2::IfcSimplePropertyTemplate::setPrimaryMeasureType(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< std::string > Ifc4x3_rc2::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcSimplePropertyTemplate::setSecondaryMeasureType(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_rc2::IfcPropertyEnumeration Ifc4x3_rc2::IfcSimplePropertyTemplate::Enumerators() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc2::IfcPropertyEnumeration{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc2::IfcPropertyEnumeration>(); } +::Ifc4x3_rc2::IfcPropertyEnumeration Ifc4x3_rc2::IfcSimplePropertyTemplate::Enumerators() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc2::IfcPropertyEnumeration{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc2::IfcPropertyEnumeration>(); } void Ifc4x3_rc2::IfcSimplePropertyTemplate::setEnumerators(const ::Ifc4x3_rc2::IfcPropertyEnumeration& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc2::IfcUnit Ifc4x3_rc2::IfcSimplePropertyTemplate::PrimaryUnit() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc2::IfcUnit{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc2::IfcUnit>(); } +::Ifc4x3_rc2::IfcUnit Ifc4x3_rc2::IfcSimplePropertyTemplate::PrimaryUnit() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc2::IfcUnit{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc2::IfcUnit>(); } void Ifc4x3_rc2::IfcSimplePropertyTemplate::setPrimaryUnit(const ::Ifc4x3_rc2::IfcUnit& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc2::IfcUnit Ifc4x3_rc2::IfcSimplePropertyTemplate::SecondaryUnit() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc2::IfcUnit{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc2::IfcUnit>(); } +::Ifc4x3_rc2::IfcUnit Ifc4x3_rc2::IfcSimplePropertyTemplate::SecondaryUnit() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc2::IfcUnit{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc2::IfcUnit>(); } void Ifc4x3_rc2::IfcSimplePropertyTemplate::setSecondaryUnit(const ::Ifc4x3_rc2::IfcUnit& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::optional< std::string > Ifc4x3_rc2::IfcSimplePropertyTemplate::Expression() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcSimplePropertyTemplate::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } @@ -14786,7 +14786,7 @@ std::optional< double > Ifc4x3_rc2::IfcSite::RefElevation() const { if(get_attri void Ifc4x3_rc2::IfcSite::setRefElevation(const std::optional< double >& v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } std::optional< std::string > Ifc4x3_rc2::IfcSite::LandTitleNumber() const { if(get_attribute_value(12).isNull()) { return std::nullopt; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc2::IfcSite::setLandTitleNumber(const std::optional< std::string >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x3_rc2::IfcPostalAddress Ifc4x3_rc2::IfcSite::SiteAddress() const { if(get_attribute_value(13).isNull()) { return ::Ifc4x3_rc2::IfcPostalAddress{}; } return ((express::Base)(get_attribute_value(13))).as<::Ifc4x3_rc2::IfcPostalAddress>(); } +::Ifc4x3_rc2::IfcPostalAddress Ifc4x3_rc2::IfcSite::SiteAddress() const { if(get_attribute_value(13).isNull()) { return ::Ifc4x3_rc2::IfcPostalAddress{}; } return ((express::base)(get_attribute_value(13))).as<::Ifc4x3_rc2::IfcPostalAddress>(); } void Ifc4x3_rc2::IfcSite::setSiteAddress(const ::Ifc4x3_rc2::IfcPostalAddress& v) { set_attribute_value(13, v);if constexpr (false)unset_attribute_value(13); } @@ -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]); } -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; } +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; } @@ -14847,7 +14847,7 @@ void Ifc4x3_rc2::IfcSolarDeviceType::setPredefinedType(const ::Ifc4x3_rc2::IfcSo const ifcopenshell::entity& Ifc4x3_rc2::IfcSolarDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1048]); } -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; } +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 @@ -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]); } -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; } +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]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -14930,7 +14930,7 @@ Ifc4x3_rc2::IfcSpatialStructureElement Ifc4x3_rc2::IfcSpatialStructureElement::i const ifcopenshell::entity& Ifc4x3_rc2::IfcSpatialStructureElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1069]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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]); } -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; } +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; } @@ -15031,7 +15031,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralAction::Class() { return *( 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>(); } +::Ifc4x3_rc2::IfcStructuralLoad Ifc4x3_rc2::IfcStructuralActivity::AppliedLoad() const { return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc2::IfcStructuralLoad>(); } void Ifc4x3_rc2::IfcStructuralActivity::setAppliedLoad(const ::Ifc4x3_rc2::IfcStructuralLoad& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value Ifc4x3_rc2::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcStructuralActivity::setGlobalOrLocal(const ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value& v) { set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } @@ -15044,21 +15044,21 @@ Ifc4x3_rc2::IfcStructuralActivity Ifc4x3_rc2::IfcStructuralActivity::initialize( // Function implementations for IfcStructuralAnalysisModel ::Ifc4x3_rc2::IfcAnalysisModelTypeEnum::Value Ifc4x3_rc2::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3_rc2::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc2::IfcStructuralAnalysisModel::setPredefinedType(const ::Ifc4x3_rc2::IfcAnalysisModelTypeEnum::Value& v) { set_attribute_value(5, enumeration_reference(&::Ifc4x3_rc2::IfcAnalysisModelTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc2::IfcAxis2Placement3D Ifc4x3_rc2::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcAxis2Placement3D>(); } +::Ifc4x3_rc2::IfcAxis2Placement3D Ifc4x3_rc2::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcAxis2Placement3D>(); } void Ifc4x3_rc2::IfcStructuralAnalysisModel::setOrientationOf2DPlane(const ::Ifc4x3_rc2::IfcAxis2Placement3D& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::optional< std::vector< ::Ifc4x3_rc2::IfcStructuralLoadGroup > > Ifc4x3_rc2::IfcStructuralAnalysisModel::LoadedBy() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc2::IfcStructuralLoadGroup>(es); } -void Ifc4x3_rc2::IfcStructuralAnalysisModel::setLoadedBy(const std::optional< std::vector< ::Ifc4x3_rc2::IfcStructuralLoadGroup > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } -std::optional< std::vector< ::Ifc4x3_rc2::IfcStructuralResultGroup > > Ifc4x3_rc2::IfcStructuralAnalysisModel::HasResults() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc2::IfcStructuralResultGroup>(es); } -void Ifc4x3_rc2::IfcStructuralAnalysisModel::setHasResults(const std::optional< std::vector< ::Ifc4x3_rc2::IfcStructuralResultGroup > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } -::Ifc4x3_rc2::IfcObjectPlacement Ifc4x3_rc2::IfcStructuralAnalysisModel::SharedPlacement() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc2::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc2::IfcObjectPlacement>(); } +std::optional< std::vector< ::Ifc4x3_rc2::IfcStructuralLoadGroup > > Ifc4x3_rc2::IfcStructuralAnalysisModel::LoadedBy() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc2::IfcStructuralLoadGroup>(es); } +void Ifc4x3_rc2::IfcStructuralAnalysisModel::setLoadedBy(const std::optional< std::vector< ::Ifc4x3_rc2::IfcStructuralLoadGroup > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x3_rc2::IfcStructuralResultGroup > > Ifc4x3_rc2::IfcStructuralAnalysisModel::HasResults() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc2::IfcStructuralResultGroup>(es); } +void Ifc4x3_rc2::IfcStructuralAnalysisModel::setHasResults(const std::optional< std::vector< ::Ifc4x3_rc2::IfcStructuralResultGroup > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } +::Ifc4x3_rc2::IfcObjectPlacement Ifc4x3_rc2::IfcStructuralAnalysisModel::SharedPlacement() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc2::IfcObjectPlacement{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc2::IfcObjectPlacement>(); } void Ifc4x3_rc2::IfcStructuralAnalysisModel::setSharedPlacement(const ::Ifc4x3_rc2::IfcObjectPlacement& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralAnalysisModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1092]); } -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; } +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>(); } +::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>(); } void Ifc4x3_rc2::IfcStructuralConnection::setAppliedCondition(const ::Ifc4x3_rc2::IfcBoundaryCondition& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } std::vector<::Ifc4x3_rc2::IfcRelConnectsStructuralMember> Ifc4x3_rc2::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[941], 5)); } @@ -15085,7 +15085,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralCurveAction::Class() { retu 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>(); } +::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcStructuralCurveConnection::Axis() const { return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc2::IfcDirection>(); } void Ifc4x3_rc2::IfcStructuralCurveConnection::setAxis(const ::Ifc4x3_rc2::IfcDirection& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -15095,7 +15095,7 @@ Ifc4x3_rc2::IfcStructuralCurveConnection Ifc4x3_rc2::IfcStructuralCurveConnectio // Function implementations for IfcStructuralCurveMember ::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_rc2::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc2::IfcStructuralCurveMember::setPredefinedType(const ::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcStructuralCurveMember::Axis() const { return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc2::IfcDirection>(); } +::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcStructuralCurveMember::Axis() const { return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc2::IfcDirection>(); } void Ifc4x3_rc2::IfcStructuralCurveMember::setAxis(const ::Ifc4x3_rc2::IfcDirection& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -15146,14 +15146,14 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralLoadCase::Class() { return 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); } -void Ifc4x3_rc2::IfcStructuralLoadConfiguration::setValues(const std::vector< ::Ifc4x3_rc2::IfcStructuralLoadOrResult >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc2::IfcStructuralLoadOrResult > Ifc4x3_rc2::IfcStructuralLoadConfiguration::Values() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcStructuralLoadOrResult>(es); } +void Ifc4x3_rc2::IfcStructuralLoadConfiguration::setValues(const std::vector< ::Ifc4x3_rc2::IfcStructuralLoadOrResult >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< std::vector< std::vector< double > > > Ifc4x3_rc2::IfcStructuralLoadConfiguration::Locations() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector< std::vector< double > > v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcStructuralLoadConfiguration::setLocations(const std::optional< std::vector< std::vector< double > > >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralLoadConfiguration::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1106]); } -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; } +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)); } @@ -15299,7 +15299,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralPointAction::Class() { retu 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>(); } +::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>(); } void Ifc4x3_rc2::IfcStructuralPointConnection::setConditionCoordinateSystem(const ::Ifc4x3_rc2::IfcAxis2Placement3D& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -15321,7 +15321,7 @@ Ifc4x3_rc2::IfcStructuralReaction Ifc4x3_rc2::IfcStructuralReaction::initialize( // Function implementations for IfcStructuralResultGroup ::Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_rc2::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc2::IfcStructuralResultGroup::setTheoryType(const ::Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::Value& v) { set_attribute_value(5, enumeration_reference(&::Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc2::IfcStructuralLoadGroup Ifc4x3_rc2::IfcStructuralResultGroup::ResultForLoadGroup() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcStructuralLoadGroup{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcStructuralLoadGroup>(); } +::Ifc4x3_rc2::IfcStructuralLoadGroup Ifc4x3_rc2::IfcStructuralResultGroup::ResultForLoadGroup() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcStructuralLoadGroup{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcStructuralLoadGroup>(); } void Ifc4x3_rc2::IfcStructuralResultGroup::setResultForLoadGroup(const ::Ifc4x3_rc2::IfcStructuralLoadGroup& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } bool Ifc4x3_rc2::IfcStructuralResultGroup::IsLinear() const { bool v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcStructuralResultGroup::setIsLinear(const bool& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -15375,25 +15375,25 @@ Ifc4x3_rc2::IfcStructuralSurfaceReaction Ifc4x3_rc2::IfcStructuralSurfaceReactio const ifcopenshell::entity& Ifc4x3_rc2::IfcStyleModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1134]); } -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; } +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>(); } +::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>(); } void Ifc4x3_rc2::IfcStyledItem::setItem(const ::Ifc4x3_rc2::IfcRepresentationItem& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc2::IfcStyleAssignmentSelect > Ifc4x3_rc2::IfcStyledItem::Styles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcStyleAssignmentSelect>(es); } -void Ifc4x3_rc2::IfcStyledItem::setStyles(const std::vector< ::Ifc4x3_rc2::IfcStyleAssignmentSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc2::IfcStyleAssignmentSelect > Ifc4x3_rc2::IfcStyledItem::Styles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcStyleAssignmentSelect>(es); } +void Ifc4x3_rc2::IfcStyledItem::setStyles(const std::vector< ::Ifc4x3_rc2::IfcStyleAssignmentSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_rc2::IfcStyledItem::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcStyledItem::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_rc2::IfcStyledItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1132]); } -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; } +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]); } -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; } +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]); } -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; } +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,10 +15409,10 @@ void Ifc4x3_rc2::IfcSubContractResourceType::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc2::IfcSubContractResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1136]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcEdge Ifc4x3_rc2::IfcSubedge::ParentEdge() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcEdge>(); } void Ifc4x3_rc2::IfcSubedge::setParentEdge(const ::Ifc4x3_rc2::IfcEdge& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -15426,19 +15426,19 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcSurface::Class() { return *((ifcopens 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>(); } +::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcSurfaceCurve::Curve3D() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCurve>(); } void Ifc4x3_rc2::IfcSurfaceCurve::setCurve3D(const ::Ifc4x3_rc2::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc2::IfcPcurve > Ifc4x3_rc2::IfcSurfaceCurve::AssociatedGeometry() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcPcurve>(es); } -void Ifc4x3_rc2::IfcSurfaceCurve::setAssociatedGeometry(const std::vector< ::Ifc4x3_rc2::IfcPcurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc2::IfcPcurve > Ifc4x3_rc2::IfcSurfaceCurve::AssociatedGeometry() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcPcurve>(es); } +void Ifc4x3_rc2::IfcSurfaceCurve::setAssociatedGeometry(const std::vector< ::Ifc4x3_rc2::IfcPcurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } ::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3_rc2::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::FromString(get_attribute_value(2)); } void Ifc4x3_rc2::IfcSurfaceCurve::setMasterRepresentation(const ::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc2::IfcSurfaceCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1140]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcSurface Ifc4x3_rc2::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcSurface>(); } void Ifc4x3_rc2::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(const ::Ifc4x3_rc2::IfcSurface& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -15454,7 +15454,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcSurfaceFeature::Class() { return *((i 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>(); } +::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcDirection>(); } void Ifc4x3_rc2::IfcSurfaceOfLinearExtrusion::setExtrudedDirection(const ::Ifc4x3_rc2::IfcDirection& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc4x3_rc2::IfcSurfaceOfLinearExtrusion::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcSurfaceOfLinearExtrusion::setDepth(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -15464,7 +15464,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcSurfaceOfLinearExtrusion::Class() { r 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>(); } +::Ifc4x3_rc2::IfcAxis1Placement Ifc4x3_rc2::IfcSurfaceOfRevolution::AxisPosition() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcAxis1Placement>(); } void Ifc4x3_rc2::IfcSurfaceOfRevolution::setAxisPosition(const ::Ifc4x3_rc2::IfcAxis1Placement& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -15486,21 +15486,21 @@ Ifc4x3_rc2::IfcSurfaceReinforcementArea Ifc4x3_rc2::IfcSurfaceReinforcementArea: // Function implementations for IfcSurfaceStyle ::Ifc4x3_rc2::IfcSurfaceSide::Value Ifc4x3_rc2::IfcSurfaceStyle::Side() const { return ::Ifc4x3_rc2::IfcSurfaceSide::FromString(get_attribute_value(1)); } void Ifc4x3_rc2::IfcSurfaceStyle::setSide(const ::Ifc4x3_rc2::IfcSurfaceSide::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4x3_rc2::IfcSurfaceSide::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x3_rc2::IfcSurfaceStyleElementSelect > Ifc4x3_rc2::IfcSurfaceStyle::Styles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcSurfaceStyleElementSelect>(es); } -void Ifc4x3_rc2::IfcSurfaceStyle::setStyles(const std::vector< ::Ifc4x3_rc2::IfcSurfaceStyleElementSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc2::IfcSurfaceStyleElementSelect > Ifc4x3_rc2::IfcSurfaceStyle::Styles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcSurfaceStyleElementSelect>(es); } +void Ifc4x3_rc2::IfcSurfaceStyle::setStyles(const std::vector< ::Ifc4x3_rc2::IfcSurfaceStyleElementSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc2::IfcSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1149]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcColourRgb Ifc4x3_rc2::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcColourRgb>(); } void Ifc4x3_rc2::IfcSurfaceStyleLighting::setDiffuseTransmissionColour(const ::Ifc4x3_rc2::IfcColourRgb& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcColourRgb Ifc4x3_rc2::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcColourRgb>(); } +::Ifc4x3_rc2::IfcColourRgb Ifc4x3_rc2::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcColourRgb>(); } void Ifc4x3_rc2::IfcSurfaceStyleLighting::setDiffuseReflectionColour(const ::Ifc4x3_rc2::IfcColourRgb& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcColourRgb Ifc4x3_rc2::IfcSurfaceStyleLighting::TransmissionColour() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcColourRgb>(); } +::Ifc4x3_rc2::IfcColourRgb Ifc4x3_rc2::IfcSurfaceStyleLighting::TransmissionColour() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcColourRgb>(); } void Ifc4x3_rc2::IfcSurfaceStyleLighting::setTransmissionColour(const ::Ifc4x3_rc2::IfcColourRgb& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcColourRgb Ifc4x3_rc2::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcColourRgb>(); } +::Ifc4x3_rc2::IfcColourRgb Ifc4x3_rc2::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcColourRgb>(); } void Ifc4x3_rc2::IfcSurfaceStyleLighting::setReflectanceColour(const ::Ifc4x3_rc2::IfcColourRgb& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -15518,17 +15518,17 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcSurfaceStyleRefraction::Class() { ret 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>(); } +::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>(); } void Ifc4x3_rc2::IfcSurfaceStyleRendering::setDiffuseColour(const ::Ifc4x3_rc2::IfcColourOrFactor& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcColourOrFactor Ifc4x3_rc2::IfcSurfaceStyleRendering::TransmissionColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcColourOrFactor>(); } +::Ifc4x3_rc2::IfcColourOrFactor Ifc4x3_rc2::IfcSurfaceStyleRendering::TransmissionColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcColourOrFactor>(); } void Ifc4x3_rc2::IfcSurfaceStyleRendering::setTransmissionColour(const ::Ifc4x3_rc2::IfcColourOrFactor& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc2::IfcColourOrFactor Ifc4x3_rc2::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc2::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcColourOrFactor>(); } +::Ifc4x3_rc2::IfcColourOrFactor Ifc4x3_rc2::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc2::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcColourOrFactor>(); } void Ifc4x3_rc2::IfcSurfaceStyleRendering::setDiffuseTransmissionColour(const ::Ifc4x3_rc2::IfcColourOrFactor& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcColourOrFactor Ifc4x3_rc2::IfcSurfaceStyleRendering::ReflectionColour() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc2::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcColourOrFactor>(); } +::Ifc4x3_rc2::IfcColourOrFactor Ifc4x3_rc2::IfcSurfaceStyleRendering::ReflectionColour() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc2::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcColourOrFactor>(); } void Ifc4x3_rc2::IfcSurfaceStyleRendering::setReflectionColour(const ::Ifc4x3_rc2::IfcColourOrFactor& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc2::IfcColourOrFactor Ifc4x3_rc2::IfcSurfaceStyleRendering::SpecularColour() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcColourOrFactor>(); } +::Ifc4x3_rc2::IfcColourOrFactor Ifc4x3_rc2::IfcSurfaceStyleRendering::SpecularColour() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcColourOrFactor>(); } void Ifc4x3_rc2::IfcSurfaceStyleRendering::setSpecularColour(const ::Ifc4x3_rc2::IfcColourOrFactor& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc2::IfcSpecularHighlightSelect Ifc4x3_rc2::IfcSurfaceStyleRendering::SpecularHighlight() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc2::IfcSpecularHighlightSelect{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc2::IfcSpecularHighlightSelect>(); } +::Ifc4x3_rc2::IfcSpecularHighlightSelect Ifc4x3_rc2::IfcSurfaceStyleRendering::SpecularHighlight() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc2::IfcSpecularHighlightSelect{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc2::IfcSpecularHighlightSelect>(); } void Ifc4x3_rc2::IfcSurfaceStyleRendering::setSpecularHighlight(const ::Ifc4x3_rc2::IfcSpecularHighlightSelect& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_rc2::IfcReflectanceMethodEnum::Value Ifc4x3_rc2::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x3_rc2::IfcReflectanceMethodEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcSurfaceStyleRendering::setReflectanceMethod(const ::Ifc4x3_rc2::IfcReflectanceMethodEnum::Value& v) { set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc2::IfcReflectanceMethodEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } @@ -15538,7 +15538,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcSurfaceStyleRendering::Class() { retu 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>(); } +::Ifc4x3_rc2::IfcColourRgb Ifc4x3_rc2::IfcSurfaceStyleShading::SurfaceColour() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcColourRgb>(); } void Ifc4x3_rc2::IfcSurfaceStyleShading::setSurfaceColour(const ::Ifc4x3_rc2::IfcColourRgb& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< double > Ifc4x3_rc2::IfcSurfaceStyleShading::Transparency() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcSurfaceStyleShading::setTransparency(const std::optional< double >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } @@ -15548,12 +15548,12 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcSurfaceStyleShading::Class() { return 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); } -void Ifc4x3_rc2::IfcSurfaceStyleWithTextures::setTextures(const std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > Ifc4x3_rc2::IfcSurfaceStyleWithTextures::Textures() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcSurfaceTexture>(es); } +void Ifc4x3_rc2::IfcSurfaceStyleWithTextures::setTextures(const std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc2::IfcSurfaceStyleWithTextures::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1155]); } -Ifc4x3_rc2::IfcSurfaceStyleWithTextures Ifc4x3_rc2::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures));; return *this; } +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; } @@ -15562,7 +15562,7 @@ bool Ifc4x3_rc2::IfcSurfaceTexture::RepeatT() const { bool v = get_attribute_va void Ifc4x3_rc2::IfcSurfaceTexture::setRepeatT(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_rc2::IfcSurfaceTexture::Mode() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcSurfaceTexture::setMode(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc2::IfcCartesianTransformationOperator2D Ifc4x3_rc2::IfcSurfaceTexture::TextureTransform() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcCartesianTransformationOperator2D>(); } +::Ifc4x3_rc2::IfcCartesianTransformationOperator2D Ifc4x3_rc2::IfcSurfaceTexture::TextureTransform() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcCartesianTransformationOperator2D>(); } void Ifc4x3_rc2::IfcSurfaceTexture::setTextureTransform(const ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcSurfaceTexture::Parameter() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcSurfaceTexture::setParameter(const std::optional< std::vector< std::string > /*[1:?]*/ >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -15574,9 +15574,9 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcSurfaceTexture::Class() { return *((i 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>(); } +::Ifc4x3_rc2::IfcProfileDef Ifc4x3_rc2::IfcSweptAreaSolid::SweptArea() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcProfileDef>(); } void Ifc4x3_rc2::IfcSweptAreaSolid::setSweptArea(const ::Ifc4x3_rc2::IfcProfileDef& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcAxis2Placement3D Ifc4x3_rc2::IfcSweptAreaSolid::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc2::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcAxis2Placement3D>(); } +::Ifc4x3_rc2::IfcAxis2Placement3D Ifc4x3_rc2::IfcSweptAreaSolid::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc2::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcAxis2Placement3D>(); } void Ifc4x3_rc2::IfcSweptAreaSolid::setPosition(const ::Ifc4x3_rc2::IfcAxis2Placement3D& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -15584,7 +15584,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcSweptAreaSolid::Class() { return *((i 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>(); } +::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcSweptDiskSolid::Directrix() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCurve>(); } void Ifc4x3_rc2::IfcSweptDiskSolid::setDirectrix(const ::Ifc4x3_rc2::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc2::IfcSweptDiskSolid::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcSweptDiskSolid::setRadius(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -15608,9 +15608,9 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcSweptDiskSolidPolygonal::Class() { re 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>(); } +::Ifc4x3_rc2::IfcProfileDef Ifc4x3_rc2::IfcSweptSurface::SweptCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcProfileDef>(); } void Ifc4x3_rc2::IfcSweptSurface::setSweptCurve(const ::Ifc4x3_rc2::IfcProfileDef& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcAxis2Placement3D Ifc4x3_rc2::IfcSweptSurface::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc2::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcAxis2Placement3D>(); } +::Ifc4x3_rc2::IfcAxis2Placement3D Ifc4x3_rc2::IfcSweptSurface::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc2::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcAxis2Placement3D>(); } void Ifc4x3_rc2::IfcSweptSurface::setPosition(const ::Ifc4x3_rc2::IfcAxis2Placement3D& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -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]); } -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; } +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 @@ -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]); } -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; } +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; } @@ -15684,14 +15684,14 @@ Ifc4x3_rc2::IfcTShapeProfileDef Ifc4x3_rc2::IfcTShapeProfileDef::initialize(::If // 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; } void Ifc4x3_rc2::IfcTable::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::optional< std::vector< ::Ifc4x3_rc2::IfcTableRow > > Ifc4x3_rc2::IfcTable::Rows() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcTableRow>(es); } -void Ifc4x3_rc2::IfcTable::setRows(const std::optional< std::vector< ::Ifc4x3_rc2::IfcTableRow > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } -std::optional< std::vector< ::Ifc4x3_rc2::IfcTableColumn > > Ifc4x3_rc2::IfcTable::Columns() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcTableColumn>(es); } -void Ifc4x3_rc2::IfcTable::setColumns(const std::optional< std::vector< ::Ifc4x3_rc2::IfcTableColumn > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4x3_rc2::IfcTableRow > > Ifc4x3_rc2::IfcTable::Rows() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcTableRow>(es); } +void Ifc4x3_rc2::IfcTable::setRows(const std::optional< std::vector< ::Ifc4x3_rc2::IfcTableRow > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } +std::optional< std::vector< ::Ifc4x3_rc2::IfcTableColumn > > Ifc4x3_rc2::IfcTable::Columns() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcTableColumn>(es); } +void Ifc4x3_rc2::IfcTable::setColumns(const std::optional< std::vector< ::Ifc4x3_rc2::IfcTableColumn > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_rc2::IfcTable::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1168]); } -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; } +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; } @@ -15700,9 +15700,9 @@ std::optional< std::string > Ifc4x3_rc2::IfcTableColumn::Name() const { if(get_a void Ifc4x3_rc2::IfcTableColumn::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x3_rc2::IfcTableColumn::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcTableColumn::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc2::IfcUnit Ifc4x3_rc2::IfcTableColumn::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcUnit>(); } +::Ifc4x3_rc2::IfcUnit Ifc4x3_rc2::IfcTableColumn::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcUnit>(); } void Ifc4x3_rc2::IfcTableColumn::setUnit(const ::Ifc4x3_rc2::IfcUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc2::IfcReference Ifc4x3_rc2::IfcTableColumn::ReferencePath() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc2::IfcReference{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcReference>(); } +::Ifc4x3_rc2::IfcReference Ifc4x3_rc2::IfcTableColumn::ReferencePath() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc2::IfcReference{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcReference>(); } void Ifc4x3_rc2::IfcTableColumn::setReferencePath(const ::Ifc4x3_rc2::IfcReference& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -15710,14 +15710,14 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcTableColumn::Class() { return *((ifco 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); } -void Ifc4x3_rc2::IfcTableRow::setRowCells(const std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > >& v) { if (v) {set_attribute_value(0, cast_vector(*v));} else {unset_attribute_value(0);} } +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); } +void Ifc4x3_rc2::IfcTableRow::setRowCells(const std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > >& v) { if (v) {set_attribute_value(0, cast_vector(*v));} else {unset_attribute_value(0);} } std::optional< bool > Ifc4x3_rc2::IfcTableRow::IsHeading() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } bool v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcTableRow::setIsHeading(const std::optional< bool >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const ifcopenshell::entity& Ifc4x3_rc2::IfcTableRow::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1170]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -15744,7 +15744,7 @@ bool Ifc4x3_rc2::IfcTask::IsMilestone() const { bool v = get_attribute_value(9) void Ifc4x3_rc2::IfcTask::setIsMilestone(const bool& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::optional< int64_t > Ifc4x3_rc2::IfcTask::Priority() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcTask::setPriority(const std::optional< int64_t >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x3_rc2::IfcTaskTime Ifc4x3_rc2::IfcTask::TaskTime() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x3_rc2::IfcTaskTime{}; } return ((express::Base)(get_attribute_value(11))).as<::Ifc4x3_rc2::IfcTaskTime>(); } +::Ifc4x3_rc2::IfcTaskTime Ifc4x3_rc2::IfcTask::TaskTime() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x3_rc2::IfcTaskTime{}; } return ((express::base)(get_attribute_value(11))).as<::Ifc4x3_rc2::IfcTaskTime>(); } void Ifc4x3_rc2::IfcTask::setTaskTime(const ::Ifc4x3_rc2::IfcTaskTime& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } std::optional< ::Ifc4x3_rc2::IfcTaskTypeEnum::Value > Ifc4x3_rc2::IfcTask::PredefinedType() const { if(get_attribute_value(12).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcTaskTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x3_rc2::IfcTask::setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcTaskTypeEnum::Value >& v) { if (v) {set_attribute_value(12, enumeration_reference(&::Ifc4x3_rc2::IfcTaskTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } @@ -15794,7 +15794,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcTaskTime::Class() { return *((ifcopen 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>(); } +::Ifc4x3_rc2::IfcRecurrencePattern Ifc4x3_rc2::IfcTaskTimeRecurring::Recurrence() const { return ((express::base)(get_attribute_value(20))).as<::Ifc4x3_rc2::IfcRecurrencePattern>(); } void Ifc4x3_rc2::IfcTaskTimeRecurring::setRecurrence(const ::Ifc4x3_rc2::IfcRecurrencePattern& v) { set_attribute_value(20, v);if constexpr (false)unset_attribute_value(20); } @@ -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]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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,10 +15895,10 @@ void Ifc4x3_rc2::IfcTendonType::setSheathDiameter(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_rc2::IfcTendonType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1190]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcCartesianPointList3D Ifc4x3_rc2::IfcTessellatedFaceSet::Coordinates() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCartesianPointList3D>(); } void Ifc4x3_rc2::IfcTessellatedFaceSet::setCoordinates(const ::Ifc4x3_rc2::IfcCartesianPointList3D& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::vector<::Ifc4x3_rc2::IfcIndexedColourMap> Ifc4x3_rc2::IfcTessellatedFaceSet::HasColours() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[556], 0)); } @@ -15916,7 +15916,7 @@ Ifc4x3_rc2::IfcTessellatedItem Ifc4x3_rc2::IfcTessellatedItem::initialize() { ; // Function implementations for IfcTextLiteral std::string Ifc4x3_rc2::IfcTextLiteral::Literal() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcTextLiteral::setLiteral(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcAxis2Placement Ifc4x3_rc2::IfcTextLiteral::Placement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcAxis2Placement>(); } +::Ifc4x3_rc2::IfcAxis2Placement Ifc4x3_rc2::IfcTextLiteral::Placement() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcAxis2Placement>(); } void Ifc4x3_rc2::IfcTextLiteral::setPlacement(const ::Ifc4x3_rc2::IfcAxis2Placement& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } ::Ifc4x3_rc2::IfcTextPath::Value Ifc4x3_rc2::IfcTextLiteral::Path() const { return ::Ifc4x3_rc2::IfcTextPath::FromString(get_attribute_value(2)); } void Ifc4x3_rc2::IfcTextLiteral::setPath(const ::Ifc4x3_rc2::IfcTextPath::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4x3_rc2::IfcTextPath::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } @@ -15926,7 +15926,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcTextLiteral::Class() { return *((ifco 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>(); } +::Ifc4x3_rc2::IfcPlanarExtent Ifc4x3_rc2::IfcTextLiteralWithExtent::Extent() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcPlanarExtent>(); } void Ifc4x3_rc2::IfcTextLiteralWithExtent::setExtent(const ::Ifc4x3_rc2::IfcPlanarExtent& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::string Ifc4x3_rc2::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcTextLiteralWithExtent::setBoxAlignment(const std::string& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -15936,11 +15936,11 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcTextLiteralWithExtent::Class() { retu 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>(); } +::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>(); } void Ifc4x3_rc2::IfcTextStyle::setTextCharacterAppearance(const ::Ifc4x3_rc2::IfcTextStyleForDefinedFont& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcTextStyleTextModel Ifc4x3_rc2::IfcTextStyle::TextStyle() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcTextStyleTextModel{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcTextStyleTextModel>(); } +::Ifc4x3_rc2::IfcTextStyleTextModel Ifc4x3_rc2::IfcTextStyle::TextStyle() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcTextStyleTextModel{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcTextStyleTextModel>(); } void Ifc4x3_rc2::IfcTextStyle::setTextStyle(const ::Ifc4x3_rc2::IfcTextStyleTextModel& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcTextFontSelect Ifc4x3_rc2::IfcTextStyle::TextFontStyle() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcTextFontSelect>(); } +::Ifc4x3_rc2::IfcTextFontSelect Ifc4x3_rc2::IfcTextStyle::TextFontStyle() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcTextFontSelect>(); } void Ifc4x3_rc2::IfcTextStyle::setTextFontStyle(const ::Ifc4x3_rc2::IfcTextFontSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< bool > Ifc4x3_rc2::IfcTextStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } bool v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcTextStyle::setModelOrDraughting(const std::optional< bool >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -15958,7 +15958,7 @@ std::optional< std::string > Ifc4x3_rc2::IfcTextStyleFontModel::FontVariant() co void Ifc4x3_rc2::IfcTextStyleFontModel::setFontVariant(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } std::optional< std::string > Ifc4x3_rc2::IfcTextStyleFontModel::FontWeight() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcTextStyleFontModel::setFontWeight(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc2::IfcSizeSelect Ifc4x3_rc2::IfcTextStyleFontModel::FontSize() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcSizeSelect>(); } +::Ifc4x3_rc2::IfcSizeSelect Ifc4x3_rc2::IfcTextStyleFontModel::FontSize() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcSizeSelect>(); } void Ifc4x3_rc2::IfcTextStyleFontModel::setFontSize(const ::Ifc4x3_rc2::IfcSizeSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -15966,9 +15966,9 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcTextStyleFontModel::Class() { return 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>(); } +::Ifc4x3_rc2::IfcColour Ifc4x3_rc2::IfcTextStyleForDefinedFont::Colour() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcColour>(); } void Ifc4x3_rc2::IfcTextStyleForDefinedFont::setColour(const ::Ifc4x3_rc2::IfcColour& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcColour Ifc4x3_rc2::IfcTextStyleForDefinedFont::BackgroundColour() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc2::IfcColour{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcColour>(); } +::Ifc4x3_rc2::IfcColour Ifc4x3_rc2::IfcTextStyleForDefinedFont::BackgroundColour() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc2::IfcColour{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcColour>(); } void Ifc4x3_rc2::IfcTextStyleForDefinedFont::setBackgroundColour(const ::Ifc4x3_rc2::IfcColour& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -15976,19 +15976,19 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcTextStyleForDefinedFont::Class() { re 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>(); } +::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>(); } void Ifc4x3_rc2::IfcTextStyleTextModel::setTextIndent(const ::Ifc4x3_rc2::IfcSizeSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x3_rc2::IfcTextStyleTextModel::TextAlign() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcTextStyleTextModel::setTextAlign(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x3_rc2::IfcTextStyleTextModel::TextDecoration() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcTextStyleTextModel::setTextDecoration(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc2::IfcSizeSelect Ifc4x3_rc2::IfcTextStyleTextModel::LetterSpacing() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcSizeSelect>(); } +::Ifc4x3_rc2::IfcSizeSelect Ifc4x3_rc2::IfcTextStyleTextModel::LetterSpacing() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcSizeSelect>(); } void Ifc4x3_rc2::IfcTextStyleTextModel::setLetterSpacing(const ::Ifc4x3_rc2::IfcSizeSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc2::IfcSizeSelect Ifc4x3_rc2::IfcTextStyleTextModel::WordSpacing() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc2::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcSizeSelect>(); } +::Ifc4x3_rc2::IfcSizeSelect Ifc4x3_rc2::IfcTextStyleTextModel::WordSpacing() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc2::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcSizeSelect>(); } void Ifc4x3_rc2::IfcTextStyleTextModel::setWordSpacing(const ::Ifc4x3_rc2::IfcSizeSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::optional< std::string > Ifc4x3_rc2::IfcTextStyleTextModel::TextTransform() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcTextStyleTextModel::setTextTransform(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc2::IfcSizeSelect Ifc4x3_rc2::IfcTextStyleTextModel::LineHeight() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcSizeSelect>(); } +::Ifc4x3_rc2::IfcSizeSelect Ifc4x3_rc2::IfcTextStyleTextModel::LineHeight() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc2::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcSizeSelect>(); } void Ifc4x3_rc2::IfcTextStyleTextModel::setLineHeight(const ::Ifc4x3_rc2::IfcSizeSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -15996,12 +15996,12 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcTextStyleTextModel::Class() { return 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); } -void Ifc4x3_rc2::IfcTextureCoordinate::setMaps(const std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > Ifc4x3_rc2::IfcTextureCoordinate::Maps() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcSurfaceTexture>(es); } +void Ifc4x3_rc2::IfcTextureCoordinate::setMaps(const std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc2::IfcTextureCoordinate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1207]); } -Ifc4x3_rc2::IfcTextureCoordinate Ifc4x3_rc2::IfcTextureCoordinate::initialize(std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > v1_Maps) { set_attribute_value(0, cast_vector(v1_Maps));; return *this; } +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,17 +16011,17 @@ void Ifc4x3_rc2::IfcTextureCoordinateGenerator::setParameter(const std::optional const ifcopenshell::entity& Ifc4x3_rc2::IfcTextureCoordinateGenerator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1208]); } -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; } +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); } -void Ifc4x3_rc2::IfcTextureMap::setVertices(const std::vector< ::Ifc4x3_rc2::IfcTextureVertex >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcFace Ifc4x3_rc2::IfcTextureMap::MappedTo() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcFace>(); } +std::vector< ::Ifc4x3_rc2::IfcTextureVertex > Ifc4x3_rc2::IfcTextureMap::Vertices() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcTextureVertex>(es); } +void Ifc4x3_rc2::IfcTextureMap::setVertices(const std::vector< ::Ifc4x3_rc2::IfcTextureVertex >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +::Ifc4x3_rc2::IfcFace Ifc4x3_rc2::IfcTextureMap::MappedTo() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcFace>(); } void Ifc4x3_rc2::IfcTextureMap::setMappedTo(const ::Ifc4x3_rc2::IfcFace& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc2::IfcTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1209]); } -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; } +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; } @@ -16064,7 +16064,7 @@ void Ifc4x3_rc2::IfcTimeSeries::setTimeSeriesDataType(const ::Ifc4x3_rc2::IfcTim void Ifc4x3_rc2::IfcTimeSeries::setDataOrigin(const ::Ifc4x3_rc2::IfcDataOriginEnum::Value& v) { set_attribute_value(5, enumeration_reference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } std::optional< std::string > Ifc4x3_rc2::IfcTimeSeries::UserDefinedDataOrigin() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcTimeSeries::setUserDefinedDataOrigin(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_rc2::IfcUnit Ifc4x3_rc2::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc2::IfcUnit{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc2::IfcUnit>(); } +::Ifc4x3_rc2::IfcUnit Ifc4x3_rc2::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc2::IfcUnit{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc2::IfcUnit>(); } void Ifc4x3_rc2::IfcTimeSeries::setUnit(const ::Ifc4x3_rc2::IfcUnit& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcTimeSeries::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[441], 3)); } @@ -16073,12 +16073,12 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcTimeSeries::Class() { return *((ifcop 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); } -void Ifc4x3_rc2::IfcTimeSeriesValue::setListValues(const std::vector< ::Ifc4x3_rc2::IfcValue >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc2::IfcValue > Ifc4x3_rc2::IfcTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcValue>(es); } +void Ifc4x3_rc2::IfcTimeSeriesValue::setListValues(const std::vector< ::Ifc4x3_rc2::IfcValue >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc2::IfcTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1224]); } -Ifc4x3_rc2::IfcTimeSeriesValue Ifc4x3_rc2::IfcTimeSeriesValue::initialize(std::vector< ::Ifc4x3_rc2::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues));; return *this; } +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 @@ -16090,7 +16090,7 @@ Ifc4x3_rc2::IfcTopologicalRepresentationItem Ifc4x3_rc2::IfcTopologicalRepresent const ifcopenshell::entity& Ifc4x3_rc2::IfcTopologyRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1227]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -16151,7 +16151,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcTransitionCurveSegment2D::Class() { r 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>(); } +::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>(); } void Ifc4x3_rc2::IfcTransportElement::setPredefinedType(const ::Ifc4x3_rc2::IfcTransportElementTypeSelect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -16159,12 +16159,12 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcTransportElement::Class() { return *( 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>(); } +::Ifc4x3_rc2::IfcTransportElementTypeSelect Ifc4x3_rc2::IfcTransportElementType::PredefinedType() const { return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc2::IfcTransportElementTypeSelect>(); } void Ifc4x3_rc2::IfcTransportElementType::setPredefinedType(const ::Ifc4x3_rc2::IfcTransportElementTypeSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } const ifcopenshell::entity& Ifc4x3_rc2::IfcTransportElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1243]); } -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; } +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; } @@ -16203,12 +16203,12 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcTriangulatedIrregularNetwork::Class() 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< int64_t > > v4_CoordIndex, std::optional< std::vector< int64_t > /*[1:?]*/ > v5_PnIndex, std::vector< int64_t > /*[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>(); } +::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcTrimmedCurve::BasisCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCurve>(); } void Ifc4x3_rc2::IfcTrimmedCurve::setBasisCurve(const ::Ifc4x3_rc2::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc2::IfcTrimmingSelect > Ifc4x3_rc2::IfcTrimmedCurve::Trim1() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcTrimmingSelect>(es); } -void Ifc4x3_rc2::IfcTrimmedCurve::setTrim1(const std::vector< ::Ifc4x3_rc2::IfcTrimmingSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x3_rc2::IfcTrimmingSelect > Ifc4x3_rc2::IfcTrimmedCurve::Trim2() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcTrimmingSelect>(es); } -void Ifc4x3_rc2::IfcTrimmedCurve::setTrim2(const std::vector< ::Ifc4x3_rc2::IfcTrimmingSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc2::IfcTrimmingSelect > Ifc4x3_rc2::IfcTrimmedCurve::Trim1() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcTrimmingSelect>(es); } +void Ifc4x3_rc2::IfcTrimmedCurve::setTrim1(const std::vector< ::Ifc4x3_rc2::IfcTrimmingSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc2::IfcTrimmingSelect > Ifc4x3_rc2::IfcTrimmedCurve::Trim2() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcTrimmingSelect>(es); } +void Ifc4x3_rc2::IfcTrimmedCurve::setTrim2(const std::vector< ::Ifc4x3_rc2::IfcTrimmingSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } bool Ifc4x3_rc2::IfcTrimmedCurve::SenseAgreement() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcTrimmedCurve::setSenseAgreement(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } ::Ifc4x3_rc2::IfcTrimmingPreference::Value Ifc4x3_rc2::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_rc2::IfcTrimmingPreference::FromString(get_attribute_value(4)); } @@ -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]); } -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; } +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)); } @@ -16232,18 +16232,18 @@ void Ifc4x3_rc2::IfcTubeBundleType::setPredefinedType(const ::Ifc4x3_rc2::IfcTub const ifcopenshell::entity& Ifc4x3_rc2::IfcTubeBundleType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1253]); } -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; } +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; } void Ifc4x3_rc2::IfcTypeObject::setApplicableOccurrence(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > Ifc4x3_rc2::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc2::IfcPropertySetDefinition>(es); } -void Ifc4x3_rc2::IfcTypeObject::setHasPropertySets(const std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > >& v) { if (v) {set_attribute_value(5, cast_vector(*v));} else {unset_attribute_value(5);} } +std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > Ifc4x3_rc2::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc2::IfcPropertySetDefinition>(es); } +void Ifc4x3_rc2::IfcTypeObject::setHasPropertySets(const std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > >& v) { if (v) {set_attribute_value(5, cast_vector(*v));} else {unset_attribute_value(5);} } 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]); } -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; } +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,18 +16256,18 @@ 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]); } -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; } +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); } -void Ifc4x3_rc2::IfcTypeProduct::setRepresentationMaps(const std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +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); } +void Ifc4x3_rc2::IfcTypeProduct::setRepresentationMaps(const std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } std::optional< std::string > Ifc4x3_rc2::IfcTypeProduct::Tag() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcTypeProduct::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } 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]); } -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; } +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]); } -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; } +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; } @@ -16303,12 +16303,12 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcUShapeProfileDef::Class() { return *( 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); } -void Ifc4x3_rc2::IfcUnitAssignment::setUnits(const std::vector< ::Ifc4x3_rc2::IfcUnit >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc2::IfcUnit > Ifc4x3_rc2::IfcUnitAssignment::Units() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcUnit>(es); } +void Ifc4x3_rc2::IfcUnitAssignment::setUnits(const std::vector< ::Ifc4x3_rc2::IfcUnit >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc2::IfcUnitAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1266]); } -Ifc4x3_rc2::IfcUnitAssignment Ifc4x3_rc2::IfcUnitAssignment::initialize(std::vector< ::Ifc4x3_rc2::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units));; return *this; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -16356,10 +16356,10 @@ void Ifc4x3_rc2::IfcValveType::setPredefinedType(const ::Ifc4x3_rc2::IfcValveTyp const ifcopenshell::entity& Ifc4x3_rc2::IfcValveType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1272]); } -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; } +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>(); } +::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcVector::Orientation() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcDirection>(); } void Ifc4x3_rc2::IfcVector::setOrientation(const ::Ifc4x3_rc2::IfcDirection& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc2::IfcVector::Magnitude() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcVector::setMagnitude(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -16375,7 +16375,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcVertex::Class() { return *((ifcopensh 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>(); } +::Ifc4x3_rc2::IfcVertex Ifc4x3_rc2::IfcVertexLoop::LoopVertex() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcVertex>(); } void Ifc4x3_rc2::IfcVertexLoop::setLoopVertex(const ::Ifc4x3_rc2::IfcVertex& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -16383,7 +16383,7 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcVertexLoop::Class() { return *((ifcop 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>(); } +::Ifc4x3_rc2::IfcPoint Ifc4x3_rc2::IfcVertexPoint::VertexGeometry() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcPoint>(); } void Ifc4x3_rc2::IfcVertexPoint::setVertexGeometry(const ::Ifc4x3_rc2::IfcPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -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]); } -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; } +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)); } @@ -16420,7 +16420,7 @@ void Ifc4x3_rc2::IfcVibrationIsolatorType::setPredefinedType(const ::Ifc4x3_rc2: const ifcopenshell::entity& Ifc4x3_rc2::IfcVibrationIsolatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1284]); } -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; } +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 @@ -16429,14 +16429,14 @@ const ifcopenshell::entity& Ifc4x3_rc2::IfcVirtualElement::Class() { return *((i 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); } -void Ifc4x3_rc2::IfcVirtualGridIntersection::setIntersectingAxes(const std::vector< ::Ifc4x3_rc2::IfcGridAxis >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc2::IfcGridAxis > Ifc4x3_rc2::IfcVirtualGridIntersection::IntersectingAxes() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcGridAxis>(es); } +void Ifc4x3_rc2::IfcVirtualGridIntersection::setIntersectingAxes(const std::vector< ::Ifc4x3_rc2::IfcGridAxis >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } std::vector< double > /*[2:3]*/ Ifc4x3_rc2::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcVirtualGridIntersection::setOffsetDistances(const std::vector< double > /*[2:3]*/& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_rc2::IfcVirtualGridIntersection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1287]); } -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; } +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 @@ -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]); } -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; } +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)); } @@ -16494,7 +16494,7 @@ void Ifc4x3_rc2::IfcWasteTerminalType::setPredefinedType(const ::Ifc4x3_rc2::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcWasteTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1302]); } -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; } +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 @@ -16535,7 +16535,7 @@ std::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::FirstMullionOffse void Ifc4x3_rc2::IfcWindowLiningProperties::setFirstMullionOffset(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } std::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::SecondMullionOffset() const { if(get_attribute_value(11).isNull()) { return std::nullopt; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc2::IfcWindowLiningProperties::setSecondMullionOffset(const std::optional< double >& v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -::Ifc4x3_rc2::IfcShapeAspect Ifc4x3_rc2::IfcWindowLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(12).isNull()) { return ::Ifc4x3_rc2::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(12))).as<::Ifc4x3_rc2::IfcShapeAspect>(); } +::Ifc4x3_rc2::IfcShapeAspect Ifc4x3_rc2::IfcWindowLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(12).isNull()) { return ::Ifc4x3_rc2::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(12))).as<::Ifc4x3_rc2::IfcShapeAspect>(); } void Ifc4x3_rc2::IfcWindowLiningProperties::setShapeAspectStyle(const ::Ifc4x3_rc2::IfcShapeAspect& v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } std::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::LiningOffset() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc2::IfcWindowLiningProperties::setLiningOffset(const std::optional< double >& v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } @@ -16557,7 +16557,7 @@ std::optional< double > Ifc4x3_rc2::IfcWindowPanelProperties::FrameDepth() const void Ifc4x3_rc2::IfcWindowPanelProperties::setFrameDepth(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } std::optional< double > Ifc4x3_rc2::IfcWindowPanelProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcWindowPanelProperties::setFrameThickness(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc2::IfcShapeAspect Ifc4x3_rc2::IfcWindowPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc2::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc2::IfcShapeAspect>(); } +::Ifc4x3_rc2::IfcShapeAspect Ifc4x3_rc2::IfcWindowPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc2::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc2::IfcShapeAspect>(); } void Ifc4x3_rc2::IfcWindowPanelProperties::setShapeAspectStyle(const ::Ifc4x3_rc2::IfcShapeAspect& v) { set_attribute_value(8, v);if constexpr (false)unset_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]); } -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; } +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,25 +16596,25 @@ void Ifc4x3_rc2::IfcWindowType::setUserDefinedPartitioningType(const std::option const ifcopenshell::entity& Ifc4x3_rc2::IfcWindowType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1314]); } -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; } +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); } -void Ifc4x3_rc2::IfcWorkCalendar::setWorkingTimes(const std::optional< std::vector< ::Ifc4x3_rc2::IfcWorkTime > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x3_rc2::IfcWorkTime > > Ifc4x3_rc2::IfcWorkCalendar::ExceptionTimes() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc2::IfcWorkTime>(es); } -void Ifc4x3_rc2::IfcWorkCalendar::setExceptionTimes(const std::optional< std::vector< ::Ifc4x3_rc2::IfcWorkTime > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +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); } +void Ifc4x3_rc2::IfcWorkCalendar::setWorkingTimes(const std::optional< std::vector< ::Ifc4x3_rc2::IfcWorkTime > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +std::optional< std::vector< ::Ifc4x3_rc2::IfcWorkTime > > Ifc4x3_rc2::IfcWorkCalendar::ExceptionTimes() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc2::IfcWorkTime>(es); } +void Ifc4x3_rc2::IfcWorkCalendar::setExceptionTimes(const std::optional< std::vector< ::Ifc4x3_rc2::IfcWorkTime > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< ::Ifc4x3_rc2::IfcWorkCalendarTypeEnum::Value > Ifc4x3_rc2::IfcWorkCalendar::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcWorkCalendarTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcWorkCalendar::setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcWorkCalendarTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc2::IfcWorkCalendarTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const ifcopenshell::entity& Ifc4x3_rc2::IfcWorkCalendar::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1317]); } -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; } +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; } void Ifc4x3_rc2::IfcWorkControl::setCreationDate(const std::string& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::optional< std::vector< ::Ifc4x3_rc2::IfcPerson > > Ifc4x3_rc2::IfcWorkControl::Creators() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc2::IfcPerson>(es); } -void Ifc4x3_rc2::IfcWorkControl::setCreators(const std::optional< std::vector< ::Ifc4x3_rc2::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x3_rc2::IfcPerson > > Ifc4x3_rc2::IfcWorkControl::Creators() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc2::IfcPerson>(es); } +void Ifc4x3_rc2::IfcWorkControl::setCreators(const std::optional< std::vector< ::Ifc4x3_rc2::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< std::string > Ifc4x3_rc2::IfcWorkControl::Purpose() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcWorkControl::setPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } std::optional< std::string > Ifc4x3_rc2::IfcWorkControl::Duration() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::string v = get_attribute_value(9); 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]); } -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; } +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]); } -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; } +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,10 +16644,10 @@ void Ifc4x3_rc2::IfcWorkSchedule::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc2::IfcWorkSchedule::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1322]); } -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; } +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>(); } +::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>(); } void Ifc4x3_rc2::IfcWorkTime::setRecurrencePattern(const ::Ifc4x3_rc2::IfcRecurrencePattern& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc2::IfcWorkTime::Start() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcWorkTime::setStart(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } diff --git a/src/ifcparse/schemas/Ifc4x3_rc2.h b/src/ifcparse/schemas/Ifc4x3_rc2.h index 8e0b0ebb5c..690beb98fe 100644 --- a/src/ifcparse/schemas/Ifc4x3_rc2.h +++ b/src/ifcparse/schemas/Ifc4x3_rc2.h @@ -65,28 +65,28 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcOrganization An organization. /// IfcPerson A person. /// IfcPersonAndOrganization A person related to an organization. -class IFC_SCHEMA_API IfcActorSelect : public express::Select { +class IFC_SCHEMA_API IfcActorSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOrganization as() const { return express::Base::as(); } + // IfcOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPerson as() const { return express::Base::as(); } + // IfcPerson as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPersonAndOrganization as() const { return express::Base::as(); } + // IfcPersonAndOrganization as() const { return express::base::as(); } - IfcActorSelect(const IfcOrganization& c) : express::Select(c) {}; + IfcActorSelect(const IfcOrganization& c) : express::select(c) {}; - IfcActorSelect(const IfcPerson& c) : express::Select(c) {}; + IfcActorSelect(const IfcPerson& c) : express::select(c) {}; - IfcActorSelect(const IfcPersonAndOrganization& c) : express::Select(c) {}; + IfcActorSelect(const IfcPersonAndOrganization& c) : express::select(c) {}; }; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. @@ -103,694 +103,694 @@ public: /// Selecting IfcMeasureWithUnit allows the specification of both the actual figure for the value together with the currency in which the value is represented. /// Selecting IfcMonetaryMeasure allows the specification only of the value, the currency being as set by the global context /// 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_SCHEMA_API IfcAppliedValueSelect : public express::Select { +class IFC_SCHEMA_API IfcAppliedValueSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureWithUnit as() const { return express::Base::as(); } + // IfcMeasureWithUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReference as() const { return express::Base::as(); } + // IfcReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcValue as() const { return express::Base::as(); } + // IfcValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedMeasureValue as() const { return express::Base::as(); } + // IfcDerivedMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureValue as() const { return express::Base::as(); } + // IfcMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSimpleValue as() const { return express::Base::as(); } + // IfcSimpleValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } - IfcAppliedValueSelect(const IfcMeasureWithUnit& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMeasureWithUnit& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcReference& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcReference& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDerivedMeasureValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDerivedMeasureValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcForceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcForceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPHMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPHMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPowerMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPressureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcWarpingMomentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMeasureValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMeasureValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAreaMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcComplexNumber& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcComplexNumber& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcCountMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcCountMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcNumericMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcParameterValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcParameterValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRatioMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTimeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcVolumeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSimpleValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSimpleValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcBinary& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcBinary& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcBoolean& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDate& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDate& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDateTime& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDateTime& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDuration& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDuration& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIdentifier& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIdentifier& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcInteger& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcInteger& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLabel& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLabel& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLogical& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLogical& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositiveInteger& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcReal& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcReal& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcText& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcText& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTime& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTime& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTimeStamp& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTimeStamp& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. @@ -798,43 +798,43 @@ public: /// NOTE: Corresponding STEP type: axis2_placement, please refer to ISO/IS 10303-42:1994, p. 19 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 1.5 -class IFC_SCHEMA_API IfcAxis2Placement : public express::Select { +class IFC_SCHEMA_API IfcAxis2Placement : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAxis2Placement2D as() const { return express::Base::as(); } + // IfcAxis2Placement2D as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAxis2Placement3D as() const { return express::Base::as(); } + // IfcAxis2Placement3D as() const { return express::base::as(); } - IfcAxis2Placement(const IfcAxis2Placement2D& c) : express::Select(c) {}; + IfcAxis2Placement(const IfcAxis2Placement2D& c) : express::select(c) {}; - IfcAxis2Placement(const IfcAxis2Placement3D& c) : express::Select(c) {}; + IfcAxis2Placement(const IfcAxis2Placement3D& c) : express::select(c) {}; }; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// /// HISTORY New type in IFC Release 2x4 -class IFC_SCHEMA_API IfcBendingParameterSelect : public express::Select { +class IFC_SCHEMA_API IfcBendingParameterSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } - IfcBendingParameterSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcBendingParameterSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcBendingParameterSelect(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcBendingParameterSelect(const IfcPlaneAngleMeasure& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies @@ -853,40 +853,40 @@ public: /// (IfcSolidModel) are defined for being valid Boolean operands. /// /// HISTORY: New Type in IFC Release 1.5.1 -class IFC_SCHEMA_API IfcBooleanOperand : public express::Select { +class IFC_SCHEMA_API IfcBooleanOperand : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBooleanResult as() const { return express::Base::as(); } + // IfcBooleanResult as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCsgPrimitive3D as() const { return express::Base::as(); } + // IfcCsgPrimitive3D as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHalfSpaceSolid as() const { return express::Base::as(); } + // IfcHalfSpaceSolid as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidModel as() const { return express::Base::as(); } + // IfcSolidModel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTessellatedFaceSet as() const { return express::Base::as(); } + // IfcTessellatedFaceSet as() const { return express::base::as(); } - IfcBooleanOperand(const IfcBooleanResult& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcBooleanResult& c) : express::select(c) {}; - IfcBooleanOperand(const IfcCsgPrimitive3D& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcCsgPrimitive3D& c) : express::select(c) {}; - IfcBooleanOperand(const IfcHalfSpaceSolid& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcHalfSpaceSolid& c) : express::select(c) {}; - IfcBooleanOperand(const IfcSolidModel& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcSolidModel& c) : express::select(c) {}; - IfcBooleanOperand(const IfcTessellatedFaceSet& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcTessellatedFaceSet& c) : express::select(c) {}; }; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. @@ -897,22 +897,22 @@ public: /// /// IfcClassification (for classification information) /// IfcClassificationReference (for reference into a classification source) -class IFC_SCHEMA_API IfcClassificationReferenceSelect : public express::Select { +class IFC_SCHEMA_API IfcClassificationReferenceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassification as() const { return express::Base::as(); } + // IfcClassification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassificationReference as() const { return express::Base::as(); } + // IfcClassificationReference as() const { return express::base::as(); } - IfcClassificationReferenceSelect(const IfcClassification& c) : express::Select(c) {}; + IfcClassificationReferenceSelect(const IfcClassification& c) : express::select(c) {}; - IfcClassificationReferenceSelect(const IfcClassificationReference& c) : express::Select(c) {}; + IfcClassificationReferenceSelect(const IfcClassificationReference& c) : express::select(c) {}; }; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. @@ -928,22 +928,22 @@ public: /// /// IfcClassification (for referencing a classification system) /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) -class IFC_SCHEMA_API IfcClassificationSelect : public express::Select { +class IFC_SCHEMA_API IfcClassificationSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassification as() const { return express::Base::as(); } + // IfcClassification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassificationReference as() const { return express::Base::as(); } + // IfcClassificationReference as() const { return express::base::as(); } - IfcClassificationSelect(const IfcClassification& c) : express::Select(c) {}; + IfcClassificationSelect(const IfcClassification& c) : express::select(c) {}; - IfcClassificationSelect(const IfcClassificationReference& c) : express::Select(c) {}; + IfcClassificationSelect(const IfcClassificationReference& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. @@ -951,64 +951,64 @@ public: /// NOTE  Corresponding STEP name: colour. It has been made into a SELECT type in IFC to avoid multiple inheritance for pre defined colour. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_SCHEMA_API IfcColour : public express::Select { +class IFC_SCHEMA_API IfcColour : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColourSpecification as() const { return express::Base::as(); } + // IfcColourSpecification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedColour as() const { return express::Base::as(); } + // IfcPreDefinedColour as() const { return express::base::as(); } - IfcColour(const IfcColourSpecification& c) : express::Select(c) {}; + IfcColour(const IfcColourSpecification& c) : express::select(c) {}; - IfcColour(const IfcPreDefinedColour& c) : express::Select(c) {}; + IfcColour(const IfcPreDefinedColour& c) : express::select(c) {}; }; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcColourOrFactor : public express::Select { +class IFC_SCHEMA_API IfcColourOrFactor : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColourRgb as() const { return express::Base::as(); } + // IfcColourRgb as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } - IfcColourOrFactor(const IfcColourRgb& c) : express::Select(c) {}; + IfcColourOrFactor(const IfcColourRgb& c) : express::select(c) {}; - IfcColourOrFactor(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcColourOrFactor(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; }; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// /// HISTORY  New select type in IFC2x4. -class IFC_SCHEMA_API IfcCoordinateReferenceSystemSelect : public express::Select { +class IFC_SCHEMA_API IfcCoordinateReferenceSystemSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCoordinateReferenceSystem as() const { return express::Base::as(); } + // IfcCoordinateReferenceSystem as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcGeometricRepresentationContext as() const { return express::Base::as(); } + // IfcGeometricRepresentationContext as() const { return express::base::as(); } - IfcCoordinateReferenceSystemSelect(const IfcCoordinateReferenceSystem& c) : express::Select(c) {}; + IfcCoordinateReferenceSystemSelect(const IfcCoordinateReferenceSystem& c) : express::select(c) {}; - IfcCoordinateReferenceSystemSelect(const IfcGeometricRepresentationContext& c) : express::Select(c) {}; + IfcCoordinateReferenceSystemSelect(const IfcGeometricRepresentationContext& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. @@ -1017,22 +1017,22 @@ public: /// NOTE Corresponding ISO 10303-42 type: csg_select, please refer to ISO/IS 10303-42:1994, p.168 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcCsgSelect : public express::Select { +class IFC_SCHEMA_API IfcCsgSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBooleanResult as() const { return express::Base::as(); } + // IfcBooleanResult as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCsgPrimitive3D as() const { return express::Base::as(); } + // IfcCsgPrimitive3D as() const { return express::base::as(); } - IfcCsgSelect(const IfcBooleanResult& c) : express::Select(c) {}; + IfcCsgSelect(const IfcBooleanResult& c) : express::select(c) {}; - IfcCsgSelect(const IfcCsgPrimitive3D& c) : express::Select(c) {}; + IfcCsgSelect(const IfcCsgPrimitive3D& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. @@ -1040,78 +1040,78 @@ public: /// NOTE Corresponding ISO 10303 name: curve_font_or_scaled_curve_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_SCHEMA_API IfcCurveFontOrScaledCurveFontSelect : public express::Select { +class IFC_SCHEMA_API IfcCurveFontOrScaledCurveFontSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFontAndScaling as() const { return express::Base::as(); } + // IfcCurveStyleFontAndScaling as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFontSelect as() const { return express::Base::as(); } + // IfcCurveStyleFontSelect as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFont as() const { return express::Base::as(); } + // IfcCurveStyleFont as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedCurveFont as() const { return express::Base::as(); } + // IfcPreDefinedCurveFont as() const { return express::base::as(); } - IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontAndScaling& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontAndScaling& c) : express::select(c) {}; - IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontSelect& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontSelect& c) : express::select(c) {}; - IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFont& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFont& c) : express::select(c) {}; - IfcCurveFontOrScaledCurveFontSelect(const IfcPreDefinedCurveFont& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcPreDefinedCurveFont& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcCurveMeasureSelect : public express::Select { +class IFC_SCHEMA_API IfcCurveMeasureSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } - IfcCurveMeasureSelect(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcCurveMeasureSelect(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcCurveMeasureSelect(const IfcParameterValue& c) : express::Select(c) {}; + IfcCurveMeasureSelect(const IfcParameterValue& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcCurveOnSurface : public express::Select { +class IFC_SCHEMA_API IfcCurveOnSurface : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompositeCurveOnSurface as() const { return express::Base::as(); } + // IfcCompositeCurveOnSurface as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPcurve as() const { return express::Base::as(); } + // IfcPcurve as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceCurve as() const { return express::Base::as(); } + // IfcSurfaceCurve as() const { return express::base::as(); } - IfcCurveOnSurface(const IfcCompositeCurveOnSurface& c) : express::Select(c) {}; + IfcCurveOnSurface(const IfcCompositeCurveOnSurface& c) : express::select(c) {}; - IfcCurveOnSurface(const IfcPcurve& c) : express::Select(c) {}; + IfcCurveOnSurface(const IfcPcurve& c) : express::select(c) {}; - IfcCurveOnSurface(const IfcSurfaceCurve& c) : express::Select(c) {}; + IfcCurveOnSurface(const IfcSurfaceCurve& c) : express::select(c) {}; }; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve @@ -1122,22 +1122,22 @@ public: /// IfcEdgeCurve /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_SCHEMA_API IfcCurveOrEdgeCurve : public express::Select { +class IFC_SCHEMA_API IfcCurveOrEdgeCurve : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoundedCurve as() const { return express::Base::as(); } + // IfcBoundedCurve as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEdgeCurve as() const { return express::Base::as(); } + // IfcEdgeCurve as() const { return express::base::as(); } - IfcCurveOrEdgeCurve(const IfcBoundedCurve& c) : express::Select(c) {}; + IfcCurveOrEdgeCurve(const IfcBoundedCurve& c) : express::select(c) {}; - IfcCurveOrEdgeCurve(const IfcEdgeCurve& c) : express::Select(c) {}; + IfcCurveOrEdgeCurve(const IfcEdgeCurve& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. @@ -1145,22 +1145,22 @@ public: /// NOTE Corresponding ISO 10303 name: curve_style_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_SCHEMA_API IfcCurveStyleFontSelect : public express::Select { +class IFC_SCHEMA_API IfcCurveStyleFontSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFont as() const { return express::Base::as(); } + // IfcCurveStyleFont as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedCurveFont as() const { return express::Base::as(); } + // IfcPreDefinedCurveFont as() const { return express::base::as(); } - IfcCurveStyleFontSelect(const IfcCurveStyleFont& c) : express::Select(c) {}; + IfcCurveStyleFontSelect(const IfcCurveStyleFont& c) : express::select(c) {}; - IfcCurveStyleFontSelect(const IfcPreDefinedCurveFont& c) : express::Select(c) {}; + IfcCurveStyleFontSelect(const IfcPreDefinedCurveFont& c) : express::select(c) {}; }; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. @@ -1170,22 +1170,22 @@ public: /// IfcPropertyDefinition /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcDefinitionSelect : public express::Select { +class IFC_SCHEMA_API IfcDefinitionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcObjectDefinition as() const { return express::Base::as(); } + // IfcObjectDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertyDefinition as() const { return express::Base::as(); } + // IfcPropertyDefinition as() const { return express::base::as(); } - IfcDefinitionSelect(const IfcObjectDefinition& c) : express::Select(c) {}; + IfcDefinitionSelect(const IfcObjectDefinition& c) : express::select(c) {}; - IfcDefinitionSelect(const IfcPropertyDefinition& c) : express::Select(c) {}; + IfcDefinitionSelect(const IfcPropertyDefinition& c) : express::select(c) {}; }; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. @@ -1262,436 +1262,436 @@ public: /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. -class IFC_SCHEMA_API IfcDerivedMeasureValue : public express::Select { +class IFC_SCHEMA_API IfcDerivedMeasureValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } - IfcDerivedMeasureValue(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcForceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcForceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPHMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPHMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPowerMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPressureMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcWarpingMomentMeasure& c) : express::select(c) {}; }; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. @@ -1702,59 +1702,59 @@ public: /// /// IfcDocumentInformation (for "metadata" of an external document) /// IfcDocumentReference (for reference within a document) -class IFC_SCHEMA_API IfcDocumentSelect : public express::Select { +class IFC_SCHEMA_API IfcDocumentSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDocumentInformation as() const { return express::Base::as(); } + // IfcDocumentInformation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDocumentReference as() const { return express::Base::as(); } + // IfcDocumentReference as() const { return express::base::as(); } - IfcDocumentSelect(const IfcDocumentInformation& c) : express::Select(c) {}; + IfcDocumentSelect(const IfcDocumentInformation& c) : express::select(c) {}; - IfcDocumentSelect(const IfcDocumentReference& c) : express::Select(c) {}; + IfcDocumentSelect(const IfcDocumentReference& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcFacilityPartTypeSelect : public express::Select { +class IFC_SCHEMA_API IfcFacilityPartTypeSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBridgePartTypeEnum as() const { return express::Base::as(); } + // IfcBridgePartTypeEnum as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFacilityPartCommonTypeEnum as() const { return express::Base::as(); } + // IfcFacilityPartCommonTypeEnum as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMarinePartTypeEnum as() const { return express::Base::as(); } + // IfcMarinePartTypeEnum as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRailwayPartTypeEnum as() const { return express::Base::as(); } + // IfcRailwayPartTypeEnum as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRoadPartTypeEnum as() const { return express::Base::as(); } + // IfcRoadPartTypeEnum as() const { return express::base::as(); } - IfcFacilityPartTypeSelect(const IfcBridgePartTypeEnum& c) : express::Select(c) {}; + IfcFacilityPartTypeSelect(const IfcBridgePartTypeEnum& c) : express::select(c) {}; - IfcFacilityPartTypeSelect(const IfcFacilityPartCommonTypeEnum& c) : express::Select(c) {}; + IfcFacilityPartTypeSelect(const IfcFacilityPartCommonTypeEnum& c) : express::select(c) {}; - IfcFacilityPartTypeSelect(const IfcMarinePartTypeEnum& c) : express::Select(c) {}; + IfcFacilityPartTypeSelect(const IfcMarinePartTypeEnum& c) : express::select(c) {}; - IfcFacilityPartTypeSelect(const IfcRailwayPartTypeEnum& c) : express::Select(c) {}; + IfcFacilityPartTypeSelect(const IfcRailwayPartTypeEnum& c) : express::select(c) {}; - IfcFacilityPartTypeSelect(const IfcRoadPartTypeEnum& c) : express::Select(c) {}; + IfcFacilityPartTypeSelect(const IfcRoadPartTypeEnum& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. @@ -1763,46 +1763,46 @@ public: /// the final definition of the formal standard. /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcFillStyleSelect : public express::Select { +class IFC_SCHEMA_API IfcFillStyleSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColour as() const { return express::Base::as(); } + // IfcColour as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColourSpecification as() const { return express::Base::as(); } + // IfcColourSpecification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedColour as() const { return express::Base::as(); } + // IfcPreDefinedColour as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternallyDefinedHatchStyle as() const { return express::Base::as(); } + // IfcExternallyDefinedHatchStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFillAreaStyleHatching as() const { return express::Base::as(); } + // IfcFillAreaStyleHatching as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFillAreaStyleTiles as() const { return express::Base::as(); } + // IfcFillAreaStyleTiles as() const { return express::base::as(); } - IfcFillStyleSelect(const IfcColour& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcColour& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcColourSpecification& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcColourSpecification& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcPreDefinedColour& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcPreDefinedColour& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcExternallyDefinedHatchStyle& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcExternallyDefinedHatchStyle& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcFillAreaStyleHatching& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcFillAreaStyleHatching& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcFillAreaStyleTiles& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcFillAreaStyleTiles& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. @@ -1810,28 +1810,28 @@ public: /// NOTE: Corresponding ISO 10303 type: geometric_set_select. Please refer to ISO/IS 10303-42:1994, p. 169 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 2x. -class IFC_SCHEMA_API IfcGeometricSetSelect : public express::Select { +class IFC_SCHEMA_API IfcGeometricSetSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurve as() const { return express::Base::as(); } + // IfcCurve as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPoint as() const { return express::Base::as(); } + // IfcPoint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurface as() const { return express::Base::as(); } + // IfcSurface as() const { return express::base::as(); } - IfcGeometricSetSelect(const IfcCurve& c) : express::Select(c) {}; + IfcGeometricSetSelect(const IfcCurve& c) : express::select(c) {}; - IfcGeometricSetSelect(const IfcPoint& c) : express::Select(c) {}; + IfcGeometricSetSelect(const IfcPoint& c) : express::select(c) {}; - IfcGeometricSetSelect(const IfcSurface& c) : express::Select(c) {}; + IfcGeometricSetSelect(const IfcSurface& c) : express::select(c) {}; }; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. @@ -1842,87 +1842,87 @@ public: /// IfcVirtualGridIntersection /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcGridPlacementDirectionSelect : public express::Select { +class IFC_SCHEMA_API IfcGridPlacementDirectionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDirection as() const { return express::Base::as(); } + // IfcDirection as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVirtualGridIntersection as() const { return express::Base::as(); } + // IfcVirtualGridIntersection as() const { return express::base::as(); } - IfcGridPlacementDirectionSelect(const IfcDirection& c) : express::Select(c) {}; + IfcGridPlacementDirectionSelect(const IfcDirection& c) : express::select(c) {}; - IfcGridPlacementDirectionSelect(const IfcVirtualGridIntersection& c) : express::Select(c) {}; + IfcGridPlacementDirectionSelect(const IfcVirtualGridIntersection& c) : express::select(c) {}; }; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcHatchLineDistanceSelect : public express::Select { +class IFC_SCHEMA_API IfcHatchLineDistanceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVector as() const { return express::Base::as(); } + // IfcVector as() const { return express::base::as(); } - IfcHatchLineDistanceSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcHatchLineDistanceSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcHatchLineDistanceSelect(const IfcVector& c) : express::Select(c) {}; + IfcHatchLineDistanceSelect(const IfcVector& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcImpactProtectionDeviceTypeSelect : public express::Select { +class IFC_SCHEMA_API IfcImpactProtectionDeviceTypeSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcImpactProtectionDeviceTypeEnum as() const { return express::Base::as(); } + // IfcImpactProtectionDeviceTypeEnum as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVibrationDamperTypeEnum as() const { return express::Base::as(); } + // IfcVibrationDamperTypeEnum as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVibrationIsolatorTypeEnum as() const { return express::Base::as(); } + // IfcVibrationIsolatorTypeEnum as() const { return express::base::as(); } - IfcImpactProtectionDeviceTypeSelect(const IfcImpactProtectionDeviceTypeEnum& c) : express::Select(c) {}; + IfcImpactProtectionDeviceTypeSelect(const IfcImpactProtectionDeviceTypeEnum& c) : express::select(c) {}; - IfcImpactProtectionDeviceTypeSelect(const IfcVibrationDamperTypeEnum& c) : express::Select(c) {}; + IfcImpactProtectionDeviceTypeSelect(const IfcVibrationDamperTypeEnum& c) : express::select(c) {}; - IfcImpactProtectionDeviceTypeSelect(const IfcVibrationIsolatorTypeEnum& c) : express::Select(c) {}; + IfcImpactProtectionDeviceTypeSelect(const IfcVibrationIsolatorTypeEnum& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcInterferenceSelect : public express::Select { +class IFC_SCHEMA_API IfcInterferenceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElement as() const { return express::Base::as(); } + // IfcElement as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpatialElement as() const { return express::Base::as(); } + // IfcSpatialElement as() const { return express::base::as(); } - IfcInterferenceSelect(const IfcElement& c) : express::Select(c) {}; + IfcInterferenceSelect(const IfcElement& c) : express::select(c) {}; - IfcInterferenceSelect(const IfcSpatialElement& c) : express::Select(c) {}; + IfcInterferenceSelect(const IfcSpatialElement& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. @@ -1932,22 +1932,22 @@ public: /// NOTE: Corresponding ISO 10303 name: layered_item. It was called layered_things in the ISO/CD version and had been renamed to layered_item in the ISO/IS final version. Please refer to ISO/IS 10303-46:1994, p. 13 for the final definition of the formal standard. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcLayeredItem : public express::Select { +class IFC_SCHEMA_API IfcLayeredItem : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRepresentation as() const { return express::Base::as(); } + // IfcRepresentation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRepresentationItem as() const { return express::Base::as(); } + // IfcRepresentationItem as() const { return express::base::as(); } - IfcLayeredItem(const IfcRepresentation& c) : express::Select(c) {}; + IfcLayeredItem(const IfcRepresentation& c) : express::select(c) {}; - IfcLayeredItem(const IfcRepresentationItem& c) : express::Select(c) {}; + IfcLayeredItem(const IfcRepresentationItem& c) : express::select(c) {}; }; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. @@ -1960,22 +1960,22 @@ public: /// IfcLibraryReference (for reference into a library of information by location) /// /// 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_SCHEMA_API IfcLibrarySelect : public express::Select { +class IFC_SCHEMA_API IfcLibrarySelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLibraryInformation as() const { return express::Base::as(); } + // IfcLibraryInformation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLibraryReference as() const { return express::Base::as(); } + // IfcLibraryReference as() const { return express::base::as(); } - IfcLibrarySelect(const IfcLibraryInformation& c) : express::Select(c) {}; + IfcLibrarySelect(const IfcLibraryInformation& c) : express::select(c) {}; - IfcLibrarySelect(const IfcLibraryReference& c) : express::Select(c) {}; + IfcLibrarySelect(const IfcLibraryReference& c) : express::select(c) {}; }; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. @@ -2000,41 +2000,41 @@ public: /// directions covers all cases. /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcLightDistributionDataSourceSelect : public express::Select { +class IFC_SCHEMA_API IfcLightDistributionDataSourceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalReference as() const { return express::Base::as(); } + // IfcExternalReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLightIntensityDistribution as() const { return express::Base::as(); } + // IfcLightIntensityDistribution as() const { return express::base::as(); } - IfcLightDistributionDataSourceSelect(const IfcExternalReference& c) : express::Select(c) {}; + IfcLightDistributionDataSourceSelect(const IfcExternalReference& c) : express::select(c) {}; - IfcLightDistributionDataSourceSelect(const IfcLightIntensityDistribution& c) : express::Select(c) {}; + IfcLightDistributionDataSourceSelect(const IfcLightIntensityDistribution& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcLinearAxisSelect : public express::Select { +class IFC_SCHEMA_API IfcLinearAxisSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurve as() const { return express::Base::as(); } + // IfcCurve as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearAxisWithInclination as() const { return express::Base::as(); } + // IfcLinearAxisWithInclination as() const { return express::base::as(); } - IfcLinearAxisSelect(const IfcCurve& c) : express::Select(c) {}; + IfcLinearAxisSelect(const IfcCurve& c) : express::select(c) {}; - IfcLinearAxisSelect(const IfcLinearAxisWithInclination& c) : express::Select(c) {}; + IfcLinearAxisSelect(const IfcLinearAxisWithInclination& c) : express::select(c) {}; }; /// IfcMaterialSelect provides selection of either a material @@ -2063,28 +2063,28 @@ public: /// /// IFC2x4 CHANGE The select now includes two new abstract entities IfcMaterialDefinition /// and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards. -class IFC_SCHEMA_API IfcMaterialSelect : public express::Select { +class IFC_SCHEMA_API IfcMaterialSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialDefinition as() const { return express::Base::as(); } + // IfcMaterialDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialList as() const { return express::Base::as(); } + // IfcMaterialList as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialUsageDefinition as() const { return express::Base::as(); } + // IfcMaterialUsageDefinition as() const { return express::base::as(); } - IfcMaterialSelect(const IfcMaterialDefinition& c) : express::Select(c) {}; + IfcMaterialSelect(const IfcMaterialDefinition& c) : express::select(c) {}; - IfcMaterialSelect(const IfcMaterialList& c) : express::Select(c) {}; + IfcMaterialSelect(const IfcMaterialList& c) : express::select(c) {}; - IfcMaterialSelect(const IfcMaterialUsageDefinition& c) : express::Select(c) {}; + IfcMaterialSelect(const IfcMaterialUsageDefinition& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). @@ -2096,148 +2096,148 @@ public: /// HISTORY New type in IFC Release 1.5.1. /// /// IFC 2x4 change: added IfcNonNegativeLengthMeasure -class IFC_SCHEMA_API IfcMeasureValue : public express::Select { +class IFC_SCHEMA_API IfcMeasureValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } - IfcMeasureValue(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcAreaMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcComplexNumber& c) : express::Select(c) {}; + IfcMeasureValue(const IfcComplexNumber& c) : express::select(c) {}; - IfcMeasureValue(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcCountMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcCountMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcLengthMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcMassMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcMassMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcNumericMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcParameterValue& c) : express::Select(c) {}; + IfcMeasureValue(const IfcParameterValue& c) : express::select(c) {}; - IfcMeasureValue(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcRatioMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcTimeMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcVolumeMeasure& c) : express::select(c) {}; }; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. @@ -2252,838 +2252,838 @@ public: /// IfcTable /// IfcText /// IfcTimeSeries -class IFC_SCHEMA_API IfcMetricValueSelect : public express::Select { +class IFC_SCHEMA_API IfcMetricValueSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAppliedValue as() const { return express::Base::as(); } + // IfcAppliedValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureWithUnit as() const { return express::Base::as(); } + // IfcMeasureWithUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReference as() const { return express::Base::as(); } + // IfcReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTable as() const { return express::Base::as(); } + // IfcTable as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeSeries as() const { return express::Base::as(); } + // IfcTimeSeries as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcValue as() const { return express::Base::as(); } + // IfcValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedMeasureValue as() const { return express::Base::as(); } + // IfcDerivedMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureValue as() const { return express::Base::as(); } + // IfcMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSimpleValue as() const { return express::Base::as(); } + // IfcSimpleValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } - IfcMetricValueSelect(const IfcAppliedValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAppliedValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMeasureWithUnit& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMeasureWithUnit& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcReference& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcReference& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTable& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTable& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTimeSeries& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTimeSeries& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDerivedMeasureValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDerivedMeasureValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcForceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcForceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPHMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPHMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPowerMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPressureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcWarpingMomentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMeasureValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMeasureValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAreaMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcComplexNumber& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcComplexNumber& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcCountMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcCountMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcNumericMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcParameterValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcParameterValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRatioMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTimeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcVolumeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSimpleValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSimpleValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcBinary& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcBinary& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcBoolean& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDate& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDate& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDateTime& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDateTime& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDuration& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDuration& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIdentifier& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIdentifier& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcInteger& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcInteger& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLabel& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLabel& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLogical& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLogical& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositiveInteger& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcReal& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcReal& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcText& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcText& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTime& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTime& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTimeStamp& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTimeStamp& c) : express::select(c) {}; }; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionSelect : public express::Select { +class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } - IfcModulusOfRotationalSubgradeReactionSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcModulusOfRotationalSubgradeReactionSelect(const IfcBoolean& c) : express::select(c) {}; - IfcModulusOfRotationalSubgradeReactionSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcModulusOfRotationalSubgradeReactionSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; }; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcModulusOfSubgradeReactionSelect : public express::Select { +class IFC_SCHEMA_API IfcModulusOfSubgradeReactionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } - IfcModulusOfSubgradeReactionSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcModulusOfSubgradeReactionSelect(const IfcBoolean& c) : express::select(c) {}; - IfcModulusOfSubgradeReactionSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcModulusOfSubgradeReactionSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; }; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcModulusOfTranslationalSubgradeReactionSelect : public express::Select { +class IFC_SCHEMA_API IfcModulusOfTranslationalSubgradeReactionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } - IfcModulusOfTranslationalSubgradeReactionSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcModulusOfTranslationalSubgradeReactionSelect(const IfcBoolean& c) : express::select(c) {}; - IfcModulusOfTranslationalSubgradeReactionSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcModulusOfTranslationalSubgradeReactionSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; }; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// /// HISTORY  New select type in IFC Release 2.0. -class IFC_SCHEMA_API IfcObjectReferenceSelect : public express::Select { +class IFC_SCHEMA_API IfcObjectReferenceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAddress as() const { return express::Base::as(); } + // IfcAddress as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAppliedValue as() const { return express::Base::as(); } + // IfcAppliedValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalReference as() const { return express::Base::as(); } + // IfcExternalReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialDefinition as() const { return express::Base::as(); } + // IfcMaterialDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOrganization as() const { return express::Base::as(); } + // IfcOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPerson as() const { return express::Base::as(); } + // IfcPerson as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPersonAndOrganization as() const { return express::Base::as(); } + // IfcPersonAndOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTable as() const { return express::Base::as(); } + // IfcTable as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeSeries as() const { return express::Base::as(); } + // IfcTimeSeries as() const { return express::base::as(); } - IfcObjectReferenceSelect(const IfcAddress& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcAddress& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcAppliedValue& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcAppliedValue& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcExternalReference& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcExternalReference& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcMaterialDefinition& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcMaterialDefinition& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcOrganization& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcOrganization& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcPerson& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcPerson& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcPersonAndOrganization& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcPersonAndOrganization& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcTable& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcTable& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcTimeSeries& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcTimeSeries& c) : express::select(c) {}; }; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. @@ -3093,22 +3093,22 @@ public: /// IfcVertexPoint /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_SCHEMA_API IfcPointOrVertexPoint : public express::Select { +class IFC_SCHEMA_API IfcPointOrVertexPoint : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPoint as() const { return express::Base::as(); } + // IfcPoint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVertexPoint as() const { return express::Base::as(); } + // IfcVertexPoint as() const { return express::base::as(); } - IfcPointOrVertexPoint(const IfcPoint& c) : express::Select(c) {}; + IfcPointOrVertexPoint(const IfcPoint& c) : express::select(c) {}; - IfcPointOrVertexPoint(const IfcVertexPoint& c) : express::Select(c) {}; + IfcPointOrVertexPoint(const IfcVertexPoint& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The presentation style select is a selection of one of many kinds of styles, a different one for each kind of geometric representation item to be styled. @@ -3119,40 +3119,40 @@ public: /// HISTORY New type in IFC2x2. /// /// IFC2x4 CHANGE The select type has been deprecated. -class IFC_SCHEMA_API IfcPresentationStyleSelect : public express::Select { +class IFC_SCHEMA_API IfcPresentationStyleSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyle as() const { return express::Base::as(); } + // IfcCurveStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFillAreaStyle as() const { return express::Base::as(); } + // IfcFillAreaStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNullStyle as() const { return express::Base::as(); } + // IfcNullStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyle as() const { return express::Base::as(); } + // IfcSurfaceStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTextStyle as() const { return express::Base::as(); } + // IfcTextStyle as() const { return express::base::as(); } - IfcPresentationStyleSelect(const IfcCurveStyle& c) : express::Select(c) {}; + IfcPresentationStyleSelect(const IfcCurveStyle& c) : express::select(c) {}; - IfcPresentationStyleSelect(const IfcFillAreaStyle& c) : express::Select(c) {}; + IfcPresentationStyleSelect(const IfcFillAreaStyle& c) : express::select(c) {}; - IfcPresentationStyleSelect(const IfcNullStyle& c) : express::Select(c) {}; + IfcPresentationStyleSelect(const IfcNullStyle& c) : express::select(c) {}; - IfcPresentationStyleSelect(const IfcSurfaceStyle& c) : express::Select(c) {}; + IfcPresentationStyleSelect(const IfcSurfaceStyle& c) : express::select(c) {}; - IfcPresentationStyleSelect(const IfcTextStyle& c) : express::Select(c) {}; + IfcPresentationStyleSelect(const IfcTextStyle& c) : express::select(c) {}; }; /// IfcProcessSelectprovides the option to either @@ -3165,41 +3165,41 @@ public: /// IfcTypeProcess /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcProcessSelect : public express::Select { +class IFC_SCHEMA_API IfcProcessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProcess as() const { return express::Base::as(); } + // IfcProcess as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTypeProcess as() const { return express::Base::as(); } + // IfcTypeProcess as() const { return express::base::as(); } - IfcProcessSelect(const IfcProcess& c) : express::Select(c) {}; + IfcProcessSelect(const IfcProcess& c) : express::select(c) {}; - IfcProcessSelect(const IfcTypeProcess& c) : express::Select(c) {}; + IfcProcessSelect(const IfcTypeProcess& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcProductRepresentationSelect : public express::Select { +class IFC_SCHEMA_API IfcProductRepresentationSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProductDefinitionShape as() const { return express::Base::as(); } + // IfcProductDefinitionShape as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRepresentationMap as() const { return express::Base::as(); } + // IfcRepresentationMap as() const { return express::base::as(); } - IfcProductRepresentationSelect(const IfcProductDefinitionShape& c) : express::Select(c) {}; + IfcProductRepresentationSelect(const IfcProductDefinitionShape& c) : express::select(c) {}; - IfcProductRepresentationSelect(const IfcRepresentationMap& c) : express::Select(c) {}; + IfcProductRepresentationSelect(const IfcRepresentationMap& c) : express::select(c) {}; }; /// IfcProductSelectprovides the option to either select a @@ -3211,152 +3211,152 @@ public: /// IfcTypeProduct /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcProductSelect : public express::Select { +class IFC_SCHEMA_API IfcProductSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProduct as() const { return express::Base::as(); } + // IfcProduct as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTypeProduct as() const { return express::Base::as(); } + // IfcTypeProduct as() const { return express::base::as(); } - IfcProductSelect(const IfcProduct& c) : express::Select(c) {}; + IfcProductSelect(const IfcProduct& c) : express::select(c) {}; - IfcProductSelect(const IfcTypeProduct& c) : express::Select(c) {}; + IfcProductSelect(const IfcTypeProduct& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcPropertySetDefinitionSelect : public express::Select { +class IFC_SCHEMA_API IfcPropertySetDefinitionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertySetDefinition as() const { return express::Base::as(); } + // IfcPropertySetDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertySetDefinitionSet as() const { return express::Base::as(); } + // IfcPropertySetDefinitionSet as() const { return express::base::as(); } - IfcPropertySetDefinitionSelect(const IfcPropertySetDefinition& c) : express::Select(c) {}; + IfcPropertySetDefinitionSelect(const IfcPropertySetDefinition& c) : express::select(c) {}; - IfcPropertySetDefinitionSelect(const IfcPropertySetDefinitionSet& c) : express::Select(c) {}; + IfcPropertySetDefinitionSelect(const IfcPropertySetDefinitionSet& c) : express::select(c) {}; }; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// /// HISTORY  New Select type in IFC2x4. -class IFC_SCHEMA_API IfcResourceObjectSelect : public express::Select { +class IFC_SCHEMA_API IfcResourceObjectSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcActorRole as() const { return express::Base::as(); } + // IfcActorRole as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAppliedValue as() const { return express::Base::as(); } + // IfcAppliedValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcApproval as() const { return express::Base::as(); } + // IfcApproval as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcConstraint as() const { return express::Base::as(); } + // IfcConstraint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentUnit as() const { return express::Base::as(); } + // IfcContextDependentUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcConversionBasedUnit as() const { return express::Base::as(); } + // IfcConversionBasedUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalInformation as() const { return express::Base::as(); } + // IfcExternalInformation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalReference as() const { return express::Base::as(); } + // IfcExternalReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialDefinition as() const { return express::Base::as(); } + // IfcMaterialDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOrganization as() const { return express::Base::as(); } + // IfcOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPerson as() const { return express::Base::as(); } + // IfcPerson as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPersonAndOrganization as() const { return express::Base::as(); } + // IfcPersonAndOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPhysicalQuantity as() const { return express::Base::as(); } + // IfcPhysicalQuantity as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProfileDef as() const { return express::Base::as(); } + // IfcProfileDef as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertyAbstraction as() const { return express::Base::as(); } + // IfcPropertyAbstraction as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShapeAspect as() const { return express::Base::as(); } + // IfcShapeAspect as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeSeries as() const { return express::Base::as(); } + // IfcTimeSeries as() const { return express::base::as(); } - IfcResourceObjectSelect(const IfcActorRole& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcActorRole& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcAppliedValue& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcAppliedValue& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcApproval& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcApproval& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcConstraint& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcConstraint& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcContextDependentUnit& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcContextDependentUnit& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcConversionBasedUnit& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcConversionBasedUnit& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcExternalInformation& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcExternalInformation& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcExternalReference& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcExternalReference& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcMaterialDefinition& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcMaterialDefinition& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcOrganization& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcOrganization& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPerson& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPerson& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPersonAndOrganization& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPersonAndOrganization& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPhysicalQuantity& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPhysicalQuantity& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcProfileDef& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcProfileDef& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPropertyAbstraction& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPropertyAbstraction& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcShapeAspect& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcShapeAspect& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcTimeSeries& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcTimeSeries& c) : express::select(c) {}; }; /// IfcResourceSelectprovides the option to either select a @@ -3368,62 +3368,62 @@ public: /// IfcTypeResource /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcResourceSelect : public express::Select { +class IFC_SCHEMA_API IfcResourceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcResource as() const { return express::Base::as(); } + // IfcResource as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTypeResource as() const { return express::Base::as(); } + // IfcTypeResource as() const { return express::base::as(); } - IfcResourceSelect(const IfcResource& c) : express::Select(c) {}; + IfcResourceSelect(const IfcResource& c) : express::select(c) {}; - IfcResourceSelect(const IfcTypeResource& c) : express::Select(c) {}; + IfcResourceSelect(const IfcTypeResource& c) : express::select(c) {}; }; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcRotationalStiffnessSelect : public express::Select { +class IFC_SCHEMA_API IfcRotationalStiffnessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } - IfcRotationalStiffnessSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcRotationalStiffnessSelect(const IfcBoolean& c) : express::select(c) {}; - IfcRotationalStiffnessSelect(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcRotationalStiffnessSelect(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcSegmentIndexSelect : public express::Select { +class IFC_SCHEMA_API IfcSegmentIndexSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcArcIndex as() const { return express::Base::as(); } + // IfcArcIndex as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLineIndex as() const { return express::Base::as(); } + // IfcLineIndex as() const { return express::base::as(); } - IfcSegmentIndexSelect(const IfcArcIndex& c) : express::Select(c) {}; + IfcSegmentIndexSelect(const IfcArcIndex& c) : express::select(c) {}; - IfcSegmentIndexSelect(const IfcLineIndex& c) : express::Select(c) {}; + IfcSegmentIndexSelect(const IfcLineIndex& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. @@ -3437,22 +3437,22 @@ public: /// NOTE  Corresponding ISO 10303 type: shell. Please refer to ISO/IS 10303-42:1994, p. 127 for the final definition of the formal standard. Only the select items closed_shell (IfcClosedShell) and open_shell (IfcOpenShell) have been incorporated in the current IFC release. /// /// HISTORY  New type in IFC2x. -class IFC_SCHEMA_API IfcShell : public express::Select { +class IFC_SCHEMA_API IfcShell : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClosedShell as() const { return express::Base::as(); } + // IfcClosedShell as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOpenShell as() const { return express::Base::as(); } + // IfcOpenShell as() const { return express::base::as(); } - IfcShell(const IfcClosedShell& c) : express::Select(c) {}; + IfcShell(const IfcClosedShell& c) : express::select(c) {}; - IfcShell(const IfcOpenShell& c) : express::Select(c) {}; + IfcShell(const IfcOpenShell& c) : express::select(c) {}; }; /// IfcSimpleValue is a select type for selecting between simple value types. @@ -3474,94 +3474,94 @@ public: /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. -class IFC_SCHEMA_API IfcSimpleValue : public express::Select { +class IFC_SCHEMA_API IfcSimpleValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } - IfcSimpleValue(const IfcBinary& c) : express::Select(c) {}; + IfcSimpleValue(const IfcBinary& c) : express::select(c) {}; - IfcSimpleValue(const IfcBoolean& c) : express::Select(c) {}; + IfcSimpleValue(const IfcBoolean& c) : express::select(c) {}; - IfcSimpleValue(const IfcDate& c) : express::Select(c) {}; + IfcSimpleValue(const IfcDate& c) : express::select(c) {}; - IfcSimpleValue(const IfcDateTime& c) : express::Select(c) {}; + IfcSimpleValue(const IfcDateTime& c) : express::select(c) {}; - IfcSimpleValue(const IfcDuration& c) : express::Select(c) {}; + IfcSimpleValue(const IfcDuration& c) : express::select(c) {}; - IfcSimpleValue(const IfcIdentifier& c) : express::Select(c) {}; + IfcSimpleValue(const IfcIdentifier& c) : express::select(c) {}; - IfcSimpleValue(const IfcInteger& c) : express::Select(c) {}; + IfcSimpleValue(const IfcInteger& c) : express::select(c) {}; - IfcSimpleValue(const IfcLabel& c) : express::Select(c) {}; + IfcSimpleValue(const IfcLabel& c) : express::select(c) {}; - IfcSimpleValue(const IfcLogical& c) : express::Select(c) {}; + IfcSimpleValue(const IfcLogical& c) : express::select(c) {}; - IfcSimpleValue(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcSimpleValue(const IfcPositiveInteger& c) : express::select(c) {}; - IfcSimpleValue(const IfcReal& c) : express::Select(c) {}; + IfcSimpleValue(const IfcReal& c) : express::select(c) {}; - IfcSimpleValue(const IfcText& c) : express::Select(c) {}; + IfcSimpleValue(const IfcText& c) : express::select(c) {}; - IfcSimpleValue(const IfcTime& c) : express::Select(c) {}; + IfcSimpleValue(const IfcTime& c) : express::select(c) {}; - IfcSimpleValue(const IfcTimeStamp& c) : express::Select(c) {}; + IfcSimpleValue(const IfcTimeStamp& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. @@ -3576,46 +3576,46 @@ public: /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. -class IFC_SCHEMA_API IfcSizeSelect : public express::Select { +class IFC_SCHEMA_API IfcSizeSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } - IfcSizeSelect(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcRatioMeasure& c) : express::select(c) {}; }; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. @@ -3625,22 +3625,22 @@ public: /// IfcClosedShell /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcSolidOrShell : public express::Select { +class IFC_SCHEMA_API IfcSolidOrShell : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClosedShell as() const { return express::Base::as(); } + // IfcClosedShell as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidModel as() const { return express::Base::as(); } + // IfcSolidModel as() const { return express::base::as(); } - IfcSolidOrShell(const IfcClosedShell& c) : express::Select(c) {}; + IfcSolidOrShell(const IfcClosedShell& c) : express::select(c) {}; - IfcSolidOrShell(const IfcSolidModel& c) : express::Select(c) {}; + IfcSolidOrShell(const IfcSolidModel& c) : express::select(c) {}; }; /// Definition from IAI: The @@ -3655,41 +3655,41 @@ public: /// /// HISTORY New select type /// in IFC2x4. -class IFC_SCHEMA_API IfcSpaceBoundarySelect : public express::Select { +class IFC_SCHEMA_API IfcSpaceBoundarySelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalSpatialElement as() const { return express::Base::as(); } + // IfcExternalSpatialElement as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpace as() const { return express::Base::as(); } + // IfcSpace as() const { return express::base::as(); } - IfcSpaceBoundarySelect(const IfcExternalSpatialElement& c) : express::Select(c) {}; + IfcSpaceBoundarySelect(const IfcExternalSpatialElement& c) : express::select(c) {}; - IfcSpaceBoundarySelect(const IfcSpace& c) : express::Select(c) {}; + IfcSpaceBoundarySelect(const IfcSpace& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcSpatialReferenceSelect : public express::Select { +class IFC_SCHEMA_API IfcSpatialReferenceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProduct as() const { return express::Base::as(); } + // IfcProduct as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSystem as() const { return express::Base::as(); } + // IfcSystem as() const { return express::base::as(); } - IfcSpatialReferenceSelect(const IfcProduct& c) : express::Select(c) {}; + IfcSpatialReferenceSelect(const IfcProduct& c) : express::select(c) {}; - IfcSpatialReferenceSelect(const IfcSystem& c) : express::Select(c) {}; + IfcSpatialReferenceSelect(const IfcSystem& c) : express::select(c) {}; }; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. @@ -3702,22 +3702,22 @@ public: /// For each surface side style only one of the two methods is needed for calculating the specular part of the equation. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcSpecularHighlightSelect : public express::Select { +class IFC_SCHEMA_API IfcSpecularHighlightSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecularExponent as() const { return express::Base::as(); } + // IfcSpecularExponent as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecularRoughness as() const { return express::Base::as(); } + // IfcSpecularRoughness as() const { return express::base::as(); } - IfcSpecularHighlightSelect(const IfcSpecularExponent& c) : express::Select(c) {}; + IfcSpecularHighlightSelect(const IfcSpecularExponent& c) : express::select(c) {}; - IfcSpecularHighlightSelect(const IfcSpecularRoughness& c) : express::Select(c) {}; + IfcSpecularHighlightSelect(const IfcSpecularRoughness& c) : express::select(c) {}; }; /// Definition from IAI: This type definition shall be used to @@ -3729,22 +3729,22 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcStructuralActivityAssignmentSelect : public express::Select { +class IFC_SCHEMA_API IfcStructuralActivityAssignmentSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElement as() const { return express::Base::as(); } + // IfcElement as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcStructuralItem as() const { return express::Base::as(); } + // IfcStructuralItem as() const { return express::base::as(); } - IfcStructuralActivityAssignmentSelect(const IfcElement& c) : express::Select(c) {}; + IfcStructuralActivityAssignmentSelect(const IfcElement& c) : express::select(c) {}; - IfcStructuralActivityAssignmentSelect(const IfcStructuralItem& c) : express::Select(c) {}; + IfcStructuralActivityAssignmentSelect(const IfcStructuralItem& c) : express::select(c) {}; }; /// The style assignment select is a selection of two wasy of assigning presentation styles to an IfcStyledItem. @@ -3757,22 +3757,22 @@ public: /// NOTE The select type has been introduced to provide an upward compatible improvement for assigning styles to a styled items. /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcStyleAssignmentSelect : public express::Select { +class IFC_SCHEMA_API IfcStyleAssignmentSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPresentationStyle as() const { return express::Base::as(); } + // IfcPresentationStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPresentationStyleAssignment as() const { return express::Base::as(); } + // IfcPresentationStyleAssignment as() const { return express::base::as(); } - IfcStyleAssignmentSelect(const IfcPresentationStyle& c) : express::Select(c) {}; + IfcStyleAssignmentSelect(const IfcPresentationStyle& c) : express::select(c) {}; - IfcStyleAssignmentSelect(const IfcPresentationStyleAssignment& c) : express::Select(c) {}; + IfcStyleAssignmentSelect(const IfcPresentationStyleAssignment& c) : express::select(c) {}; }; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface @@ -3784,28 +3784,28 @@ public: /// IfcFaceBasedSurfaceModel (a connected face set, representing a faceted surface as an approximation of a non planar, non rectangular bounded surface) /// /// HISTORY  New select type in IFC2x3. -class IFC_SCHEMA_API IfcSurfaceOrFaceSurface : public express::Select { +class IFC_SCHEMA_API IfcSurfaceOrFaceSurface : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFaceBasedSurfaceModel as() const { return express::Base::as(); } + // IfcFaceBasedSurfaceModel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFaceSurface as() const { return express::Base::as(); } + // IfcFaceSurface as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurface as() const { return express::Base::as(); } + // IfcSurface as() const { return express::base::as(); } - IfcSurfaceOrFaceSurface(const IfcFaceBasedSurfaceModel& c) : express::Select(c) {}; + IfcSurfaceOrFaceSurface(const IfcFaceBasedSurfaceModel& c) : express::select(c) {}; - IfcSurfaceOrFaceSurface(const IfcFaceSurface& c) : express::Select(c) {}; + IfcSurfaceOrFaceSurface(const IfcFaceSurface& c) : express::select(c) {}; - IfcSurfaceOrFaceSurface(const IfcSurface& c) : express::Select(c) {}; + IfcSurfaceOrFaceSurface(const IfcSurface& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. @@ -3817,40 +3817,40 @@ public: /// NOTE: Corresponding ISO 10303 type: surface_style_element_select. Please refer to ISO/IS 10303-46:1994, p. 85 for the final definition of the formal standard. /// /// HISTORY: New Select type in IFC2x2. -class IFC_SCHEMA_API IfcSurfaceStyleElementSelect : public express::Select { +class IFC_SCHEMA_API IfcSurfaceStyleElementSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternallyDefinedSurfaceStyle as() const { return express::Base::as(); } + // IfcExternallyDefinedSurfaceStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleLighting as() const { return express::Base::as(); } + // IfcSurfaceStyleLighting as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleRefraction as() const { return express::Base::as(); } + // IfcSurfaceStyleRefraction as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleShading as() const { return express::Base::as(); } + // IfcSurfaceStyleShading as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleWithTextures as() const { return express::Base::as(); } + // IfcSurfaceStyleWithTextures as() const { return express::base::as(); } - IfcSurfaceStyleElementSelect(const IfcExternallyDefinedSurfaceStyle& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcExternallyDefinedSurfaceStyle& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleLighting& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleLighting& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleRefraction& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleRefraction& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleShading& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleShading& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleWithTextures& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleWithTextures& c) : express::select(c) {}; }; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. @@ -3860,82 +3860,82 @@ public: /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. -class IFC_SCHEMA_API IfcTextFontSelect : public express::Select { +class IFC_SCHEMA_API IfcTextFontSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternallyDefinedTextFont as() const { return express::Base::as(); } + // IfcExternallyDefinedTextFont as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedTextFont as() const { return express::Base::as(); } + // IfcPreDefinedTextFont as() const { return express::base::as(); } - IfcTextFontSelect(const IfcExternallyDefinedTextFont& c) : express::Select(c) {}; + IfcTextFontSelect(const IfcExternallyDefinedTextFont& c) : express::select(c) {}; - IfcTextFontSelect(const IfcPreDefinedTextFont& c) : express::Select(c) {}; + IfcTextFontSelect(const IfcPreDefinedTextFont& c) : express::select(c) {}; }; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 -class IFC_SCHEMA_API IfcTimeOrRatioSelect : public express::Select { +class IFC_SCHEMA_API IfcTimeOrRatioSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } - IfcTimeOrRatioSelect(const IfcDuration& c) : express::Select(c) {}; + IfcTimeOrRatioSelect(const IfcDuration& c) : express::select(c) {}; - IfcTimeOrRatioSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcTimeOrRatioSelect(const IfcRatioMeasure& c) : express::select(c) {}; }; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcTranslationalStiffnessSelect : public express::Select { +class IFC_SCHEMA_API IfcTranslationalStiffnessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } - IfcTranslationalStiffnessSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcTranslationalStiffnessSelect(const IfcBoolean& c) : express::select(c) {}; - IfcTranslationalStiffnessSelect(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcTranslationalStiffnessSelect(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcTransportElementTypeSelect : public express::Select { +class IFC_SCHEMA_API IfcTransportElementTypeSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTransportElementFixedTypeEnum as() const { return express::Base::as(); } + // IfcTransportElementFixedTypeEnum as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTransportElementNonFixedTypeEnum as() const { return express::Base::as(); } + // IfcTransportElementNonFixedTypeEnum as() const { return express::base::as(); } - IfcTransportElementTypeSelect(const IfcTransportElementFixedTypeEnum& c) : express::Select(c) {}; + IfcTransportElementTypeSelect(const IfcTransportElementFixedTypeEnum& c) : express::select(c) {}; - IfcTransportElementTypeSelect(const IfcTransportElementNonFixedTypeEnum& c) : express::Select(c) {}; + IfcTransportElementTypeSelect(const IfcTransportElementNonFixedTypeEnum& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. @@ -3943,22 +3943,22 @@ public: /// NOTE Corresponding ISO 10303 type: trimming_select, please refer to ISO/IS 10303-42:1994, p. 20 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.0 -class IFC_SCHEMA_API IfcTrimmingSelect : public express::Select { +class IFC_SCHEMA_API IfcTrimmingSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCartesianPoint as() const { return express::Base::as(); } + // IfcCartesianPoint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } - IfcTrimmingSelect(const IfcCartesianPoint& c) : express::Select(c) {}; + IfcTrimmingSelect(const IfcCartesianPoint& c) : express::select(c) {}; - IfcTrimmingSelect(const IfcParameterValue& c) : express::Select(c) {}; + IfcTrimmingSelect(const IfcParameterValue& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. @@ -3974,28 +3974,28 @@ public: /// IfcMonetaryUnit: A unit for defining currencies. /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcUnit : public express::Select { +class IFC_SCHEMA_API IfcUnit : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedUnit as() const { return express::Base::as(); } + // IfcDerivedUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryUnit as() const { return express::Base::as(); } + // IfcMonetaryUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNamedUnit as() const { return express::Base::as(); } + // IfcNamedUnit as() const { return express::base::as(); } - IfcUnit(const IfcDerivedUnit& c) : express::Select(c) {}; + IfcUnit(const IfcDerivedUnit& c) : express::select(c) {}; - IfcUnit(const IfcMonetaryUnit& c) : express::Select(c) {}; + IfcUnit(const IfcMonetaryUnit& c) : express::select(c) {}; - IfcUnit(const IfcNamedUnit& c) : express::Select(c) {}; + IfcUnit(const IfcNamedUnit& c) : express::select(c) {}; }; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, @@ -4008,676 +4008,676 @@ public: /// IfcDerivedMeasureValue A select type for derived measure types. /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcValue : public express::Select { +class IFC_SCHEMA_API IfcValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedMeasureValue as() const { return express::Base::as(); } + // IfcDerivedMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureValue as() const { return express::Base::as(); } + // IfcMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSimpleValue as() const { return express::Base::as(); } + // IfcSimpleValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } - IfcValue(const IfcDerivedMeasureValue& c) : express::Select(c) {}; + IfcValue(const IfcDerivedMeasureValue& c) : express::select(c) {}; - IfcValue(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcValue(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcValue(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcValue(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcValue(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcValue(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcValue(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcValue(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcValue(const IfcForceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcForceMeasure& c) : express::select(c) {}; - IfcValue(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcValue(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcValue(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcValue(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcValue(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcValue(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcValue(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcValue(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcValue(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcValue(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcValue(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcValue(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcValue(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcValue(const IfcPHMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPHMeasure& c) : express::select(c) {}; - IfcValue(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcValue(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPowerMeasure& c) : express::select(c) {}; - IfcValue(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPressureMeasure& c) : express::select(c) {}; - IfcValue(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcValue(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcValue(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcValue(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcValue(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcValue(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcValue(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcValue(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcValue(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcValue(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcValue(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcValue(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcValue(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcValue(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcValue(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcValue(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcValue(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcWarpingMomentMeasure& c) : express::select(c) {}; - IfcValue(const IfcMeasureValue& c) : express::Select(c) {}; + IfcValue(const IfcMeasureValue& c) : express::select(c) {}; - IfcValue(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAreaMeasure& c) : express::select(c) {}; - IfcValue(const IfcComplexNumber& c) : express::Select(c) {}; + IfcValue(const IfcComplexNumber& c) : express::select(c) {}; - IfcValue(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcValue(const IfcCountMeasure& c) : express::Select(c) {}; + IfcValue(const IfcCountMeasure& c) : express::select(c) {}; - IfcValue(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcValue(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcValue(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassMeasure& c) : express::select(c) {}; - IfcValue(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcValue(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcValue(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcValue(const IfcNumericMeasure& c) : express::select(c) {}; - IfcValue(const IfcParameterValue& c) : express::Select(c) {}; + IfcValue(const IfcParameterValue& c) : express::select(c) {}; - IfcValue(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcValue(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRatioMeasure& c) : express::select(c) {}; - IfcValue(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcValue(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTimeMeasure& c) : express::select(c) {}; - IfcValue(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcVolumeMeasure& c) : express::select(c) {}; - IfcValue(const IfcSimpleValue& c) : express::Select(c) {}; + IfcValue(const IfcSimpleValue& c) : express::select(c) {}; - IfcValue(const IfcBinary& c) : express::Select(c) {}; + IfcValue(const IfcBinary& c) : express::select(c) {}; - IfcValue(const IfcBoolean& c) : express::Select(c) {}; + IfcValue(const IfcBoolean& c) : express::select(c) {}; - IfcValue(const IfcDate& c) : express::Select(c) {}; + IfcValue(const IfcDate& c) : express::select(c) {}; - IfcValue(const IfcDateTime& c) : express::Select(c) {}; + IfcValue(const IfcDateTime& c) : express::select(c) {}; - IfcValue(const IfcDuration& c) : express::Select(c) {}; + IfcValue(const IfcDuration& c) : express::select(c) {}; - IfcValue(const IfcIdentifier& c) : express::Select(c) {}; + IfcValue(const IfcIdentifier& c) : express::select(c) {}; - IfcValue(const IfcInteger& c) : express::Select(c) {}; + IfcValue(const IfcInteger& c) : express::select(c) {}; - IfcValue(const IfcLabel& c) : express::Select(c) {}; + IfcValue(const IfcLabel& c) : express::select(c) {}; - IfcValue(const IfcLogical& c) : express::Select(c) {}; + IfcValue(const IfcLogical& c) : express::select(c) {}; - IfcValue(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcValue(const IfcPositiveInteger& c) : express::select(c) {}; - IfcValue(const IfcReal& c) : express::Select(c) {}; + IfcValue(const IfcReal& c) : express::select(c) {}; - IfcValue(const IfcText& c) : express::Select(c) {}; + IfcValue(const IfcText& c) : express::select(c) {}; - IfcValue(const IfcTime& c) : express::Select(c) {}; + IfcValue(const IfcTime& c) : express::select(c) {}; - IfcValue(const IfcTimeStamp& c) : express::Select(c) {}; + IfcValue(const IfcTimeStamp& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This type is used to @@ -4688,43 +4688,43 @@ public: /// definition of the formal standard. /// HISTORY New Type in IFC Release /// 1.5 -class IFC_SCHEMA_API IfcVectorOrDirection : public express::Select { +class IFC_SCHEMA_API IfcVectorOrDirection : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDirection as() const { return express::Base::as(); } + // IfcDirection as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVector as() const { return express::Base::as(); } + // IfcVector as() const { return express::base::as(); } - IfcVectorOrDirection(const IfcDirection& c) : express::Select(c) {}; + IfcVectorOrDirection(const IfcDirection& c) : express::select(c) {}; - IfcVectorOrDirection(const IfcVector& c) : express::Select(c) {}; + IfcVectorOrDirection(const IfcVector& c) : express::select(c) {}; }; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcWarpingStiffnessSelect : public express::Select { +class IFC_SCHEMA_API IfcWarpingStiffnessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } - IfcWarpingStiffnessSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcWarpingStiffnessSelect(const IfcBoolean& c) : express::select(c) {}; - IfcWarpingStiffnessSelect(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcWarpingStiffnessSelect(const IfcWarpingMomentMeasure& c) : express::select(c) {}; }; /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. @@ -4738,9 +4738,9 @@ public: /// VERBAL: Request was made verbally in person. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcActionRequestTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActionRequestTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcActionRequestType_EMAIL, IfcActionRequestType_FAX, IfcActionRequestType_PHONE, IfcActionRequestType_POST, IfcActionRequestType_VERBAL, IfcActionRequestType_USERDEFINED, IfcActionRequestType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4756,9 +4756,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcActionSourceTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActionSourceTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4776,9 +4776,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcActionTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActionTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcActionType_PERMANENT_G, IfcActionType_VARIABLE_Q, IfcActionType_EXTRAORDINARY_A, IfcActionType_USERDEFINED, IfcActionType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4805,9 +4805,9 @@ public: /// /// See property set of actuator common attributes for specification of /// properties for hand operated actuators. -class IFC_SCHEMA_API IfcActuatorTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActuatorTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcActuatorType_ELECTRICACTUATOR, IfcActuatorType_HANDOPERATEDACTUATOR, IfcActuatorType_HYDRAULICACTUATOR, IfcActuatorType_PNEUMATICACTUATOR, IfcActuatorType_THERMOSTATICACTUATOR, IfcActuatorType_USERDEFINED, IfcActuatorType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4829,9 +4829,9 @@ public: /// HOME A home address. /// DISTRIBUTIONPOINT A postal distribution point address. /// USERDEFINED A user defined address type to be provided. -class IFC_SCHEMA_API IfcAddressTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAddressTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAddressType_OFFICE, IfcAddressType_SITE, IfcAddressType_HOME, IfcAddressType_DISTRIBUTIONPOINT, IfcAddressType_USERDEFINED} Value; static const char* ToString(Value v); @@ -4853,9 +4853,9 @@ public: /// NOTDEFINED: Undefined terminal box. /// /// HISTORY: New enumeration in IFC R2.0 -class IFC_SCHEMA_API IfcAirTerminalBoxTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAirTerminalBoxTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAirTerminalBoxType_CONSTANTFLOW, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREDEPENDANT, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREINDEPENDANT, IfcAirTerminalBoxType_USERDEFINED, IfcAirTerminalBoxType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4879,9 +4879,9 @@ public: /// NOTE: Architectural louvres within doors or windows are defined by IfcPermeableCoveringProperties. /// /// HISTORY: New enumeration in IFC R2x2. Modified in IFC R2x4 to add LOUVRE and remove EYEBALL, IRIS, LINEARGRILLE, LINEARDIFFUSER -class IFC_SCHEMA_API IfcAirTerminalTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAirTerminalTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAirTerminalType_DIFFUSER, IfcAirTerminalType_GRILLE, IfcAirTerminalType_LOUVRE, IfcAirTerminalType_REGISTER, IfcAirTerminalType_USERDEFINED, IfcAirTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4908,9 +4908,9 @@ public: /// NOTDEFINED: Undefined air to air heat recovery type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcAirToAirHeatRecoveryTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAirToAirHeatRecoveryTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4935,9 +4935,9 @@ public: /// WHISTLE: An audible alarm. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcAlarmTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAlarmTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4949,9 +4949,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcAlignmentCantSegmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAlignmentCantSegmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAlignmentCantSegmentType_CONSTANTCANT, IfcAlignmentCantSegmentType_LINEARTRANSITION, IfcAlignmentCantSegmentType_BIQUADRATICPARABOLA, IfcAlignmentCantSegmentType_BLOSSCURVE, IfcAlignmentCantSegmentType_COSINECURVE, IfcAlignmentCantSegmentType_SINECURVE, IfcAlignmentCantSegmentType_VIENNESEBEND} Value; static const char* ToString(Value v); @@ -4963,9 +4963,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcAlignmentHorizontalSegmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAlignmentHorizontalSegmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4977,9 +4977,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcAlignmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAlignmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAlignmentType_USERDEFINED, IfcAlignmentType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4991,9 +4991,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcAlignmentVerticalSegmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAlignmentVerticalSegmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAlignmentVerticalSegmentType_CONSTANTGRADIENT, IfcAlignmentVerticalSegmentType_CIRCULARARC, IfcAlignmentVerticalSegmentType_PARABOLICARC, IfcAlignmentVerticalSegmentType_CLOTHOID} Value; static const char* ToString(Value v); @@ -5010,9 +5010,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcAnalysisModelTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAnalysisModelTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5030,9 +5030,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcAnalysisTheoryTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAnalysisTheoryTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5044,9 +5044,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcAnnotationTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAnnotationTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5069,9 +5069,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcArithmeticOperatorEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcArithmeticOperatorEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcArithmeticOperator_ADD, IfcArithmeticOperator_DIVIDE, IfcArithmeticOperator_MULTIPLY, IfcArithmeticOperator_SUBTRACT} Value; static const char* ToString(Value v); @@ -5094,9 +5094,9 @@ public: /// SITE - this assembly is assembled at site /// /// FACTORY - this assembly is assembled in a factory -class IFC_SCHEMA_API IfcAssemblyPlaceEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAssemblyPlaceEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAssemblyPlace_SITE, IfcAssemblyPlace_FACTORY, IfcAssemblyPlace_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5121,9 +5121,9 @@ public: /// SWITCHER: A device that receives audio and/or video signals, switches sources, and transmits signals to downstream devices. /// TELEPHONE: A telecommunications device that is used to transmit and receive sound, and optionally video. /// TUNER: An electronic receiver that detects, demodulates, and amplifies transmitted signals. -class IFC_SCHEMA_API IfcAudioVisualApplianceTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAudioVisualApplianceTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5148,9 +5148,9 @@ public: /// NOTE Corresponding ISO 10303 type: b_spline_curve_form. Please refer to ISO/IS 10303-42:1994, p. 15 for the final definition of the formal standard. /// /// HISTORY New type in Release IFC2x2. -class IFC_SCHEMA_API IfcBSplineCurveForm : public express::DeclaredType { +class IFC_SCHEMA_API IfcBSplineCurveForm : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5162,9 +5162,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBSplineSurfaceForm : public express::DeclaredType { +class IFC_SCHEMA_API IfcBSplineSurfaceForm : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5214,9 +5214,9 @@ public: /// IFC2x4 CHANGE The enumerators /// HOLLOWCORE and SPANDREL have been /// added. -class IFC_SCHEMA_API IfcBeamTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBeamTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5228,9 +5228,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBearingTypeDisplacementEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBearingTypeDisplacementEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBearingTypeDisplacement_FIXED_MOVEMENT, IfcBearingTypeDisplacement_GUIDED_LONGITUDINAL, IfcBearingTypeDisplacement_GUIDED_TRANSVERSAL, IfcBearingTypeDisplacement_FREE_MOVEMENT, IfcBearingTypeDisplacement_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5242,9 +5242,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBearingTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBearingTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5295,9 +5295,9 @@ public: /// /// NOTINCLUDEDIN /// 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_SCHEMA_API IfcBenchmarkEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBenchmarkEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5317,9 +5317,9 @@ public: /// NOTDEFINED: Undefined Boiler type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcBoilerTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBoilerTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBoilerType_WATER, IfcBoilerType_STEAM, IfcBoilerType_USERDEFINED, IfcBoilerType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5339,9 +5339,9 @@ public: /// NOTE Corresponding STEP type: boolean_operator, please refer to ISO/IS 10303-42:1994, p.167 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcBooleanOperator : public express::DeclaredType { +class IFC_SCHEMA_API IfcBooleanOperator : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBooleanOperator_UNION, IfcBooleanOperator_INTERSECTION, IfcBooleanOperator_DIFFERENCE} Value; static const char* ToString(Value v); @@ -5353,9 +5353,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBridgePartTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBridgePartTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5367,9 +5367,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBridgeTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBridgeTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5388,9 +5388,9 @@ public: /// NOTDEFINED: Undefined accessory /// /// HISTORY New Enumeration in IFC 2x4. -class IFC_SCHEMA_API IfcBuildingElementPartTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBuildingElementPartTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBuildingElementPartType_INSULATION, IfcBuildingElementPartType_PRECASTPANEL, IfcBuildingElementPartType_APRON, IfcBuildingElementPartType_ARMOURUNIT, IfcBuildingElementPartType_SAFETYCAGE, IfcBuildingElementPartType_USERDEFINED, IfcBuildingElementPartType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5412,9 +5412,9 @@ public: /// USERDEFINED /// /// NOTDEFINED -class IFC_SCHEMA_API IfcBuildingElementProxyTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBuildingElementProxyTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBuildingElementProxyType_COMPLEX, IfcBuildingElementProxyType_ELEMENT, IfcBuildingElementProxyType_PARTIAL, IfcBuildingElementProxyType_PROVISIONFORVOID, IfcBuildingElementProxyType_PROVISIONFORSPACE, IfcBuildingElementProxyType_USERDEFINED, IfcBuildingElementProxyType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5439,9 +5439,9 @@ public: /// natural sun light, /// TRANSPORT: System of all transport elements in a /// building that enables the transport of people or goods. -class IFC_SCHEMA_API IfcBuildingSystemTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBuildingSystemTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5453,9 +5453,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBuiltSystemTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBuiltSystemTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5473,9 +5473,9 @@ public: /// NOTDEFINED: Undefined burner type. /// /// HISTORY: New enumeration in IFC R2x4. -class IFC_SCHEMA_API IfcBurnerTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBurnerTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBurnerType_USERDEFINED, IfcBurnerType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5496,9 +5496,9 @@ public: /// TEE: A fitting at which a branch is taken from the main route of the cable carrier. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableCarrierFittingTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableCarrierFittingTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcCableCarrierFittingType_BEND, IfcCableCarrierFittingType_CROSS, IfcCableCarrierFittingType_REDUCER, IfcCableCarrierFittingType_TEE, IfcCableCarrierFittingType_USERDEFINED, IfcCableCarrierFittingType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5519,9 +5519,9 @@ public: /// CONDUITSEGMENT: An enclosed tubular carrier segment through which cables are pulled. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableCarrierSegmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableCarrierSegmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5543,9 +5543,9 @@ public: /// TRANSITION: A fitting that joins two cable segments of different connector types. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableFittingTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableFittingTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5568,9 +5568,9 @@ public: /// CORESEGMENT: A self contained element of a cable that comprises one or more conductors and sheathing.The core of one lead is normally single wired or multiwired which are intertwined. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableSegmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableSegmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5582,9 +5582,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcCaissonFoundationTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCaissonFoundationTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcCaissonFoundationType_WELL, IfcCaissonFoundationType_CAISSON, IfcCaissonFoundationType_USERDEFINED, IfcCaissonFoundationType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5606,9 +5606,9 @@ public: /// Consider Application A will create an IFC dataset that it wants to publish to others for modification and have the ability to subsequently merge these changes back into the original model. Before publication, it may want to set the IfcChangeActionEnum to NOCHANGE to establish a baseline so that other application changes can be easily identified. Application B then receives this IFC dataset and adds a new object and sets IfcChangeActionEnum to ADDED with Application B defined as the OwningApplication. Application B then modifies an existing object and (re)defines the LastModifiedDate to the time of the modification, LastModifyingUser to the IfcPersonAndOrganization making the change, and sets the LastModifyingApplication to Application B. When Application A receives this modified dataset, it can determine which objects have been added and modified by Application B and either merge or reject these changes as necessary. Consequently, the intent is that an application only modifies the value of IfcChangeActionEnum when it does something to the object, with the further intent that a model server is responsible for clearing the IfcChangeActionEnum back to NOCHANGE when it is ready to be republished. /// /// HISTORY: New enumeration in IFC R2.0. Modified in IFC2x4. -class IFC_SCHEMA_API IfcChangeActionEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcChangeActionEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcChangeAction_NOCHANGE, IfcChangeAction_MODIFIED, IfcChangeAction_ADDED, IfcChangeAction_DELETED, IfcChangeAction_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5629,9 +5629,9 @@ public: /// NOTDEFINED: Undefined chiller type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcChillerTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcChillerTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcChillerType_AIRCOOLED, IfcChillerType_WATERCOOLED, IfcChillerType_HEATRECOVERY, IfcChillerType_USERDEFINED, IfcChillerType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5652,9 +5652,9 @@ public: /// NOTE Currently there are no specific enumerators /// defined, the IfcChimneyTypeEnum has been added /// for future extensions. -class IFC_SCHEMA_API IfcChimneyTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcChimneyTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcChimneyType_USERDEFINED, IfcChimneyType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5687,9 +5687,9 @@ public: /// NOTDEFINED: Undefined coil type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcCoilTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCoilTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5714,9 +5714,9 @@ public: /// future releases of IFC. /// HISTORY New Enumeration /// in Release IFC2x Edition 2. -class IFC_SCHEMA_API IfcColumnTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcColumnTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcColumnType_COLUMN, IfcColumnType_PILASTER, IfcColumnType_PIERSTEM, IfcColumnType_PIERSTEM_SEGMENT, IfcColumnType_STANDCOLUMN, IfcColumnType_USERDEFINED, IfcColumnType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5743,9 +5743,9 @@ public: /// REPEATER: A repeater is an electronic device that receives a signal and retransmits it at a higher level and/or higher power, or onto the other side of an obstruction, so that the signal can cover longer distances without degradation. /// ROUTER: A router is a networking device whose software and hardware are usually tailored to the tasks of routing and forwarding information. For example, on the Internet, information is directed to various paths by routers. /// 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_SCHEMA_API IfcCommunicationsApplianceTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCommunicationsApplianceTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5764,9 +5764,9 @@ public: /// /// P_COMPLEX: the properties defined by this IfcComplexPropertyTemplate are of type IfcComplexProperty. /// Q_COMPLEX: the properties defined by this IfcComplexPropertyTemplate are of type IfcPhysicalComplexQuantity. -class IFC_SCHEMA_API IfcComplexPropertyTemplateTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcComplexPropertyTemplateTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcComplexPropertyTemplateType_P_COMPLEX, IfcComplexPropertyTemplateType_Q_COMPLEX} Value; static const char* ToString(Value v); @@ -5799,9 +5799,9 @@ public: /// NOTDEFINED: Undefined compressor type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcCompressorTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCompressorTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5825,9 +5825,9 @@ public: /// NOTDEFINED: Undefined condenser type. /// /// HISTORY: New enumeration in IFC 2x2. WATERCOOLED added in IFC 2x4. -class IFC_SCHEMA_API IfcCondenserTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCondenserTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5858,9 +5858,9 @@ public: /// RelatedConnectionType: AtStart /// /// Figure 65 — Connection types /*[3:3]*/ v); operator std::vector< int64_t > /*[3:3]*/() const; }; -class IFC_SCHEMA_API IfcAreaDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcAreaDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcAreaDensityMeasure initialize(double v); @@ -12052,18 +12052,18 @@ public: /// NOTE Corresponding ISO 10303 name: area_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcAreaMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcAreaMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcAreaMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcBinary : public express::DeclaredType { +class IFC_SCHEMA_API IfcBinary : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcBinary initialize(boost::dynamic_bitset<> v); @@ -12074,9 +12074,9 @@ public: /// Type: BOOLEAN /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcBoolean : public express::DeclaredType { +class IFC_SCHEMA_API IfcBoolean : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcBoolean initialize(bool v); @@ -12125,9 +12125,9 @@ public: /// Figure 284 illustrates an example extrusion shape with arbitrary profile (IfcArbitraryClosedProfileDef), aligned "mid-depth right" on the member axis. The line of sight follows the extrusion direction Z which points into the drawing plane of above illustration. Hence, "left" is in the positive X direction of the IfcProfileDef. "Top" is in the positive Y direction of the IfcProfileDef. /// /// Figure 284 — Cardinal point extrusion -class IFC_SCHEMA_API IfcCardinalPointReference : public express::DeclaredType { +class IFC_SCHEMA_API IfcCardinalPointReference : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCardinalPointReference initialize(int64_t v); @@ -12144,9 +12144,9 @@ public: /// Type: ARRAY [1:2] OF REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_SCHEMA_API IfcComplexNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcComplexNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcComplexNumber initialize(std::vector< double > /*[1:2]*/ v); @@ -12200,9 +12200,9 @@ public: ///      + FORMAT(ABS(c[4]), '##');  -- -50° 58' 33" 110400 /// /// 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_SCHEMA_API IfcCompoundPlaneAngleMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcCompoundPlaneAngleMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCompoundPlaneAngleMeasure initialize(std::vector< int64_t > /*[3:4]*/ v); @@ -12214,9 +12214,9 @@ public: /// NOTE Corresponding ISO 10303 name: context_dependent_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcContextDependentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcContextDependentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcContextDependentMeasure initialize(double v); @@ -12228,9 +12228,9 @@ public: /// NOTE Corresponding ISO 10303 name: count_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcCountMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcCountMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCountMeasure initialize(double v); @@ -12243,9 +12243,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcCurvatureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcCurvatureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCurvatureMeasure initialize(double v); @@ -12257,9 +12257,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcDate : public express::DeclaredType { +class IFC_SCHEMA_API IfcDate : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDate initialize(std::string v); @@ -12283,9 +12283,9 @@ public: /// otherwise they are forbidden. The year 0000 is prohibited. /// /// HISTORY: New type in IFC2x4 -class IFC_SCHEMA_API IfcDateTime : public express::DeclaredType { +class IFC_SCHEMA_API IfcDateTime : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDateTime initialize(std::string v); @@ -12303,9 +12303,9 @@ public: /// Release 1.5.1. /// IFC2x4 CHANGE Where rule /// ValidRange added. -class IFC_SCHEMA_API IfcDayInMonthNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcDayInMonthNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDayInMonthNumber initialize(int64_t v); @@ -12345,9 +12345,9 @@ public: /// Type: INTEGER /// HISTORY New type in /// IFC2x4. -class IFC_SCHEMA_API IfcDayInWeekNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcDayInWeekNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDayInWeekNumber initialize(int64_t v); @@ -12359,9 +12359,9 @@ public: /// NOTE Corresponding ISO 10303 name:descriptive_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDescriptiveMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcDescriptiveMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDescriptiveMeasure initialize(std::string v); @@ -12374,9 +12374,9 @@ public: /// NOTE Corresponding ISO 10303 type: dimension_count, please refer to ISO/IS 10303-42:1994, p. 14 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5 -class IFC_SCHEMA_API IfcDimensionCount : public express::DeclaredType { +class IFC_SCHEMA_API IfcDimensionCount : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDimensionCount initialize(int64_t v); @@ -12387,9 +12387,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcDoseEquivalentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcDoseEquivalentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDoseEquivalentMeasure initialize(double v); @@ -12400,9 +12400,9 @@ public: /// EXAMPLE: P0002-10-15T10:30:20 (duration of two years, 10 months, 15 days, 10 hours, 30 minutes and 20 seconds). /// /// HISTORY: New type in IFC2x4 -class IFC_SCHEMA_API IfcDuration : public express::DeclaredType { +class IFC_SCHEMA_API IfcDuration : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDuration initialize(std::string v); @@ -12414,9 +12414,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcDynamicViscosityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcDynamicViscosityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDynamicViscosityMeasure initialize(double v); @@ -12427,9 +12427,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricCapacitanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricCapacitanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricCapacitanceMeasure initialize(double v); @@ -12440,9 +12440,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricChargeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricChargeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricChargeMeasure initialize(double v); @@ -12453,9 +12453,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricConductanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricConductanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricConductanceMeasure initialize(double v); @@ -12468,9 +12468,9 @@ public: /// NOTE Corresponding ISO 10303 name: electric_current_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcElectricCurrentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricCurrentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricCurrentMeasure initialize(double v); @@ -12481,9 +12481,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricResistanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricResistanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricResistanceMeasure initialize(double v); @@ -12494,9 +12494,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcElectricVoltageMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricVoltageMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricVoltageMeasure initialize(double v); @@ -12507,9 +12507,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcEnergyMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcEnergyMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcEnergyMeasure initialize(double v); @@ -12529,9 +12529,9 @@ public: /// NOTE  Corresponding CSS1 definitions is font-style. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcFontStyle : public express::DeclaredType { +class IFC_SCHEMA_API IfcFontStyle : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFontStyle initialize(std::string v); @@ -12549,9 +12549,9 @@ public: /// NOTE  Corresponding CSS1 definitions is font-variant. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcFontVariant : public express::DeclaredType { +class IFC_SCHEMA_API IfcFontVariant : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFontVariant initialize(std::string v); @@ -12580,9 +12580,9 @@ public: /// NOTE  Corresponding CSS1 definitions is font-weight. /// /// HISTORY  New type in IFC2x2 Addendum 2. -class IFC_SCHEMA_API IfcFontWeight : public express::DeclaredType { +class IFC_SCHEMA_API IfcFontWeight : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFontWeight initialize(std::string v); @@ -12593,9 +12593,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcForceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcForceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcForceMeasure initialize(double v); @@ -12606,9 +12606,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcFrequencyMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcFrequencyMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFrequencyMeasure initialize(double v); @@ -12627,9 +12627,9 @@ public: /// Refer to the BuildingSMART website (www.buildingsmart-tech.org) for more information and sample encoding algorithms. /// /// HISTORY  New type in IFC R1.5.1. -class IFC_SCHEMA_API IfcGloballyUniqueId : public express::DeclaredType { +class IFC_SCHEMA_API IfcGloballyUniqueId : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcGloballyUniqueId initialize(std::string v); @@ -12640,9 +12640,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcHeatFluxDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcHeatFluxDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcHeatFluxDensityMeasure initialize(double v); @@ -12651,9 +12651,9 @@ public: /// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. /// /// HISTORY: This is new type in IFC2x2. -class IFC_SCHEMA_API IfcHeatingValueMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcHeatingValueMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcHeatingValueMeasure initialize(double v); @@ -12673,9 +12673,9 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// 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_SCHEMA_API IfcIdentifier : public express::DeclaredType { +class IFC_SCHEMA_API IfcIdentifier : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIdentifier initialize(std::string v); @@ -12686,9 +12686,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcIlluminanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIlluminanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIlluminanceMeasure initialize(double v); @@ -12699,9 +12699,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcInductanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcInductanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcInductanceMeasure initialize(double v); @@ -12714,9 +12714,9 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcInteger : public express::DeclaredType { +class IFC_SCHEMA_API IfcInteger : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcInteger initialize(int64_t v); @@ -12729,9 +12729,9 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcIntegerCountRateMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIntegerCountRateMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIntegerCountRateMeasure initialize(int64_t v); @@ -12740,9 +12740,9 @@ public: /// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcIonConcentrationMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIonConcentrationMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIonConcentrationMeasure initialize(double v); @@ -12753,9 +12753,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcIsothermalMoistureCapacityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIsothermalMoistureCapacityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIsothermalMoistureCapacityMeasure initialize(double v); @@ -12766,9 +12766,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcKinematicViscosityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcKinematicViscosityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcKinematicViscosityMeasure initialize(double v); @@ -12788,9 +12788,9 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// 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_SCHEMA_API IfcLabel : public express::DeclaredType { +class IFC_SCHEMA_API IfcLabel : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLabel initialize(std::string v); @@ -12821,18 +12821,18 @@ public: /// NOTE Corresponding ISO 10303 name: length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcLengthMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLengthMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLengthMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcLineIndex : public express::DeclaredType { +class IFC_SCHEMA_API IfcLineIndex : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLineIndex initialize(std::vector< int64_t > /*[2:?]*/ v); @@ -12843,9 +12843,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLinearForceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearForceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearForceMeasure initialize(double v); @@ -12856,9 +12856,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLinearMomentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearMomentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearMomentMeasure initialize(double v); @@ -12869,9 +12869,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLinearStiffnessMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearStiffnessMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearStiffnessMeasure initialize(double v); @@ -12882,9 +12882,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcLinearVelocityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearVelocityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearVelocityMeasure initialize(double v); @@ -12895,9 +12895,9 @@ public: /// Type: LOGICAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLogical : public express::DeclaredType { +class IFC_SCHEMA_API IfcLogical : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLogical initialize(boost::logic::tribool v); @@ -12908,9 +12908,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLuminousFluxMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLuminousFluxMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLuminousFluxMeasure initialize(double v); @@ -12923,9 +12923,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcLuminousIntensityDistributionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLuminousIntensityDistributionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLuminousIntensityDistributionMeasure initialize(double v); @@ -12938,9 +12938,9 @@ public: /// NOTE Corresponding ISO 10303 name: luminous_intensity_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcLuminousIntensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLuminousIntensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLuminousIntensityMeasure initialize(double v); @@ -12951,9 +12951,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMagneticFluxDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMagneticFluxDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMagneticFluxDensityMeasure initialize(double v); @@ -12964,9 +12964,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMagneticFluxMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMagneticFluxMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMagneticFluxMeasure initialize(double v); @@ -12977,9 +12977,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcMassDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassDensityMeasure initialize(double v); @@ -12990,9 +12990,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcMassFlowRateMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassFlowRateMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassFlowRateMeasure initialize(double v); @@ -13005,9 +13005,9 @@ public: /// NOTE Corresponding ISO 10303 name: mass_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcMassMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassMeasure initialize(double v); @@ -13020,9 +13020,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcMassPerLengthMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassPerLengthMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassPerLengthMeasure initialize(double v); @@ -13033,9 +13033,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcModulusOfElasticityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfElasticityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfElasticityMeasure initialize(double v); @@ -13046,9 +13046,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_SCHEMA_API IfcModulusOfLinearSubgradeReactionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfLinearSubgradeReactionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfLinearSubgradeReactionMeasure initialize(double v); @@ -13059,9 +13059,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfRotationalSubgradeReactionMeasure initialize(double v); @@ -13076,9 +13076,9 @@ public: /// Figure 290 illustrates elastic support of a planar member. /// /// Figure 290 — Modulus of subgrade reaction measure -class IFC_SCHEMA_API IfcModulusOfSubgradeReactionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfSubgradeReactionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfSubgradeReactionMeasure initialize(double v); @@ -13089,9 +13089,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMoistureDiffusivityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMoistureDiffusivityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMoistureDiffusivityMeasure initialize(double v); @@ -13102,9 +13102,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMolecularWeightMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMolecularWeightMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMolecularWeightMeasure initialize(double v); @@ -13115,9 +13115,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMomentOfInertiaMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMomentOfInertiaMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMomentOfInertiaMeasure initialize(double v); @@ -13127,9 +13127,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcMonetaryMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMonetaryMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMonetaryMeasure initialize(double v); @@ -13191,9 +13191,9 @@ public: /// standard. /// HISTORY New type in IFC /// Release 1.5.1. -class IFC_SCHEMA_API IfcMonthInYearNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcMonthInYearNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMonthInYearNumber initialize(int64_t v); @@ -13218,9 +13218,9 @@ public: /// NOTE Corresponding ISO 10303 name: numeric_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcNumericMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcNumericMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcNumericMeasure initialize(double v); @@ -13229,9 +13229,9 @@ public: /// 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. /// /// HISTORY: New type in IFC 2x2. -class IFC_SCHEMA_API IfcPHMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPHMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPHMeasure initialize(double v); @@ -13244,9 +13244,9 @@ public: /// NOTE Corresponding STEP name: parameter_value, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcParameterValue : public express::DeclaredType { +class IFC_SCHEMA_API IfcParameterValue : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcParameterValue initialize(double v); @@ -13257,9 +13257,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcPlanarForceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPlanarForceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPlanarForceMeasure initialize(double v); @@ -13276,9 +13276,9 @@ public: /// NOTE Corresponding ISO 10303 name: plane_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcPlaneAngleMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPlaneAngleMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPlaneAngleMeasure initialize(double v); @@ -13326,9 +13326,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcPowerMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPowerMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPowerMeasure initialize(double v); @@ -13343,9 +13343,9 @@ public: /// NOTE  Corresponding ISO 10303 name: presentable_text. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. /// /// HISTORY  New type in IFC2x2. -class IFC_SCHEMA_API IfcPresentableText : public express::DeclaredType { +class IFC_SCHEMA_API IfcPresentableText : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPresentableText initialize(std::string v); @@ -13356,18 +13356,18 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcPressureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPressureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPressureMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcPropertySetDefinitionSet : public express::DeclaredType { +class IFC_SCHEMA_API IfcPropertySetDefinitionSet : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPropertySetDefinitionSet initialize(std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > v); @@ -13378,9 +13378,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcRadioActivityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRadioActivityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRadioActivityMeasure initialize(double v); @@ -13396,9 +13396,9 @@ public: /// NOTE Corresponding STEP name: ratio_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcRatioMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRatioMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRatioMeasure initialize(double v); @@ -13411,9 +13411,9 @@ public: /// Type: REAL /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcReal : public express::DeclaredType { +class IFC_SCHEMA_API IfcReal : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcReal initialize(double v); @@ -13424,9 +13424,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcRotationalFrequencyMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRotationalFrequencyMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRotationalFrequencyMeasure initialize(double v); @@ -13438,9 +13438,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcRotationalMassMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRotationalMassMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRotationalMassMeasure initialize(double v); @@ -13451,9 +13451,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcRotationalStiffnessMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRotationalStiffnessMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRotationalStiffnessMeasure initialize(double v); @@ -13464,9 +13464,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_SCHEMA_API IfcSectionModulusMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSectionModulusMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSectionModulusMeasure initialize(double v); @@ -13477,9 +13477,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcSectionalAreaIntegralMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSectionalAreaIntegralMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSectionalAreaIntegralMeasure initialize(double v); @@ -13490,9 +13490,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcShearModulusMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcShearModulusMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcShearModulusMeasure initialize(double v); @@ -13505,18 +13505,18 @@ public: /// NOTE Corresponding ISO 10303 name: solid_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcSolidAngleMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSolidAngleMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSolidAngleMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcSoundPowerLevelMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPowerLevelMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPowerLevelMeasure initialize(double v); @@ -13527,18 +13527,18 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcSoundPowerMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPowerMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPowerMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcSoundPressureLevelMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPressureLevelMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPressureLevelMeasure initialize(double v); @@ -13549,9 +13549,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcSoundPressureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPressureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPressureMeasure initialize(double v); @@ -13562,9 +13562,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcSpecificHeatCapacityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSpecificHeatCapacityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSpecificHeatCapacityMeasure initialize(double v); @@ -13577,9 +13577,9 @@ public: /// NOTE: The datatype relates to the definition of specular_exponent in ISO 10303-46 entity surface_style_reflectance_ambient_diffuse_specular. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcSpecularExponent : public express::DeclaredType { +class IFC_SCHEMA_API IfcSpecularExponent : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSpecularExponent initialize(double v); @@ -13594,9 +13594,9 @@ public: /// NOTE: The datatype relates to the definition of "shiness" in VRML97, which is the reciprocate value to the specular roughness. /// /// HISTORY: New type in Release IFC2x2. -class IFC_SCHEMA_API IfcSpecularRoughness : public express::DeclaredType { +class IFC_SCHEMA_API IfcSpecularRoughness : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSpecularRoughness initialize(double v); @@ -13607,9 +13607,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcTemperatureGradientMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTemperatureGradientMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTemperatureGradientMeasure initialize(double v); @@ -13620,9 +13620,9 @@ public: /// Type: REAL /// /// HISTORY  New type in IFC2x4. -class IFC_SCHEMA_API IfcTemperatureRateOfChangeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTemperatureRateOfChangeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTemperatureRateOfChangeMeasure initialize(double v); @@ -13639,9 +13639,9 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// 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_SCHEMA_API IfcText : public express::DeclaredType { +class IFC_SCHEMA_API IfcText : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcText initialize(std::string v); @@ -13657,9 +13657,9 @@ public: /// NOTE  Corresponding CSS1 definition is text-align. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcTextAlignment : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextAlignment : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextAlignment initialize(std::string v); @@ -13678,9 +13678,9 @@ public: /// NOTE  Corresponding CSS1 definition is text-decoration. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcTextDecoration : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextDecoration : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextDecoration initialize(std::string v); @@ -13705,9 +13705,9 @@ public: /// HISTORY  New type in IFC2x2 Addendum 2. /// /// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. -class IFC_SCHEMA_API IfcTextFontName : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextFontName : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextFontName initialize(std::string v); @@ -13723,9 +13723,9 @@ public: /// NOTE  Corresponding CSS1 definition is text-transform. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcTextTransformation : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextTransformation : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextTransformation initialize(std::string v); @@ -13736,9 +13736,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcThermalAdmittanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalAdmittanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalAdmittanceMeasure initialize(double v); @@ -13749,9 +13749,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcThermalConductivityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalConductivityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalConductivityMeasure initialize(double v); @@ -13761,9 +13761,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcThermalExpansionCoefficientMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalExpansionCoefficientMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalExpansionCoefficientMeasure initialize(double v); @@ -13773,9 +13773,9 @@ public: /// Usually measured in m2 Kelvin/Watt. /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcThermalResistanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalResistanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalResistanceMeasure initialize(double v); @@ -13786,9 +13786,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcThermalTransmittanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalTransmittanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalTransmittanceMeasure initialize(double v); @@ -13801,9 +13801,9 @@ public: /// NOTE Corresponding ISO 10303 name: thermodynamic_temperature_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcThermodynamicTemperatureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermodynamicTemperatureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermodynamicTemperatureMeasure initialize(double v); @@ -13817,9 +13817,9 @@ public: /// 13:20:00-05:00. /// /// HISTORY: New type in IFC2x4 -class IFC_SCHEMA_API IfcTime : public express::DeclaredType { +class IFC_SCHEMA_API IfcTime : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTime initialize(std::string v); @@ -13832,9 +13832,9 @@ public: /// NOTE Corresponding ISO 10303 name: time_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcTimeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTimeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTimeMeasure initialize(double v); @@ -13844,9 +13844,9 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcTimeStamp : public express::DeclaredType { +class IFC_SCHEMA_API IfcTimeStamp : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTimeStamp initialize(int64_t v); @@ -13857,9 +13857,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcTorqueMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTorqueMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTorqueMeasure initialize(double v); @@ -13872,9 +13872,9 @@ public: /// designed to make it easy to map other namespaces (that share the properties of URNs) into URN-space. /// /// HISTORY New defined datatype in IFC 2x4. -class IFC_SCHEMA_API IfcURIReference : public express::DeclaredType { +class IFC_SCHEMA_API IfcURIReference : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcURIReference initialize(std::string v); @@ -13885,9 +13885,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcVaporPermeabilityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcVaporPermeabilityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcVaporPermeabilityMeasure initialize(double v); @@ -13900,9 +13900,9 @@ public: /// NOTE Corresponding ISO 10303 name: volume_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcVolumeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcVolumeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcVolumeMeasure initialize(double v); @@ -13913,9 +13913,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcVolumetricFlowRateMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcVolumetricFlowRateMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcVolumetricFlowRateMeasure initialize(double v); @@ -13926,9 +13926,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcWarpingConstantMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcWarpingConstantMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcWarpingConstantMeasure initialize(double v); @@ -13939,9 +13939,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcWarpingMomentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcWarpingMomentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcWarpingMomentMeasure initialize(double v); @@ -14019,9 +14019,9 @@ public: /// Corresponds to the following entity in ISO-10303-41: organization_role and person_role. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_SCHEMA_API IfcActorRole : public express::Entity { +class IFC_SCHEMA_API IfcActorRole : public express::entity { public: - using express::Entity::Entity; + 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. @@ -14046,9 +14046,9 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: address. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcAddress : public express::Entity { +class IFC_SCHEMA_API IfcAddress : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Identifies the logical location of the address. std::optional< ::Ifc4x3_rc2::IfcAddressTypeEnum::Value > Purpose() const; @@ -14069,9 +14069,9 @@ public: IfcAddress initialize(std::optional< ::Ifc4x3_rc2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose); }; -class IFC_SCHEMA_API IfcAlignmentParameterSegment : public express::Entity { +class IFC_SCHEMA_API IfcAlignmentParameterSegment : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::optional< std::string > StartTag() const; void setStartTag(const std::optional< std::string >& v); @@ -14107,9 +14107,9 @@ public: /// 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_SCHEMA_API IfcApplication : public express::Entity { +class IFC_SCHEMA_API IfcApplication : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Name of the application developer, being requested to be member of the IAI. ::Ifc4x3_rc2::IfcOrganization ApplicationDeveloper() const; @@ -14141,9 +14141,9 @@ public: /// An instance of IfcAppliedValue may have a unit basis asserted. This is defined as an IfcMeasureWithUnit that determines the extent of the unit value for application purposes. It is assumed that when this attribute is asserted, then the value given to IfcAppliedValue is that for unit quantity. This is not enforced within the IFC schema and thus needs to be controlled within an application. /// /// 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_SCHEMA_API IfcAppliedValue : public express::Entity { +class IFC_SCHEMA_API IfcAppliedValue : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A name or additional clarification given to a cost value. std::optional< std::string > Name() const; @@ -14189,9 +14189,9 @@ public: /// HISTORY New Entity in IFC Release 2.0 /// /// 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_SCHEMA_API IfcApproval : public express::Entity { +class IFC_SCHEMA_API IfcApproval : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A computer interpretable identifier by which the approval is known. std::optional< std::string > Identifier() const; @@ -14250,9 +14250,9 @@ public: /// HISTORY: New entity /// in Release IFC2x Edition /// 2. -class IFC_SCHEMA_API IfcBoundaryCondition : public express::Entity { +class IFC_SCHEMA_API IfcBoundaryCondition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optionally defines a name for this boundary condition. std::optional< std::string > Name() const; @@ -14394,9 +14394,9 @@ public: /// HISTORY  New entity in IFC Release 1.5. /// /// 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_SCHEMA_API IfcConnectionGeometry : public express::Entity { +class IFC_SCHEMA_API IfcConnectionGeometry : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; static const ifcopenshell::entity& Class(); @@ -14486,9 +14486,9 @@ public: /// A constraint must have a name applied through the IfcConstraint.Name attribute and optionally, a description through IfcConstraint.Description. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade or IfcConstraint.UserDefinedGrade whilst the source, creating actor and time at which the constraint is created may be optionally asserted through IfcConstraint.ConstraintSource, IfcConstraint.CreatingActor and IfcConstraint.CreationTime. /// /// 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_SCHEMA_API IfcConstraint : public express::Entity { +class IFC_SCHEMA_API IfcConstraint : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; @@ -14566,9 +14566,9 @@ public: /// and any map or other coordinate reference system. /// /// HISTORY  New entity in IFC2x4. -class IFC_SCHEMA_API IfcCoordinateOperation : public express::Entity { +class IFC_SCHEMA_API IfcCoordinateOperation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Source coordinate reference system for the operation. ::Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect SourceCRS() const; @@ -14602,9 +14602,9 @@ public: /// Specifications. /// /// HISTORY  New entity in IFC2x4. -class IFC_SCHEMA_API IfcCoordinateReferenceSystem : public express::Entity { +class IFC_SCHEMA_API IfcCoordinateReferenceSystem : public express::entity { public: - using express::Entity::Entity; + 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. @@ -14688,9 +14688,9 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDerivedUnit : public express::Entity { +class IFC_SCHEMA_API IfcDerivedUnit : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The group of units and their exponents that define the derived unit. std::vector< ::Ifc4x3_rc2::IfcDerivedUnitElement > Elements() const; @@ -14713,9 +14713,9 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit_element, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDerivedUnitElement : public express::Entity { +class IFC_SCHEMA_API IfcDerivedUnitElement : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The fixed quantity which is used as the mathematical factor. ::Ifc4x3_rc2::IfcNamedUnit Unit() const; @@ -14744,9 +14744,9 @@ public: /// for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDimensionalExponents : public express::Entity { +class IFC_SCHEMA_API IfcDimensionalExponents : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The power of the length base quantity. int64_t LengthExponent() const; @@ -14779,9 +14779,9 @@ public: /// all external information entities. /// /// HISTORY New entity in IFC2x4. -class IFC_SCHEMA_API IfcExternalInformation : public express::Entity { +class IFC_SCHEMA_API IfcExternalInformation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; static const ifcopenshell::entity& Class(); @@ -14796,9 +14796,9 @@ public: /// IfcExternalReference is an abstract supertype of all external reference entities. /// /// HISTORY New entity in IFC2x. -class IFC_SCHEMA_API IfcExternalReference : public express::Entity { +class IFC_SCHEMA_API IfcExternalReference : public express::entity { public: - using express::Entity::Entity; + 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. /// @@ -14893,9 +14893,9 @@ public: /// underlying AxisCurve supports this concept. /// /// Figure 242 — Grid axis -class IFC_SCHEMA_API IfcGridAxis : public express::Entity { +class IFC_SCHEMA_API IfcGridAxis : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The tag or name for this grid axis. std::optional< std::string > AxisTag() const; @@ -14917,9 +14917,9 @@ public: /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// /// HISTORY: New entity in IFC 2x2. -class IFC_SCHEMA_API IfcIrregularTimeSeriesValue : public express::Entity { +class IFC_SCHEMA_API IfcIrregularTimeSeriesValue : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The specification of the time point. std::string TimeStamp() const; @@ -15014,9 +15014,9 @@ public: /// For each pair of MainPlaneAngle and SecondaryPlaneAngle the LuminousIntensity is provided (the unit is given by the IfcUnitAssignment referring to the LuminousIntensityDistributionUnit, normally cd/klm). /// /// HISTORY: New entity in IFC2x2. -class IFC_SCHEMA_API IfcLightDistributionData : public express::Entity { +class IFC_SCHEMA_API IfcLightDistributionData : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; @@ -15036,9 +15036,9 @@ public: /// 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_SCHEMA_API IfcLightIntensityDistribution : public express::Entity { +class IFC_SCHEMA_API IfcLightIntensityDistribution : public express::entity { public: - using express::Entity::Entity; + 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; @@ -15099,9 +15099,9 @@ public: /// HISTORY New entity in IFC2x. /// /// IFC2x4 CHANGE The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. -class IFC_SCHEMA_API IfcMaterialClassificationRelationship : public express::Entity { +class IFC_SCHEMA_API IfcMaterialClassificationRelationship : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The material classifications identifying the type of material. std::vector< ::Ifc4x3_rc2::IfcClassificationSelect > MaterialClassifications() const; @@ -15137,9 +15137,9 @@ public: /// IfcRelAssociatesMaterial. /// /// HISTORY New entity in IFC2x4 -class IFC_SCHEMA_API IfcMaterialDefinition : public express::Entity { +class IFC_SCHEMA_API IfcMaterialDefinition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects @@ -15335,9 +15335,9 @@ public: /// /// IFC2x4 CHANGE The entity IfcMaterialList is deprecated and shall no longer /// be used. Use IfcMaterialConstituentSet instead. -class IFC_SCHEMA_API IfcMaterialList : public express::Entity { +class IFC_SCHEMA_API IfcMaterialList : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Materials used in a composition of substances. std::vector< ::Ifc4x3_rc2::IfcMaterial > Materials() const; @@ -15453,9 +15453,9 @@ public: /// IfcMaterialUsageDefinition to a subtype of /// IfcElementType, it shall only be assigned to an element /// occurrence. -class IFC_SCHEMA_API IfcMaterialUsageDefinition : public express::Entity { +class IFC_SCHEMA_API IfcMaterialUsageDefinition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial @@ -15472,9 +15472,9 @@ public: /// NOTE Corresponding ISO 10303 name: measure_with_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcMeasureWithUnit : public express::Entity { +class IFC_SCHEMA_API IfcMeasureWithUnit : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The value of the physical quantity when expressed in the specified units. ::Ifc4x3_rc2::IfcValue ValueComponent() const; @@ -15562,9 +15562,9 @@ public: /// HISTORY: New entity in IFC Release 2x. /// /// IFC2x4 CHANGE: Type of the attribute Currency changed. -class IFC_SCHEMA_API IfcMonetaryUnit : public express::Entity { +class IFC_SCHEMA_API IfcMonetaryUnit : public express::entity { public: - using express::Entity::Entity; + 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; @@ -15578,9 +15578,9 @@ public: /// NOTE Corresponding ISO 10303 name: named_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcNamedUnit : public express::Entity { +class IFC_SCHEMA_API IfcNamedUnit : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The dimensional exponents of the SI base units by which the named unit is defined. ::Ifc4x3_rc2::IfcDimensionalExponents Dimensions() const; @@ -15603,9 +15603,9 @@ public: /// In any case the object placement has to unambiguously define the object coordinate system as either two-dimensional axis placement (IfcAxis2Placement2D) or three-dimensional axis placement (IfcAxis2Placement3D). The axis placement may have to be calculated. /// /// HISTORY New entity in IFC Release 2x. -class IFC_SCHEMA_API IfcObjectPlacement : public express::Entity { +class IFC_SCHEMA_API IfcObjectPlacement : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; ::Ifc4x3_rc2::IfcObjectPlacement PlacementRelTo() const; void setPlacementRelTo(const ::Ifc4x3_rc2::IfcObjectPlacement& v); @@ -15650,9 +15650,9 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. -class IFC_SCHEMA_API IfcOrganization : public express::Entity { +class IFC_SCHEMA_API IfcOrganization : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Identification of the organization. std::optional< std::string > Identification() const; @@ -15687,9 +15687,9 @@ public: /// /// If LastModifiedDate is defined but ChangeAction is not asserted, then the state of ChangeAction is assumed to be UNDEFINED. /// If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate. -class IFC_SCHEMA_API IfcOwnerHistory : public express::Entity { +class IFC_SCHEMA_API IfcOwnerHistory : public express::entity { public: - using express::Entity::Entity; + 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; @@ -15728,9 +15728,9 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. -class IFC_SCHEMA_API IfcPerson : public express::Entity { +class IFC_SCHEMA_API IfcPerson : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Identification of the person. std::optional< std::string > Identification() const; @@ -15772,9 +15772,9 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: person_and_organization. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_SCHEMA_API IfcPersonAndOrganization : public express::Entity { +class IFC_SCHEMA_API IfcPersonAndOrganization : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The person who is related to the organization. ::Ifc4x3_rc2::IfcPerson ThePerson() const; @@ -15794,9 +15794,9 @@ public: /// The Name attribute defines the actual usage or kind of measure. The interpretation of the name label has to be established within the actual exchange context. In addition an informative text may be associated to each quantity by the Description attribute. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_SCHEMA_API IfcPhysicalQuantity : public express::Entity { +class IFC_SCHEMA_API IfcPhysicalQuantity : public express::entity { public: - using express::Entity::Entity; + 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; @@ -15869,9 +15869,9 @@ public: 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_SCHEMA_API IfcPresentationItem : public express::Entity { +class IFC_SCHEMA_API IfcPresentationItem : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; static const ifcopenshell::entity& Class(); @@ -15892,9 +15892,9 @@ public: /// Figure 305 illustrates assignment of items by shape representation or representation item. The set of AssignedItems can either include a whole shape representation, or individual geometric representation items. If both, the IfcShapeRepresentation has a layer assignment, and an individual geometric representation item in the set of IfcShapeRepresentation.Items, then the layer assignment of the IfcGeometricRepresentationItem overides the layer assignment of the IfcShapeRepresentation. /// /// Figure 305 — Presentation layer assignment -class IFC_SCHEMA_API IfcPresentationLayerAssignment : public express::Entity { +class IFC_SCHEMA_API IfcPresentationLayerAssignment : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Name of the layer. std::string Name() const; @@ -15954,9 +15954,9 @@ public: /// Each subtype of  IfcPresentationStyle can be assigned to IfcGeometricRepresentationItem's via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or one of its subtypes. /// /// HISTORY  New entity in IFC2x3. -class IFC_SCHEMA_API IfcPresentationStyle : public express::Entity { +class IFC_SCHEMA_API IfcPresentationStyle : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Name of the presentation style. std::optional< std::string > Name() const; @@ -15970,9 +15970,9 @@ public: /// NOTE Corresponding ISO 10303 name: presentation_style_assignment. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in Release IFC2x2. -class IFC_SCHEMA_API IfcPresentationStyleAssignment : public express::Entity { +class IFC_SCHEMA_API IfcPresentationStyleAssignment : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A set of presentation styles that are assigned to styled items. std::vector< ::Ifc4x3_rc2::IfcPresentationStyleSelect > Styles() const; @@ -15998,9 +15998,9 @@ public: /// IFC2x3 NOTE Users should not instantiate the entity from IFC2x Edition 3 onwards. /// /// IFC2x4 CHANGE  Entity made abstract. -class IFC_SCHEMA_API IfcProductRepresentation : public express::Entity { +class IFC_SCHEMA_API IfcProductRepresentation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The word or group of words by which the product representation is known. std::optional< std::string > Name() const; @@ -16185,9 +16185,9 @@ public: /// possible to directly instantiate IfcProfileDef and further specify /// the profile only by external reference or by profile properties. The latter /// are tracked by the inverse attribute HasProperties. -class IFC_SCHEMA_API IfcProfileDef : public express::Entity { +class IFC_SCHEMA_API IfcProfileDef : public express::entity { public: - using express::Entity::Entity; + 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; @@ -16249,9 +16249,9 @@ public: 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_SCHEMA_API IfcPropertyAbstraction : public express::Entity { +class IFC_SCHEMA_API IfcPropertyAbstraction : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects @@ -16453,9 +16453,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcRecurrencePattern : public express::Entity { +class IFC_SCHEMA_API IfcRecurrencePattern : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Defines the recurrence type that gives meaning to the used /// attributes and decides about possible attribute @@ -16499,9 +16499,9 @@ public: IfcRecurrencePattern initialize(::Ifc4x3_rc2::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int64_t > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v4_MonthComponent, std::optional< int64_t > v5_Position, std::optional< int64_t > v6_Interval, std::optional< int64_t > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_rc2::IfcTimePeriod > > v8_TimePeriods); }; -class IFC_SCHEMA_API IfcReference : public express::Entity { +class IFC_SCHEMA_API IfcReference : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::optional< std::string > TypeIdentifier() const; void setTypeIdentifier(const std::optional< std::string >& v); @@ -16563,9 +16563,9 @@ public: /// IFC2x4 CHANGE  Entity /// IfcRepresentation has been changed into an ABSTRACT /// supertype. -class IFC_SCHEMA_API IfcRepresentation : public express::Entity { +class IFC_SCHEMA_API IfcRepresentation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Definition of the representation context for which the different subtypes of representation are valid. ::Ifc4x3_rc2::IfcRepresentationContext ContextOfItems() const; @@ -16597,9 +16597,9 @@ public: /// /// IFC2x4 CHANGE Entity made abstract, had been deprecated from instantiation since /// IFC2x2. -class IFC_SCHEMA_API IfcRepresentationContext : public express::Entity { +class IFC_SCHEMA_API IfcRepresentationContext : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The optional identifier of the representation context as used within a project. std::optional< std::string > ContextIdentifier() const; @@ -16644,9 +16644,9 @@ public: /// HISTORY  New entity in IFC Release 2x. /// /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. -class IFC_SCHEMA_API IfcRepresentationItem : public express::Entity { +class IFC_SCHEMA_API IfcRepresentationItem : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcPresentationLayerAssignment > LayerAssignment() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems std::vector< IfcStyledItem > StyledByItem() const; // INVERSE IfcStyledItem::Item @@ -16665,9 +16665,9 @@ public: /// NOTE  The definition of a mapping which is used to specify a new representation item comprises a representation map and a mapped item entity. Without both entities, the mapping is not fully defined. Two entities are specified to allow the same source representation to be mapped into multiple new representations. /// /// HISTORY  New entity in IFC Release 2x. -class IFC_SCHEMA_API IfcRepresentationMap : public express::Entity { +class IFC_SCHEMA_API IfcRepresentationMap : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// An axis2 placement that defines the position about which the mapped /// representation is mapped. @@ -16685,9 +16685,9 @@ public: /// IfcResourceLevelRelationship is an abstract base class for relationships between resource-level entities. /// /// HISTORY New Entity in IFC 2x4 -class IFC_SCHEMA_API IfcResourceLevelRelationship : public express::Entity { +class IFC_SCHEMA_API IfcResourceLevelRelationship : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A name used to identify or qualify the relationship. std::optional< std::string > Name() const; @@ -16708,9 +16708,9 @@ public: /// HISTORY New entity in IFC Release 1.0 /// /// IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL. -class IFC_SCHEMA_API IfcRoot : public express::Entity { +class IFC_SCHEMA_API IfcRoot : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; @@ -16758,9 +16758,9 @@ public: /// IfcSchedulingTime is the abstract supertype of entities that capture time-related information of processes. /// /// HISTORY: New entity in IFC2x4. -class IFC_SCHEMA_API IfcSchedulingTime : public express::Entity { +class IFC_SCHEMA_API IfcSchedulingTime : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optional name for the time definition. std::optional< std::string > Name() const; @@ -16813,9 +16813,9 @@ public: /// IfcRepresentationMap's that are used by an /// IfcTypeProduct through the /// RepresentationMaps attribute. -class IFC_SCHEMA_API IfcShapeAspect : public express::Entity { +class IFC_SCHEMA_API IfcShapeAspect : public express::entity { public: - using express::Entity::Entity; + 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 @@ -17014,9 +17014,9 @@ public: /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. -class IFC_SCHEMA_API IfcStructuralConnectionCondition : public express::Entity { +class IFC_SCHEMA_API IfcStructuralConnectionCondition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optionally defines a name for this connection condition. std::optional< std::string > Name() const; @@ -17028,9 +17028,9 @@ public: /// 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_SCHEMA_API IfcStructuralLoad : public express::Entity { +class IFC_SCHEMA_API IfcStructuralLoad : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optionally defines a name for this load. std::optional< std::string > Name() const; @@ -17483,9 +17483,9 @@ public: /// HISTORY  New entity in IFC R1.5. /// /// IFC2x4 CHANGE  Columns attribute added. -class IFC_SCHEMA_API IfcTable : public express::Entity { +class IFC_SCHEMA_API IfcTable : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A unique name which is intended to describe the usage of the Table. std::optional< std::string > Name() const; @@ -17505,9 +17505,9 @@ public: /// The use of IfcTableColumn supercedes the IsHeading flag associated with IfcTableRow. /// /// HISTORY  New entity in IFC2x4. -class IFC_SCHEMA_API IfcTableColumn : public express::Entity { +class IFC_SCHEMA_API IfcTableColumn : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Table column identifier. std::optional< std::string > Identifier() const; @@ -17540,9 +17540,9 @@ public: /// Figure 338 — Table row use alternative /// /// HISTORY  New entity in IFC R1.5. -class IFC_SCHEMA_API IfcTableRow : public express::Entity { +class IFC_SCHEMA_API IfcTableRow : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The data value of the table cell.. std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > > RowCells() const; @@ -18036,9 +18036,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcTimePeriod : public express::Entity { +class IFC_SCHEMA_API IfcTimePeriod : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Start time of the time period. std::string StartTime() const; @@ -18055,9 +18055,9 @@ public: /// The modeling of buildings and their performance involves data that are generated and recorded over a period of time. Such data cover a large spectrum, from weather data to schedules of all kinds to status measurements to reporting to everything else that has a time related aspect. Their correct placement in time is essential for their proper understanding and use, and the IfcTimeSeries subtypes provide the appropriate data structures to accommodate these types of data. /// /// HISTORY: New entity in IFC 2x2. -class IFC_SCHEMA_API IfcTimeSeries : public express::Entity { +class IFC_SCHEMA_API IfcTimeSeries : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// An unique name for the time series. std::string Name() const; @@ -18097,9 +18097,9 @@ public: /// Figure 241 — Time series value /// /// HISTORY  New entity in IFC2x2. -class IFC_SCHEMA_API IfcTimeSeriesValue : public express::Entity { +class IFC_SCHEMA_API IfcTimeSeriesValue : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A list of time-series values. At least one value is required. std::vector< ::Ifc4x3_rc2::IfcValue > ListValues() const; @@ -18168,9 +18168,9 @@ public: /// NOTE  A project (IfcProject) has a unit assignment which establishes a set of units which will be used globally within the project, if not otherwise defined. Other objects may have local unit assignments if there is a requirement for them to make use of units which do not fall within the project unit assignment. /// /// HISTORY  New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcUnitAssignment : public express::Entity { +class IFC_SCHEMA_API IfcUnitAssignment : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Units to be included within a unit assignment. std::vector< ::Ifc4x3_rc2::IfcUnit > Units() const; @@ -18276,9 +18276,9 @@ public: /// OffsetDistances[1] is a negative length measure /// /// Figure 248 — Virtual grid intersection negative offset -class IFC_SCHEMA_API IfcVirtualGridIntersection : public express::Entity { +class IFC_SCHEMA_API IfcVirtualGridIntersection : public express::entity { public: - using express::Entity::Entity; + 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; diff --git a/src/ifcparse/schemas/Ifc4x3_rc3-definitions.h b/src/ifcparse/schemas/Ifc4x3_rc3-definitions.h index 6cd1bcef66..8cc863f844 100644 --- a/src/ifcparse/schemas/Ifc4x3_rc3-definitions.h +++ b/src/ifcparse/schemas/Ifc4x3_rc3-definitions.h @@ -19,7 +19,7 @@ /******************************************************************************** * * - * This file has been generated from IFC4x3_RC2.exp. Do not make modifications * + * This file has been generated from IFC4x3_RC3.exp. Do not make modifications * * but instead modify the python script that has been used to generate this. * * * ********************************************************************************/ @@ -287,7 +287,6 @@ #define SCHEMA_HAS_IfcOutletTypeEnum #define SCHEMA_HAS_IfcPHMeasure #define SCHEMA_HAS_IfcParameterValue -#define SCHEMA_HAS_IfcPavementTypeEnum #define SCHEMA_HAS_IfcPerformanceHistoryTypeEnum #define SCHEMA_HAS_IfcPermeableCoveringOperationEnum #define SCHEMA_HAS_IfcPermitTypeEnum @@ -533,8 +532,12 @@ #define SCHEMA_IfcAlignmentCantSegment_HAS_StartCantRight #define SCHEMA_IfcAlignmentCantSegment_HAS_EndCantRight #define SCHEMA_IfcAlignmentCantSegment_EndCantRight_IS_OPTIONAL +#define SCHEMA_IfcAlignmentCantSegment_HAS_SmoothingLength +#define SCHEMA_IfcAlignmentCantSegment_SmoothingLength_IS_OPTIONAL #define SCHEMA_IfcAlignmentCantSegment_HAS_PredefinedType #define SCHEMA_HAS_IfcAlignmentHorizontal +#define SCHEMA_IfcAlignmentHorizontal_HAS_StartDistAlong +#define SCHEMA_IfcAlignmentHorizontal_StartDistAlong_IS_OPTIONAL #define SCHEMA_HAS_IfcAlignmentHorizontalSegment #define SCHEMA_IfcAlignmentHorizontalSegment_HAS_StartPoint #define SCHEMA_IfcAlignmentHorizontalSegment_HAS_StartDirection @@ -1253,7 +1256,6 @@ #define SCHEMA_IfcDirectrixCurveSweptAreaSolid_StartParam_IS_OPTIONAL #define SCHEMA_IfcDirectrixCurveSweptAreaSolid_HAS_EndParam #define SCHEMA_IfcDirectrixCurveSweptAreaSolid_EndParam_IS_OPTIONAL -#define SCHEMA_HAS_IfcDirectrixDerivedReferenceSweptAreaSolid #define SCHEMA_HAS_IfcDirectrixDistanceSweptAreaSolid #define SCHEMA_IfcDirectrixDistanceSweptAreaSolid_HAS_Directrix #define SCHEMA_IfcDirectrixDistanceSweptAreaSolid_HAS_StartDistance @@ -2240,10 +2242,10 @@ #define SCHEMA_HAS_IfcPath #define SCHEMA_IfcPath_HAS_EdgeList #define SCHEMA_HAS_IfcPavement -#define SCHEMA_IfcPavement_HAS_PredefinedType -#define SCHEMA_IfcPavement_PredefinedType_IS_OPTIONAL +#define SCHEMA_IfcPavement_HAS_Flexible +#define SCHEMA_IfcPavement_Flexible_IS_OPTIONAL #define SCHEMA_HAS_IfcPavementType -#define SCHEMA_IfcPavementType_HAS_PredefinedType +#define SCHEMA_IfcPavementType_HAS_Flexible #define SCHEMA_HAS_IfcPcurve #define SCHEMA_IfcPcurve_HAS_BasisSurface #define SCHEMA_IfcPcurve_HAS_ReferenceCurve @@ -3734,8 +3736,6 @@ #define SCHEMA_IfcThirdOrderPolynomialSpiral_QuadraticTerm_IS_OPTIONAL #define SCHEMA_IfcThirdOrderPolynomialSpiral_HAS_LinearTerm #define SCHEMA_IfcThirdOrderPolynomialSpiral_LinearTerm_IS_OPTIONAL -#define SCHEMA_IfcThirdOrderPolynomialSpiral_HAS_ConstantTerm -#define SCHEMA_IfcThirdOrderPolynomialSpiral_ConstantTerm_IS_OPTIONAL #define SCHEMA_HAS_IfcTimePeriod #define SCHEMA_IfcTimePeriod_HAS_StartTime #define SCHEMA_IfcTimePeriod_HAS_EndTime diff --git a/src/ifcparse/schemas/Ifc4x3_rc3-schema.cpp b/src/ifcparse/schemas/Ifc4x3_rc3-schema.cpp index def8172cc8..8e89bc1b83 100644 --- a/src/ifcparse/schemas/Ifc4x3_rc3-schema.cpp +++ b/src/ifcparse/schemas/Ifc4x3_rc3-schema.cpp @@ -19,7 +19,7 @@ /******************************************************************************** * * - * This file has been generated from IFC4x3_RC2.exp. Do not make modifications * + * This file has been generated from IFC4x3_RC3.exp. Do not make modifications * * but instead modify the python script that has been used to generate this. * * * ********************************************************************************/ @@ -31,10 +31,10 @@ using namespace std::string_literals; using namespace ifcopenshell; -declaration* IFC4X3_RC3_types[1317] = {nullptr}; +declaration* IFC4X3_RC3_types[1315] = {nullptr}; ifcopenshell::schema_definition* IFC4X3_RC3_populate_schema() { -const std::string strings[] = {"IfcAbsorbedDoseMeasure"s,"IfcAccelerationMeasure"s,"IfcActionRequestTypeEnum"s,"EMAIL"s,"FAX"s,"PHONE"s,"POST"s,"VERBAL"s,"USERDEFINED"s,"NOTDEFINED"s,"IfcActionSourceTypeEnum"s,"DEAD_LOAD_G"s,"COMPLETION_G1"s,"LIVE_LOAD_Q"s,"SNOW_S"s,"WIND_W"s,"PRESTRESSING_P"s,"SETTLEMENT_U"s,"TEMPERATURE_T"s,"EARTHQUAKE_E"s,"FIRE"s,"IMPULSE"s,"IMPACT"s,"TRANSPORT"s,"ERECTION"s,"PROPPING"s,"SYSTEM_IMPERFECTION"s,"SHRINKAGE"s,"CREEP"s,"LACK_OF_FIT"s,"BUOYANCY"s,"ICE"s,"CURRENT"s,"WAVE"s,"RAIN"s,"BRAKES"s,"IfcActionTypeEnum"s,"PERMANENT_G"s,"VARIABLE_Q"s,"EXTRAORDINARY_A"s,"IfcActuatorTypeEnum"s,"ELECTRICACTUATOR"s,"HANDOPERATEDACTUATOR"s,"HYDRAULICACTUATOR"s,"PNEUMATICACTUATOR"s,"THERMOSTATICACTUATOR"s,"IfcAddressTypeEnum"s,"OFFICE"s,"SITE"s,"HOME"s,"DISTRIBUTIONPOINT"s,"IfcAirTerminalBoxTypeEnum"s,"CONSTANTFLOW"s,"VARIABLEFLOWPRESSUREDEPENDANT"s,"VARIABLEFLOWPRESSUREINDEPENDANT"s,"IfcAirTerminalTypeEnum"s,"DIFFUSER"s,"GRILLE"s,"LOUVRE"s,"REGISTER"s,"IfcAirToAirHeatRecoveryTypeEnum"s,"FIXEDPLATECOUNTERFLOWEXCHANGER"s,"FIXEDPLATECROSSFLOWEXCHANGER"s,"FIXEDPLATEPARALLELFLOWEXCHANGER"s,"ROTARYWHEEL"s,"RUNAROUNDCOILLOOP"s,"HEATPIPE"s,"TWINTOWERENTHALPYRECOVERYLOOPS"s,"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"s,"THERMOSIPHONCOILTYPEHEATEXCHANGERS"s,"IfcAlarmTypeEnum"s,"BELL"s,"BREAKGLASSBUTTON"s,"LIGHT"s,"MANUALPULLBOX"s,"SIREN"s,"WHISTLE"s,"RAILWAYCROCODILE"s,"RAILWAYDETONATOR"s,"IfcAlignmentCantSegmentTypeEnum"s,"CONSTANTCANT"s,"LINEARTRANSITION"s,"HELMERTCURVE"s,"BLOSSCURVE"s,"COSINECURVE"s,"SINECURVE"s,"VIENNESEBEND"s,"IfcAlignmentHorizontalSegmentTypeEnum"s,"LINE"s,"CIRCULARARC"s,"CLOTHOID"s,"CUBIC"s,"CUBICSPIRAL"s,"IfcAlignmentTypeEnum"s,"IfcAlignmentVerticalSegmentTypeEnum"s,"CONSTANTGRADIENT"s,"PARABOLICARC"s,"IfcAmountOfSubstanceMeasure"s,"IfcAnalysisModelTypeEnum"s,"IN_PLANE_LOADING_2D"s,"OUT_PLANE_LOADING_2D"s,"LOADING_3D"s,"IfcAnalysisTheoryTypeEnum"s,"FIRST_ORDER_THEORY"s,"SECOND_ORDER_THEORY"s,"THIRD_ORDER_THEORY"s,"FULL_NONLINEAR_THEORY"s,"IfcAngularVelocityMeasure"s,"IfcAnnotationTypeEnum"s,"ASSUMEDPOINT"s,"ASBUILTAREA"s,"ASBUILTLINE"s,"NON_PHYSICAL_SIGNAL"s,"ASSUMEDLINE"s,"WIDTHEVENT"s,"ASSUMEDAREA"s,"SUPERELEVATIONEVENT"s,"ASBUILTPOINT"s,"IfcAreaDensityMeasure"s,"IfcAreaMeasure"s,"IfcArithmeticOperatorEnum"s,"ADD"s,"DIVIDE"s,"MULTIPLY"s,"SUBTRACT"s,"IfcAssemblyPlaceEnum"s,"FACTORY"s,"IfcAudioVisualApplianceTypeEnum"s,"AMPLIFIER"s,"CAMERA"s,"DISPLAY"s,"MICROPHONE"s,"PLAYER"s,"PROJECTOR"s,"RECEIVER"s,"SPEAKER"s,"SWITCHER"s,"TELEPHONE"s,"TUNER"s,"RAILWAY_COMMUNICATION_TERMINAL"s,"IfcBSplineCurveForm"s,"POLYLINE_FORM"s,"CIRCULAR_ARC"s,"ELLIPTIC_ARC"s,"PARABOLIC_ARC"s,"HYPERBOLIC_ARC"s,"UNSPECIFIED"s,"IfcBSplineSurfaceForm"s,"PLANE_SURF"s,"CYLINDRICAL_SURF"s,"CONICAL_SURF"s,"SPHERICAL_SURF"s,"TOROIDAL_SURF"s,"SURF_OF_REVOLUTION"s,"RULED_SURF"s,"GENERALISED_CONE"s,"QUADRIC_SURF"s,"SURF_OF_LINEAR_EXTRUSION"s,"IfcBeamTypeEnum"s,"BEAM"s,"JOIST"s,"HOLLOWCORE"s,"LINTEL"s,"SPANDREL"s,"T_BEAM"s,"GIRDER_SEGMENT"s,"DIAPHRAGM"s,"PIERCAP"s,"HATSTONE"s,"CORNICE"s,"EDGEBEAM"s,"IfcBearingTypeDisplacementEnum"s,"FIXED_MOVEMENT"s,"GUIDED_LONGITUDINAL"s,"GUIDED_TRANSVERSAL"s,"FREE_MOVEMENT"s,"IfcBearingTypeEnum"s,"CYLINDRICAL"s,"SPHERICAL"s,"ELASTOMERIC"s,"POT"s,"GUIDE"s,"ROCKER"s,"ROLLER"s,"DISK"s,"IfcBenchmarkEnum"s,"GREATERTHAN"s,"GREATERTHANOREQUALTO"s,"LESSTHAN"s,"LESSTHANOREQUALTO"s,"EQUALTO"s,"NOTEQUALTO"s,"INCLUDES"s,"NOTINCLUDES"s,"INCLUDEDIN"s,"NOTINCLUDEDIN"s,"IfcBinary"s,"IfcBoilerTypeEnum"s,"WATER"s,"STEAM"s,"IfcBoolean"s,"IfcBooleanOperator"s,"UNION"s,"INTERSECTION"s,"DIFFERENCE"s,"IfcBridgePartTypeEnum"s,"ABUTMENT"s,"DECK"s,"DECK_SEGMENT"s,"FOUNDATION"s,"PIER"s,"PIER_SEGMENT"s,"PYLON"s,"SUBSTRUCTURE"s,"SUPERSTRUCTURE"s,"SURFACESTRUCTURE"s,"IfcBridgeTypeEnum"s,"ARCHED"s,"CABLE_STAYED"s,"CANTILEVER"s,"CULVERT"s,"FRAMEWORK"s,"GIRDER"s,"SUSPENSION"s,"TRUSS"s,"IfcBuildingElementPartTypeEnum"s,"INSULATION"s,"PRECASTPANEL"s,"APRON"s,"ARMOURUNIT"s,"SAFETYCAGE"s,"IfcBuildingElementProxyTypeEnum"s,"COMPLEX"s,"ELEMENT"s,"PARTIAL"s,"PROVISIONFORVOID"s,"PROVISIONFORSPACE"s,"IfcBuildingSystemTypeEnum"s,"FENESTRATION"s,"LOADBEARING"s,"OUTERSHELL"s,"SHADING"s,"REINFORCING"s,"PRESTRESSING"s,"EROSIONPREVENTION"s,"IfcBuiltSystemTypeEnum"s,"MOORING"s,"TRACKCIRCUIT"s,"MOORINGSYSTEM"s,"IfcBurnerTypeEnum"s,"IfcCableCarrierFittingTypeEnum"s,"BEND"s,"CROSS"s,"REDUCER"s,"TEE"s,"IfcCableCarrierSegmentTypeEnum"s,"CABLELADDERSEGMENT"s,"CABLETRAYSEGMENT"s,"CABLETRUNKINGSEGMENT"s,"CONDUITSEGMENT"s,"CABLEBRACKET"s,"CATENARYWIRE"s,"DROPPER"s,"IfcCableFittingTypeEnum"s,"CONNECTOR"s,"ENTRY"s,"EXIT"s,"JUNCTION"s,"TRANSITION"s,"FANOUT"s,"IfcCableSegmentTypeEnum"s,"BUSBARSEGMENT"s,"CABLESEGMENT"s,"CONDUCTORSEGMENT"s,"CORESEGMENT"s,"CONTACTWIRESEGMENT"s,"FIBERSEGMENT"s,"FIBERTUBE"s,"OPTICALCABLESEGMENT"s,"STITCHWIRE"s,"WIREPAIRSEGMENT"s,"IfcCaissonFoundationTypeEnum"s,"WELL"s,"CAISSON"s,"IfcCardinalPointReference"s,"IfcChangeActionEnum"s,"NOCHANGE"s,"MODIFIED"s,"ADDED"s,"DELETED"s,"IfcChillerTypeEnum"s,"AIRCOOLED"s,"WATERCOOLED"s,"HEATRECOVERY"s,"IfcChimneyTypeEnum"s,"IfcCoilTypeEnum"s,"DXCOOLINGCOIL"s,"ELECTRICHEATINGCOIL"s,"GASHEATINGCOIL"s,"HYDRONICCOIL"s,"STEAMHEATINGCOIL"s,"WATERCOOLINGCOIL"s,"WATERHEATINGCOIL"s,"IfcColumnTypeEnum"s,"COLUMN"s,"PILASTER"s,"PIERSTEM"s,"PIERSTEM_SEGMENT"s,"STANDCOLUMN"s,"IfcCommunicationsApplianceTypeEnum"s,"ANTENNA"s,"COMPUTER"s,"GATEWAY"s,"MODEM"s,"NETWORKAPPLIANCE"s,"NETWORKBRIDGE"s,"NETWORKHUB"s,"PRINTER"s,"REPEATER"s,"ROUTER"s,"SCANNER"s,"AUTOMATON"s,"INTELLIGENT_PERIPHERAL"s,"IP_NETWORK_EQUIPMENT"s,"OPTICAL_NETWORK_UNIT"s,"TELECOMMAND"s,"TELEPHONYEXCHANGE"s,"TRANSITIONCOMPONENT"s,"TRANSPONDER"s,"TRANSPORTEQUIPMENT"s,"IfcComplexNumber"s,"IfcComplexPropertyTemplateTypeEnum"s,"P_COMPLEX"s,"Q_COMPLEX"s,"IfcCompoundPlaneAngleMeasure"s,"IfcCompressorTypeEnum"s,"DYNAMIC"s,"RECIPROCATING"s,"ROTARY"s,"SCROLL"s,"TROCHOIDAL"s,"SINGLESTAGE"s,"BOOSTER"s,"OPENTYPE"s,"HERMETIC"s,"SEMIHERMETIC"s,"WELDEDSHELLHERMETIC"s,"ROLLINGPISTON"s,"ROTARYVANE"s,"SINGLESCREW"s,"TWINSCREW"s,"IfcCondenserTypeEnum"s,"EVAPORATIVECOOLED"s,"WATERCOOLEDBRAZEDPLATE"s,"WATERCOOLEDSHELLCOIL"s,"WATERCOOLEDSHELLTUBE"s,"WATERCOOLEDTUBEINTUBE"s,"IfcConnectionTypeEnum"s,"ATPATH"s,"ATSTART"s,"ATEND"s,"IfcConstraintEnum"s,"HARD"s,"SOFT"s,"ADVISORY"s,"IfcConstructionEquipmentResourceTypeEnum"s,"DEMOLISHING"s,"EARTHMOVING"s,"ERECTING"s,"HEATING"s,"LIGHTING"s,"PAVING"s,"PUMPING"s,"TRANSPORTING"s,"IfcConstructionMaterialResourceTypeEnum"s,"AGGREGATES"s,"CONCRETE"s,"DRYWALL"s,"FUEL"s,"GYPSUM"s,"MASONRY"s,"METAL"s,"PLASTIC"s,"WOOD"s,"IfcConstructionProductResourceTypeEnum"s,"ASSEMBLY"s,"FORMWORK"s,"IfcContextDependentMeasure"s,"IfcControllerTypeEnum"s,"FLOATING"s,"PROGRAMMABLE"s,"PROPORTIONAL"s,"MULTIPOSITION"s,"TWOPOSITION"s,"IfcConveyorSegmentTypeEnum"s,"CHUTECONVEYOR"s,"BELTCONVEYOR"s,"SCREWCONVEYOR"s,"BUCKETCONVEYOR"s,"IfcCooledBeamTypeEnum"s,"ACTIVE"s,"PASSIVE"s,"IfcCoolingTowerTypeEnum"s,"NATURALDRAFT"s,"MECHANICALINDUCEDDRAFT"s,"MECHANICALFORCEDDRAFT"s,"IfcCostItemTypeEnum"s,"IfcCostScheduleTypeEnum"s,"BUDGET"s,"COSTPLAN"s,"ESTIMATE"s,"TENDER"s,"PRICEDBILLOFQUANTITIES"s,"UNPRICEDBILLOFQUANTITIES"s,"SCHEDULEOFRATES"s,"IfcCountMeasure"s,"IfcCourseTypeEnum"s,"ARMOUR"s,"FILTER"s,"BALLASTBED"s,"CORE"s,"PAVEMENT"s,"PROTECTION"s,"IfcCoveringTypeEnum"s,"CEILING"s,"FLOORING"s,"CLADDING"s,"ROOFING"s,"MOLDING"s,"SKIRTINGBOARD"s,"MEMBRANE"s,"SLEEVING"s,"WRAPPING"s,"COPING"s,"IfcCrewResourceTypeEnum"s,"IfcCurtainWallTypeEnum"s,"IfcCurvatureMeasure"s,"IfcCurveInterpolationEnum"s,"LINEAR"s,"LOG_LINEAR"s,"LOG_LOG"s,"IfcDamperTypeEnum"s,"BACKDRAFTDAMPER"s,"BALANCINGDAMPER"s,"BLASTDAMPER"s,"CONTROLDAMPER"s,"FIREDAMPER"s,"FIRESMOKEDAMPER"s,"FUMEHOODEXHAUST"s,"GRAVITYDAMPER"s,"GRAVITYRELIEFDAMPER"s,"RELIEFDAMPER"s,"SMOKEDAMPER"s,"IfcDataOriginEnum"s,"MEASURED"s,"PREDICTED"s,"SIMULATED"s,"IfcDate"s,"IfcDateTime"s,"IfcDayInMonthNumber"s,"IfcDayInWeekNumber"s,"IfcDerivedUnitEnum"s,"ANGULARVELOCITYUNIT"s,"AREADENSITYUNIT"s,"COMPOUNDPLANEANGLEUNIT"s,"DYNAMICVISCOSITYUNIT"s,"HEATFLUXDENSITYUNIT"s,"INTEGERCOUNTRATEUNIT"s,"ISOTHERMALMOISTURECAPACITYUNIT"s,"KINEMATICVISCOSITYUNIT"s,"LINEARVELOCITYUNIT"s,"MASSDENSITYUNIT"s,"MASSFLOWRATEUNIT"s,"MOISTUREDIFFUSIVITYUNIT"s,"MOLECULARWEIGHTUNIT"s,"SPECIFICHEATCAPACITYUNIT"s,"THERMALADMITTANCEUNIT"s,"THERMALCONDUCTANCEUNIT"s,"THERMALRESISTANCEUNIT"s,"THERMALTRANSMITTANCEUNIT"s,"VAPORPERMEABILITYUNIT"s,"VOLUMETRICFLOWRATEUNIT"s,"ROTATIONALFREQUENCYUNIT"s,"TORQUEUNIT"s,"MOMENTOFINERTIAUNIT"s,"LINEARMOMENTUNIT"s,"LINEARFORCEUNIT"s,"PLANARFORCEUNIT"s,"MODULUSOFELASTICITYUNIT"s,"SHEARMODULUSUNIT"s,"LINEARSTIFFNESSUNIT"s,"ROTATIONALSTIFFNESSUNIT"s,"MODULUSOFSUBGRADEREACTIONUNIT"s,"ACCELERATIONUNIT"s,"CURVATUREUNIT"s,"HEATINGVALUEUNIT"s,"IONCONCENTRATIONUNIT"s,"LUMINOUSINTENSITYDISTRIBUTIONUNIT"s,"MASSPERLENGTHUNIT"s,"MODULUSOFLINEARSUBGRADEREACTIONUNIT"s,"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"s,"PHUNIT"s,"ROTATIONALMASSUNIT"s,"SECTIONAREAINTEGRALUNIT"s,"SECTIONMODULUSUNIT"s,"SOUNDPOWERLEVELUNIT"s,"SOUNDPOWERUNIT"s,"SOUNDPRESSURELEVELUNIT"s,"SOUNDPRESSUREUNIT"s,"TEMPERATUREGRADIENTUNIT"s,"TEMPERATURERATEOFCHANGEUNIT"s,"THERMALEXPANSIONCOEFFICIENTUNIT"s,"WARPINGCONSTANTUNIT"s,"WARPINGMOMENTUNIT"s,"IfcDescriptiveMeasure"s,"IfcDimensionCount"s,"IfcDirectionSenseEnum"s,"POSITIVE"s,"NEGATIVE"s,"IfcDiscreteAccessoryTypeEnum"s,"ANCHORPLATE"s,"BRACKET"s,"SHOE"s,"EXPANSION_JOINT_DEVICE"s,"CABLEARRANGER"s,"INSULATOR"s,"LOCK"s,"TENSIONINGEQUIPMENT"s,"RAILPAD"s,"SLIDINGCHAIR"s,"RAIL_LUBRICATION"s,"PANEL_STRENGTHENING"s,"RAILBRACE"s,"ELASTIC_CUSHION"s,"SOUNDABSORPTION"s,"POINTMACHINEMOUNTINGDEVICE"s,"POINT_MACHINE_LOCKING_DEVICE"s,"RAIL_MECHANICAL_EQUIPMENT"s,"BIRDPROTECTION"s,"IfcDistributionBoardTypeEnum"s,"SWITCHBOARD"s,"CONSUMERUNIT"s,"MOTORCONTROLCENTRE"s,"DISTRIBUTIONFRAME"s,"DISTRIBUTIONBOARD"s,"IfcDistributionChamberElementTypeEnum"s,"FORMEDDUCT"s,"INSPECTIONCHAMBER"s,"INSPECTIONPIT"s,"MANHOLE"s,"METERCHAMBER"s,"SUMP"s,"TRENCH"s,"VALVECHAMBER"s,"IfcDistributionPortTypeEnum"s,"CABLE"s,"CABLECARRIER"s,"DUCT"s,"PIPE"s,"WIRELESS"s,"IfcDistributionSystemEnum"s,"AIRCONDITIONING"s,"AUDIOVISUAL"s,"CHEMICAL"s,"CHILLEDWATER"s,"COMMUNICATION"s,"COMPRESSEDAIR"s,"CONDENSERWATER"s,"CONTROL"s,"CONVEYING"s,"DATA"s,"DISPOSAL"s,"DOMESTICCOLDWATER"s,"DOMESTICHOTWATER"s,"DRAINAGE"s,"EARTHING"s,"ELECTRICAL"s,"ELECTROACOUSTIC"s,"EXHAUST"s,"FIREPROTECTION"s,"GAS"s,"HAZARDOUS"s,"LIGHTNINGPROTECTION"s,"MUNICIPALSOLIDWASTE"s,"OIL"s,"OPERATIONAL"s,"POWERGENERATION"s,"RAINWATER"s,"REFRIGERATION"s,"SECURITY"s,"SEWAGE"s,"SIGNAL"s,"STORMWATER"s,"TV"s,"VACUUM"s,"VENT"s,"VENTILATION"s,"WASTEWATER"s,"WATERSUPPLY"s,"CATENARY_SYSTEM"s,"OVERHEAD_CONTACTLINE_SYSTEM"s,"RETURN_CIRCUIT"s,"IfcDocumentConfidentialityEnum"s,"PUBLIC"s,"RESTRICTED"s,"CONFIDENTIAL"s,"PERSONAL"s,"IfcDocumentStatusEnum"s,"DRAFT"s,"FINALDRAFT"s,"FINAL"s,"REVISION"s,"IfcDoorPanelOperationEnum"s,"SWINGING"s,"DOUBLE_ACTING"s,"SLIDING"s,"FOLDING"s,"REVOLVING"s,"ROLLINGUP"s,"FIXEDPANEL"s,"IfcDoorPanelPositionEnum"s,"LEFT"s,"MIDDLE"s,"RIGHT"s,"IfcDoorStyleConstructionEnum"s,"ALUMINIUM"s,"HIGH_GRADE_STEEL"s,"STEEL"s,"ALUMINIUM_WOOD"s,"ALUMINIUM_PLASTIC"s,"IfcDoorStyleOperationEnum"s,"SINGLE_SWING_LEFT"s,"SINGLE_SWING_RIGHT"s,"DOUBLE_DOOR_SINGLE_SWING"s,"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"s,"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"s,"DOUBLE_SWING_LEFT"s,"DOUBLE_SWING_RIGHT"s,"DOUBLE_DOOR_DOUBLE_SWING"s,"SLIDING_TO_LEFT"s,"SLIDING_TO_RIGHT"s,"DOUBLE_DOOR_SLIDING"s,"FOLDING_TO_LEFT"s,"FOLDING_TO_RIGHT"s,"DOUBLE_DOOR_FOLDING"s,"IfcDoorTypeEnum"s,"DOOR"s,"GATE"s,"TRAPDOOR"s,"BOOM_BARRIER"s,"TURNSTILE"s,"IfcDoorTypeOperationEnum"s,"DOUBLE_PANEL_SINGLE_SWING"s,"DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT"s,"DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT"s,"DOUBLE_PANEL_DOUBLE_SWING"s,"DOUBLE_PANEL_SLIDING"s,"DOUBLE_PANEL_FOLDING"s,"REVOLVING_HORIZONTAL"s,"SWING_FIXED_LEFT"s,"SWING_FIXED_RIGHT"s,"DOUBLE_PANEL_LIFTING_VERTICAL"s,"LIFTING_HORIZONTAL"s,"LIFTING_VERTICAL_LEFT"s,"LIFTING_VERTICAL_RIGHT"s,"REVOLVING_VERTICAL"s,"IfcDoseEquivalentMeasure"s,"IfcDuctFittingTypeEnum"s,"OBSTRUCTION"s,"IfcDuctSegmentTypeEnum"s,"RIGIDSEGMENT"s,"FLEXIBLESEGMENT"s,"IfcDuctSilencerTypeEnum"s,"FLATOVAL"s,"RECTANGULAR"s,"ROUND"s,"IfcDuration"s,"IfcDynamicViscosityMeasure"s,"IfcEarthworksCutTypeEnum"s,"DREDGING"s,"EXCAVATION"s,"OVEREXCAVATION"s,"TOPSOILREMOVAL"s,"STEPEXCAVATION"s,"PAVEMENTMILLING"s,"CUT"s,"BASE_EXCAVATION"s,"IfcEarthworksFillTypeEnum"s,"BACKFILL"s,"COUNTERWEIGHT"s,"SUBGRADE"s,"EMBANKMENT"s,"TRANSITIONSECTION"s,"SUBGRADEBED"s,"SLOPEFILL"s,"IfcElectricApplianceTypeEnum"s,"DISHWASHER"s,"ELECTRICCOOKER"s,"FREESTANDINGELECTRICHEATER"s,"FREESTANDINGFAN"s,"FREESTANDINGWATERHEATER"s,"FREESTANDINGWATERCOOLER"s,"FREEZER"s,"FRIDGE_FREEZER"s,"HANDDRYER"s,"KITCHENMACHINE"s,"MICROWAVE"s,"PHOTOCOPIER"s,"REFRIGERATOR"s,"TUMBLEDRYER"s,"VENDINGMACHINE"s,"WASHINGMACHINE"s,"IfcElectricCapacitanceMeasure"s,"IfcElectricChargeMeasure"s,"IfcElectricConductanceMeasure"s,"IfcElectricCurrentMeasure"s,"IfcElectricDistributionBoardTypeEnum"s,"IfcElectricFlowStorageDeviceTypeEnum"s,"BATTERY"s,"CAPACITORBANK"s,"HARMONICFILTER"s,"INDUCTORBANK"s,"UPS"s,"CAPACITOR"s,"COMPENSATOR"s,"INDUCTOR"s,"RECHARGER"s,"IfcElectricFlowTreatmentDeviceTypeEnum"s,"ELECTRONICFILTER"s,"IfcElectricGeneratorTypeEnum"s,"CHP"s,"ENGINEGENERATOR"s,"STANDALONE"s,"IfcElectricMotorTypeEnum"s,"DC"s,"INDUCTION"s,"POLYPHASE"s,"RELUCTANCESYNCHRONOUS"s,"SYNCHRONOUS"s,"IfcElectricResistanceMeasure"s,"IfcElectricTimeControlTypeEnum"s,"TIMECLOCK"s,"TIMEDELAY"s,"RELAY"s,"IfcElectricVoltageMeasure"s,"IfcElementAssemblyTypeEnum"s,"ACCESSORY_ASSEMBLY"s,"ARCH"s,"BEAM_GRID"s,"BRACED_FRAME"s,"REINFORCEMENT_UNIT"s,"RIGID_FRAME"s,"SLAB_FIELD"s,"CROSS_BRACING"s,"MAST"s,"SIGNALASSEMBLY"s,"GRID"s,"SHELTER"s,"SUPPORTINGASSEMBLY"s,"SUSPENSIONASSEMBLY"s,"TRACTION_SWITCHING_ASSEMBLY"s,"TRACKPANEL"s,"TURNOUTPANEL"s,"DILATATIONPANEL"s,"RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY"s,"ENTRANCEWORKS"s,"SUMPBUSTER"s,"TRAFFIC_CALMING_DEVICE"s,"IfcElementCompositionEnum"s,"IfcEnergyMeasure"s,"IfcEngineTypeEnum"s,"EXTERNALCOMBUSTION"s,"INTERNALCOMBUSTION"s,"IfcEvaporativeCoolerTypeEnum"s,"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"s,"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"s,"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"s,"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"s,"DIRECTEVAPORATIVEAIRWASHER"s,"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"s,"INDIRECTEVAPORATIVEWETCOIL"s,"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"s,"INDIRECTDIRECTCOMBINATION"s,"IfcEvaporatorTypeEnum"s,"DIRECTEXPANSION"s,"DIRECTEXPANSIONSHELLANDTUBE"s,"DIRECTEXPANSIONTUBEINTUBE"s,"DIRECTEXPANSIONBRAZEDPLATE"s,"FLOODEDSHELLANDTUBE"s,"SHELLANDCOIL"s,"IfcEventTriggerTypeEnum"s,"EVENTRULE"s,"EVENTMESSAGE"s,"EVENTTIME"s,"EVENTCOMPLEX"s,"IfcEventTypeEnum"s,"STARTEVENT"s,"ENDEVENT"s,"INTERMEDIATEEVENT"s,"IfcExternalSpatialElementTypeEnum"s,"EXTERNAL"s,"EXTERNAL_EARTH"s,"EXTERNAL_WATER"s,"EXTERNAL_FIRE"s,"IfcFacilityPartCommonTypeEnum"s,"SEGMENT"s,"ABOVEGROUND"s,"LEVELCROSSING"s,"BELOWGROUND"s,"TERMINAL"s,"IfcFacilityUsageEnum"s,"LATERAL"s,"REGION"s,"VERTICAL"s,"LONGITUDINAL"s,"IfcFanTypeEnum"s,"CENTRIFUGALFORWARDCURVED"s,"CENTRIFUGALRADIAL"s,"CENTRIFUGALBACKWARDINCLINEDCURVED"s,"CENTRIFUGALAIRFOIL"s,"TUBEAXIAL"s,"VANEAXIAL"s,"PROPELLORAXIAL"s,"IfcFastenerTypeEnum"s,"GLUE"s,"MORTAR"s,"WELD"s,"IfcFilterTypeEnum"s,"AIRPARTICLEFILTER"s,"COMPRESSEDAIRFILTER"s,"ODORFILTER"s,"OILFILTER"s,"STRAINER"s,"WATERFILTER"s,"IfcFireSuppressionTerminalTypeEnum"s,"BREECHINGINLET"s,"FIREHYDRANT"s,"HOSEREEL"s,"SPRINKLER"s,"SPRINKLERDEFLECTOR"s,"FIREMONITOR"s,"IfcFlowDirectionEnum"s,"SOURCE"s,"SINK"s,"SOURCEANDSINK"s,"IfcFlowInstrumentTypeEnum"s,"PRESSUREGAUGE"s,"THERMOMETER"s,"AMMETER"s,"FREQUENCYMETER"s,"POWERFACTORMETER"s,"PHASEANGLEMETER"s,"VOLTMETER_PEAK"s,"VOLTMETER_RMS"s,"COMBINED"s,"VOLTMETER"s,"IfcFlowMeterTypeEnum"s,"ENERGYMETER"s,"GASMETER"s,"OILMETER"s,"WATERMETER"s,"IfcFontStyle"s,"IfcFontVariant"s,"IfcFontWeight"s,"IfcFootingTypeEnum"s,"CAISSON_FOUNDATION"s,"FOOTING_BEAM"s,"PAD_FOOTING"s,"PILE_CAP"s,"STRIP_FOOTING"s,"IfcForceMeasure"s,"IfcFrequencyMeasure"s,"IfcFurnitureTypeEnum"s,"CHAIR"s,"TABLE"s,"DESK"s,"BED"s,"FILECABINET"s,"SHELF"s,"SOFA"s,"TECHNICALCABINET"s,"IfcGeographicElementTypeEnum"s,"TERRAIN"s,"SOIL_BORING_POINT"s,"IfcGeometricProjectionEnum"s,"GRAPH_VIEW"s,"SKETCH_VIEW"s,"MODEL_VIEW"s,"PLAN_VIEW"s,"REFLECTED_PLAN_VIEW"s,"SECTION_VIEW"s,"ELEVATION_VIEW"s,"IfcGlobalOrLocalEnum"s,"GLOBAL_COORDS"s,"LOCAL_COORDS"s,"IfcGloballyUniqueId"s,"IfcGridTypeEnum"s,"RADIAL"s,"TRIANGULAR"s,"IRREGULAR"s,"IfcHeatExchangerTypeEnum"s,"PLATE"s,"SHELLANDTUBE"s,"TURNOUTHEATING"s,"IfcHeatFluxDensityMeasure"s,"IfcHeatingValueMeasure"s,"IfcHumidifierTypeEnum"s,"STEAMINJECTION"s,"ADIABATICAIRWASHER"s,"ADIABATICPAN"s,"ADIABATICWETTEDELEMENT"s,"ADIABATICATOMIZING"s,"ADIABATICULTRASONIC"s,"ADIABATICRIGIDMEDIA"s,"ADIABATICCOMPRESSEDAIRNOZZLE"s,"ASSISTEDELECTRIC"s,"ASSISTEDNATURALGAS"s,"ASSISTEDPROPANE"s,"ASSISTEDBUTANE"s,"ASSISTEDSTEAM"s,"IfcIdentifier"s,"IfcIlluminanceMeasure"s,"IfcImpactProtectionDeviceTypeEnum"s,"CRASHCUSHION"s,"DAMPINGSYSTEM"s,"FENDER"s,"BUMPER"s,"IfcInductanceMeasure"s,"IfcInteger"s,"IfcIntegerCountRateMeasure"s,"IfcInterceptorTypeEnum"s,"CYCLONIC"s,"GREASE"s,"PETROL"s,"IfcInternalOrExternalEnum"s,"INTERNAL"s,"IfcInventoryTypeEnum"s,"ASSETINVENTORY"s,"SPACEINVENTORY"s,"FURNITUREINVENTORY"s,"IfcIonConcentrationMeasure"s,"IfcIsothermalMoistureCapacityMeasure"s,"IfcJunctionBoxTypeEnum"s,"POWER"s,"IfcKinematicViscosityMeasure"s,"IfcKnotType"s,"UNIFORM_KNOTS"s,"QUASI_UNIFORM_KNOTS"s,"PIECEWISE_BEZIER_KNOTS"s,"IfcLabel"s,"IfcLaborResourceTypeEnum"s,"ADMINISTRATION"s,"CARPENTRY"s,"CLEANING"s,"ELECTRIC"s,"FINISHING"s,"GENERAL"s,"HVAC"s,"LANDSCAPING"s,"PAINTING"s,"PLUMBING"s,"SITEGRADING"s,"STEELWORK"s,"SURVEYING"s,"IfcLampTypeEnum"s,"COMPACTFLUORESCENT"s,"FLUORESCENT"s,"HALOGEN"s,"HIGHPRESSUREMERCURY"s,"HIGHPRESSURESODIUM"s,"LED"s,"METALHALIDE"s,"OLED"s,"TUNGSTENFILAMENT"s,"IfcLanguageId"s,"IfcLayerSetDirectionEnum"s,"AXIS1"s,"AXIS2"s,"AXIS3"s,"IfcLengthMeasure"s,"IfcLightDistributionCurveEnum"s,"TYPE_A"s,"TYPE_B"s,"TYPE_C"s,"IfcLightEmissionSourceEnum"s,"LIGHTEMITTINGDIODE"s,"LOWPRESSURESODIUM"s,"LOWVOLTAGEHALOGEN"s,"MAINVOLTAGEHALOGEN"s,"IfcLightFixtureTypeEnum"s,"POINTSOURCE"s,"DIRECTIONSOURCE"s,"SECURITYLIGHTING"s,"IfcLinearForceMeasure"s,"IfcLinearMomentMeasure"s,"IfcLinearStiffnessMeasure"s,"IfcLinearVelocityMeasure"s,"IfcLiquidTerminalTypeEnum"s,"LOADINGARM"s,"IfcLoadGroupTypeEnum"s,"LOAD_GROUP"s,"LOAD_CASE"s,"LOAD_COMBINATION"s,"IfcLogical"s,"IfcLogicalOperatorEnum"s,"LOGICALAND"s,"LOGICALOR"s,"LOGICALXOR"s,"LOGICALNOTAND"s,"LOGICALNOTOR"s,"IfcLuminousFluxMeasure"s,"IfcLuminousIntensityDistributionMeasure"s,"IfcLuminousIntensityMeasure"s,"IfcMagneticFluxDensityMeasure"s,"IfcMagneticFluxMeasure"s,"IfcMarineFacilityTypeEnum"s,"CANAL"s,"WATERWAYSHIPLIFT"s,"REVETMENT"s,"LAUNCHRECOVERY"s,"MARINEDEFENCE"s,"HYDROLIFT"s,"SHIPYARD"s,"SHIPLIFT"s,"PORT"s,"QUAY"s,"FLOATINGDOCK"s,"NAVIGATIONALCHANNEL"s,"BREAKWATER"s,"DRYDOCK"s,"JETTY"s,"SHIPLOCK"s,"BARRIERBEACH"s,"SLIPWAY"s,"WATERWAY"s,"IfcMarinePartTypeEnum"s,"CREST"s,"MANUFACTURING"s,"LOWWATERLINE"s,"WATERFIELD"s,"CILL_LEVEL"s,"BERTHINGSTRUCTURE"s,"COPELEVEL"s,"CHAMBER"s,"STORAGE"s,"APPROACHCHANNEL"s,"VEHICLESERVICING"s,"SHIPTRANSFER"s,"GATEHEAD"s,"GUDINGSTRUCTURE"s,"BELOWWATERLINE"s,"WEATHERSIDE"s,"LANDFIELD"s,"LEEWARDSIDE"s,"ABOVEWATERLINE"s,"ANCHORAGE"s,"NAVIGATIONALAREA"s,"HIGHWATERLINE"s,"IfcMassDensityMeasure"s,"IfcMassFlowRateMeasure"s,"IfcMassMeasure"s,"IfcMassPerLengthMeasure"s,"IfcMechanicalFastenerTypeEnum"s,"ANCHORBOLT"s,"BOLT"s,"DOWEL"s,"NAIL"s,"NAILPLATE"s,"RIVET"s,"SCREW"s,"SHEARCONNECTOR"s,"STAPLE"s,"STUDSHEARCONNECTOR"s,"COUPLER"s,"RAILJOINT"s,"RAILFASTENING"s,"CHAIN"s,"ROPE"s,"IfcMedicalDeviceTypeEnum"s,"AIRSTATION"s,"FEEDAIRUNIT"s,"OXYGENGENERATOR"s,"OXYGENPLANT"s,"VACUUMSTATION"s,"IfcMemberTypeEnum"s,"BRACE"s,"CHORD"s,"COLLAR"s,"MEMBER"s,"MULLION"s,"PURLIN"s,"RAFTER"s,"STRINGER"s,"STRUT"s,"STUD"s,"STIFFENING_RIB"s,"ARCH_SEGMENT"s,"SUSPENSION_CABLE"s,"SUSPENDER"s,"STAY_CABLE"s,"STRUCTURALCABLE"s,"TIEBAR"s,"IfcMobileTelecommunicationsApplianceTypeEnum"s,"E_UTRAN_NODE_B"s,"REMOTE_RADIO_UNIT"s,"ACCESSPOINT"s,"BASETRANSCEIVERSTATION"s,"REMOTEUNIT"s,"BASEBANDUNIT"s,"MASTERUNIT"s,"IfcModulusOfElasticityMeasure"s,"IfcModulusOfLinearSubgradeReactionMeasure"s,"IfcModulusOfRotationalSubgradeReactionMeasure"s,"IfcModulusOfRotationalSubgradeReactionSelect"s,"IfcModulusOfSubgradeReactionMeasure"s,"IfcModulusOfSubgradeReactionSelect"s,"IfcModulusOfTranslationalSubgradeReactionSelect"s,"IfcMoistureDiffusivityMeasure"s,"IfcMolecularWeightMeasure"s,"IfcMomentOfInertiaMeasure"s,"IfcMonetaryMeasure"s,"IfcMonthInYearNumber"s,"IfcMooringDeviceTypeEnum"s,"LINETENSIONER"s,"MAGNETICDEVICE"s,"MOORINGHOOKS"s,"VACUUMDEVICE"s,"BOLLARD"s,"IfcMotorConnectionTypeEnum"s,"BELTDRIVE"s,"COUPLING"s,"DIRECTDRIVE"s,"IfcNavigationElementTypeEnum"s,"BEACON"s,"BUOY"s,"IfcNonNegativeLengthMeasure"s,"IfcNumericMeasure"s,"IfcObjectTypeEnum"s,"PRODUCT"s,"PROCESS"s,"RESOURCE"s,"ACTOR"s,"GROUP"s,"PROJECT"s,"IfcObjectiveEnum"s,"CODECOMPLIANCE"s,"CODEWAIVER"s,"DESIGNINTENT"s,"HEALTHANDSAFETY"s,"MERGECONFLICT"s,"MODELVIEW"s,"PARAMETER"s,"REQUIREMENT"s,"SPECIFICATION"s,"TRIGGERCONDITION"s,"IfcOccupantTypeEnum"s,"ASSIGNEE"s,"ASSIGNOR"s,"LESSEE"s,"LESSOR"s,"LETTINGAGENT"s,"OWNER"s,"TENANT"s,"IfcOpeningElementTypeEnum"s,"OPENING"s,"RECESS"s,"IfcOutletTypeEnum"s,"AUDIOVISUALOUTLET"s,"COMMUNICATIONSOUTLET"s,"POWEROUTLET"s,"DATAOUTLET"s,"TELEPHONEOUTLET"s,"IfcPHMeasure"s,"IfcParameterValue"s,"IfcPavementTypeEnum"s,"FLEXIBLE"s,"RIGID"s,"IfcPerformanceHistoryTypeEnum"s,"IfcPermeableCoveringOperationEnum"s,"GRILL"s,"LOUVER"s,"SCREEN"s,"IfcPermitTypeEnum"s,"ACCESS"s,"BUILDING"s,"WORK"s,"IfcPhysicalOrVirtualEnum"s,"PHYSICAL"s,"VIRTUAL"s,"IfcPileConstructionEnum"s,"CAST_IN_PLACE"s,"COMPOSITE"s,"PRECAST_CONCRETE"s,"PREFAB_STEEL"s,"IfcPileTypeEnum"s,"BORED"s,"DRIVEN"s,"JETGROUTING"s,"COHESION"s,"FRICTION"s,"SUPPORT"s,"IfcPipeFittingTypeEnum"s,"IfcPipeSegmentTypeEnum"s,"GUTTER"s,"SPOOL"s,"IfcPlanarForceMeasure"s,"IfcPlaneAngleMeasure"s,"IfcPlateTypeEnum"s,"CURTAIN_PANEL"s,"SHEET"s,"FLANGE_PLATE"s,"WEB_PLATE"s,"STIFFENER_PLATE"s,"GUSSET_PLATE"s,"COVER_PLATE"s,"SPLICE_PLATE"s,"BASE_PLATE"s,"IfcPositiveInteger"s,"IfcPositiveLengthMeasure"s,"IfcPositivePlaneAngleMeasure"s,"IfcPowerMeasure"s,"IfcPreferredSurfaceCurveRepresentation"s,"CURVE3D"s,"PCURVE_S1"s,"PCURVE_S2"s,"IfcPresentableText"s,"IfcPressureMeasure"s,"IfcProcedureTypeEnum"s,"ADVICE_CAUTION"s,"ADVICE_NOTE"s,"ADVICE_WARNING"s,"CALIBRATION"s,"DIAGNOSTIC"s,"SHUTDOWN"s,"STARTUP"s,"IfcProfileTypeEnum"s,"CURVE"s,"AREA"s,"IfcProjectOrderTypeEnum"s,"CHANGEORDER"s,"MAINTENANCEWORKORDER"s,"MOVEORDER"s,"PURCHASEORDER"s,"WORKORDER"s,"IfcProjectedOrTrueLengthEnum"s,"PROJECTED_LENGTH"s,"TRUE_LENGTH"s,"IfcProjectionElementTypeEnum"s,"BLISTER"s,"DEVIATOR"s,"IfcPropertySetTemplateTypeEnum"s,"PSET_TYPEDRIVENONLY"s,"PSET_TYPEDRIVENOVERRIDE"s,"PSET_OCCURRENCEDRIVEN"s,"PSET_PERFORMANCEDRIVEN"s,"QTO_TYPEDRIVENONLY"s,"QTO_TYPEDRIVENOVERRIDE"s,"QTO_OCCURRENCEDRIVEN"s,"IfcProtectiveDeviceTrippingUnitTypeEnum"s,"ELECTRONIC"s,"ELECTROMAGNETIC"s,"RESIDUALCURRENT"s,"THERMAL"s,"IfcProtectiveDeviceTypeEnum"s,"CIRCUITBREAKER"s,"EARTHLEAKAGECIRCUITBREAKER"s,"EARTHINGSWITCH"s,"FUSEDISCONNECTOR"s,"RESIDUALCURRENTCIRCUITBREAKER"s,"RESIDUALCURRENTSWITCH"s,"VARISTOR"s,"ANTI_ARCING_DEVICE"s,"SPARKGAP"s,"VOLTAGELIMITER"s,"IfcPumpTypeEnum"s,"CIRCULATOR"s,"ENDSUCTION"s,"SPLITCASE"s,"SUBMERSIBLEPUMP"s,"SUMPPUMP"s,"VERTICALINLINE"s,"VERTICALTURBINE"s,"IfcRadioActivityMeasure"s,"IfcRailTypeEnum"s,"RACKRAIL"s,"BLADE"s,"GUARDRAIL"s,"STOCKRAIL"s,"CHECKRAIL"s,"RAIL"s,"IfcRailingTypeEnum"s,"HANDRAIL"s,"BALUSTRADE"s,"FENCE"s,"IfcRailwayPartTypeEnum"s,"TRACKSTRUCTURE"s,"TRACKSTRUCTUREPART"s,"LINESIDESTRUCTUREPART"s,"DILATATIONSUPERSTRUCTURE"s,"PLAINTRACKSUPESTRUCTURE"s,"LINESIDESTRUCTURE"s,"TURNOUTSUPERSTRUCTURE"s,"IfcRailwayTypeEnum"s,"IfcRampFlightTypeEnum"s,"STRAIGHT"s,"SPIRAL"s,"IfcRampTypeEnum"s,"STRAIGHT_RUN_RAMP"s,"TWO_STRAIGHT_RUN_RAMP"s,"QUARTER_TURN_RAMP"s,"TWO_QUARTER_TURN_RAMP"s,"HALF_TURN_RAMP"s,"SPIRAL_RAMP"s,"IfcRatioMeasure"s,"IfcReal"s,"IfcRecurrenceTypeEnum"s,"DAILY"s,"WEEKLY"s,"MONTHLY_BY_DAY_OF_MONTH"s,"MONTHLY_BY_POSITION"s,"BY_DAY_COUNT"s,"BY_WEEKDAY_COUNT"s,"YEARLY_BY_DAY_OF_MONTH"s,"YEARLY_BY_POSITION"s,"IfcReferentTypeEnum"s,"KILOPOINT"s,"MILEPOINT"s,"STATION"s,"REFERENCEMARKER"s,"IfcReflectanceMethodEnum"s,"BLINN"s,"FLAT"s,"GLASS"s,"MATT"s,"MIRROR"s,"PHONG"s,"STRAUSS"s,"IfcReinforcedSoilTypeEnum"s,"SURCHARGEPRELOADED"s,"VERTICALLYDRAINED"s,"DYNAMICALLYCOMPACTED"s,"REPLACED"s,"ROLLERCOMPACTED"s,"GROUTED"s,"IfcReinforcingBarRoleEnum"s,"MAIN"s,"SHEAR"s,"LIGATURE"s,"PUNCHING"s,"EDGE"s,"RING"s,"ANCHORING"s,"IfcReinforcingBarSurfaceEnum"s,"PLAIN"s,"TEXTURED"s,"IfcReinforcingBarTypeEnum"s,"SPACEBAR"s,"IfcReinforcingMeshTypeEnum"s,"IfcRoadPartTypeEnum"s,"ROADSIDEPART"s,"BUS_STOP"s,"HARDSHOULDER"s,"PASSINGBAY"s,"ROADWAYPLATEAU"s,"ROADSIDE"s,"REFUGEISLAND"s,"TOLLPLAZA"s,"CENTRALRESERVE"s,"SIDEWALK"s,"PARKINGBAY"s,"RAILWAYCROSSING"s,"PEDESTRIAN_CROSSING"s,"SOFTSHOULDER"s,"BICYCLECROSSING"s,"CENTRALISLAND"s,"SHOULDER"s,"TRAFFICLANE"s,"ROADSEGMENT"s,"ROUNDABOUT"s,"LAYBY"s,"CARRIAGEWAY"s,"TRAFFICISLAND"s,"IfcRoadTypeEnum"s,"IfcRoleEnum"s,"SUPPLIER"s,"MANUFACTURER"s,"CONTRACTOR"s,"SUBCONTRACTOR"s,"ARCHITECT"s,"STRUCTURALENGINEER"s,"COSTENGINEER"s,"CLIENT"s,"BUILDINGOWNER"s,"BUILDINGOPERATOR"s,"MECHANICALENGINEER"s,"ELECTRICALENGINEER"s,"PROJECTMANAGER"s,"FACILITIESMANAGER"s,"CIVILENGINEER"s,"COMMISSIONINGENGINEER"s,"ENGINEER"s,"CONSULTANT"s,"CONSTRUCTIONMANAGER"s,"FIELDCONSTRUCTIONMANAGER"s,"RESELLER"s,"IfcRoofTypeEnum"s,"FLAT_ROOF"s,"SHED_ROOF"s,"GABLE_ROOF"s,"HIP_ROOF"s,"HIPPED_GABLE_ROOF"s,"GAMBREL_ROOF"s,"MANSARD_ROOF"s,"BARREL_ROOF"s,"RAINBOW_ROOF"s,"BUTTERFLY_ROOF"s,"PAVILION_ROOF"s,"DOME_ROOF"s,"FREEFORM"s,"IfcRotationalFrequencyMeasure"s,"IfcRotationalMassMeasure"s,"IfcRotationalStiffnessMeasure"s,"IfcRotationalStiffnessSelect"s,"IfcSIPrefix"s,"EXA"s,"PETA"s,"TERA"s,"GIGA"s,"MEGA"s,"KILO"s,"HECTO"s,"DECA"s,"DECI"s,"CENTI"s,"MILLI"s,"MICRO"s,"NANO"s,"PICO"s,"FEMTO"s,"ATTO"s,"IfcSIUnitName"s,"AMPERE"s,"BECQUEREL"s,"CANDELA"s,"COULOMB"s,"CUBIC_METRE"s,"DEGREE_CELSIUS"s,"FARAD"s,"GRAM"s,"GRAY"s,"HENRY"s,"HERTZ"s,"JOULE"s,"KELVIN"s,"LUMEN"s,"LUX"s,"METRE"s,"MOLE"s,"NEWTON"s,"OHM"s,"PASCAL"s,"RADIAN"s,"SECOND"s,"SIEMENS"s,"SIEVERT"s,"SQUARE_METRE"s,"STERADIAN"s,"TESLA"s,"VOLT"s,"WATT"s,"WEBER"s,"IfcSanitaryTerminalTypeEnum"s,"BATH"s,"BIDET"s,"CISTERN"s,"SHOWER"s,"SANITARYFOUNTAIN"s,"TOILETPAN"s,"URINAL"s,"WASHHANDBASIN"s,"WCSEAT"s,"IfcSectionModulusMeasure"s,"IfcSectionTypeEnum"s,"UNIFORM"s,"TAPERED"s,"IfcSectionalAreaIntegralMeasure"s,"IfcSensorTypeEnum"s,"COSENSOR"s,"CO2SENSOR"s,"CONDUCTANCESENSOR"s,"CONTACTSENSOR"s,"FIRESENSOR"s,"FLOWSENSOR"s,"FROSTSENSOR"s,"GASSENSOR"s,"HEATSENSOR"s,"HUMIDITYSENSOR"s,"IDENTIFIERSENSOR"s,"IONCONCENTRATIONSENSOR"s,"LEVELSENSOR"s,"LIGHTSENSOR"s,"MOISTURESENSOR"s,"MOVEMENTSENSOR"s,"PHSENSOR"s,"PRESSURESENSOR"s,"RADIATIONSENSOR"s,"RADIOACTIVITYSENSOR"s,"SMOKESENSOR"s,"SOUNDSENSOR"s,"TEMPERATURESENSOR"s,"WINDSENSOR"s,"EARTHQUAKESENSOR"s,"FOREIGNOBJECTDETECTIONSENSOR"s,"OBSTACLESENSOR"s,"RAINSENSOR"s,"SNOWDEPTHSENSOR"s,"TRAINSENSOR"s,"TURNOUTCLOSURESENSOR"s,"WHEELSENSOR"s,"IfcSequenceEnum"s,"START_START"s,"START_FINISH"s,"FINISH_START"s,"FINISH_FINISH"s,"IfcShadingDeviceTypeEnum"s,"JALOUSIE"s,"SHUTTER"s,"AWNING"s,"IfcShearModulusMeasure"s,"IfcSignTypeEnum"s,"MARKER"s,"PICTORAL"s,"IfcSignalTypeEnum"s,"VISUAL"s,"AUDIO"s,"MIXED"s,"IfcSimplePropertyTemplateTypeEnum"s,"P_SINGLEVALUE"s,"P_ENUMERATEDVALUE"s,"P_BOUNDEDVALUE"s,"P_LISTVALUE"s,"P_TABLEVALUE"s,"P_REFERENCEVALUE"s,"Q_LENGTH"s,"Q_AREA"s,"Q_VOLUME"s,"Q_COUNT"s,"Q_WEIGHT"s,"Q_TIME"s,"IfcSlabTypeEnum"s,"FLOOR"s,"ROOF"s,"LANDING"s,"BASESLAB"s,"APPROACH_SLAB"s,"WEARING"s,"TRACKSLAB"s,"IfcSolarDeviceTypeEnum"s,"SOLARCOLLECTOR"s,"SOLARPANEL"s,"IfcSolidAngleMeasure"s,"IfcSoundPowerLevelMeasure"s,"IfcSoundPowerMeasure"s,"IfcSoundPressureLevelMeasure"s,"IfcSoundPressureMeasure"s,"IfcSpaceHeaterTypeEnum"s,"CONVECTOR"s,"RADIATOR"s,"IfcSpaceTypeEnum"s,"SPACE"s,"PARKING"s,"GFA"s,"BERTH"s,"IfcSpatialZoneTypeEnum"s,"CONSTRUCTION"s,"FIRESAFETY"s,"OCCUPANCY"s,"RESERVATION"s,"IfcSpecificHeatCapacityMeasure"s,"IfcSpecularExponent"s,"IfcSpecularRoughness"s,"IfcStackTerminalTypeEnum"s,"BIRDCAGE"s,"COWL"s,"RAINWATERHOPPER"s,"IfcStairFlightTypeEnum"s,"WINDER"s,"CURVED"s,"IfcStairTypeEnum"s,"STRAIGHT_RUN_STAIR"s,"TWO_STRAIGHT_RUN_STAIR"s,"QUARTER_WINDING_STAIR"s,"QUARTER_TURN_STAIR"s,"HALF_WINDING_STAIR"s,"HALF_TURN_STAIR"s,"TWO_QUARTER_WINDING_STAIR"s,"TWO_QUARTER_TURN_STAIR"s,"THREE_QUARTER_WINDING_STAIR"s,"THREE_QUARTER_TURN_STAIR"s,"SPIRAL_STAIR"s,"DOUBLE_RETURN_STAIR"s,"CURVED_RUN_STAIR"s,"TWO_CURVED_RUN_STAIR"s,"LADDER"s,"IfcStateEnum"s,"READWRITE"s,"READONLY"s,"LOCKED"s,"READWRITELOCKED"s,"READONLYLOCKED"s,"IfcStructuralCurveActivityTypeEnum"s,"CONST"s,"POLYGONAL"s,"EQUIDISTANT"s,"SINUS"s,"PARABOLA"s,"DISCRETE"s,"IfcStructuralCurveMemberTypeEnum"s,"RIGID_JOINED_MEMBER"s,"PIN_JOINED_MEMBER"s,"TENSION_MEMBER"s,"COMPRESSION_MEMBER"s,"IfcStructuralSurfaceActivityTypeEnum"s,"BILINEAR"s,"ISOCONTOUR"s,"IfcStructuralSurfaceMemberTypeEnum"s,"BENDING_ELEMENT"s,"MEMBRANE_ELEMENT"s,"SHELL"s,"IfcSubContractResourceTypeEnum"s,"PURCHASE"s,"IfcSurfaceFeatureTypeEnum"s,"MARK"s,"TAG"s,"TREATMENT"s,"DEFECT"s,"HATCHMARKING"s,"LINEMARKING"s,"PAVEMENTSURFACEMARKING"s,"SYMBOLMARKING"s,"NONSKIDSURFACING"s,"RUMBLESTRIP"s,"TRANSVERSERUMBLESTRIP"s,"IfcSurfaceSide"s,"BOTH"s,"IfcSwitchingDeviceTypeEnum"s,"CONTACTOR"s,"DIMMERSWITCH"s,"EMERGENCYSTOP"s,"KEYPAD"s,"MOMENTARYSWITCH"s,"SELECTORSWITCH"s,"STARTER"s,"SWITCHDISCONNECTOR"s,"TOGGLESWITCH"s,"START_AND_STOP_EQUIPMENT"s,"IfcSystemFurnitureElementTypeEnum"s,"PANEL"s,"WORKSURFACE"s,"SUBRACK"s,"IfcTankTypeEnum"s,"BASIN"s,"BREAKPRESSURE"s,"EXPANSION"s,"FEEDANDEXPANSION"s,"PRESSUREVESSEL"s,"VESSEL"s,"OILRETENTIONTRAY"s,"IfcTaskDurationEnum"s,"ELAPSEDTIME"s,"WORKTIME"s,"IfcTaskTypeEnum"s,"ATTENDANCE"s,"DEMOLITION"s,"DISMANTLE"s,"INSTALLATION"s,"LOGISTIC"s,"MAINTENANCE"s,"MOVE"s,"OPERATION"s,"REMOVAL"s,"RENOVATION"s,"IfcTemperatureGradientMeasure"s,"IfcTemperatureRateOfChangeMeasure"s,"IfcTendonAnchorTypeEnum"s,"FIXED_END"s,"TENSIONING_END"s,"IfcTendonConduitTypeEnum"s,"GROUTING_DUCT"s,"TRUMPET"s,"DIABOLO"s,"IfcTendonTypeEnum"s,"BAR"s,"COATED"s,"STRAND"s,"WIRE"s,"IfcText"s,"IfcTextAlignment"s,"IfcTextDecoration"s,"IfcTextFontName"s,"IfcTextPath"s,"UP"s,"DOWN"s,"IfcTextTransformation"s,"IfcThermalAdmittanceMeasure"s,"IfcThermalConductivityMeasure"s,"IfcThermalExpansionCoefficientMeasure"s,"IfcThermalResistanceMeasure"s,"IfcThermalTransmittanceMeasure"s,"IfcThermodynamicTemperatureMeasure"s,"IfcTime"s,"IfcTimeMeasure"s,"IfcTimeOrRatioSelect"s,"IfcTimeSeriesDataTypeEnum"s,"CONTINUOUS"s,"DISCRETEBINARY"s,"PIECEWISEBINARY"s,"PIECEWISECONSTANT"s,"PIECEWISECONTINUOUS"s,"IfcTimeStamp"s,"IfcTorqueMeasure"s,"IfcTrackElementTypeEnum"s,"TRACKENDOFALIGNMENT"s,"BLOCKINGDEVICE"s,"VEHICLESTOP"s,"SLEEPER"s,"HALF_SET_OF_BLADES"s,"SPEEDREGULATOR"s,"DERAILER"s,"FROG"s,"IfcTransformerTypeEnum"s,"FREQUENCY"s,"INVERTER"s,"RECTIFIER"s,"VOLTAGE"s,"CHOPPER"s,"IfcTransitionCode"s,"DISCONTINUOUS"s,"CONTSAMEGRADIENT"s,"CONTSAMEGRADIENTSAMECURVATURE"s,"IfcTranslationalStiffnessSelect"s,"IfcTransportElementFixedTypeEnum"s,"ELEVATOR"s,"ESCALATOR"s,"MOVINGWALKWAY"s,"CRANEWAY"s,"LIFTINGGEAR"s,"HAULINGGEAR"s,"IfcTransportElementNonFixedTypeEnum"s,"VEHICLE"s,"VEHICLETRACKED"s,"ROLLINGSTOCK"s,"VEHICLEWHEELED"s,"VEHICLEAIR"s,"CARGO"s,"VEHICLEMARINE"s,"IfcTransportElementTypeSelect"s,"IfcTrimmingPreference"s,"CARTESIAN"s,"IfcTubeBundleTypeEnum"s,"FINNED"s,"IfcURIReference"s,"IfcUnitEnum"s,"ABSORBEDDOSEUNIT"s,"AMOUNTOFSUBSTANCEUNIT"s,"AREAUNIT"s,"DOSEEQUIVALENTUNIT"s,"ELECTRICCAPACITANCEUNIT"s,"ELECTRICCHARGEUNIT"s,"ELECTRICCONDUCTANCEUNIT"s,"ELECTRICCURRENTUNIT"s,"ELECTRICRESISTANCEUNIT"s,"ELECTRICVOLTAGEUNIT"s,"ENERGYUNIT"s,"FORCEUNIT"s,"FREQUENCYUNIT"s,"ILLUMINANCEUNIT"s,"INDUCTANCEUNIT"s,"LENGTHUNIT"s,"LUMINOUSFLUXUNIT"s,"LUMINOUSINTENSITYUNIT"s,"MAGNETICFLUXDENSITYUNIT"s,"MAGNETICFLUXUNIT"s,"MASSUNIT"s,"PLANEANGLEUNIT"s,"POWERUNIT"s,"PRESSUREUNIT"s,"RADIOACTIVITYUNIT"s,"SOLIDANGLEUNIT"s,"THERMODYNAMICTEMPERATUREUNIT"s,"TIMEUNIT"s,"VOLUMEUNIT"s,"IfcUnitaryControlElementTypeEnum"s,"ALARMPANEL"s,"CONTROLPANEL"s,"GASDETECTIONPANEL"s,"INDICATORPANEL"s,"MIMICPANEL"s,"HUMIDISTAT"s,"THERMOSTAT"s,"WEATHERSTATION"s,"IfcUnitaryEquipmentTypeEnum"s,"AIRHANDLER"s,"AIRCONDITIONINGUNIT"s,"DEHUMIDIFIER"s,"SPLITSYSTEM"s,"ROOFTOPUNIT"s,"IfcValveTypeEnum"s,"AIRRELEASE"s,"ANTIVACUUM"s,"CHANGEOVER"s,"CHECK"s,"COMMISSIONING"s,"DIVERTING"s,"DRAWOFFCOCK"s,"DOUBLECHECK"s,"DOUBLEREGULATING"s,"FAUCET"s,"FLUSHING"s,"GASCOCK"s,"GASTAP"s,"ISOLATING"s,"MIXING"s,"PRESSUREREDUCING"s,"PRESSURERELIEF"s,"REGULATING"s,"SAFETYCUTOFF"s,"STEAMTRAP"s,"STOPCOCK"s,"IfcVaporPermeabilityMeasure"s,"IfcVibrationDamperTypeEnum"s,"BENDING_YIELD"s,"SHEAR_YIELD"s,"AXIAL_YIELD"s,"VISCOUS"s,"RUBBER"s,"IfcVibrationIsolatorTypeEnum"s,"COMPRESSION"s,"SPRING"s,"BASE"s,"IfcVoidingFeatureTypeEnum"s,"CUTOUT"s,"NOTCH"s,"HOLE"s,"MITER"s,"CHAMFER"s,"IfcVolumeMeasure"s,"IfcVolumetricFlowRateMeasure"s,"IfcWallTypeEnum"s,"MOVABLE"s,"PARAPET"s,"PARTITIONING"s,"PLUMBINGWALL"s,"SOLIDWALL"s,"STANDARD"s,"ELEMENTEDWALL"s,"RETAININGWALL"s,"WAVEWALL"s,"IfcWarpingConstantMeasure"s,"IfcWarpingMomentMeasure"s,"IfcWarpingStiffnessSelect"s,"IfcWasteTerminalTypeEnum"s,"FLOORTRAP"s,"FLOORWASTE"s,"GULLYSUMP"s,"GULLYTRAP"s,"ROOFDRAIN"s,"WASTEDISPOSALUNIT"s,"WASTETRAP"s,"IfcWindowPanelOperationEnum"s,"SIDEHUNGRIGHTHAND"s,"SIDEHUNGLEFTHAND"s,"TILTANDTURNRIGHTHAND"s,"TILTANDTURNLEFTHAND"s,"TOPHUNG"s,"BOTTOMHUNG"s,"PIVOTHORIZONTAL"s,"PIVOTVERTICAL"s,"SLIDINGHORIZONTAL"s,"SLIDINGVERTICAL"s,"REMOVABLECASEMENT"s,"FIXEDCASEMENT"s,"OTHEROPERATION"s,"IfcWindowPanelPositionEnum"s,"BOTTOM"s,"TOP"s,"IfcWindowStyleConstructionEnum"s,"OTHER_CONSTRUCTION"s,"IfcWindowStyleOperationEnum"s,"SINGLE_PANEL"s,"DOUBLE_PANEL_VERTICAL"s,"DOUBLE_PANEL_HORIZONTAL"s,"TRIPLE_PANEL_VERTICAL"s,"TRIPLE_PANEL_BOTTOM"s,"TRIPLE_PANEL_TOP"s,"TRIPLE_PANEL_LEFT"s,"TRIPLE_PANEL_RIGHT"s,"TRIPLE_PANEL_HORIZONTAL"s,"IfcWindowTypeEnum"s,"WINDOW"s,"SKYLIGHT"s,"LIGHTDOME"s,"IfcWindowTypePartitioningEnum"s,"IfcWorkCalendarTypeEnum"s,"FIRSTSHIFT"s,"SECONDSHIFT"s,"THIRDSHIFT"s,"IfcWorkPlanTypeEnum"s,"ACTUAL"s,"BASELINE"s,"PLANNED"s,"IfcWorkScheduleTypeEnum"s,"IfcActorRole"s,"IfcAddress"s,"IfcAlignmentParameterSegment"s,"IfcAlignmentVerticalSegment"s,"IfcApplication"s,"IfcAppliedValue"s,"IfcApproval"s,"IfcBoundaryCondition"s,"IfcBoundaryEdgeCondition"s,"IfcBoundaryFaceCondition"s,"IfcBoundaryNodeCondition"s,"IfcBoundaryNodeConditionWarping"s,"IfcConnectionGeometry"s,"IfcConnectionPointGeometry"s,"IfcConnectionSurfaceGeometry"s,"IfcConnectionVolumeGeometry"s,"IfcConstraint"s,"IfcCoordinateOperation"s,"IfcCoordinateReferenceSystem"s,"IfcCostValue"s,"IfcDerivedUnit"s,"IfcDerivedUnitElement"s,"IfcDimensionalExponents"s,"IfcExternalInformation"s,"IfcExternalReference"s,"IfcExternallyDefinedHatchStyle"s,"IfcExternallyDefinedSurfaceStyle"s,"IfcExternallyDefinedTextFont"s,"IfcGridAxis"s,"IfcIrregularTimeSeriesValue"s,"IfcLibraryInformation"s,"IfcLibraryReference"s,"IfcLightDistributionData"s,"IfcLightIntensityDistribution"s,"IfcMapConversion"s,"IfcMaterialClassificationRelationship"s,"IfcMaterialDefinition"s,"IfcMaterialLayer"s,"IfcMaterialLayerSet"s,"IfcMaterialLayerWithOffsets"s,"IfcMaterialList"s,"IfcMaterialProfile"s,"IfcMaterialProfileSet"s,"IfcMaterialProfileWithOffsets"s,"IfcMaterialUsageDefinition"s,"IfcMeasureWithUnit"s,"IfcMetric"s,"IfcMonetaryUnit"s,"IfcNamedUnit"s,"IfcObjectPlacement"s,"IfcObjective"s,"IfcOrganization"s,"IfcOwnerHistory"s,"IfcPerson"s,"IfcPersonAndOrganization"s,"IfcPhysicalQuantity"s,"IfcPhysicalSimpleQuantity"s,"IfcPostalAddress"s,"IfcPresentationItem"s,"IfcPresentationLayerAssignment"s,"IfcPresentationLayerWithStyle"s,"IfcPresentationStyle"s,"IfcProductRepresentation"s,"IfcProfileDef"s,"IfcProjectedCRS"s,"IfcPropertyAbstraction"s,"IfcPropertyEnumeration"s,"IfcQuantityArea"s,"IfcQuantityCount"s,"IfcQuantityLength"s,"IfcQuantityTime"s,"IfcQuantityVolume"s,"IfcQuantityWeight"s,"IfcRecurrencePattern"s,"IfcReference"s,"IfcRepresentation"s,"IfcRepresentationContext"s,"IfcRepresentationItem"s,"IfcRepresentationMap"s,"IfcResourceLevelRelationship"s,"IfcRoot"s,"IfcSIUnit"s,"IfcSchedulingTime"s,"IfcShapeAspect"s,"IfcShapeModel"s,"IfcShapeRepresentation"s,"IfcStructuralConnectionCondition"s,"IfcStructuralLoad"s,"IfcStructuralLoadConfiguration"s,"IfcStructuralLoadOrResult"s,"IfcStructuralLoadStatic"s,"IfcStructuralLoadTemperature"s,"IfcStyleModel"s,"IfcStyledItem"s,"IfcStyledRepresentation"s,"IfcSurfaceReinforcementArea"s,"IfcSurfaceStyle"s,"IfcSurfaceStyleLighting"s,"IfcSurfaceStyleRefraction"s,"IfcSurfaceStyleShading"s,"IfcSurfaceStyleWithTextures"s,"IfcSurfaceTexture"s,"IfcTable"s,"IfcTableColumn"s,"IfcTableRow"s,"IfcTaskTime"s,"IfcTaskTimeRecurring"s,"IfcTelecomAddress"s,"IfcTextStyle"s,"IfcTextStyleForDefinedFont"s,"IfcTextStyleTextModel"s,"IfcTextureCoordinate"s,"IfcTextureCoordinateGenerator"s,"IfcTextureMap"s,"IfcTextureVertex"s,"IfcTextureVertexList"s,"IfcTimePeriod"s,"IfcTimeSeries"s,"IfcTimeSeriesValue"s,"IfcTopologicalRepresentationItem"s,"IfcTopologyRepresentation"s,"IfcUnitAssignment"s,"IfcVertex"s,"IfcVertexPoint"s,"IfcVirtualGridIntersection"s,"IfcWorkTime"s,"IfcActorSelect"s,"IfcArcIndex"s,"IfcBendingParameterSelect"s,"IfcBoxAlignment"s,"IfcCurveMeasureSelect"s,"IfcDerivedMeasureValue"s,"IfcFacilityPartTypeSelect"s,"IfcImpactProtectionDeviceTypeSelect"s,"IfcLayeredItem"s,"IfcLibrarySelect"s,"IfcLightDistributionDataSourceSelect"s,"IfcLineIndex"s,"IfcMaterialSelect"s,"IfcNormalisedRatioMeasure"s,"IfcObjectReferenceSelect"s,"IfcPositiveRatioMeasure"s,"IfcSegmentIndexSelect"s,"IfcSimpleValue"s,"IfcSizeSelect"s,"IfcSpecularHighlightSelect"s,"IfcSurfaceStyleElementSelect"s,"IfcUnit"s,"IfcAlignmentCantSegment"s,"IfcAlignmentHorizontalSegment"s,"IfcApprovalRelationship"s,"IfcArbitraryClosedProfileDef"s,"IfcArbitraryOpenProfileDef"s,"IfcArbitraryProfileDefWithVoids"s,"IfcBlobTexture"s,"IfcCenterLineProfileDef"s,"IfcClassification"s,"IfcClassificationReference"s,"IfcColourRgbList"s,"IfcColourSpecification"s,"IfcCompositeProfileDef"s,"IfcConnectedFaceSet"s,"IfcConnectionCurveGeometry"s,"IfcConnectionPointEccentricity"s,"IfcContextDependentUnit"s,"IfcConversionBasedUnit"s,"IfcConversionBasedUnitWithOffset"s,"IfcCurrencyRelationship"s,"IfcCurveStyle"s,"IfcCurveStyleFont"s,"IfcCurveStyleFontAndScaling"s,"IfcCurveStyleFontPattern"s,"IfcDerivedProfileDef"s,"IfcDocumentInformation"s,"IfcDocumentInformationRelationship"s,"IfcDocumentReference"s,"IfcEdge"s,"IfcEdgeCurve"s,"IfcEventTime"s,"IfcExtendedProperties"s,"IfcExternalReferenceRelationship"s,"IfcFace"s,"IfcFaceBound"s,"IfcFaceOuterBound"s,"IfcFaceSurface"s,"IfcFailureConnectionCondition"s,"IfcFillAreaStyle"s,"IfcGeometricRepresentationContext"s,"IfcGeometricRepresentationItem"s,"IfcGeometricRepresentationSubContext"s,"IfcGeometricSet"s,"IfcGridPlacement"s,"IfcHalfSpaceSolid"s,"IfcImageTexture"s,"IfcIndexedColourMap"s,"IfcIndexedTextureMap"s,"IfcIndexedTriangleTextureMap"s,"IfcIrregularTimeSeries"s,"IfcLagTime"s,"IfcLightSource"s,"IfcLightSourceAmbient"s,"IfcLightSourceDirectional"s,"IfcLightSourceGoniometric"s,"IfcLightSourcePositional"s,"IfcLightSourceSpot"s,"IfcLinearPlacement"s,"IfcLocalPlacement"s,"IfcLoop"s,"IfcMappedItem"s,"IfcMaterial"s,"IfcMaterialConstituent"s,"IfcMaterialConstituentSet"s,"IfcMaterialDefinitionRepresentation"s,"IfcMaterialLayerSetUsage"s,"IfcMaterialProfileSetUsage"s,"IfcMaterialProfileSetUsageTapering"s,"IfcMaterialProperties"s,"IfcMaterialRelationship"s,"IfcMirroredProfileDef"s,"IfcObjectDefinition"s,"IfcOpenCrossProfileDef"s,"IfcOpenShell"s,"IfcOrganizationRelationship"s,"IfcOrientedEdge"s,"IfcParameterizedProfileDef"s,"IfcPath"s,"IfcPhysicalComplexQuantity"s,"IfcPixelTexture"s,"IfcPlacement"s,"IfcPlanarExtent"s,"IfcPoint"s,"IfcPointByDistanceExpression"s,"IfcPointOnCurve"s,"IfcPointOnSurface"s,"IfcPolyLoop"s,"IfcPolygonalBoundedHalfSpace"s,"IfcPreDefinedItem"s,"IfcPreDefinedProperties"s,"IfcPreDefinedTextFont"s,"IfcProductDefinitionShape"s,"IfcProfileProperties"s,"IfcProperty"s,"IfcPropertyDefinition"s,"IfcPropertyDependencyRelationship"s,"IfcPropertySetDefinition"s,"IfcPropertyTemplateDefinition"s,"IfcQuantitySet"s,"IfcRectangleProfileDef"s,"IfcRegularTimeSeries"s,"IfcReinforcementBarProperties"s,"IfcRelationship"s,"IfcResourceApprovalRelationship"s,"IfcResourceConstraintRelationship"s,"IfcResourceTime"s,"IfcRoundedRectangleProfileDef"s,"IfcSectionProperties"s,"IfcSectionReinforcementProperties"s,"IfcSectionedSpine"s,"IfcSegment"s,"IfcShellBasedSurfaceModel"s,"IfcSimpleProperty"s,"IfcSlippageConnectionCondition"s,"IfcSolidModel"s,"IfcStructuralLoadLinearForce"s,"IfcStructuralLoadPlanarForce"s,"IfcStructuralLoadSingleDisplacement"s,"IfcStructuralLoadSingleDisplacementDistortion"s,"IfcStructuralLoadSingleForce"s,"IfcStructuralLoadSingleForceWarping"s,"IfcSubedge"s,"IfcSurface"s,"IfcSurfaceStyleRendering"s,"IfcSweptAreaSolid"s,"IfcSweptDiskSolid"s,"IfcSweptDiskSolidPolygonal"s,"IfcSweptSurface"s,"IfcTShapeProfileDef"s,"IfcTessellatedItem"s,"IfcTextLiteral"s,"IfcTextLiteralWithExtent"s,"IfcTextStyleFontModel"s,"IfcTrapeziumProfileDef"s,"IfcTypeObject"s,"IfcTypeProcess"s,"IfcTypeProduct"s,"IfcTypeResource"s,"IfcUShapeProfileDef"s,"IfcVector"s,"IfcVertexLoop"s,"IfcWindowStyle"s,"IfcZShapeProfileDef"s,"IfcClassificationReferenceSelect"s,"IfcClassificationSelect"s,"IfcCoordinateReferenceSystemSelect"s,"IfcDefinitionSelect"s,"IfcDocumentSelect"s,"IfcHatchLineDistanceSelect"s,"IfcMeasureValue"s,"IfcPointOrVertexPoint"s,"IfcProductRepresentationSelect"s,"IfcPropertySetDefinitionSet"s,"IfcResourceObjectSelect"s,"IfcTextFontSelect"s,"IfcValue"s,"IfcAdvancedFace"s,"IfcAnnotationFillArea"s,"IfcAsymmetricIShapeProfileDef"s,"IfcAxis1Placement"s,"IfcAxis2Placement2D"s,"IfcAxis2Placement3D"s,"IfcAxis2PlacementLinear"s,"IfcBooleanResult"s,"IfcBoundedSurface"s,"IfcBoundingBox"s,"IfcBoxedHalfSpace"s,"IfcCShapeProfileDef"s,"IfcCartesianPoint"s,"IfcCartesianPointList"s,"IfcCartesianPointList2D"s,"IfcCartesianPointList3D"s,"IfcCartesianTransformationOperator"s,"IfcCartesianTransformationOperator2D"s,"IfcCartesianTransformationOperator2DnonUniform"s,"IfcCartesianTransformationOperator3D"s,"IfcCartesianTransformationOperator3DnonUniform"s,"IfcCircleProfileDef"s,"IfcClosedShell"s,"IfcColourRgb"s,"IfcComplexProperty"s,"IfcCompositeCurveSegment"s,"IfcConstructionResourceType"s,"IfcContext"s,"IfcCrewResourceType"s,"IfcCsgPrimitive3D"s,"IfcCsgSolid"s,"IfcCurve"s,"IfcCurveBoundedPlane"s,"IfcCurveBoundedSurface"s,"IfcCurveSegment"s,"IfcDirection"s,"IfcDirectrixCurveSweptAreaSolid"s,"IfcDirectrixDistanceSweptAreaSolid"s,"IfcDoorStyle"s,"IfcEdgeLoop"s,"IfcElementQuantity"s,"IfcElementType"s,"IfcElementarySurface"s,"IfcEllipseProfileDef"s,"IfcEventType"s,"IfcExtrudedAreaSolid"s,"IfcExtrudedAreaSolidTapered"s,"IfcFaceBasedSurfaceModel"s,"IfcFillAreaStyleHatching"s,"IfcFillAreaStyleTiles"s,"IfcFixedReferenceSweptAreaSolid"s,"IfcFurnishingElementType"s,"IfcFurnitureType"s,"IfcGeographicElementType"s,"IfcGeometricCurveSet"s,"IfcIShapeProfileDef"s,"IfcInclinedReferenceSweptAreaSolid"s,"IfcIndexedPolygonalFace"s,"IfcIndexedPolygonalFaceWithVoids"s,"IfcLShapeProfileDef"s,"IfcLaborResourceType"s,"IfcLine"s,"IfcManifoldSolidBrep"s,"IfcObject"s,"IfcOffsetCurve"s,"IfcOffsetCurve2D"s,"IfcOffsetCurve3D"s,"IfcOffsetCurveByDistances"s,"IfcPcurve"s,"IfcPlanarBox"s,"IfcPlane"s,"IfcPolynomialCurve"s,"IfcPreDefinedColour"s,"IfcPreDefinedCurveFont"s,"IfcPreDefinedPropertySet"s,"IfcProcedureType"s,"IfcProcess"s,"IfcProduct"s,"IfcProject"s,"IfcProjectLibrary"s,"IfcPropertyBoundedValue"s,"IfcPropertyEnumeratedValue"s,"IfcPropertyListValue"s,"IfcPropertyReferenceValue"s,"IfcPropertySet"s,"IfcPropertySetTemplate"s,"IfcPropertySingleValue"s,"IfcPropertyTableValue"s,"IfcPropertyTemplate"s,"IfcProxy"s,"IfcRectangleHollowProfileDef"s,"IfcRectangularPyramid"s,"IfcRectangularTrimmedSurface"s,"IfcReinforcementDefinitionProperties"s,"IfcRelAssigns"s,"IfcRelAssignsToActor"s,"IfcRelAssignsToControl"s,"IfcRelAssignsToGroup"s,"IfcRelAssignsToGroupByFactor"s,"IfcRelAssignsToProcess"s,"IfcRelAssignsToProduct"s,"IfcRelAssignsToResource"s,"IfcRelAssociates"s,"IfcRelAssociatesApproval"s,"IfcRelAssociatesClassification"s,"IfcRelAssociatesConstraint"s,"IfcRelAssociatesDocument"s,"IfcRelAssociatesLibrary"s,"IfcRelAssociatesMaterial"s,"IfcRelAssociatesProfileDef"s,"IfcRelConnects"s,"IfcRelConnectsElements"s,"IfcRelConnectsPathElements"s,"IfcRelConnectsPortToElement"s,"IfcRelConnectsPorts"s,"IfcRelConnectsStructuralActivity"s,"IfcRelConnectsStructuralMember"s,"IfcRelConnectsWithEccentricity"s,"IfcRelConnectsWithRealizingElements"s,"IfcRelContainedInSpatialStructure"s,"IfcRelCoversBldgElements"s,"IfcRelCoversSpaces"s,"IfcRelDeclares"s,"IfcRelDecomposes"s,"IfcRelDefines"s,"IfcRelDefinesByObject"s,"IfcRelDefinesByProperties"s,"IfcRelDefinesByTemplate"s,"IfcRelDefinesByType"s,"IfcRelFillsElement"s,"IfcRelFlowControlElements"s,"IfcRelInterferesElements"s,"IfcRelNests"s,"IfcRelPositions"s,"IfcRelProjectsElement"s,"IfcRelReferencedInSpatialStructure"s,"IfcRelSequence"s,"IfcRelServicesBuildings"s,"IfcRelSpaceBoundary"s,"IfcRelSpaceBoundary1stLevel"s,"IfcRelSpaceBoundary2ndLevel"s,"IfcRelVoidsElement"s,"IfcReparametrisedCompositeCurveSegment"s,"IfcResource"s,"IfcRevolvedAreaSolid"s,"IfcRevolvedAreaSolidTapered"s,"IfcRightCircularCone"s,"IfcRightCircularCylinder"s,"IfcSectionedSolid"s,"IfcSectionedSolidHorizontal"s,"IfcSectionedSurface"s,"IfcSimplePropertyTemplate"s,"IfcSpatialElement"s,"IfcSpatialElementType"s,"IfcSpatialStructureElement"s,"IfcSpatialStructureElementType"s,"IfcSpatialZone"s,"IfcSpatialZoneType"s,"IfcSphere"s,"IfcSphericalSurface"s,"IfcSpiral"s,"IfcStructuralActivity"s,"IfcStructuralItem"s,"IfcStructuralMember"s,"IfcStructuralReaction"s,"IfcStructuralSurfaceMember"s,"IfcStructuralSurfaceMemberVarying"s,"IfcStructuralSurfaceReaction"s,"IfcSubContractResourceType"s,"IfcSurfaceCurve"s,"IfcSurfaceCurveSweptAreaSolid"s,"IfcSurfaceOfLinearExtrusion"s,"IfcSurfaceOfRevolution"s,"IfcSystemFurnitureElementType"s,"IfcTask"s,"IfcTaskType"s,"IfcTessellatedFaceSet"s,"IfcThirdOrderPolynomialSpiral"s,"IfcToroidalSurface"s,"IfcTransportElementType"s,"IfcTriangulatedFaceSet"s,"IfcTriangulatedIrregularNetwork"s,"IfcWindowLiningProperties"s,"IfcWindowPanelProperties"s,"IfcAppliedValueSelect"s,"IfcAxis2Placement"s,"IfcBooleanOperand"s,"IfcColour"s,"IfcColourOrFactor"s,"IfcCsgSelect"s,"IfcCurveStyleFontSelect"s,"IfcFillStyleSelect"s,"IfcGeometricSetSelect"s,"IfcGridPlacementDirectionSelect"s,"IfcMetricValueSelect"s,"IfcProcessSelect"s,"IfcProductSelect"s,"IfcPropertySetDefinitionSelect"s,"IfcResourceSelect"s,"IfcShell"s,"IfcSolidOrShell"s,"IfcSurfaceOrFaceSurface"s,"IfcTrimmingSelect"s,"IfcVectorOrDirection"s,"IfcActor"s,"IfcAdvancedBrep"s,"IfcAdvancedBrepWithVoids"s,"IfcAnnotation"s,"IfcBSplineSurface"s,"IfcBSplineSurfaceWithKnots"s,"IfcBlock"s,"IfcBooleanClippingResult"s,"IfcBoundedCurve"s,"IfcBuildingStorey"s,"IfcBuiltElementType"s,"IfcChimneyType"s,"IfcCircleHollowProfileDef"s,"IfcCivilElementType"s,"IfcClothoid"s,"IfcColumnType"s,"IfcComplexPropertyTemplate"s,"IfcCompositeCurve"s,"IfcCompositeCurveOnSurface"s,"IfcConic"s,"IfcConstructionEquipmentResourceType"s,"IfcConstructionMaterialResourceType"s,"IfcConstructionProductResourceType"s,"IfcConstructionResource"s,"IfcControl"s,"IfcCosine"s,"IfcCostItem"s,"IfcCostSchedule"s,"IfcCourseType"s,"IfcCoveringType"s,"IfcCrewResource"s,"IfcCurtainWallType"s,"IfcCylindricalSurface"s,"IfcDeepFoundationType"s,"IfcDirectrixDerivedReferenceSweptAreaSolid"s,"IfcDistributionElementType"s,"IfcDistributionFlowElementType"s,"IfcDoorLiningProperties"s,"IfcDoorPanelProperties"s,"IfcDoorType"s,"IfcDraughtingPreDefinedColour"s,"IfcDraughtingPreDefinedCurveFont"s,"IfcElement"s,"IfcElementAssembly"s,"IfcElementAssemblyType"s,"IfcElementComponent"s,"IfcElementComponentType"s,"IfcEllipse"s,"IfcEnergyConversionDeviceType"s,"IfcEngineType"s,"IfcEvaporativeCoolerType"s,"IfcEvaporatorType"s,"IfcEvent"s,"IfcExternalSpatialStructureElement"s,"IfcFacetedBrep"s,"IfcFacetedBrepWithVoids"s,"IfcFacility"s,"IfcFacilityPart"s,"IfcFastener"s,"IfcFastenerType"s,"IfcFeatureElement"s,"IfcFeatureElementAddition"s,"IfcFeatureElementSubtraction"s,"IfcFlowControllerType"s,"IfcFlowFittingType"s,"IfcFlowMeterType"s,"IfcFlowMovingDeviceType"s,"IfcFlowSegmentType"s,"IfcFlowStorageDeviceType"s,"IfcFlowTerminalType"s,"IfcFlowTreatmentDeviceType"s,"IfcFootingType"s,"IfcFurnishingElement"s,"IfcFurniture"s,"IfcGeographicElement"s,"IfcGeotechnicalElement"s,"IfcGeotechnicalStratum"s,"IfcGradientCurve"s,"IfcGroup"s,"IfcHeatExchangerType"s,"IfcHumidifierType"s,"IfcImpactProtectionDevice"s,"IfcImpactProtectionDeviceType"s,"IfcIndexedPolyCurve"s,"IfcInterceptorType"s,"IfcIntersectionCurve"s,"IfcInventory"s,"IfcJunctionBoxType"s,"IfcKerbType"s,"IfcLaborResource"s,"IfcLampType"s,"IfcLightFixtureType"s,"IfcLinearElement"s,"IfcLiquidTerminalType"s,"IfcMarineFacility"s,"IfcMechanicalFastener"s,"IfcMechanicalFastenerType"s,"IfcMedicalDeviceType"s,"IfcMemberType"s,"IfcMobileTelecommunicationsApplianceType"s,"IfcMooringDeviceType"s,"IfcMotorConnectionType"s,"IfcNavigationElementType"s,"IfcOccupant"s,"IfcOpeningElement"s,"IfcOpeningStandardCase"s,"IfcOutletType"s,"IfcPavementType"s,"IfcPerformanceHistory"s,"IfcPermeableCoveringProperties"s,"IfcPermit"s,"IfcPileType"s,"IfcPipeFittingType"s,"IfcPipeSegmentType"s,"IfcPlant"s,"IfcPlateType"s,"IfcPolygonalFaceSet"s,"IfcPolyline"s,"IfcPort"s,"IfcPositioningElement"s,"IfcProcedure"s,"IfcProjectOrder"s,"IfcProjectionElement"s,"IfcProtectiveDeviceType"s,"IfcPumpType"s,"IfcRailType"s,"IfcRailingType"s,"IfcRailway"s,"IfcRampFlightType"s,"IfcRampType"s,"IfcRationalBSplineSurfaceWithKnots"s,"IfcReferent"s,"IfcReinforcingElement"s,"IfcReinforcingElementType"s,"IfcReinforcingMesh"s,"IfcReinforcingMeshType"s,"IfcRelAggregates"s,"IfcRoad"s,"IfcRoofType"s,"IfcSanitaryTerminalType"s,"IfcSeamCurve"s,"IfcSecondOrderPolynomialSpiral"s,"IfcSegmentedReferenceCurve"s,"IfcShadingDeviceType"s,"IfcSign"s,"IfcSignType"s,"IfcSignalType"s,"IfcSine"s,"IfcSite"s,"IfcSlabType"s,"IfcSolarDeviceType"s,"IfcSolidStratum"s,"IfcSpace"s,"IfcSpaceHeaterType"s,"IfcSpaceType"s,"IfcStackTerminalType"s,"IfcStairFlightType"s,"IfcStairType"s,"IfcStructuralAction"s,"IfcStructuralConnection"s,"IfcStructuralCurveAction"s,"IfcStructuralCurveConnection"s,"IfcStructuralCurveMember"s,"IfcStructuralCurveMemberVarying"s,"IfcStructuralCurveReaction"s,"IfcStructuralLinearAction"s,"IfcStructuralLoadGroup"s,"IfcStructuralPointAction"s,"IfcStructuralPointConnection"s,"IfcStructuralPointReaction"s,"IfcStructuralResultGroup"s,"IfcStructuralSurfaceAction"s,"IfcStructuralSurfaceConnection"s,"IfcSubContractResource"s,"IfcSurfaceFeature"s,"IfcSwitchingDeviceType"s,"IfcSystem"s,"IfcSystemFurnitureElement"s,"IfcTankType"s,"IfcTendon"s,"IfcTendonAnchor"s,"IfcTendonAnchorType"s,"IfcTendonConduit"s,"IfcTendonConduitType"s,"IfcTendonType"s,"IfcTrackElementType"s,"IfcTransformerType"s,"IfcTransportElement"s,"IfcTrimmedCurve"s,"IfcTubeBundleType"s,"IfcUnitaryEquipmentType"s,"IfcValveType"s,"IfcVibrationDamper"s,"IfcVibrationDamperType"s,"IfcVibrationIsolator"s,"IfcVibrationIsolatorType"s,"IfcVienneseBend"s,"IfcVirtualElement"s,"IfcVoidStratum"s,"IfcVoidingFeature"s,"IfcWallType"s,"IfcWasteTerminalType"s,"IfcWaterStratum"s,"IfcWindowType"s,"IfcWorkCalendar"s,"IfcWorkControl"s,"IfcWorkPlan"s,"IfcWorkSchedule"s,"IfcZone"s,"IfcCurveFontOrScaledCurveFontSelect"s,"IfcCurveOnSurface"s,"IfcCurveOrEdgeCurve"s,"IfcInterferenceSelect"s,"IfcSpatialReferenceSelect"s,"IfcStructuralActivityAssignmentSelect"s,"IfcActionRequest"s,"IfcAirTerminalBoxType"s,"IfcAirTerminalType"s,"IfcAirToAirHeatRecoveryType"s,"IfcAlignmentCant"s,"IfcAlignmentHorizontal"s,"IfcAlignmentSegment"s,"IfcAlignmentVertical"s,"IfcAsset"s,"IfcAudioVisualApplianceType"s,"IfcBSplineCurve"s,"IfcBSplineCurveWithKnots"s,"IfcBeamType"s,"IfcBearingType"s,"IfcBoilerType"s,"IfcBoundaryCurve"s,"IfcBridge"s,"IfcBuilding"s,"IfcBuildingElementPart"s,"IfcBuildingElementPartType"s,"IfcBuildingElementProxyType"s,"IfcBuildingSystem"s,"IfcBuiltElement"s,"IfcBuiltSystem"s,"IfcBurnerType"s,"IfcCableCarrierFittingType"s,"IfcCableCarrierSegmentType"s,"IfcCableFittingType"s,"IfcCableSegmentType"s,"IfcCaissonFoundationType"s,"IfcChillerType"s,"IfcChimney"s,"IfcCircle"s,"IfcCivilElement"s,"IfcCoilType"s,"IfcColumn"s,"IfcColumnStandardCase"s,"IfcCommunicationsApplianceType"s,"IfcCompressorType"s,"IfcCondenserType"s,"IfcConstructionEquipmentResource"s,"IfcConstructionMaterialResource"s,"IfcConstructionProductResource"s,"IfcConveyorSegmentType"s,"IfcCooledBeamType"s,"IfcCoolingTowerType"s,"IfcCourse"s,"IfcCovering"s,"IfcCurtainWall"s,"IfcDamperType"s,"IfcDeepFoundation"s,"IfcDiscreteAccessory"s,"IfcDiscreteAccessoryType"s,"IfcDistributionBoardType"s,"IfcDistributionChamberElementType"s,"IfcDistributionControlElementType"s,"IfcDistributionElement"s,"IfcDistributionFlowElement"s,"IfcDistributionPort"s,"IfcDistributionSystem"s,"IfcDoor"s,"IfcDoorStandardCase"s,"IfcDuctFittingType"s,"IfcDuctSegmentType"s,"IfcDuctSilencerType"s,"IfcEarthworksCut"s,"IfcEarthworksElement"s,"IfcEarthworksFill"s,"IfcElectricApplianceType"s,"IfcElectricDistributionBoardType"s,"IfcElectricFlowStorageDeviceType"s,"IfcElectricFlowTreatmentDeviceType"s,"IfcElectricGeneratorType"s,"IfcElectricMotorType"s,"IfcElectricTimeControlType"s,"IfcEnergyConversionDevice"s,"IfcEngine"s,"IfcEvaporativeCooler"s,"IfcEvaporator"s,"IfcExternalSpatialElement"s,"IfcFanType"s,"IfcFilterType"s,"IfcFireSuppressionTerminalType"s,"IfcFlowController"s,"IfcFlowFitting"s,"IfcFlowInstrumentType"s,"IfcFlowMeter"s,"IfcFlowMovingDevice"s,"IfcFlowSegment"s,"IfcFlowStorageDevice"s,"IfcFlowTerminal"s,"IfcFlowTreatmentDevice"s,"IfcFooting"s,"IfcGeotechnicalAssembly"s,"IfcGrid"s,"IfcHeatExchanger"s,"IfcHumidifier"s,"IfcInterceptor"s,"IfcJunctionBox"s,"IfcKerb"s,"IfcLamp"s,"IfcLightFixture"s,"IfcLinearPositioningElement"s,"IfcLiquidTerminal"s,"IfcMedicalDevice"s,"IfcMember"s,"IfcMemberStandardCase"s,"IfcMobileTelecommunicationsAppliance"s,"IfcMooringDevice"s,"IfcMotorConnection"s,"IfcNavigationElement"s,"IfcOuterBoundaryCurve"s,"IfcOutlet"s,"IfcPavement"s,"IfcPile"s,"IfcPipeFitting"s,"IfcPipeSegment"s,"IfcPlate"s,"IfcPlateStandardCase"s,"IfcProtectiveDevice"s,"IfcProtectiveDeviceTrippingUnitType"s,"IfcPump"s,"IfcRail"s,"IfcRailing"s,"IfcRamp"s,"IfcRampFlight"s,"IfcRationalBSplineCurveWithKnots"s,"IfcReinforcedSoil"s,"IfcReinforcingBar"s,"IfcReinforcingBarType"s,"IfcRoof"s,"IfcSanitaryTerminal"s,"IfcSensorType"s,"IfcShadingDevice"s,"IfcSignal"s,"IfcSlab"s,"IfcSlabElementedCase"s,"IfcSlabStandardCase"s,"IfcSolarDevice"s,"IfcSpaceHeater"s,"IfcStackTerminal"s,"IfcStair"s,"IfcStairFlight"s,"IfcStructuralAnalysisModel"s,"IfcStructuralLoadCase"s,"IfcStructuralPlanarAction"s,"IfcSwitchingDevice"s,"IfcTank"s,"IfcTrackElement"s,"IfcTransformer"s,"IfcTubeBundle"s,"IfcUnitaryControlElementType"s,"IfcUnitaryEquipment"s,"IfcValve"s,"IfcWall"s,"IfcWallElementedCase"s,"IfcWallStandardCase"s,"IfcWasteTerminal"s,"IfcWindow"s,"IfcWindowStandardCase"s,"IfcSpaceBoundarySelect"s,"IfcActuatorType"s,"IfcAirTerminal"s,"IfcAirTerminalBox"s,"IfcAirToAirHeatRecovery"s,"IfcAlarmType"s,"IfcAlignment"s,"IfcAudioVisualAppliance"s,"IfcBeam"s,"IfcBeamStandardCase"s,"IfcBearing"s,"IfcBoiler"s,"IfcBorehole"s,"IfcBuildingElementProxy"s,"IfcBurner"s,"IfcCableCarrierFitting"s,"IfcCableCarrierSegment"s,"IfcCableFitting"s,"IfcCableSegment"s,"IfcCaissonFoundation"s,"IfcChiller"s,"IfcCoil"s,"IfcCommunicationsAppliance"s,"IfcCompressor"s,"IfcCondenser"s,"IfcControllerType"s,"IfcConveyorSegment"s,"IfcCooledBeam"s,"IfcCoolingTower"s,"IfcDamper"s,"IfcDistributionBoard"s,"IfcDistributionChamberElement"s,"IfcDistributionCircuit"s,"IfcDistributionControlElement"s,"IfcDuctFitting"s,"IfcDuctSegment"s,"IfcDuctSilencer"s,"IfcElectricAppliance"s,"IfcElectricDistributionBoard"s,"IfcElectricFlowStorageDevice"s,"IfcElectricFlowTreatmentDevice"s,"IfcElectricGenerator"s,"IfcElectricMotor"s,"IfcElectricTimeControl"s,"IfcFan"s,"IfcFilter"s,"IfcFireSuppressionTerminal"s,"IfcFlowInstrument"s,"IfcGeomodel"s,"IfcGeoslice"s,"IfcProtectiveDeviceTrippingUnit"s,"IfcSensor"s,"IfcUnitaryControlElement"s,"IfcActuator"s,"IfcAlarm"s,"IfcController"s,"PredefinedType"s,"Status"s,"LongDescription"s,"TheActor"s,"Role"s,"UserDefinedRole"s,"Description"s,"Purpose"s,"UserDefinedPurpose"s,"Voids"s,"RailHeadDistance"s,"StartDistAlong"s,"HorizontalLength"s,"StartCantLeft"s,"EndCantLeft"s,"StartCantRight"s,"EndCantRight"s,"StartPoint"s,"StartDirection"s,"StartRadiusOfCurvature"s,"EndRadiusOfCurvature"s,"SegmentLength"s,"GravityCenterLineHeight"s,"StartTag"s,"EndTag"s,"DesignParameters"s,"StartHeight"s,"StartGradient"s,"EndGradient"s,"RadiusOfCurvature"s,"OuterBoundary"s,"InnerBoundaries"s,"ApplicationDeveloper"s,"Version"s,"ApplicationFullName"s,"ApplicationIdentifier"s,"Name"s,"AppliedValue"s,"UnitBasis"s,"ApplicableDate"s,"FixedUntilDate"s,"Category"s,"Condition"s,"ArithmeticOperator"s,"Components"s,"Identifier"s,"TimeOfApproval"s,"Level"s,"Qualifier"s,"RequestingApproval"s,"GivingApproval"s,"RelatingApproval"s,"RelatedApprovals"s,"OuterCurve"s,"Curve"s,"InnerCurves"s,"Identification"s,"OriginalValue"s,"CurrentValue"s,"TotalReplacementCost"s,"Owner"s,"User"s,"ResponsiblePerson"s,"IncorporationDate"s,"DepreciatedValue"s,"BottomFlangeWidth"s,"OverallDepth"s,"WebThickness"s,"BottomFlangeThickness"s,"BottomFlangeFilletRadius"s,"TopFlangeWidth"s,"TopFlangeThickness"s,"TopFlangeFilletRadius"s,"BottomFlangeEdgeRadius"s,"BottomFlangeSlope"s,"TopFlangeEdgeRadius"s,"TopFlangeSlope"s,"Axis"s,"RefDirection"s,"Degree"s,"ControlPointsList"s,"CurveForm"s,"ClosedCurve"s,"SelfIntersect"s,"KnotMultiplicities"s,"Knots"s,"KnotSpec"s,"UDegree"s,"VDegree"s,"SurfaceForm"s,"UClosed"s,"VClosed"s,"UMultiplicities"s,"VMultiplicities"s,"UKnots"s,"VKnots"s,"RasterFormat"s,"RasterCode"s,"XLength"s,"YLength"s,"ZLength"s,"Operator"s,"FirstOperand"s,"SecondOperand"s,"TranslationalStiffnessByLengthX"s,"TranslationalStiffnessByLengthY"s,"TranslationalStiffnessByLengthZ"s,"RotationalStiffnessByLengthX"s,"RotationalStiffnessByLengthY"s,"RotationalStiffnessByLengthZ"s,"TranslationalStiffnessByAreaX"s,"TranslationalStiffnessByAreaY"s,"TranslationalStiffnessByAreaZ"s,"TranslationalStiffnessX"s,"TranslationalStiffnessY"s,"TranslationalStiffnessZ"s,"RotationalStiffnessX"s,"RotationalStiffnessY"s,"RotationalStiffnessZ"s,"WarpingStiffness"s,"Corner"s,"XDim"s,"YDim"s,"ZDim"s,"Enclosure"s,"ElevationOfRefHeight"s,"ElevationOfTerrain"s,"BuildingAddress"s,"Elevation"s,"LongName"s,"Depth"s,"Width"s,"WallThickness"s,"Girth"s,"InternalFilletRadius"s,"Coordinates"s,"CoordList"s,"TagList"s,"Axis1"s,"Axis2"s,"LocalOrigin"s,"Scale"s,"Scale2"s,"Axis3"s,"Scale3"s,"Thickness"s,"Radius"s,"Source"s,"Edition"s,"EditionDate"s,"Location"s,"ReferenceTokens"s,"ReferencedSource"s,"Sort"s,"ClothoidConstant"s,"Red"s,"Green"s,"Blue"s,"ColourList"s,"UsageName"s,"HasProperties"s,"TemplateType"s,"HasPropertyTemplates"s,"Segments"s,"SameSense"s,"ParentCurve"s,"Profiles"s,"Label"s,"Position"s,"CfsFaces"s,"CurveOnRelatingElement"s,"CurveOnRelatedElement"s,"EccentricityInX"s,"EccentricityInY"s,"EccentricityInZ"s,"PointOnRelatingElement"s,"PointOnRelatedElement"s,"SurfaceOnRelatingElement"s,"SurfaceOnRelatedElement"s,"VolumeOnRelatingElement"s,"VolumeOnRelatedElement"s,"ConstraintGrade"s,"ConstraintSource"s,"CreatingActor"s,"CreationTime"s,"UserDefinedGrade"s,"Usage"s,"BaseCosts"s,"BaseQuantity"s,"ObjectType"s,"Phase"s,"RepresentationContexts"s,"UnitsInContext"s,"ConversionFactor"s,"ConversionOffset"s,"SourceCRS"s,"TargetCRS"s,"GeodeticDatum"s,"VerticalDatum"s,"CosineTerm"s,"ConstantTerm"s,"CostValues"s,"CostQuantities"s,"SubmittedOn"s,"UpdateDate"s,"TreeRootExpression"s,"RelatingMonetaryUnit"s,"RelatedMonetaryUnit"s,"ExchangeRate"s,"RateDateTime"s,"RateSource"s,"BasisSurface"s,"Boundaries"s,"ImplicitOuter"s,"Placement"s,"SegmentStart"s,"CurveFont"s,"CurveWidth"s,"CurveColour"s,"ModelOrDraughting"s,"PatternList"s,"CurveFontScaling"s,"VisibleSegmentLength"s,"InvisibleSegmentLength"s,"ParentProfile"s,"Elements"s,"UnitType"s,"UserDefinedType"s,"Unit"s,"Exponent"s,"LengthExponent"s,"MassExponent"s,"TimeExponent"s,"ElectricCurrentExponent"s,"ThermodynamicTemperatureExponent"s,"AmountOfSubstanceExponent"s,"LuminousIntensityExponent"s,"DirectionRatios"s,"Directrix"s,"StartParam"s,"EndParam"s,"StartDistance"s,"EndDistance"s,"FlowDirection"s,"SystemType"s,"IntendedUse"s,"Scope"s,"Revision"s,"DocumentOwner"s,"Editors"s,"LastRevisionTime"s,"ElectronicFormat"s,"ValidFrom"s,"ValidUntil"s,"Confidentiality"s,"RelatingDocument"s,"RelatedDocuments"s,"RelationshipType"s,"ReferencedDocument"s,"OverallHeight"s,"OverallWidth"s,"OperationType"s,"UserDefinedOperationType"s,"LiningDepth"s,"LiningThickness"s,"ThresholdDepth"s,"ThresholdThickness"s,"TransomThickness"s,"TransomOffset"s,"LiningOffset"s,"ThresholdOffset"s,"CasingThickness"s,"CasingDepth"s,"ShapeAspectStyle"s,"LiningToPanelOffsetX"s,"LiningToPanelOffsetY"s,"PanelDepth"s,"PanelOperation"s,"PanelWidth"s,"PanelPosition"s,"ConstructionType"s,"ParameterTakesPrecedence"s,"Sizeable"s,"EdgeStart"s,"EdgeEnd"s,"EdgeGeometry"s,"EdgeList"s,"Tag"s,"AssemblyPlace"s,"MethodOfMeasurement"s,"Quantities"s,"ElementType"s,"SemiAxis1"s,"SemiAxis2"s,"EventTriggerType"s,"UserDefinedEventTriggerType"s,"EventOccurenceTime"s,"ActualDate"s,"EarlyDate"s,"LateDate"s,"ScheduleDate"s,"Properties"s,"RelatingReference"s,"RelatedResourceObjects"s,"ExtrudedDirection"s,"EndSweptArea"s,"Bounds"s,"FbsmFaces"s,"Bound"s,"Orientation"s,"FaceSurface"s,"UsageType"s,"TensionFailureX"s,"TensionFailureY"s,"TensionFailureZ"s,"CompressionFailureX"s,"CompressionFailureY"s,"CompressionFailureZ"s,"FillStyles"s,"HatchLineAppearance"s,"StartOfNextHatchLine"s,"PointOfReferenceHatchLine"s,"PatternStart"s,"HatchLineAngle"s,"TilingPattern"s,"Tiles"s,"TilingScale"s,"FixedReference"s,"CoordinateSpaceDimension"s,"Precision"s,"WorldCoordinateSystem"s,"TrueNorth"s,"ParentContext"s,"TargetScale"s,"TargetView"s,"UserDefinedTargetView"s,"BaseCurve"s,"EndPoint"s,"UAxes"s,"VAxes"s,"WAxes"s,"AxisTag"s,"AxisCurve"s,"PlacementLocation"s,"PlacementRefDirection"s,"BaseSurface"s,"AgreementFlag"s,"FlangeThickness"s,"FilletRadius"s,"FlangeEdgeRadius"s,"FlangeSlope"s,"URLReference"s,"FixedAxisVertical"s,"MappedTo"s,"Opacity"s,"Colours"s,"ColourIndex"s,"Points"s,"CoordIndex"s,"InnerCoordIndices"s,"TexCoords"s,"TexCoordIndex"s,"Jurisdiction"s,"ResponsiblePersons"s,"LastUpdateDate"s,"Values"s,"TimeStamp"s,"ListValues"s,"Mountable"s,"EdgeRadius"s,"LegSlope"s,"LagValue"s,"DurationType"s,"Publisher"s,"VersionDate"s,"Language"s,"ReferencedLibrary"s,"MainPlaneAngle"s,"SecondaryPlaneAngle"s,"LuminousIntensity"s,"LightDistributionCurve"s,"DistributionData"s,"LightColour"s,"AmbientIntensity"s,"Intensity"s,"ColourAppearance"s,"ColourTemperature"s,"LuminousFlux"s,"LightEmissionSource"s,"LightDistributionDataSource"s,"ConstantAttenuation"s,"DistanceAttenuation"s,"QuadricAttenuation"s,"ConcentrationExponent"s,"SpreadAngle"s,"BeamWidthAngle"s,"Pnt"s,"Dir"s,"RelativePlacement"s,"CartesianPosition"s,"Outer"s,"Eastings"s,"Northings"s,"OrthogonalHeight"s,"XAxisAbscissa"s,"XAxisOrdinate"s,"ScaleY"s,"ScaleZ"s,"MappingSource"s,"MappingTarget"s,"MaterialClassifications"s,"ClassifiedMaterial"s,"Material"s,"Fraction"s,"MaterialConstituents"s,"RepresentedMaterial"s,"LayerThickness"s,"IsVentilated"s,"Priority"s,"MaterialLayers"s,"LayerSetName"s,"ForLayerSet"s,"LayerSetDirection"s,"DirectionSense"s,"OffsetFromReferenceLine"s,"ReferenceExtent"s,"OffsetDirection"s,"OffsetValues"s,"Materials"s,"Profile"s,"MaterialProfiles"s,"CompositeProfile"s,"ForProfileSet"s,"CardinalPoint"s,"ForProfileEndSet"s,"CardinalEndPoint"s,"RelatingMaterial"s,"RelatedMaterials"s,"Expression"s,"ValueComponent"s,"UnitComponent"s,"NominalDiameter"s,"NominalLength"s,"Benchmark"s,"ValueSource"s,"DataValue"s,"ReferencePath"s,"Currency"s,"Dimensions"s,"PlacementRelTo"s,"BenchmarkValues"s,"LogicalAggregator"s,"ObjectiveQualifier"s,"UserDefinedQualifier"s,"BasisCurve"s,"Distance"s,"HorizontalWidths"s,"Widths"s,"Slopes"s,"Tags"s,"Roles"s,"Addresses"s,"RelatingOrganization"s,"RelatedOrganizations"s,"EdgeElement"s,"OwningUser"s,"OwningApplication"s,"State"s,"ChangeAction"s,"LastModifiedDate"s,"LastModifyingUser"s,"LastModifyingApplication"s,"CreationDate"s,"ReferenceCurve"s,"LifeCyclePhase"s,"FrameDepth"s,"FrameThickness"s,"FamilyName"s,"GivenName"s,"MiddleNames"s,"PrefixTitles"s,"SuffixTitles"s,"ThePerson"s,"TheOrganization"s,"HasQuantities"s,"Discrimination"s,"Quality"s,"Height"s,"ColourComponents"s,"Pixel"s,"SizeInX"s,"SizeInY"s,"DistanceAlong"s,"OffsetLateral"s,"OffsetVertical"s,"OffsetLongitudinal"s,"PointParameter"s,"PointParameterU"s,"PointParameterV"s,"Polygon"s,"PolygonalBoundary"s,"Closed"s,"Faces"s,"PnIndex"s,"CoefficientsX"s,"CoefficientsY"s,"CoefficientsZ"s,"InternalLocation"s,"AddressLines"s,"PostalBox"s,"Town"s,"Region"s,"PostalCode"s,"Country"s,"AssignedItems"s,"LayerOn"s,"LayerFrozen"s,"LayerBlocked"s,"LayerStyles"s,"ObjectPlacement"s,"Representation"s,"Representations"s,"ProfileType"s,"ProfileName"s,"ProfileDefinition"s,"MapProjection"s,"MapZone"s,"MapUnit"s,"UpperBoundValue"s,"LowerBoundValue"s,"SetPointValue"s,"DependingProperty"s,"DependantProperty"s,"EnumerationValues"s,"EnumerationReference"s,"PropertyReference"s,"ApplicableEntity"s,"NominalValue"s,"DefiningValues"s,"DefinedValues"s,"DefiningUnit"s,"DefinedUnit"s,"CurveInterpolation"s,"ProxyType"s,"AreaValue"s,"Formula"s,"CountValue"s,"LengthValue"s,"TimeValue"s,"VolumeValue"s,"WeightValue"s,"WeightsData"s,"InnerFilletRadius"s,"OuterFilletRadius"s,"U1"s,"V1"s,"U2"s,"V2"s,"Usense"s,"Vsense"s,"RecurrenceType"s,"DayComponent"s,"WeekdayComponent"s,"MonthComponent"s,"Interval"s,"Occurrences"s,"TimePeriods"s,"TypeIdentifier"s,"AttributeIdentifier"s,"InstanceName"s,"ListPositions"s,"InnerReference"s,"RestartDistance"s,"TimeStep"s,"TotalCrossSectionArea"s,"SteelGrade"s,"BarSurface"s,"EffectiveDepth"s,"NominalBarDiameter"s,"BarCount"s,"DefinitionType"s,"ReinforcementSectionDefinitions"s,"CrossSectionArea"s,"BarLength"s,"BendingShapeCode"s,"BendingParameters"s,"MeshLength"s,"MeshWidth"s,"LongitudinalBarNominalDiameter"s,"TransverseBarNominalDiameter"s,"LongitudinalBarCrossSectionArea"s,"TransverseBarCrossSectionArea"s,"LongitudinalBarSpacing"s,"TransverseBarSpacing"s,"RelatingObject"s,"RelatedObjects"s,"RelatedObjectsType"s,"RelatingActor"s,"ActingRole"s,"RelatingControl"s,"RelatingGroup"s,"Factor"s,"RelatingProcess"s,"QuantityInProcess"s,"RelatingProduct"s,"RelatingResource"s,"RelatingClassification"s,"Intent"s,"RelatingConstraint"s,"RelatingLibrary"s,"RelatingProfileDef"s,"ConnectionGeometry"s,"RelatingElement"s,"RelatedElement"s,"RelatingPriorities"s,"RelatedPriorities"s,"RelatedConnectionType"s,"RelatingConnectionType"s,"RelatingPort"s,"RelatedPort"s,"RealizingElement"s,"RelatedStructuralActivity"s,"RelatingStructuralMember"s,"RelatedStructuralConnection"s,"AppliedCondition"s,"AdditionalConditions"s,"SupportedLength"s,"ConditionCoordinateSystem"s,"ConnectionConstraint"s,"RealizingElements"s,"ConnectionType"s,"RelatedElements"s,"RelatingStructure"s,"RelatingBuildingElement"s,"RelatedCoverings"s,"RelatingSpace"s,"RelatingContext"s,"RelatedDefinitions"s,"RelatingPropertyDefinition"s,"RelatedPropertySets"s,"RelatingTemplate"s,"RelatingType"s,"RelatingOpeningElement"s,"RelatedBuildingElement"s,"RelatedControlElements"s,"RelatingFlowElement"s,"InterferenceGeometry"s,"InterferenceType"s,"ImpliedOrder"s,"RelatingPositioningElement"s,"RelatedProducts"s,"RelatedFeatureElement"s,"RelatedProcess"s,"TimeLag"s,"SequenceType"s,"UserDefinedSequenceType"s,"RelatingSystem"s,"RelatedBuildings"s,"PhysicalOrVirtualBoundary"s,"InternalOrExternalBoundary"s,"ParentBoundary"s,"CorrespondingBoundary"s,"RelatedOpeningElement"s,"ParamLength"s,"ContextOfItems"s,"RepresentationIdentifier"s,"RepresentationType"s,"Items"s,"ContextIdentifier"s,"ContextType"s,"MappingOrigin"s,"MappedRepresentation"s,"ScheduleWork"s,"ScheduleUsage"s,"ScheduleStart"s,"ScheduleFinish"s,"ScheduleContour"s,"LevelingDelay"s,"IsOverAllocated"s,"StatusTime"s,"ActualWork"s,"ActualUsage"s,"ActualStart"s,"ActualFinish"s,"RemainingWork"s,"RemainingUsage"s,"Completion"s,"Angle"s,"BottomRadius"s,"GlobalId"s,"OwnerHistory"s,"RoundingRadius"s,"Prefix"s,"DataOrigin"s,"UserDefinedDataOrigin"s,"QuadraticTerm"s,"LinearTerm"s,"SectionType"s,"StartProfile"s,"EndProfile"s,"LongitudinalStartPosition"s,"LongitudinalEndPosition"s,"TransversePosition"s,"ReinforcementRole"s,"SectionDefinition"s,"CrossSectionReinforcementDefinitions"s,"CrossSections"s,"CrossSectionPositions"s,"SpineCurve"s,"Transition"s,"ShapeRepresentations"s,"ProductDefinitional"s,"PartOfProductDefinitionShape"s,"SbsmBoundary"s,"PrimaryMeasureType"s,"SecondaryMeasureType"s,"Enumerators"s,"PrimaryUnit"s,"SecondaryUnit"s,"AccessState"s,"SineTerm"s,"RefLatitude"s,"RefLongitude"s,"RefElevation"s,"LandTitleNumber"s,"SiteAddress"s,"SlippageX"s,"SlippageY"s,"SlippageZ"s,"ElevationWithFlooring"s,"CompositionType"s,"NumberOfRisers"s,"NumberOfTreads"s,"RiserHeight"s,"TreadLength"s,"DestabilizingLoad"s,"AppliedLoad"s,"GlobalOrLocal"s,"OrientationOf2DPlane"s,"LoadedBy"s,"HasResults"s,"SharedPlacement"s,"ProjectedOrTrue"s,"SelfWeightCoefficients"s,"Locations"s,"ActionType"s,"ActionSource"s,"Coefficient"s,"LinearForceX"s,"LinearForceY"s,"LinearForceZ"s,"LinearMomentX"s,"LinearMomentY"s,"LinearMomentZ"s,"PlanarForceX"s,"PlanarForceY"s,"PlanarForceZ"s,"DisplacementX"s,"DisplacementY"s,"DisplacementZ"s,"RotationalDisplacementRX"s,"RotationalDisplacementRY"s,"RotationalDisplacementRZ"s,"Distortion"s,"ForceX"s,"ForceY"s,"ForceZ"s,"MomentX"s,"MomentY"s,"MomentZ"s,"WarpingMoment"s,"DeltaTConstant"s,"DeltaTY"s,"DeltaTZ"s,"TheoryType"s,"ResultForLoadGroup"s,"IsLinear"s,"Item"s,"Styles"s,"ParentEdge"s,"Curve3D"s,"AssociatedGeometry"s,"MasterRepresentation"s,"ReferenceSurface"s,"AxisPosition"s,"SurfaceReinforcement1"s,"SurfaceReinforcement2"s,"ShearReinforcement"s,"Side"s,"DiffuseTransmissionColour"s,"DiffuseReflectionColour"s,"TransmissionColour"s,"ReflectanceColour"s,"RefractionIndex"s,"DispersionFactor"s,"DiffuseColour"s,"ReflectionColour"s,"SpecularColour"s,"SpecularHighlight"s,"ReflectanceMethod"s,"SurfaceColour"s,"Transparency"s,"Textures"s,"RepeatS"s,"RepeatT"s,"Mode"s,"TextureTransform"s,"Parameter"s,"SweptArea"s,"InnerRadius"s,"SweptCurve"s,"FlangeWidth"s,"WebEdgeRadius"s,"WebSlope"s,"Rows"s,"Columns"s,"RowCells"s,"IsHeading"s,"WorkMethod"s,"IsMilestone"s,"TaskTime"s,"ScheduleDuration"s,"EarlyStart"s,"EarlyFinish"s,"LateStart"s,"LateFinish"s,"FreeFloat"s,"TotalFloat"s,"IsCritical"s,"ActualDuration"s,"RemainingTime"s,"Recurrence"s,"TelephoneNumbers"s,"FacsimileNumbers"s,"PagerNumber"s,"ElectronicMailAddresses"s,"WWWHomePageURL"s,"MessagingIDs"s,"TensionForce"s,"PreStress"s,"FrictionCoefficient"s,"AnchorageSlip"s,"MinCurvatureRadius"s,"SheathDiameter"s,"Literal"s,"Path"s,"Extent"s,"BoxAlignment"s,"TextCharacterAppearance"s,"TextStyle"s,"TextFontStyle"s,"FontFamily"s,"FontStyle"s,"FontVariant"s,"FontWeight"s,"FontSize"s,"Colour"s,"BackgroundColour"s,"TextIndent"s,"TextAlign"s,"TextDecoration"s,"LetterSpacing"s,"WordSpacing"s,"TextTransform"s,"LineHeight"s,"Maps"s,"Vertices"s,"TexCoordsList"s,"QubicTerm"s,"StartTime"s,"EndTime"s,"TimeSeriesDataType"s,"MajorRadius"s,"MinorRadius"s,"BottomXDim"s,"TopXDim"s,"TopXOffset"s,"Normals"s,"Flags"s,"Trim1"s,"Trim2"s,"SenseAgreement"s,"ApplicableOccurrence"s,"HasPropertySets"s,"ProcessType"s,"RepresentationMaps"s,"ResourceType"s,"Units"s,"Magnitude"s,"LoopVertex"s,"VertexGeometry"s,"StartCurvature"s,"EndCurvature"s,"GravityCenterHeight"s,"IntersectingAxes"s,"OffsetDistances"s,"PartitioningType"s,"UserDefinedPartitioningType"s,"MullionThickness"s,"FirstTransomOffset"s,"SecondTransomOffset"s,"FirstMullionOffset"s,"SecondMullionOffset"s,"WorkingTimes"s,"ExceptionTimes"s,"Creators"s,"Duration"s,"FinishTime"s,"RecurrencePattern"s,"Start"s,"Finish"s,"IsActingUpon"s,"HasExternalReference"s,"OfPerson"s,"OfOrganization"s,"ContainedInStructure"s,"HasExternalReferences"s,"ApprovedObjects"s,"ApprovedResources"s,"IsRelatedWith"s,"Relates"s,"ClassificationForObjects"s,"HasReferences"s,"ClassificationRefForObjects"s,"PropertiesForConstraint"s,"IsDefinedBy"s,"Declares"s,"Controls"s,"HasCoordinateOperation"s,"CoversSpaces"s,"CoversElements"s,"AssignedToFlowElement"s,"HasPorts"s,"HasControlElements"s,"DocumentInfoForObjects"s,"HasDocumentReferences"s,"IsPointedTo"s,"IsPointer"s,"DocumentRefForObjects"s,"FillsVoids"s,"ConnectedTo"s,"IsInterferedByElements"s,"InterferesElements"s,"HasProjections"s,"HasOpenings"s,"IsConnectionRealization"s,"ProvidesBoundaries"s,"ConnectedFrom"s,"HasCoverings"s,"ExternalReferenceForResources"s,"BoundedBy"s,"HasTextureMaps"s,"ProjectsElements"s,"VoidsElements"s,"HasSubContexts"s,"PartOfW"s,"PartOfV"s,"PartOfU"s,"HasIntersections"s,"IsGroupedBy"s,"ToFaceSet"s,"LibraryInfoForObjects"s,"HasLibraryReferences"s,"LibraryRefForObjects"s,"HasRepresentation"s,"RelatesTo"s,"ToMaterialConstituentSet"s,"AssociatedTo"s,"ToMaterialLayerSet"s,"ToMaterialProfileSet"s,"IsDeclaredBy"s,"IsTypedBy"s,"HasAssignments"s,"Nests"s,"IsNestedBy"s,"HasContext"s,"IsDecomposedBy"s,"Decomposes"s,"HasAssociations"s,"PlacesObject"s,"HasFillings"s,"IsRelatedBy"s,"Engages"s,"EngagedIn"s,"PartOfComplex"s,"ContainedIn"s,"Positions"s,"IsPredecessorTo"s,"IsSuccessorFrom"s,"OperatesOn"s,"ReferencedBy"s,"PositionedRelativeTo"s,"ReferencedInStructures"s,"ShapeOfProduct"s,"HasShapeAspects"s,"PartOfPset"s,"PropertyForDependance"s,"PropertyDependsOn"s,"HasConstraints"s,"HasApprovals"s,"DefinesType"s,"DefinesOccurrence"s,"Defines"s,"PartOfComplexTemplate"s,"PartOfPsetTemplate"s,"Corresponds"s,"RepresentationMap"s,"LayerAssignments"s,"OfProductRepresentation"s,"RepresentationsInContext"s,"LayerAssignment"s,"StyledByItem"s,"MapUsage"s,"ResourceOf"s,"UsingCurves"s,"OfShapeAspect"s,"ContainsElements"s,"ServicedBySystems"s,"ReferencesElements"s,"AssignedToStructuralItem"s,"ConnectsStructuralMembers"s,"AssignedStructuralActivity"s,"SourceOfResultGroup"s,"LoadGroupFor"s,"ConnectedBy"s,"ResultGroupFor"s,"IsMappedBy"s,"UsedInStyles"s,"ServicesBuildings"s,"ServicesFacilities"s,"HasColours"s,"HasTextures"s,"Types"s,"IFC4X3_RC3"s}; +const std::string strings[] = {"IfcAbsorbedDoseMeasure"s,"IfcAccelerationMeasure"s,"IfcActionRequestTypeEnum"s,"EMAIL"s,"FAX"s,"PHONE"s,"POST"s,"VERBAL"s,"USERDEFINED"s,"NOTDEFINED"s,"IfcActionSourceTypeEnum"s,"DEAD_LOAD_G"s,"COMPLETION_G1"s,"LIVE_LOAD_Q"s,"SNOW_S"s,"WIND_W"s,"PRESTRESSING_P"s,"SETTLEMENT_U"s,"TEMPERATURE_T"s,"EARTHQUAKE_E"s,"FIRE"s,"IMPULSE"s,"IMPACT"s,"TRANSPORT"s,"ERECTION"s,"PROPPING"s,"SYSTEM_IMPERFECTION"s,"SHRINKAGE"s,"CREEP"s,"LACK_OF_FIT"s,"BUOYANCY"s,"ICE"s,"CURRENT"s,"WAVE"s,"RAIN"s,"BRAKES"s,"IfcActionTypeEnum"s,"PERMANENT_G"s,"VARIABLE_Q"s,"EXTRAORDINARY_A"s,"IfcActuatorTypeEnum"s,"ELECTRICACTUATOR"s,"HANDOPERATEDACTUATOR"s,"HYDRAULICACTUATOR"s,"PNEUMATICACTUATOR"s,"THERMOSTATICACTUATOR"s,"IfcAddressTypeEnum"s,"OFFICE"s,"SITE"s,"HOME"s,"DISTRIBUTIONPOINT"s,"IfcAirTerminalBoxTypeEnum"s,"CONSTANTFLOW"s,"VARIABLEFLOWPRESSUREDEPENDANT"s,"VARIABLEFLOWPRESSUREINDEPENDANT"s,"IfcAirTerminalTypeEnum"s,"DIFFUSER"s,"GRILLE"s,"LOUVRE"s,"REGISTER"s,"IfcAirToAirHeatRecoveryTypeEnum"s,"FIXEDPLATECOUNTERFLOWEXCHANGER"s,"FIXEDPLATECROSSFLOWEXCHANGER"s,"FIXEDPLATEPARALLELFLOWEXCHANGER"s,"ROTARYWHEEL"s,"RUNAROUNDCOILLOOP"s,"HEATPIPE"s,"TWINTOWERENTHALPYRECOVERYLOOPS"s,"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"s,"THERMOSIPHONCOILTYPEHEATEXCHANGERS"s,"IfcAlarmTypeEnum"s,"BELL"s,"BREAKGLASSBUTTON"s,"LIGHT"s,"MANUALPULLBOX"s,"SIREN"s,"WHISTLE"s,"RAILWAYCROCODILE"s,"RAILWAYDETONATOR"s,"IfcAlignmentCantSegmentTypeEnum"s,"CONSTANTCANT"s,"LINEARTRANSITION"s,"BIQUADRATICPARABOLA"s,"BLOSSCURVE"s,"COSINECURVE"s,"SINECURVE"s,"VIENNESEBEND"s,"IfcAlignmentHorizontalSegmentTypeEnum"s,"LINE"s,"CIRCULARARC"s,"CLOTHOID"s,"CUBIC"s,"CUBICSPIRAL"s,"IfcAlignmentTypeEnum"s,"IfcAlignmentVerticalSegmentTypeEnum"s,"CONSTANTGRADIENT"s,"PARABOLICARC"s,"IfcAmountOfSubstanceMeasure"s,"IfcAnalysisModelTypeEnum"s,"IN_PLANE_LOADING_2D"s,"OUT_PLANE_LOADING_2D"s,"LOADING_3D"s,"IfcAnalysisTheoryTypeEnum"s,"FIRST_ORDER_THEORY"s,"SECOND_ORDER_THEORY"s,"THIRD_ORDER_THEORY"s,"FULL_NONLINEAR_THEORY"s,"IfcAngularVelocityMeasure"s,"IfcAnnotationTypeEnum"s,"ASSUMEDPOINT"s,"ASBUILTAREA"s,"ASBUILTLINE"s,"NON_PHYSICAL_SIGNAL"s,"ASSUMEDLINE"s,"WIDTHEVENT"s,"ASSUMEDAREA"s,"SUPERELEVATIONEVENT"s,"ASBUILTPOINT"s,"IfcAreaDensityMeasure"s,"IfcAreaMeasure"s,"IfcArithmeticOperatorEnum"s,"ADD"s,"DIVIDE"s,"MULTIPLY"s,"SUBTRACT"s,"IfcAssemblyPlaceEnum"s,"FACTORY"s,"IfcAudioVisualApplianceTypeEnum"s,"AMPLIFIER"s,"CAMERA"s,"DISPLAY"s,"MICROPHONE"s,"PLAYER"s,"PROJECTOR"s,"RECEIVER"s,"SPEAKER"s,"SWITCHER"s,"TELEPHONE"s,"TUNER"s,"RAILWAY_COMMUNICATION_TERMINAL"s,"IfcBSplineCurveForm"s,"POLYLINE_FORM"s,"CIRCULAR_ARC"s,"ELLIPTIC_ARC"s,"PARABOLIC_ARC"s,"HYPERBOLIC_ARC"s,"UNSPECIFIED"s,"IfcBSplineSurfaceForm"s,"PLANE_SURF"s,"CYLINDRICAL_SURF"s,"CONICAL_SURF"s,"SPHERICAL_SURF"s,"TOROIDAL_SURF"s,"SURF_OF_REVOLUTION"s,"RULED_SURF"s,"GENERALISED_CONE"s,"QUADRIC_SURF"s,"SURF_OF_LINEAR_EXTRUSION"s,"IfcBeamTypeEnum"s,"BEAM"s,"JOIST"s,"HOLLOWCORE"s,"LINTEL"s,"SPANDREL"s,"T_BEAM"s,"GIRDER_SEGMENT"s,"DIAPHRAGM"s,"PIERCAP"s,"HATSTONE"s,"CORNICE"s,"EDGEBEAM"s,"IfcBearingTypeDisplacementEnum"s,"FIXED_MOVEMENT"s,"GUIDED_LONGITUDINAL"s,"GUIDED_TRANSVERSAL"s,"FREE_MOVEMENT"s,"IfcBearingTypeEnum"s,"CYLINDRICAL"s,"SPHERICAL"s,"ELASTOMERIC"s,"POT"s,"GUIDE"s,"ROCKER"s,"ROLLER"s,"DISK"s,"IfcBenchmarkEnum"s,"GREATERTHAN"s,"GREATERTHANOREQUALTO"s,"LESSTHAN"s,"LESSTHANOREQUALTO"s,"EQUALTO"s,"NOTEQUALTO"s,"INCLUDES"s,"NOTINCLUDES"s,"INCLUDEDIN"s,"NOTINCLUDEDIN"s,"IfcBinary"s,"IfcBoilerTypeEnum"s,"WATER"s,"STEAM"s,"IfcBoolean"s,"IfcBooleanOperator"s,"UNION"s,"INTERSECTION"s,"DIFFERENCE"s,"IfcBridgePartTypeEnum"s,"ABUTMENT"s,"DECK"s,"DECK_SEGMENT"s,"FOUNDATION"s,"PIER"s,"PIER_SEGMENT"s,"PYLON"s,"SUBSTRUCTURE"s,"SUPERSTRUCTURE"s,"SURFACESTRUCTURE"s,"IfcBridgeTypeEnum"s,"ARCHED"s,"CABLE_STAYED"s,"CANTILEVER"s,"CULVERT"s,"FRAMEWORK"s,"GIRDER"s,"SUSPENSION"s,"TRUSS"s,"IfcBuildingElementPartTypeEnum"s,"INSULATION"s,"PRECASTPANEL"s,"APRON"s,"ARMOURUNIT"s,"SAFETYCAGE"s,"IfcBuildingElementProxyTypeEnum"s,"COMPLEX"s,"ELEMENT"s,"PARTIAL"s,"PROVISIONFORVOID"s,"PROVISIONFORSPACE"s,"IfcBuildingSystemTypeEnum"s,"FENESTRATION"s,"LOADBEARING"s,"OUTERSHELL"s,"SHADING"s,"REINFORCING"s,"PRESTRESSING"s,"EROSIONPREVENTION"s,"IfcBuiltSystemTypeEnum"s,"MOORING"s,"TRACKCIRCUIT"s,"MOORINGSYSTEM"s,"IfcBurnerTypeEnum"s,"IfcCableCarrierFittingTypeEnum"s,"BEND"s,"CROSS"s,"REDUCER"s,"TEE"s,"IfcCableCarrierSegmentTypeEnum"s,"CABLELADDERSEGMENT"s,"CABLETRAYSEGMENT"s,"CABLETRUNKINGSEGMENT"s,"CONDUITSEGMENT"s,"CABLEBRACKET"s,"CATENARYWIRE"s,"DROPPER"s,"IfcCableFittingTypeEnum"s,"CONNECTOR"s,"ENTRY"s,"EXIT"s,"JUNCTION"s,"TRANSITION"s,"FANOUT"s,"IfcCableSegmentTypeEnum"s,"BUSBARSEGMENT"s,"CABLESEGMENT"s,"CONDUCTORSEGMENT"s,"CORESEGMENT"s,"CONTACTWIRESEGMENT"s,"FIBERSEGMENT"s,"FIBERTUBE"s,"OPTICALCABLESEGMENT"s,"STITCHWIRE"s,"WIREPAIRSEGMENT"s,"IfcCaissonFoundationTypeEnum"s,"WELL"s,"CAISSON"s,"IfcCardinalPointReference"s,"IfcChangeActionEnum"s,"NOCHANGE"s,"MODIFIED"s,"ADDED"s,"DELETED"s,"IfcChillerTypeEnum"s,"AIRCOOLED"s,"WATERCOOLED"s,"HEATRECOVERY"s,"IfcChimneyTypeEnum"s,"IfcCoilTypeEnum"s,"DXCOOLINGCOIL"s,"ELECTRICHEATINGCOIL"s,"GASHEATINGCOIL"s,"HYDRONICCOIL"s,"STEAMHEATINGCOIL"s,"WATERCOOLINGCOIL"s,"WATERHEATINGCOIL"s,"IfcColumnTypeEnum"s,"COLUMN"s,"PILASTER"s,"PIERSTEM"s,"PIERSTEM_SEGMENT"s,"STANDCOLUMN"s,"IfcCommunicationsApplianceTypeEnum"s,"ANTENNA"s,"COMPUTER"s,"GATEWAY"s,"MODEM"s,"NETWORKAPPLIANCE"s,"NETWORKBRIDGE"s,"NETWORKHUB"s,"PRINTER"s,"REPEATER"s,"ROUTER"s,"SCANNER"s,"AUTOMATON"s,"INTELLIGENT_PERIPHERAL"s,"IP_NETWORK_EQUIPMENT"s,"OPTICAL_NETWORK_UNIT"s,"TELECOMMAND"s,"TELEPHONYEXCHANGE"s,"TRANSITIONCOMPONENT"s,"TRANSPONDER"s,"TRANSPORTEQUIPMENT"s,"IfcComplexNumber"s,"IfcComplexPropertyTemplateTypeEnum"s,"P_COMPLEX"s,"Q_COMPLEX"s,"IfcCompoundPlaneAngleMeasure"s,"IfcCompressorTypeEnum"s,"DYNAMIC"s,"RECIPROCATING"s,"ROTARY"s,"SCROLL"s,"TROCHOIDAL"s,"SINGLESTAGE"s,"BOOSTER"s,"OPENTYPE"s,"HERMETIC"s,"SEMIHERMETIC"s,"WELDEDSHELLHERMETIC"s,"ROLLINGPISTON"s,"ROTARYVANE"s,"SINGLESCREW"s,"TWINSCREW"s,"IfcCondenserTypeEnum"s,"EVAPORATIVECOOLED"s,"WATERCOOLEDBRAZEDPLATE"s,"WATERCOOLEDSHELLCOIL"s,"WATERCOOLEDSHELLTUBE"s,"WATERCOOLEDTUBEINTUBE"s,"IfcConnectionTypeEnum"s,"ATPATH"s,"ATSTART"s,"ATEND"s,"IfcConstraintEnum"s,"HARD"s,"SOFT"s,"ADVISORY"s,"IfcConstructionEquipmentResourceTypeEnum"s,"DEMOLISHING"s,"EARTHMOVING"s,"ERECTING"s,"HEATING"s,"LIGHTING"s,"PAVING"s,"PUMPING"s,"TRANSPORTING"s,"IfcConstructionMaterialResourceTypeEnum"s,"AGGREGATES"s,"CONCRETE"s,"DRYWALL"s,"FUEL"s,"GYPSUM"s,"MASONRY"s,"METAL"s,"PLASTIC"s,"WOOD"s,"IfcConstructionProductResourceTypeEnum"s,"ASSEMBLY"s,"FORMWORK"s,"IfcContextDependentMeasure"s,"IfcControllerTypeEnum"s,"FLOATING"s,"PROGRAMMABLE"s,"PROPORTIONAL"s,"MULTIPOSITION"s,"TWOPOSITION"s,"IfcConveyorSegmentTypeEnum"s,"CHUTECONVEYOR"s,"BELTCONVEYOR"s,"SCREWCONVEYOR"s,"BUCKETCONVEYOR"s,"IfcCooledBeamTypeEnum"s,"ACTIVE"s,"PASSIVE"s,"IfcCoolingTowerTypeEnum"s,"NATURALDRAFT"s,"MECHANICALINDUCEDDRAFT"s,"MECHANICALFORCEDDRAFT"s,"IfcCostItemTypeEnum"s,"IfcCostScheduleTypeEnum"s,"BUDGET"s,"COSTPLAN"s,"ESTIMATE"s,"TENDER"s,"PRICEDBILLOFQUANTITIES"s,"UNPRICEDBILLOFQUANTITIES"s,"SCHEDULEOFRATES"s,"IfcCountMeasure"s,"IfcCourseTypeEnum"s,"ARMOUR"s,"FILTER"s,"BALLASTBED"s,"CORE"s,"PAVEMENT"s,"PROTECTION"s,"IfcCoveringTypeEnum"s,"CEILING"s,"FLOORING"s,"CLADDING"s,"ROOFING"s,"MOLDING"s,"SKIRTINGBOARD"s,"MEMBRANE"s,"SLEEVING"s,"WRAPPING"s,"COPING"s,"IfcCrewResourceTypeEnum"s,"IfcCurtainWallTypeEnum"s,"IfcCurvatureMeasure"s,"IfcCurveInterpolationEnum"s,"LINEAR"s,"LOG_LINEAR"s,"LOG_LOG"s,"IfcDamperTypeEnum"s,"BACKDRAFTDAMPER"s,"BALANCINGDAMPER"s,"BLASTDAMPER"s,"CONTROLDAMPER"s,"FIREDAMPER"s,"FIRESMOKEDAMPER"s,"FUMEHOODEXHAUST"s,"GRAVITYDAMPER"s,"GRAVITYRELIEFDAMPER"s,"RELIEFDAMPER"s,"SMOKEDAMPER"s,"IfcDataOriginEnum"s,"MEASURED"s,"PREDICTED"s,"SIMULATED"s,"IfcDate"s,"IfcDateTime"s,"IfcDayInMonthNumber"s,"IfcDayInWeekNumber"s,"IfcDerivedUnitEnum"s,"ANGULARVELOCITYUNIT"s,"AREADENSITYUNIT"s,"COMPOUNDPLANEANGLEUNIT"s,"DYNAMICVISCOSITYUNIT"s,"HEATFLUXDENSITYUNIT"s,"INTEGERCOUNTRATEUNIT"s,"ISOTHERMALMOISTURECAPACITYUNIT"s,"KINEMATICVISCOSITYUNIT"s,"LINEARVELOCITYUNIT"s,"MASSDENSITYUNIT"s,"MASSFLOWRATEUNIT"s,"MOISTUREDIFFUSIVITYUNIT"s,"MOLECULARWEIGHTUNIT"s,"SPECIFICHEATCAPACITYUNIT"s,"THERMALADMITTANCEUNIT"s,"THERMALCONDUCTANCEUNIT"s,"THERMALRESISTANCEUNIT"s,"THERMALTRANSMITTANCEUNIT"s,"VAPORPERMEABILITYUNIT"s,"VOLUMETRICFLOWRATEUNIT"s,"ROTATIONALFREQUENCYUNIT"s,"TORQUEUNIT"s,"MOMENTOFINERTIAUNIT"s,"LINEARMOMENTUNIT"s,"LINEARFORCEUNIT"s,"PLANARFORCEUNIT"s,"MODULUSOFELASTICITYUNIT"s,"SHEARMODULUSUNIT"s,"LINEARSTIFFNESSUNIT"s,"ROTATIONALSTIFFNESSUNIT"s,"MODULUSOFSUBGRADEREACTIONUNIT"s,"ACCELERATIONUNIT"s,"CURVATUREUNIT"s,"HEATINGVALUEUNIT"s,"IONCONCENTRATIONUNIT"s,"LUMINOUSINTENSITYDISTRIBUTIONUNIT"s,"MASSPERLENGTHUNIT"s,"MODULUSOFLINEARSUBGRADEREACTIONUNIT"s,"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"s,"PHUNIT"s,"ROTATIONALMASSUNIT"s,"SECTIONAREAINTEGRALUNIT"s,"SECTIONMODULUSUNIT"s,"SOUNDPOWERLEVELUNIT"s,"SOUNDPOWERUNIT"s,"SOUNDPRESSURELEVELUNIT"s,"SOUNDPRESSUREUNIT"s,"TEMPERATUREGRADIENTUNIT"s,"TEMPERATURERATEOFCHANGEUNIT"s,"THERMALEXPANSIONCOEFFICIENTUNIT"s,"WARPINGCONSTANTUNIT"s,"WARPINGMOMENTUNIT"s,"IfcDescriptiveMeasure"s,"IfcDimensionCount"s,"IfcDirectionSenseEnum"s,"POSITIVE"s,"NEGATIVE"s,"IfcDiscreteAccessoryTypeEnum"s,"ANCHORPLATE"s,"BRACKET"s,"SHOE"s,"EXPANSION_JOINT_DEVICE"s,"CABLEARRANGER"s,"INSULATOR"s,"LOCK"s,"TENSIONINGEQUIPMENT"s,"RAILPAD"s,"SLIDINGCHAIR"s,"RAIL_LUBRICATION"s,"PANEL_STRENGTHENING"s,"RAILBRACE"s,"ELASTIC_CUSHION"s,"SOUNDABSORPTION"s,"POINTMACHINEMOUNTINGDEVICE"s,"POINT_MACHINE_LOCKING_DEVICE"s,"RAIL_MECHANICAL_EQUIPMENT"s,"BIRDPROTECTION"s,"IfcDistributionBoardTypeEnum"s,"SWITCHBOARD"s,"CONSUMERUNIT"s,"MOTORCONTROLCENTRE"s,"DISTRIBUTIONFRAME"s,"DISTRIBUTIONBOARD"s,"IfcDistributionChamberElementTypeEnum"s,"FORMEDDUCT"s,"INSPECTIONCHAMBER"s,"INSPECTIONPIT"s,"MANHOLE"s,"METERCHAMBER"s,"SUMP"s,"TRENCH"s,"VALVECHAMBER"s,"IfcDistributionPortTypeEnum"s,"CABLE"s,"CABLECARRIER"s,"DUCT"s,"PIPE"s,"WIRELESS"s,"IfcDistributionSystemEnum"s,"AIRCONDITIONING"s,"AUDIOVISUAL"s,"CHEMICAL"s,"CHILLEDWATER"s,"COMMUNICATION"s,"COMPRESSEDAIR"s,"CONDENSERWATER"s,"CONTROL"s,"CONVEYING"s,"DATA"s,"DISPOSAL"s,"DOMESTICCOLDWATER"s,"DOMESTICHOTWATER"s,"DRAINAGE"s,"EARTHING"s,"ELECTRICAL"s,"ELECTROACOUSTIC"s,"EXHAUST"s,"FIREPROTECTION"s,"GAS"s,"HAZARDOUS"s,"LIGHTNINGPROTECTION"s,"MUNICIPALSOLIDWASTE"s,"OIL"s,"OPERATIONAL"s,"POWERGENERATION"s,"RAINWATER"s,"REFRIGERATION"s,"SECURITY"s,"SEWAGE"s,"SIGNAL"s,"STORMWATER"s,"TV"s,"VACUUM"s,"VENT"s,"VENTILATION"s,"WASTEWATER"s,"WATERSUPPLY"s,"CATENARY_SYSTEM"s,"OVERHEAD_CONTACTLINE_SYSTEM"s,"RETURN_CIRCUIT"s,"IfcDocumentConfidentialityEnum"s,"PUBLIC"s,"RESTRICTED"s,"CONFIDENTIAL"s,"PERSONAL"s,"IfcDocumentStatusEnum"s,"DRAFT"s,"FINALDRAFT"s,"FINAL"s,"REVISION"s,"IfcDoorPanelOperationEnum"s,"SWINGING"s,"DOUBLE_ACTING"s,"SLIDING"s,"FOLDING"s,"REVOLVING"s,"ROLLINGUP"s,"FIXEDPANEL"s,"IfcDoorPanelPositionEnum"s,"LEFT"s,"MIDDLE"s,"RIGHT"s,"IfcDoorStyleConstructionEnum"s,"ALUMINIUM"s,"HIGH_GRADE_STEEL"s,"STEEL"s,"ALUMINIUM_WOOD"s,"ALUMINIUM_PLASTIC"s,"IfcDoorStyleOperationEnum"s,"SINGLE_SWING_LEFT"s,"SINGLE_SWING_RIGHT"s,"DOUBLE_DOOR_SINGLE_SWING"s,"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"s,"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"s,"DOUBLE_SWING_LEFT"s,"DOUBLE_SWING_RIGHT"s,"DOUBLE_DOOR_DOUBLE_SWING"s,"SLIDING_TO_LEFT"s,"SLIDING_TO_RIGHT"s,"DOUBLE_DOOR_SLIDING"s,"FOLDING_TO_LEFT"s,"FOLDING_TO_RIGHT"s,"DOUBLE_DOOR_FOLDING"s,"IfcDoorTypeEnum"s,"DOOR"s,"GATE"s,"TRAPDOOR"s,"BOOM_BARRIER"s,"TURNSTILE"s,"IfcDoorTypeOperationEnum"s,"DOUBLE_PANEL_SINGLE_SWING"s,"DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT"s,"DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT"s,"DOUBLE_PANEL_DOUBLE_SWING"s,"DOUBLE_PANEL_SLIDING"s,"DOUBLE_PANEL_FOLDING"s,"REVOLVING_HORIZONTAL"s,"SWING_FIXED_LEFT"s,"SWING_FIXED_RIGHT"s,"DOUBLE_PANEL_LIFTING_VERTICAL"s,"LIFTING_HORIZONTAL"s,"LIFTING_VERTICAL_LEFT"s,"LIFTING_VERTICAL_RIGHT"s,"REVOLVING_VERTICAL"s,"IfcDoseEquivalentMeasure"s,"IfcDuctFittingTypeEnum"s,"OBSTRUCTION"s,"IfcDuctSegmentTypeEnum"s,"RIGIDSEGMENT"s,"FLEXIBLESEGMENT"s,"IfcDuctSilencerTypeEnum"s,"FLATOVAL"s,"RECTANGULAR"s,"ROUND"s,"IfcDuration"s,"IfcDynamicViscosityMeasure"s,"IfcEarthworksCutTypeEnum"s,"DREDGING"s,"EXCAVATION"s,"OVEREXCAVATION"s,"TOPSOILREMOVAL"s,"STEPEXCAVATION"s,"PAVEMENTMILLING"s,"CUT"s,"BASE_EXCAVATION"s,"IfcEarthworksFillTypeEnum"s,"BACKFILL"s,"COUNTERWEIGHT"s,"SUBGRADE"s,"EMBANKMENT"s,"TRANSITIONSECTION"s,"SUBGRADEBED"s,"SLOPEFILL"s,"IfcElectricApplianceTypeEnum"s,"DISHWASHER"s,"ELECTRICCOOKER"s,"FREESTANDINGELECTRICHEATER"s,"FREESTANDINGFAN"s,"FREESTANDINGWATERHEATER"s,"FREESTANDINGWATERCOOLER"s,"FREEZER"s,"FRIDGE_FREEZER"s,"HANDDRYER"s,"KITCHENMACHINE"s,"MICROWAVE"s,"PHOTOCOPIER"s,"REFRIGERATOR"s,"TUMBLEDRYER"s,"VENDINGMACHINE"s,"WASHINGMACHINE"s,"IfcElectricCapacitanceMeasure"s,"IfcElectricChargeMeasure"s,"IfcElectricConductanceMeasure"s,"IfcElectricCurrentMeasure"s,"IfcElectricDistributionBoardTypeEnum"s,"IfcElectricFlowStorageDeviceTypeEnum"s,"BATTERY"s,"CAPACITORBANK"s,"HARMONICFILTER"s,"INDUCTORBANK"s,"UPS"s,"CAPACITOR"s,"COMPENSATOR"s,"INDUCTOR"s,"RECHARGER"s,"IfcElectricFlowTreatmentDeviceTypeEnum"s,"ELECTRONICFILTER"s,"IfcElectricGeneratorTypeEnum"s,"CHP"s,"ENGINEGENERATOR"s,"STANDALONE"s,"IfcElectricMotorTypeEnum"s,"DC"s,"INDUCTION"s,"POLYPHASE"s,"RELUCTANCESYNCHRONOUS"s,"SYNCHRONOUS"s,"IfcElectricResistanceMeasure"s,"IfcElectricTimeControlTypeEnum"s,"TIMECLOCK"s,"TIMEDELAY"s,"RELAY"s,"IfcElectricVoltageMeasure"s,"IfcElementAssemblyTypeEnum"s,"ACCESSORY_ASSEMBLY"s,"ARCH"s,"BEAM_GRID"s,"BRACED_FRAME"s,"REINFORCEMENT_UNIT"s,"RIGID_FRAME"s,"SLAB_FIELD"s,"CROSS_BRACING"s,"MAST"s,"SIGNALASSEMBLY"s,"GRID"s,"SHELTER"s,"SUPPORTINGASSEMBLY"s,"SUSPENSIONASSEMBLY"s,"TRACTION_SWITCHING_ASSEMBLY"s,"TRACKPANEL"s,"TURNOUTPANEL"s,"DILATATIONPANEL"s,"RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY"s,"ENTRANCEWORKS"s,"SUMPBUSTER"s,"TRAFFIC_CALMING_DEVICE"s,"IfcElementCompositionEnum"s,"IfcEnergyMeasure"s,"IfcEngineTypeEnum"s,"EXTERNALCOMBUSTION"s,"INTERNALCOMBUSTION"s,"IfcEvaporativeCoolerTypeEnum"s,"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"s,"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"s,"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"s,"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"s,"DIRECTEVAPORATIVEAIRWASHER"s,"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"s,"INDIRECTEVAPORATIVEWETCOIL"s,"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"s,"INDIRECTDIRECTCOMBINATION"s,"IfcEvaporatorTypeEnum"s,"DIRECTEXPANSION"s,"DIRECTEXPANSIONSHELLANDTUBE"s,"DIRECTEXPANSIONTUBEINTUBE"s,"DIRECTEXPANSIONBRAZEDPLATE"s,"FLOODEDSHELLANDTUBE"s,"SHELLANDCOIL"s,"IfcEventTriggerTypeEnum"s,"EVENTRULE"s,"EVENTMESSAGE"s,"EVENTTIME"s,"EVENTCOMPLEX"s,"IfcEventTypeEnum"s,"STARTEVENT"s,"ENDEVENT"s,"INTERMEDIATEEVENT"s,"IfcExternalSpatialElementTypeEnum"s,"EXTERNAL"s,"EXTERNAL_EARTH"s,"EXTERNAL_WATER"s,"EXTERNAL_FIRE"s,"IfcFacilityPartCommonTypeEnum"s,"SEGMENT"s,"ABOVEGROUND"s,"LEVELCROSSING"s,"BELOWGROUND"s,"TERMINAL"s,"IfcFacilityUsageEnum"s,"LATERAL"s,"REGION"s,"VERTICAL"s,"LONGITUDINAL"s,"IfcFanTypeEnum"s,"CENTRIFUGALFORWARDCURVED"s,"CENTRIFUGALRADIAL"s,"CENTRIFUGALBACKWARDINCLINEDCURVED"s,"CENTRIFUGALAIRFOIL"s,"TUBEAXIAL"s,"VANEAXIAL"s,"PROPELLORAXIAL"s,"IfcFastenerTypeEnum"s,"GLUE"s,"MORTAR"s,"WELD"s,"IfcFilterTypeEnum"s,"AIRPARTICLEFILTER"s,"COMPRESSEDAIRFILTER"s,"ODORFILTER"s,"OILFILTER"s,"STRAINER"s,"WATERFILTER"s,"IfcFireSuppressionTerminalTypeEnum"s,"BREECHINGINLET"s,"FIREHYDRANT"s,"HOSEREEL"s,"SPRINKLER"s,"SPRINKLERDEFLECTOR"s,"FIREMONITOR"s,"IfcFlowDirectionEnum"s,"SOURCE"s,"SINK"s,"SOURCEANDSINK"s,"IfcFlowInstrumentTypeEnum"s,"PRESSUREGAUGE"s,"THERMOMETER"s,"AMMETER"s,"FREQUENCYMETER"s,"POWERFACTORMETER"s,"PHASEANGLEMETER"s,"VOLTMETER_PEAK"s,"VOLTMETER_RMS"s,"COMBINED"s,"VOLTMETER"s,"IfcFlowMeterTypeEnum"s,"ENERGYMETER"s,"GASMETER"s,"OILMETER"s,"WATERMETER"s,"IfcFontStyle"s,"IfcFontVariant"s,"IfcFontWeight"s,"IfcFootingTypeEnum"s,"CAISSON_FOUNDATION"s,"FOOTING_BEAM"s,"PAD_FOOTING"s,"PILE_CAP"s,"STRIP_FOOTING"s,"IfcForceMeasure"s,"IfcFrequencyMeasure"s,"IfcFurnitureTypeEnum"s,"CHAIR"s,"TABLE"s,"DESK"s,"BED"s,"FILECABINET"s,"SHELF"s,"SOFA"s,"TECHNICALCABINET"s,"IfcGeographicElementTypeEnum"s,"TERRAIN"s,"SOIL_BORING_POINT"s,"IfcGeometricProjectionEnum"s,"GRAPH_VIEW"s,"SKETCH_VIEW"s,"MODEL_VIEW"s,"PLAN_VIEW"s,"REFLECTED_PLAN_VIEW"s,"SECTION_VIEW"s,"ELEVATION_VIEW"s,"IfcGlobalOrLocalEnum"s,"GLOBAL_COORDS"s,"LOCAL_COORDS"s,"IfcGloballyUniqueId"s,"IfcGridTypeEnum"s,"RADIAL"s,"TRIANGULAR"s,"IRREGULAR"s,"IfcHeatExchangerTypeEnum"s,"PLATE"s,"SHELLANDTUBE"s,"TURNOUTHEATING"s,"IfcHeatFluxDensityMeasure"s,"IfcHeatingValueMeasure"s,"IfcHumidifierTypeEnum"s,"STEAMINJECTION"s,"ADIABATICAIRWASHER"s,"ADIABATICPAN"s,"ADIABATICWETTEDELEMENT"s,"ADIABATICATOMIZING"s,"ADIABATICULTRASONIC"s,"ADIABATICRIGIDMEDIA"s,"ADIABATICCOMPRESSEDAIRNOZZLE"s,"ASSISTEDELECTRIC"s,"ASSISTEDNATURALGAS"s,"ASSISTEDPROPANE"s,"ASSISTEDBUTANE"s,"ASSISTEDSTEAM"s,"IfcIdentifier"s,"IfcIlluminanceMeasure"s,"IfcImpactProtectionDeviceTypeEnum"s,"CRASHCUSHION"s,"DAMPINGSYSTEM"s,"FENDER"s,"BUMPER"s,"IfcInductanceMeasure"s,"IfcInteger"s,"IfcIntegerCountRateMeasure"s,"IfcInterceptorTypeEnum"s,"CYCLONIC"s,"GREASE"s,"PETROL"s,"IfcInternalOrExternalEnum"s,"INTERNAL"s,"IfcInventoryTypeEnum"s,"ASSETINVENTORY"s,"SPACEINVENTORY"s,"FURNITUREINVENTORY"s,"IfcIonConcentrationMeasure"s,"IfcIsothermalMoistureCapacityMeasure"s,"IfcJunctionBoxTypeEnum"s,"POWER"s,"IfcKinematicViscosityMeasure"s,"IfcKnotType"s,"UNIFORM_KNOTS"s,"QUASI_UNIFORM_KNOTS"s,"PIECEWISE_BEZIER_KNOTS"s,"IfcLabel"s,"IfcLaborResourceTypeEnum"s,"ADMINISTRATION"s,"CARPENTRY"s,"CLEANING"s,"ELECTRIC"s,"FINISHING"s,"GENERAL"s,"HVAC"s,"LANDSCAPING"s,"PAINTING"s,"PLUMBING"s,"SITEGRADING"s,"STEELWORK"s,"SURVEYING"s,"IfcLampTypeEnum"s,"COMPACTFLUORESCENT"s,"FLUORESCENT"s,"HALOGEN"s,"HIGHPRESSUREMERCURY"s,"HIGHPRESSURESODIUM"s,"LED"s,"METALHALIDE"s,"OLED"s,"TUNGSTENFILAMENT"s,"IfcLanguageId"s,"IfcLayerSetDirectionEnum"s,"AXIS1"s,"AXIS2"s,"AXIS3"s,"IfcLengthMeasure"s,"IfcLightDistributionCurveEnum"s,"TYPE_A"s,"TYPE_B"s,"TYPE_C"s,"IfcLightEmissionSourceEnum"s,"LIGHTEMITTINGDIODE"s,"LOWPRESSURESODIUM"s,"LOWVOLTAGEHALOGEN"s,"MAINVOLTAGEHALOGEN"s,"IfcLightFixtureTypeEnum"s,"POINTSOURCE"s,"DIRECTIONSOURCE"s,"SECURITYLIGHTING"s,"IfcLinearForceMeasure"s,"IfcLinearMomentMeasure"s,"IfcLinearStiffnessMeasure"s,"IfcLinearVelocityMeasure"s,"IfcLiquidTerminalTypeEnum"s,"LOADINGARM"s,"IfcLoadGroupTypeEnum"s,"LOAD_GROUP"s,"LOAD_CASE"s,"LOAD_COMBINATION"s,"IfcLogical"s,"IfcLogicalOperatorEnum"s,"LOGICALAND"s,"LOGICALOR"s,"LOGICALXOR"s,"LOGICALNOTAND"s,"LOGICALNOTOR"s,"IfcLuminousFluxMeasure"s,"IfcLuminousIntensityDistributionMeasure"s,"IfcLuminousIntensityMeasure"s,"IfcMagneticFluxDensityMeasure"s,"IfcMagneticFluxMeasure"s,"IfcMarineFacilityTypeEnum"s,"CANAL"s,"WATERWAYSHIPLIFT"s,"LAUNCHRECOVERY"s,"MARINEDEFENCE"s,"HYDROLIFT"s,"SHIPYARD"s,"SHIPLIFT"s,"PORT"s,"QUAY"s,"FLOATINGDOCK"s,"NAVIGATIONALCHANNEL"s,"BREAKWATER"s,"DRYDOCK"s,"JETTY"s,"SHIPLOCK"s,"BARRIERBEACH"s,"SLIPWAY"s,"WATERWAY"s,"IfcMarinePartTypeEnum"s,"CREST"s,"MANUFACTURING"s,"LOWWATERLINE"s,"WATERFIELD"s,"CILL_LEVEL"s,"BERTHINGSTRUCTURE"s,"COPELEVEL"s,"CHAMBER"s,"STORAGE"s,"APPROACHCHANNEL"s,"VEHICLESERVICING"s,"SHIPTRANSFER"s,"GATEHEAD"s,"GUDINGSTRUCTURE"s,"BELOWWATERLINE"s,"WEATHERSIDE"s,"LANDFIELD"s,"LEEWARDSIDE"s,"ABOVEWATERLINE"s,"ANCHORAGE"s,"NAVIGATIONALAREA"s,"HIGHWATERLINE"s,"IfcMassDensityMeasure"s,"IfcMassFlowRateMeasure"s,"IfcMassMeasure"s,"IfcMassPerLengthMeasure"s,"IfcMechanicalFastenerTypeEnum"s,"ANCHORBOLT"s,"BOLT"s,"DOWEL"s,"NAIL"s,"NAILPLATE"s,"RIVET"s,"SCREW"s,"SHEARCONNECTOR"s,"STAPLE"s,"STUDSHEARCONNECTOR"s,"COUPLER"s,"RAILJOINT"s,"RAILFASTENING"s,"CHAIN"s,"ROPE"s,"IfcMedicalDeviceTypeEnum"s,"AIRSTATION"s,"FEEDAIRUNIT"s,"OXYGENGENERATOR"s,"OXYGENPLANT"s,"VACUUMSTATION"s,"IfcMemberTypeEnum"s,"BRACE"s,"CHORD"s,"COLLAR"s,"MEMBER"s,"MULLION"s,"PURLIN"s,"RAFTER"s,"STRINGER"s,"STRUT"s,"STUD"s,"STIFFENING_RIB"s,"ARCH_SEGMENT"s,"SUSPENSION_CABLE"s,"SUSPENDER"s,"STAY_CABLE"s,"STRUCTURALCABLE"s,"TIEBAR"s,"IfcMobileTelecommunicationsApplianceTypeEnum"s,"E_UTRAN_NODE_B"s,"REMOTE_RADIO_UNIT"s,"ACCESSPOINT"s,"BASETRANSCEIVERSTATION"s,"REMOTEUNIT"s,"BASEBANDUNIT"s,"MASTERUNIT"s,"IfcModulusOfElasticityMeasure"s,"IfcModulusOfLinearSubgradeReactionMeasure"s,"IfcModulusOfRotationalSubgradeReactionMeasure"s,"IfcModulusOfRotationalSubgradeReactionSelect"s,"IfcModulusOfSubgradeReactionMeasure"s,"IfcModulusOfSubgradeReactionSelect"s,"IfcModulusOfTranslationalSubgradeReactionSelect"s,"IfcMoistureDiffusivityMeasure"s,"IfcMolecularWeightMeasure"s,"IfcMomentOfInertiaMeasure"s,"IfcMonetaryMeasure"s,"IfcMonthInYearNumber"s,"IfcMooringDeviceTypeEnum"s,"LINETENSIONER"s,"MAGNETICDEVICE"s,"MOORINGHOOKS"s,"VACUUMDEVICE"s,"BOLLARD"s,"IfcMotorConnectionTypeEnum"s,"BELTDRIVE"s,"COUPLING"s,"DIRECTDRIVE"s,"IfcNavigationElementTypeEnum"s,"BEACON"s,"BUOY"s,"IfcNonNegativeLengthMeasure"s,"IfcNumericMeasure"s,"IfcObjectTypeEnum"s,"PRODUCT"s,"PROCESS"s,"RESOURCE"s,"ACTOR"s,"GROUP"s,"PROJECT"s,"IfcObjectiveEnum"s,"CODECOMPLIANCE"s,"CODEWAIVER"s,"DESIGNINTENT"s,"HEALTHANDSAFETY"s,"MERGECONFLICT"s,"MODELVIEW"s,"PARAMETER"s,"REQUIREMENT"s,"SPECIFICATION"s,"TRIGGERCONDITION"s,"IfcOccupantTypeEnum"s,"ASSIGNEE"s,"ASSIGNOR"s,"LESSEE"s,"LESSOR"s,"LETTINGAGENT"s,"OWNER"s,"TENANT"s,"IfcOpeningElementTypeEnum"s,"OPENING"s,"RECESS"s,"IfcOutletTypeEnum"s,"AUDIOVISUALOUTLET"s,"COMMUNICATIONSOUTLET"s,"POWEROUTLET"s,"DATAOUTLET"s,"TELEPHONEOUTLET"s,"IfcPHMeasure"s,"IfcParameterValue"s,"IfcPerformanceHistoryTypeEnum"s,"IfcPermeableCoveringOperationEnum"s,"GRILL"s,"LOUVER"s,"SCREEN"s,"IfcPermitTypeEnum"s,"ACCESS"s,"BUILDING"s,"WORK"s,"IfcPhysicalOrVirtualEnum"s,"PHYSICAL"s,"VIRTUAL"s,"IfcPileConstructionEnum"s,"CAST_IN_PLACE"s,"COMPOSITE"s,"PRECAST_CONCRETE"s,"PREFAB_STEEL"s,"IfcPileTypeEnum"s,"BORED"s,"DRIVEN"s,"JETGROUTING"s,"COHESION"s,"FRICTION"s,"SUPPORT"s,"IfcPipeFittingTypeEnum"s,"IfcPipeSegmentTypeEnum"s,"GUTTER"s,"SPOOL"s,"IfcPlanarForceMeasure"s,"IfcPlaneAngleMeasure"s,"IfcPlateTypeEnum"s,"CURTAIN_PANEL"s,"SHEET"s,"FLANGE_PLATE"s,"WEB_PLATE"s,"STIFFENER_PLATE"s,"GUSSET_PLATE"s,"COVER_PLATE"s,"SPLICE_PLATE"s,"BASE_PLATE"s,"IfcPositiveInteger"s,"IfcPositiveLengthMeasure"s,"IfcPositivePlaneAngleMeasure"s,"IfcPowerMeasure"s,"IfcPreferredSurfaceCurveRepresentation"s,"CURVE3D"s,"PCURVE_S1"s,"PCURVE_S2"s,"IfcPresentableText"s,"IfcPressureMeasure"s,"IfcProcedureTypeEnum"s,"ADVICE_CAUTION"s,"ADVICE_NOTE"s,"ADVICE_WARNING"s,"CALIBRATION"s,"DIAGNOSTIC"s,"SHUTDOWN"s,"STARTUP"s,"IfcProfileTypeEnum"s,"CURVE"s,"AREA"s,"IfcProjectOrderTypeEnum"s,"CHANGEORDER"s,"MAINTENANCEWORKORDER"s,"MOVEORDER"s,"PURCHASEORDER"s,"WORKORDER"s,"IfcProjectedOrTrueLengthEnum"s,"PROJECTED_LENGTH"s,"TRUE_LENGTH"s,"IfcProjectionElementTypeEnum"s,"BLISTER"s,"DEVIATOR"s,"IfcPropertySetTemplateTypeEnum"s,"PSET_TYPEDRIVENONLY"s,"PSET_TYPEDRIVENOVERRIDE"s,"PSET_OCCURRENCEDRIVEN"s,"PSET_PERFORMANCEDRIVEN"s,"QTO_TYPEDRIVENONLY"s,"QTO_TYPEDRIVENOVERRIDE"s,"QTO_OCCURRENCEDRIVEN"s,"IfcProtectiveDeviceTrippingUnitTypeEnum"s,"ELECTRONIC"s,"ELECTROMAGNETIC"s,"RESIDUALCURRENT"s,"THERMAL"s,"IfcProtectiveDeviceTypeEnum"s,"CIRCUITBREAKER"s,"EARTHLEAKAGECIRCUITBREAKER"s,"EARTHINGSWITCH"s,"FUSEDISCONNECTOR"s,"RESIDUALCURRENTCIRCUITBREAKER"s,"RESIDUALCURRENTSWITCH"s,"VARISTOR"s,"ANTI_ARCING_DEVICE"s,"SPARKGAP"s,"VOLTAGELIMITER"s,"IfcPumpTypeEnum"s,"CIRCULATOR"s,"ENDSUCTION"s,"SPLITCASE"s,"SUBMERSIBLEPUMP"s,"SUMPPUMP"s,"VERTICALINLINE"s,"VERTICALTURBINE"s,"IfcRadioActivityMeasure"s,"IfcRailTypeEnum"s,"RACKRAIL"s,"BLADE"s,"GUARDRAIL"s,"STOCKRAIL"s,"CHECKRAIL"s,"RAIL"s,"IfcRailingTypeEnum"s,"HANDRAIL"s,"BALUSTRADE"s,"FENCE"s,"IfcRailwayPartTypeEnum"s,"TRACKSTRUCTURE"s,"TRACKSTRUCTUREPART"s,"LINESIDESTRUCTUREPART"s,"DILATATIONSUPERSTRUCTURE"s,"PLAINTRACKSUPESTRUCTURE"s,"LINESIDESTRUCTURE"s,"TURNOUTSUPERSTRUCTURE"s,"IfcRailwayTypeEnum"s,"IfcRampFlightTypeEnum"s,"STRAIGHT"s,"SPIRAL"s,"IfcRampTypeEnum"s,"STRAIGHT_RUN_RAMP"s,"TWO_STRAIGHT_RUN_RAMP"s,"QUARTER_TURN_RAMP"s,"TWO_QUARTER_TURN_RAMP"s,"HALF_TURN_RAMP"s,"SPIRAL_RAMP"s,"IfcRatioMeasure"s,"IfcReal"s,"IfcRecurrenceTypeEnum"s,"DAILY"s,"WEEKLY"s,"MONTHLY_BY_DAY_OF_MONTH"s,"MONTHLY_BY_POSITION"s,"BY_DAY_COUNT"s,"BY_WEEKDAY_COUNT"s,"YEARLY_BY_DAY_OF_MONTH"s,"YEARLY_BY_POSITION"s,"IfcReferentTypeEnum"s,"KILOPOINT"s,"MILEPOINT"s,"STATION"s,"REFERENCEMARKER"s,"IfcReflectanceMethodEnum"s,"BLINN"s,"FLAT"s,"GLASS"s,"MATT"s,"MIRROR"s,"PHONG"s,"STRAUSS"s,"IfcReinforcedSoilTypeEnum"s,"SURCHARGEPRELOADED"s,"VERTICALLYDRAINED"s,"DYNAMICALLYCOMPACTED"s,"REPLACED"s,"ROLLERCOMPACTED"s,"GROUTED"s,"IfcReinforcingBarRoleEnum"s,"MAIN"s,"SHEAR"s,"LIGATURE"s,"PUNCHING"s,"EDGE"s,"RING"s,"ANCHORING"s,"IfcReinforcingBarSurfaceEnum"s,"PLAIN"s,"TEXTURED"s,"IfcReinforcingBarTypeEnum"s,"SPACEBAR"s,"IfcReinforcingMeshTypeEnum"s,"IfcRoadPartTypeEnum"s,"ROADSIDEPART"s,"BUS_STOP"s,"HARDSHOULDER"s,"PASSINGBAY"s,"ROADWAYPLATEAU"s,"ROADSIDE"s,"REFUGEISLAND"s,"TOLLPLAZA"s,"CENTRALRESERVE"s,"SIDEWALK"s,"PARKINGBAY"s,"RAILWAYCROSSING"s,"PEDESTRIAN_CROSSING"s,"SOFTSHOULDER"s,"BICYCLECROSSING"s,"CENTRALISLAND"s,"SHOULDER"s,"TRAFFICLANE"s,"ROADSEGMENT"s,"ROUNDABOUT"s,"LAYBY"s,"CARRIAGEWAY"s,"TRAFFICISLAND"s,"IfcRoadTypeEnum"s,"IfcRoleEnum"s,"SUPPLIER"s,"MANUFACTURER"s,"CONTRACTOR"s,"SUBCONTRACTOR"s,"ARCHITECT"s,"STRUCTURALENGINEER"s,"COSTENGINEER"s,"CLIENT"s,"BUILDINGOWNER"s,"BUILDINGOPERATOR"s,"MECHANICALENGINEER"s,"ELECTRICALENGINEER"s,"PROJECTMANAGER"s,"FACILITIESMANAGER"s,"CIVILENGINEER"s,"COMMISSIONINGENGINEER"s,"ENGINEER"s,"CONSULTANT"s,"CONSTRUCTIONMANAGER"s,"FIELDCONSTRUCTIONMANAGER"s,"RESELLER"s,"IfcRoofTypeEnum"s,"FLAT_ROOF"s,"SHED_ROOF"s,"GABLE_ROOF"s,"HIP_ROOF"s,"HIPPED_GABLE_ROOF"s,"GAMBREL_ROOF"s,"MANSARD_ROOF"s,"BARREL_ROOF"s,"RAINBOW_ROOF"s,"BUTTERFLY_ROOF"s,"PAVILION_ROOF"s,"DOME_ROOF"s,"FREEFORM"s,"IfcRotationalFrequencyMeasure"s,"IfcRotationalMassMeasure"s,"IfcRotationalStiffnessMeasure"s,"IfcRotationalStiffnessSelect"s,"IfcSIPrefix"s,"EXA"s,"PETA"s,"TERA"s,"GIGA"s,"MEGA"s,"KILO"s,"HECTO"s,"DECA"s,"DECI"s,"CENTI"s,"MILLI"s,"MICRO"s,"NANO"s,"PICO"s,"FEMTO"s,"ATTO"s,"IfcSIUnitName"s,"AMPERE"s,"BECQUEREL"s,"CANDELA"s,"COULOMB"s,"CUBIC_METRE"s,"DEGREE_CELSIUS"s,"FARAD"s,"GRAM"s,"GRAY"s,"HENRY"s,"HERTZ"s,"JOULE"s,"KELVIN"s,"LUMEN"s,"LUX"s,"METRE"s,"MOLE"s,"NEWTON"s,"OHM"s,"PASCAL"s,"RADIAN"s,"SECOND"s,"SIEMENS"s,"SIEVERT"s,"SQUARE_METRE"s,"STERADIAN"s,"TESLA"s,"VOLT"s,"WATT"s,"WEBER"s,"IfcSanitaryTerminalTypeEnum"s,"BATH"s,"BIDET"s,"CISTERN"s,"SHOWER"s,"SANITARYFOUNTAIN"s,"TOILETPAN"s,"URINAL"s,"WASHHANDBASIN"s,"WCSEAT"s,"IfcSectionModulusMeasure"s,"IfcSectionTypeEnum"s,"UNIFORM"s,"TAPERED"s,"IfcSectionalAreaIntegralMeasure"s,"IfcSensorTypeEnum"s,"COSENSOR"s,"CO2SENSOR"s,"CONDUCTANCESENSOR"s,"CONTACTSENSOR"s,"FIRESENSOR"s,"FLOWSENSOR"s,"FROSTSENSOR"s,"GASSENSOR"s,"HEATSENSOR"s,"HUMIDITYSENSOR"s,"IDENTIFIERSENSOR"s,"IONCONCENTRATIONSENSOR"s,"LEVELSENSOR"s,"LIGHTSENSOR"s,"MOISTURESENSOR"s,"MOVEMENTSENSOR"s,"PHSENSOR"s,"PRESSURESENSOR"s,"RADIATIONSENSOR"s,"RADIOACTIVITYSENSOR"s,"SMOKESENSOR"s,"SOUNDSENSOR"s,"TEMPERATURESENSOR"s,"WINDSENSOR"s,"EARTHQUAKESENSOR"s,"FOREIGNOBJECTDETECTIONSENSOR"s,"OBSTACLESENSOR"s,"RAINSENSOR"s,"SNOWDEPTHSENSOR"s,"TRAINSENSOR"s,"TURNOUTCLOSURESENSOR"s,"WHEELSENSOR"s,"IfcSequenceEnum"s,"START_START"s,"START_FINISH"s,"FINISH_START"s,"FINISH_FINISH"s,"IfcShadingDeviceTypeEnum"s,"JALOUSIE"s,"SHUTTER"s,"AWNING"s,"IfcShearModulusMeasure"s,"IfcSignTypeEnum"s,"MARKER"s,"PICTORAL"s,"IfcSignalTypeEnum"s,"VISUAL"s,"AUDIO"s,"MIXED"s,"IfcSimplePropertyTemplateTypeEnum"s,"P_SINGLEVALUE"s,"P_ENUMERATEDVALUE"s,"P_BOUNDEDVALUE"s,"P_LISTVALUE"s,"P_TABLEVALUE"s,"P_REFERENCEVALUE"s,"Q_LENGTH"s,"Q_AREA"s,"Q_VOLUME"s,"Q_COUNT"s,"Q_WEIGHT"s,"Q_TIME"s,"IfcSlabTypeEnum"s,"FLOOR"s,"ROOF"s,"LANDING"s,"BASESLAB"s,"APPROACH_SLAB"s,"WEARING"s,"TRACKSLAB"s,"IfcSolarDeviceTypeEnum"s,"SOLARCOLLECTOR"s,"SOLARPANEL"s,"IfcSolidAngleMeasure"s,"IfcSoundPowerLevelMeasure"s,"IfcSoundPowerMeasure"s,"IfcSoundPressureLevelMeasure"s,"IfcSoundPressureMeasure"s,"IfcSpaceHeaterTypeEnum"s,"CONVECTOR"s,"RADIATOR"s,"IfcSpaceTypeEnum"s,"SPACE"s,"PARKING"s,"GFA"s,"IfcSpatialZoneTypeEnum"s,"CONSTRUCTION"s,"FIRESAFETY"s,"OCCUPANCY"s,"RESERVATION"s,"IfcSpecificHeatCapacityMeasure"s,"IfcSpecularExponent"s,"IfcSpecularRoughness"s,"IfcStackTerminalTypeEnum"s,"BIRDCAGE"s,"COWL"s,"RAINWATERHOPPER"s,"IfcStairFlightTypeEnum"s,"WINDER"s,"CURVED"s,"IfcStairTypeEnum"s,"STRAIGHT_RUN_STAIR"s,"TWO_STRAIGHT_RUN_STAIR"s,"QUARTER_WINDING_STAIR"s,"QUARTER_TURN_STAIR"s,"HALF_WINDING_STAIR"s,"HALF_TURN_STAIR"s,"TWO_QUARTER_WINDING_STAIR"s,"TWO_QUARTER_TURN_STAIR"s,"THREE_QUARTER_WINDING_STAIR"s,"THREE_QUARTER_TURN_STAIR"s,"SPIRAL_STAIR"s,"DOUBLE_RETURN_STAIR"s,"CURVED_RUN_STAIR"s,"TWO_CURVED_RUN_STAIR"s,"LADDER"s,"IfcStateEnum"s,"READWRITE"s,"READONLY"s,"LOCKED"s,"READWRITELOCKED"s,"READONLYLOCKED"s,"IfcStructuralCurveActivityTypeEnum"s,"CONST"s,"POLYGONAL"s,"EQUIDISTANT"s,"SINUS"s,"PARABOLA"s,"DISCRETE"s,"IfcStructuralCurveMemberTypeEnum"s,"RIGID_JOINED_MEMBER"s,"PIN_JOINED_MEMBER"s,"TENSION_MEMBER"s,"COMPRESSION_MEMBER"s,"IfcStructuralSurfaceActivityTypeEnum"s,"BILINEAR"s,"ISOCONTOUR"s,"IfcStructuralSurfaceMemberTypeEnum"s,"BENDING_ELEMENT"s,"MEMBRANE_ELEMENT"s,"SHELL"s,"IfcSubContractResourceTypeEnum"s,"PURCHASE"s,"IfcSurfaceFeatureTypeEnum"s,"MARK"s,"TAG"s,"TREATMENT"s,"DEFECT"s,"HATCHMARKING"s,"LINEMARKING"s,"PAVEMENTSURFACEMARKING"s,"SYMBOLMARKING"s,"NONSKIDSURFACING"s,"RUMBLESTRIP"s,"TRANSVERSERUMBLESTRIP"s,"IfcSurfaceSide"s,"BOTH"s,"IfcSwitchingDeviceTypeEnum"s,"CONTACTOR"s,"DIMMERSWITCH"s,"EMERGENCYSTOP"s,"KEYPAD"s,"MOMENTARYSWITCH"s,"SELECTORSWITCH"s,"STARTER"s,"SWITCHDISCONNECTOR"s,"TOGGLESWITCH"s,"START_AND_STOP_EQUIPMENT"s,"IfcSystemFurnitureElementTypeEnum"s,"PANEL"s,"WORKSURFACE"s,"SUBRACK"s,"IfcTankTypeEnum"s,"BASIN"s,"BREAKPRESSURE"s,"EXPANSION"s,"FEEDANDEXPANSION"s,"PRESSUREVESSEL"s,"VESSEL"s,"OILRETENTIONTRAY"s,"IfcTaskDurationEnum"s,"ELAPSEDTIME"s,"WORKTIME"s,"IfcTaskTypeEnum"s,"ATTENDANCE"s,"DEMOLITION"s,"DISMANTLE"s,"INSTALLATION"s,"LOGISTIC"s,"MAINTENANCE"s,"MOVE"s,"OPERATION"s,"REMOVAL"s,"RENOVATION"s,"IfcTemperatureGradientMeasure"s,"IfcTemperatureRateOfChangeMeasure"s,"IfcTendonAnchorTypeEnum"s,"FIXED_END"s,"TENSIONING_END"s,"IfcTendonConduitTypeEnum"s,"GROUTING_DUCT"s,"TRUMPET"s,"DIABOLO"s,"IfcTendonTypeEnum"s,"BAR"s,"COATED"s,"STRAND"s,"WIRE"s,"IfcText"s,"IfcTextAlignment"s,"IfcTextDecoration"s,"IfcTextFontName"s,"IfcTextPath"s,"UP"s,"DOWN"s,"IfcTextTransformation"s,"IfcThermalAdmittanceMeasure"s,"IfcThermalConductivityMeasure"s,"IfcThermalExpansionCoefficientMeasure"s,"IfcThermalResistanceMeasure"s,"IfcThermalTransmittanceMeasure"s,"IfcThermodynamicTemperatureMeasure"s,"IfcTime"s,"IfcTimeMeasure"s,"IfcTimeOrRatioSelect"s,"IfcTimeSeriesDataTypeEnum"s,"CONTINUOUS"s,"DISCRETEBINARY"s,"PIECEWISEBINARY"s,"PIECEWISECONSTANT"s,"PIECEWISECONTINUOUS"s,"IfcTimeStamp"s,"IfcTorqueMeasure"s,"IfcTrackElementTypeEnum"s,"TRACKENDOFALIGNMENT"s,"BLOCKINGDEVICE"s,"VEHICLESTOP"s,"SLEEPER"s,"HALF_SET_OF_BLADES"s,"SPEEDREGULATOR"s,"DERAILER"s,"FROG"s,"IfcTransformerTypeEnum"s,"FREQUENCY"s,"INVERTER"s,"RECTIFIER"s,"VOLTAGE"s,"CHOPPER"s,"IfcTransitionCode"s,"DISCONTINUOUS"s,"CONTSAMEGRADIENT"s,"CONTSAMEGRADIENTSAMECURVATURE"s,"IfcTranslationalStiffnessSelect"s,"IfcTransportElementFixedTypeEnum"s,"ELEVATOR"s,"ESCALATOR"s,"MOVINGWALKWAY"s,"CRANEWAY"s,"LIFTINGGEAR"s,"HAULINGGEAR"s,"IfcTransportElementNonFixedTypeEnum"s,"VEHICLE"s,"VEHICLETRACKED"s,"ROLLINGSTOCK"s,"VEHICLEWHEELED"s,"VEHICLEAIR"s,"CARGO"s,"VEHICLEMARINE"s,"IfcTransportElementTypeSelect"s,"IfcTrimmingPreference"s,"CARTESIAN"s,"IfcTubeBundleTypeEnum"s,"FINNED"s,"IfcURIReference"s,"IfcUnitEnum"s,"ABSORBEDDOSEUNIT"s,"AMOUNTOFSUBSTANCEUNIT"s,"AREAUNIT"s,"DOSEEQUIVALENTUNIT"s,"ELECTRICCAPACITANCEUNIT"s,"ELECTRICCHARGEUNIT"s,"ELECTRICCONDUCTANCEUNIT"s,"ELECTRICCURRENTUNIT"s,"ELECTRICRESISTANCEUNIT"s,"ELECTRICVOLTAGEUNIT"s,"ENERGYUNIT"s,"FORCEUNIT"s,"FREQUENCYUNIT"s,"ILLUMINANCEUNIT"s,"INDUCTANCEUNIT"s,"LENGTHUNIT"s,"LUMINOUSFLUXUNIT"s,"LUMINOUSINTENSITYUNIT"s,"MAGNETICFLUXDENSITYUNIT"s,"MAGNETICFLUXUNIT"s,"MASSUNIT"s,"PLANEANGLEUNIT"s,"POWERUNIT"s,"PRESSUREUNIT"s,"RADIOACTIVITYUNIT"s,"SOLIDANGLEUNIT"s,"THERMODYNAMICTEMPERATUREUNIT"s,"TIMEUNIT"s,"VOLUMEUNIT"s,"IfcUnitaryControlElementTypeEnum"s,"ALARMPANEL"s,"CONTROLPANEL"s,"GASDETECTIONPANEL"s,"INDICATORPANEL"s,"MIMICPANEL"s,"HUMIDISTAT"s,"THERMOSTAT"s,"WEATHERSTATION"s,"IfcUnitaryEquipmentTypeEnum"s,"AIRHANDLER"s,"AIRCONDITIONINGUNIT"s,"DEHUMIDIFIER"s,"SPLITSYSTEM"s,"ROOFTOPUNIT"s,"IfcValveTypeEnum"s,"AIRRELEASE"s,"ANTIVACUUM"s,"CHANGEOVER"s,"CHECK"s,"COMMISSIONING"s,"DIVERTING"s,"DRAWOFFCOCK"s,"DOUBLECHECK"s,"DOUBLEREGULATING"s,"FAUCET"s,"FLUSHING"s,"GASCOCK"s,"GASTAP"s,"ISOLATING"s,"MIXING"s,"PRESSUREREDUCING"s,"PRESSURERELIEF"s,"REGULATING"s,"SAFETYCUTOFF"s,"STEAMTRAP"s,"STOPCOCK"s,"IfcVaporPermeabilityMeasure"s,"IfcVibrationDamperTypeEnum"s,"BENDING_YIELD"s,"SHEAR_YIELD"s,"AXIAL_YIELD"s,"VISCOUS"s,"RUBBER"s,"IfcVibrationIsolatorTypeEnum"s,"COMPRESSION"s,"SPRING"s,"BASE"s,"IfcVoidingFeatureTypeEnum"s,"CUTOUT"s,"NOTCH"s,"HOLE"s,"MITER"s,"CHAMFER"s,"IfcVolumeMeasure"s,"IfcVolumetricFlowRateMeasure"s,"IfcWallTypeEnum"s,"MOVABLE"s,"PARAPET"s,"PARTITIONING"s,"PLUMBINGWALL"s,"SOLIDWALL"s,"STANDARD"s,"ELEMENTEDWALL"s,"RETAININGWALL"s,"WAVEWALL"s,"IfcWarpingConstantMeasure"s,"IfcWarpingMomentMeasure"s,"IfcWarpingStiffnessSelect"s,"IfcWasteTerminalTypeEnum"s,"FLOORTRAP"s,"FLOORWASTE"s,"GULLYSUMP"s,"GULLYTRAP"s,"ROOFDRAIN"s,"WASTEDISPOSALUNIT"s,"WASTETRAP"s,"IfcWindowPanelOperationEnum"s,"SIDEHUNGRIGHTHAND"s,"SIDEHUNGLEFTHAND"s,"TILTANDTURNRIGHTHAND"s,"TILTANDTURNLEFTHAND"s,"TOPHUNG"s,"BOTTOMHUNG"s,"PIVOTHORIZONTAL"s,"PIVOTVERTICAL"s,"SLIDINGHORIZONTAL"s,"SLIDINGVERTICAL"s,"REMOVABLECASEMENT"s,"FIXEDCASEMENT"s,"OTHEROPERATION"s,"IfcWindowPanelPositionEnum"s,"BOTTOM"s,"TOP"s,"IfcWindowStyleConstructionEnum"s,"OTHER_CONSTRUCTION"s,"IfcWindowStyleOperationEnum"s,"SINGLE_PANEL"s,"DOUBLE_PANEL_VERTICAL"s,"DOUBLE_PANEL_HORIZONTAL"s,"TRIPLE_PANEL_VERTICAL"s,"TRIPLE_PANEL_BOTTOM"s,"TRIPLE_PANEL_TOP"s,"TRIPLE_PANEL_LEFT"s,"TRIPLE_PANEL_RIGHT"s,"TRIPLE_PANEL_HORIZONTAL"s,"IfcWindowTypeEnum"s,"WINDOW"s,"SKYLIGHT"s,"LIGHTDOME"s,"IfcWindowTypePartitioningEnum"s,"IfcWorkCalendarTypeEnum"s,"FIRSTSHIFT"s,"SECONDSHIFT"s,"THIRDSHIFT"s,"IfcWorkPlanTypeEnum"s,"ACTUAL"s,"BASELINE"s,"PLANNED"s,"IfcWorkScheduleTypeEnum"s,"IfcActorRole"s,"IfcAddress"s,"IfcAlignmentParameterSegment"s,"IfcAlignmentVerticalSegment"s,"IfcApplication"s,"IfcAppliedValue"s,"IfcApproval"s,"IfcBoundaryCondition"s,"IfcBoundaryEdgeCondition"s,"IfcBoundaryFaceCondition"s,"IfcBoundaryNodeCondition"s,"IfcBoundaryNodeConditionWarping"s,"IfcConnectionGeometry"s,"IfcConnectionPointGeometry"s,"IfcConnectionSurfaceGeometry"s,"IfcConnectionVolumeGeometry"s,"IfcConstraint"s,"IfcCoordinateOperation"s,"IfcCoordinateReferenceSystem"s,"IfcCostValue"s,"IfcDerivedUnit"s,"IfcDerivedUnitElement"s,"IfcDimensionalExponents"s,"IfcExternalInformation"s,"IfcExternalReference"s,"IfcExternallyDefinedHatchStyle"s,"IfcExternallyDefinedSurfaceStyle"s,"IfcExternallyDefinedTextFont"s,"IfcGridAxis"s,"IfcIrregularTimeSeriesValue"s,"IfcLibraryInformation"s,"IfcLibraryReference"s,"IfcLightDistributionData"s,"IfcLightIntensityDistribution"s,"IfcMapConversion"s,"IfcMaterialClassificationRelationship"s,"IfcMaterialDefinition"s,"IfcMaterialLayer"s,"IfcMaterialLayerSet"s,"IfcMaterialLayerWithOffsets"s,"IfcMaterialList"s,"IfcMaterialProfile"s,"IfcMaterialProfileSet"s,"IfcMaterialProfileWithOffsets"s,"IfcMaterialUsageDefinition"s,"IfcMeasureWithUnit"s,"IfcMetric"s,"IfcMonetaryUnit"s,"IfcNamedUnit"s,"IfcObjectPlacement"s,"IfcObjective"s,"IfcOrganization"s,"IfcOwnerHistory"s,"IfcPerson"s,"IfcPersonAndOrganization"s,"IfcPhysicalQuantity"s,"IfcPhysicalSimpleQuantity"s,"IfcPostalAddress"s,"IfcPresentationItem"s,"IfcPresentationLayerAssignment"s,"IfcPresentationLayerWithStyle"s,"IfcPresentationStyle"s,"IfcProductRepresentation"s,"IfcProfileDef"s,"IfcProjectedCRS"s,"IfcPropertyAbstraction"s,"IfcPropertyEnumeration"s,"IfcQuantityArea"s,"IfcQuantityCount"s,"IfcQuantityLength"s,"IfcQuantityTime"s,"IfcQuantityVolume"s,"IfcQuantityWeight"s,"IfcRecurrencePattern"s,"IfcReference"s,"IfcRepresentation"s,"IfcRepresentationContext"s,"IfcRepresentationItem"s,"IfcRepresentationMap"s,"IfcResourceLevelRelationship"s,"IfcRoot"s,"IfcSIUnit"s,"IfcSchedulingTime"s,"IfcShapeAspect"s,"IfcShapeModel"s,"IfcShapeRepresentation"s,"IfcStructuralConnectionCondition"s,"IfcStructuralLoad"s,"IfcStructuralLoadConfiguration"s,"IfcStructuralLoadOrResult"s,"IfcStructuralLoadStatic"s,"IfcStructuralLoadTemperature"s,"IfcStyleModel"s,"IfcStyledItem"s,"IfcStyledRepresentation"s,"IfcSurfaceReinforcementArea"s,"IfcSurfaceStyle"s,"IfcSurfaceStyleLighting"s,"IfcSurfaceStyleRefraction"s,"IfcSurfaceStyleShading"s,"IfcSurfaceStyleWithTextures"s,"IfcSurfaceTexture"s,"IfcTable"s,"IfcTableColumn"s,"IfcTableRow"s,"IfcTaskTime"s,"IfcTaskTimeRecurring"s,"IfcTelecomAddress"s,"IfcTextStyle"s,"IfcTextStyleForDefinedFont"s,"IfcTextStyleTextModel"s,"IfcTextureCoordinate"s,"IfcTextureCoordinateGenerator"s,"IfcTextureMap"s,"IfcTextureVertex"s,"IfcTextureVertexList"s,"IfcTimePeriod"s,"IfcTimeSeries"s,"IfcTimeSeriesValue"s,"IfcTopologicalRepresentationItem"s,"IfcTopologyRepresentation"s,"IfcUnitAssignment"s,"IfcVertex"s,"IfcVertexPoint"s,"IfcVirtualGridIntersection"s,"IfcWorkTime"s,"IfcActorSelect"s,"IfcArcIndex"s,"IfcBendingParameterSelect"s,"IfcBoxAlignment"s,"IfcCurveMeasureSelect"s,"IfcDerivedMeasureValue"s,"IfcFacilityPartTypeSelect"s,"IfcImpactProtectionDeviceTypeSelect"s,"IfcLayeredItem"s,"IfcLibrarySelect"s,"IfcLightDistributionDataSourceSelect"s,"IfcLineIndex"s,"IfcMaterialSelect"s,"IfcNormalisedRatioMeasure"s,"IfcObjectReferenceSelect"s,"IfcPositiveRatioMeasure"s,"IfcSegmentIndexSelect"s,"IfcSimpleValue"s,"IfcSizeSelect"s,"IfcSpecularHighlightSelect"s,"IfcSurfaceStyleElementSelect"s,"IfcUnit"s,"IfcAlignmentCantSegment"s,"IfcAlignmentHorizontalSegment"s,"IfcApprovalRelationship"s,"IfcArbitraryClosedProfileDef"s,"IfcArbitraryOpenProfileDef"s,"IfcArbitraryProfileDefWithVoids"s,"IfcBlobTexture"s,"IfcCenterLineProfileDef"s,"IfcClassification"s,"IfcClassificationReference"s,"IfcColourRgbList"s,"IfcColourSpecification"s,"IfcCompositeProfileDef"s,"IfcConnectedFaceSet"s,"IfcConnectionCurveGeometry"s,"IfcConnectionPointEccentricity"s,"IfcContextDependentUnit"s,"IfcConversionBasedUnit"s,"IfcConversionBasedUnitWithOffset"s,"IfcCurrencyRelationship"s,"IfcCurveStyle"s,"IfcCurveStyleFont"s,"IfcCurveStyleFontAndScaling"s,"IfcCurveStyleFontPattern"s,"IfcDerivedProfileDef"s,"IfcDocumentInformation"s,"IfcDocumentInformationRelationship"s,"IfcDocumentReference"s,"IfcEdge"s,"IfcEdgeCurve"s,"IfcEventTime"s,"IfcExtendedProperties"s,"IfcExternalReferenceRelationship"s,"IfcFace"s,"IfcFaceBound"s,"IfcFaceOuterBound"s,"IfcFaceSurface"s,"IfcFailureConnectionCondition"s,"IfcFillAreaStyle"s,"IfcGeometricRepresentationContext"s,"IfcGeometricRepresentationItem"s,"IfcGeometricRepresentationSubContext"s,"IfcGeometricSet"s,"IfcGridPlacement"s,"IfcHalfSpaceSolid"s,"IfcImageTexture"s,"IfcIndexedColourMap"s,"IfcIndexedTextureMap"s,"IfcIndexedTriangleTextureMap"s,"IfcIrregularTimeSeries"s,"IfcLagTime"s,"IfcLightSource"s,"IfcLightSourceAmbient"s,"IfcLightSourceDirectional"s,"IfcLightSourceGoniometric"s,"IfcLightSourcePositional"s,"IfcLightSourceSpot"s,"IfcLinearPlacement"s,"IfcLocalPlacement"s,"IfcLoop"s,"IfcMappedItem"s,"IfcMaterial"s,"IfcMaterialConstituent"s,"IfcMaterialConstituentSet"s,"IfcMaterialDefinitionRepresentation"s,"IfcMaterialLayerSetUsage"s,"IfcMaterialProfileSetUsage"s,"IfcMaterialProfileSetUsageTapering"s,"IfcMaterialProperties"s,"IfcMaterialRelationship"s,"IfcMirroredProfileDef"s,"IfcObjectDefinition"s,"IfcOpenCrossProfileDef"s,"IfcOpenShell"s,"IfcOrganizationRelationship"s,"IfcOrientedEdge"s,"IfcParameterizedProfileDef"s,"IfcPath"s,"IfcPhysicalComplexQuantity"s,"IfcPixelTexture"s,"IfcPlacement"s,"IfcPlanarExtent"s,"IfcPoint"s,"IfcPointByDistanceExpression"s,"IfcPointOnCurve"s,"IfcPointOnSurface"s,"IfcPolyLoop"s,"IfcPolygonalBoundedHalfSpace"s,"IfcPreDefinedItem"s,"IfcPreDefinedProperties"s,"IfcPreDefinedTextFont"s,"IfcProductDefinitionShape"s,"IfcProfileProperties"s,"IfcProperty"s,"IfcPropertyDefinition"s,"IfcPropertyDependencyRelationship"s,"IfcPropertySetDefinition"s,"IfcPropertyTemplateDefinition"s,"IfcQuantitySet"s,"IfcRectangleProfileDef"s,"IfcRegularTimeSeries"s,"IfcReinforcementBarProperties"s,"IfcRelationship"s,"IfcResourceApprovalRelationship"s,"IfcResourceConstraintRelationship"s,"IfcResourceTime"s,"IfcRoundedRectangleProfileDef"s,"IfcSectionProperties"s,"IfcSectionReinforcementProperties"s,"IfcSectionedSpine"s,"IfcSegment"s,"IfcShellBasedSurfaceModel"s,"IfcSimpleProperty"s,"IfcSlippageConnectionCondition"s,"IfcSolidModel"s,"IfcStructuralLoadLinearForce"s,"IfcStructuralLoadPlanarForce"s,"IfcStructuralLoadSingleDisplacement"s,"IfcStructuralLoadSingleDisplacementDistortion"s,"IfcStructuralLoadSingleForce"s,"IfcStructuralLoadSingleForceWarping"s,"IfcSubedge"s,"IfcSurface"s,"IfcSurfaceStyleRendering"s,"IfcSweptAreaSolid"s,"IfcSweptDiskSolid"s,"IfcSweptDiskSolidPolygonal"s,"IfcSweptSurface"s,"IfcTShapeProfileDef"s,"IfcTessellatedItem"s,"IfcTextLiteral"s,"IfcTextLiteralWithExtent"s,"IfcTextStyleFontModel"s,"IfcTrapeziumProfileDef"s,"IfcTypeObject"s,"IfcTypeProcess"s,"IfcTypeProduct"s,"IfcTypeResource"s,"IfcUShapeProfileDef"s,"IfcVector"s,"IfcVertexLoop"s,"IfcWindowStyle"s,"IfcZShapeProfileDef"s,"IfcClassificationReferenceSelect"s,"IfcClassificationSelect"s,"IfcCoordinateReferenceSystemSelect"s,"IfcDefinitionSelect"s,"IfcDocumentSelect"s,"IfcHatchLineDistanceSelect"s,"IfcMeasureValue"s,"IfcPointOrVertexPoint"s,"IfcProductRepresentationSelect"s,"IfcPropertySetDefinitionSet"s,"IfcResourceObjectSelect"s,"IfcTextFontSelect"s,"IfcValue"s,"IfcAdvancedFace"s,"IfcAnnotationFillArea"s,"IfcAsymmetricIShapeProfileDef"s,"IfcAxis1Placement"s,"IfcAxis2Placement2D"s,"IfcAxis2Placement3D"s,"IfcAxis2PlacementLinear"s,"IfcBooleanResult"s,"IfcBoundedSurface"s,"IfcBoundingBox"s,"IfcBoxedHalfSpace"s,"IfcCShapeProfileDef"s,"IfcCartesianPoint"s,"IfcCartesianPointList"s,"IfcCartesianPointList2D"s,"IfcCartesianPointList3D"s,"IfcCartesianTransformationOperator"s,"IfcCartesianTransformationOperator2D"s,"IfcCartesianTransformationOperator2DnonUniform"s,"IfcCartesianTransformationOperator3D"s,"IfcCartesianTransformationOperator3DnonUniform"s,"IfcCircleProfileDef"s,"IfcClosedShell"s,"IfcColourRgb"s,"IfcComplexProperty"s,"IfcCompositeCurveSegment"s,"IfcConstructionResourceType"s,"IfcContext"s,"IfcCrewResourceType"s,"IfcCsgPrimitive3D"s,"IfcCsgSolid"s,"IfcCurve"s,"IfcCurveBoundedPlane"s,"IfcCurveBoundedSurface"s,"IfcCurveSegment"s,"IfcDirection"s,"IfcDirectrixCurveSweptAreaSolid"s,"IfcDirectrixDistanceSweptAreaSolid"s,"IfcDoorStyle"s,"IfcEdgeLoop"s,"IfcElementQuantity"s,"IfcElementType"s,"IfcElementarySurface"s,"IfcEllipseProfileDef"s,"IfcEventType"s,"IfcExtrudedAreaSolid"s,"IfcExtrudedAreaSolidTapered"s,"IfcFaceBasedSurfaceModel"s,"IfcFillAreaStyleHatching"s,"IfcFillAreaStyleTiles"s,"IfcFixedReferenceSweptAreaSolid"s,"IfcFurnishingElementType"s,"IfcFurnitureType"s,"IfcGeographicElementType"s,"IfcGeometricCurveSet"s,"IfcIShapeProfileDef"s,"IfcInclinedReferenceSweptAreaSolid"s,"IfcIndexedPolygonalFace"s,"IfcIndexedPolygonalFaceWithVoids"s,"IfcLShapeProfileDef"s,"IfcLaborResourceType"s,"IfcLine"s,"IfcManifoldSolidBrep"s,"IfcObject"s,"IfcOffsetCurve"s,"IfcOffsetCurve2D"s,"IfcOffsetCurve3D"s,"IfcOffsetCurveByDistances"s,"IfcPcurve"s,"IfcPlanarBox"s,"IfcPlane"s,"IfcPolynomialCurve"s,"IfcPreDefinedColour"s,"IfcPreDefinedCurveFont"s,"IfcPreDefinedPropertySet"s,"IfcProcedureType"s,"IfcProcess"s,"IfcProduct"s,"IfcProject"s,"IfcProjectLibrary"s,"IfcPropertyBoundedValue"s,"IfcPropertyEnumeratedValue"s,"IfcPropertyListValue"s,"IfcPropertyReferenceValue"s,"IfcPropertySet"s,"IfcPropertySetTemplate"s,"IfcPropertySingleValue"s,"IfcPropertyTableValue"s,"IfcPropertyTemplate"s,"IfcProxy"s,"IfcRectangleHollowProfileDef"s,"IfcRectangularPyramid"s,"IfcRectangularTrimmedSurface"s,"IfcReinforcementDefinitionProperties"s,"IfcRelAssigns"s,"IfcRelAssignsToActor"s,"IfcRelAssignsToControl"s,"IfcRelAssignsToGroup"s,"IfcRelAssignsToGroupByFactor"s,"IfcRelAssignsToProcess"s,"IfcRelAssignsToProduct"s,"IfcRelAssignsToResource"s,"IfcRelAssociates"s,"IfcRelAssociatesApproval"s,"IfcRelAssociatesClassification"s,"IfcRelAssociatesConstraint"s,"IfcRelAssociatesDocument"s,"IfcRelAssociatesLibrary"s,"IfcRelAssociatesMaterial"s,"IfcRelAssociatesProfileDef"s,"IfcRelConnects"s,"IfcRelConnectsElements"s,"IfcRelConnectsPathElements"s,"IfcRelConnectsPortToElement"s,"IfcRelConnectsPorts"s,"IfcRelConnectsStructuralActivity"s,"IfcRelConnectsStructuralMember"s,"IfcRelConnectsWithEccentricity"s,"IfcRelConnectsWithRealizingElements"s,"IfcRelContainedInSpatialStructure"s,"IfcRelCoversBldgElements"s,"IfcRelCoversSpaces"s,"IfcRelDeclares"s,"IfcRelDecomposes"s,"IfcRelDefines"s,"IfcRelDefinesByObject"s,"IfcRelDefinesByProperties"s,"IfcRelDefinesByTemplate"s,"IfcRelDefinesByType"s,"IfcRelFillsElement"s,"IfcRelFlowControlElements"s,"IfcRelInterferesElements"s,"IfcRelNests"s,"IfcRelPositions"s,"IfcRelProjectsElement"s,"IfcRelReferencedInSpatialStructure"s,"IfcRelSequence"s,"IfcRelServicesBuildings"s,"IfcRelSpaceBoundary"s,"IfcRelSpaceBoundary1stLevel"s,"IfcRelSpaceBoundary2ndLevel"s,"IfcRelVoidsElement"s,"IfcReparametrisedCompositeCurveSegment"s,"IfcResource"s,"IfcRevolvedAreaSolid"s,"IfcRevolvedAreaSolidTapered"s,"IfcRightCircularCone"s,"IfcRightCircularCylinder"s,"IfcSectionedSolid"s,"IfcSectionedSolidHorizontal"s,"IfcSectionedSurface"s,"IfcSimplePropertyTemplate"s,"IfcSpatialElement"s,"IfcSpatialElementType"s,"IfcSpatialStructureElement"s,"IfcSpatialStructureElementType"s,"IfcSpatialZone"s,"IfcSpatialZoneType"s,"IfcSphere"s,"IfcSphericalSurface"s,"IfcSpiral"s,"IfcStructuralActivity"s,"IfcStructuralItem"s,"IfcStructuralMember"s,"IfcStructuralReaction"s,"IfcStructuralSurfaceMember"s,"IfcStructuralSurfaceMemberVarying"s,"IfcStructuralSurfaceReaction"s,"IfcSubContractResourceType"s,"IfcSurfaceCurve"s,"IfcSurfaceCurveSweptAreaSolid"s,"IfcSurfaceOfLinearExtrusion"s,"IfcSurfaceOfRevolution"s,"IfcSystemFurnitureElementType"s,"IfcTask"s,"IfcTaskType"s,"IfcTessellatedFaceSet"s,"IfcThirdOrderPolynomialSpiral"s,"IfcToroidalSurface"s,"IfcTransportElementType"s,"IfcTriangulatedFaceSet"s,"IfcTriangulatedIrregularNetwork"s,"IfcWindowLiningProperties"s,"IfcWindowPanelProperties"s,"IfcAppliedValueSelect"s,"IfcAxis2Placement"s,"IfcBooleanOperand"s,"IfcColour"s,"IfcColourOrFactor"s,"IfcCsgSelect"s,"IfcCurveStyleFontSelect"s,"IfcFillStyleSelect"s,"IfcGeometricSetSelect"s,"IfcGridPlacementDirectionSelect"s,"IfcMetricValueSelect"s,"IfcProcessSelect"s,"IfcProductSelect"s,"IfcPropertySetDefinitionSelect"s,"IfcResourceSelect"s,"IfcShell"s,"IfcSolidOrShell"s,"IfcSurfaceOrFaceSurface"s,"IfcTrimmingSelect"s,"IfcVectorOrDirection"s,"IfcActor"s,"IfcAdvancedBrep"s,"IfcAdvancedBrepWithVoids"s,"IfcAnnotation"s,"IfcBSplineSurface"s,"IfcBSplineSurfaceWithKnots"s,"IfcBlock"s,"IfcBooleanClippingResult"s,"IfcBoundedCurve"s,"IfcBuildingStorey"s,"IfcBuiltElementType"s,"IfcChimneyType"s,"IfcCircleHollowProfileDef"s,"IfcCivilElementType"s,"IfcClothoid"s,"IfcColumnType"s,"IfcComplexPropertyTemplate"s,"IfcCompositeCurve"s,"IfcCompositeCurveOnSurface"s,"IfcConic"s,"IfcConstructionEquipmentResourceType"s,"IfcConstructionMaterialResourceType"s,"IfcConstructionProductResourceType"s,"IfcConstructionResource"s,"IfcControl"s,"IfcCosine"s,"IfcCostItem"s,"IfcCostSchedule"s,"IfcCourseType"s,"IfcCoveringType"s,"IfcCrewResource"s,"IfcCurtainWallType"s,"IfcCylindricalSurface"s,"IfcDeepFoundationType"s,"IfcDistributionElementType"s,"IfcDistributionFlowElementType"s,"IfcDoorLiningProperties"s,"IfcDoorPanelProperties"s,"IfcDoorType"s,"IfcDraughtingPreDefinedColour"s,"IfcDraughtingPreDefinedCurveFont"s,"IfcElement"s,"IfcElementAssembly"s,"IfcElementAssemblyType"s,"IfcElementComponent"s,"IfcElementComponentType"s,"IfcEllipse"s,"IfcEnergyConversionDeviceType"s,"IfcEngineType"s,"IfcEvaporativeCoolerType"s,"IfcEvaporatorType"s,"IfcEvent"s,"IfcExternalSpatialStructureElement"s,"IfcFacetedBrep"s,"IfcFacetedBrepWithVoids"s,"IfcFacility"s,"IfcFacilityPart"s,"IfcFastener"s,"IfcFastenerType"s,"IfcFeatureElement"s,"IfcFeatureElementAddition"s,"IfcFeatureElementSubtraction"s,"IfcFlowControllerType"s,"IfcFlowFittingType"s,"IfcFlowMeterType"s,"IfcFlowMovingDeviceType"s,"IfcFlowSegmentType"s,"IfcFlowStorageDeviceType"s,"IfcFlowTerminalType"s,"IfcFlowTreatmentDeviceType"s,"IfcFootingType"s,"IfcFurnishingElement"s,"IfcFurniture"s,"IfcGeographicElement"s,"IfcGeotechnicalElement"s,"IfcGeotechnicalStratum"s,"IfcGradientCurve"s,"IfcGroup"s,"IfcHeatExchangerType"s,"IfcHumidifierType"s,"IfcImpactProtectionDevice"s,"IfcImpactProtectionDeviceType"s,"IfcIndexedPolyCurve"s,"IfcInterceptorType"s,"IfcIntersectionCurve"s,"IfcInventory"s,"IfcJunctionBoxType"s,"IfcKerbType"s,"IfcLaborResource"s,"IfcLampType"s,"IfcLightFixtureType"s,"IfcLinearElement"s,"IfcLiquidTerminalType"s,"IfcMarineFacility"s,"IfcMechanicalFastener"s,"IfcMechanicalFastenerType"s,"IfcMedicalDeviceType"s,"IfcMemberType"s,"IfcMobileTelecommunicationsApplianceType"s,"IfcMooringDeviceType"s,"IfcMotorConnectionType"s,"IfcNavigationElementType"s,"IfcOccupant"s,"IfcOpeningElement"s,"IfcOpeningStandardCase"s,"IfcOutletType"s,"IfcPavementType"s,"IfcPerformanceHistory"s,"IfcPermeableCoveringProperties"s,"IfcPermit"s,"IfcPileType"s,"IfcPipeFittingType"s,"IfcPipeSegmentType"s,"IfcPlant"s,"IfcPlateType"s,"IfcPolygonalFaceSet"s,"IfcPolyline"s,"IfcPort"s,"IfcPositioningElement"s,"IfcProcedure"s,"IfcProjectOrder"s,"IfcProjectionElement"s,"IfcProtectiveDeviceType"s,"IfcPumpType"s,"IfcRailType"s,"IfcRailingType"s,"IfcRailway"s,"IfcRampFlightType"s,"IfcRampType"s,"IfcRationalBSplineSurfaceWithKnots"s,"IfcReferent"s,"IfcReinforcingElement"s,"IfcReinforcingElementType"s,"IfcReinforcingMesh"s,"IfcReinforcingMeshType"s,"IfcRelAggregates"s,"IfcRoad"s,"IfcRoofType"s,"IfcSanitaryTerminalType"s,"IfcSeamCurve"s,"IfcSecondOrderPolynomialSpiral"s,"IfcSegmentedReferenceCurve"s,"IfcShadingDeviceType"s,"IfcSign"s,"IfcSignType"s,"IfcSignalType"s,"IfcSine"s,"IfcSite"s,"IfcSlabType"s,"IfcSolarDeviceType"s,"IfcSolidStratum"s,"IfcSpace"s,"IfcSpaceHeaterType"s,"IfcSpaceType"s,"IfcStackTerminalType"s,"IfcStairFlightType"s,"IfcStairType"s,"IfcStructuralAction"s,"IfcStructuralConnection"s,"IfcStructuralCurveAction"s,"IfcStructuralCurveConnection"s,"IfcStructuralCurveMember"s,"IfcStructuralCurveMemberVarying"s,"IfcStructuralCurveReaction"s,"IfcStructuralLinearAction"s,"IfcStructuralLoadGroup"s,"IfcStructuralPointAction"s,"IfcStructuralPointConnection"s,"IfcStructuralPointReaction"s,"IfcStructuralResultGroup"s,"IfcStructuralSurfaceAction"s,"IfcStructuralSurfaceConnection"s,"IfcSubContractResource"s,"IfcSurfaceFeature"s,"IfcSwitchingDeviceType"s,"IfcSystem"s,"IfcSystemFurnitureElement"s,"IfcTankType"s,"IfcTendon"s,"IfcTendonAnchor"s,"IfcTendonAnchorType"s,"IfcTendonConduit"s,"IfcTendonConduitType"s,"IfcTendonType"s,"IfcTrackElementType"s,"IfcTransformerType"s,"IfcTransportElement"s,"IfcTrimmedCurve"s,"IfcTubeBundleType"s,"IfcUnitaryEquipmentType"s,"IfcValveType"s,"IfcVibrationDamper"s,"IfcVibrationDamperType"s,"IfcVibrationIsolator"s,"IfcVibrationIsolatorType"s,"IfcVienneseBend"s,"IfcVirtualElement"s,"IfcVoidStratum"s,"IfcVoidingFeature"s,"IfcWallType"s,"IfcWasteTerminalType"s,"IfcWaterStratum"s,"IfcWindowType"s,"IfcWorkCalendar"s,"IfcWorkControl"s,"IfcWorkPlan"s,"IfcWorkSchedule"s,"IfcZone"s,"IfcCurveFontOrScaledCurveFontSelect"s,"IfcCurveOnSurface"s,"IfcCurveOrEdgeCurve"s,"IfcInterferenceSelect"s,"IfcSpatialReferenceSelect"s,"IfcStructuralActivityAssignmentSelect"s,"IfcActionRequest"s,"IfcAirTerminalBoxType"s,"IfcAirTerminalType"s,"IfcAirToAirHeatRecoveryType"s,"IfcAlignmentCant"s,"IfcAlignmentHorizontal"s,"IfcAlignmentSegment"s,"IfcAlignmentVertical"s,"IfcAsset"s,"IfcAudioVisualApplianceType"s,"IfcBSplineCurve"s,"IfcBSplineCurveWithKnots"s,"IfcBeamType"s,"IfcBearingType"s,"IfcBoilerType"s,"IfcBoundaryCurve"s,"IfcBridge"s,"IfcBuilding"s,"IfcBuildingElementPart"s,"IfcBuildingElementPartType"s,"IfcBuildingElementProxyType"s,"IfcBuildingSystem"s,"IfcBuiltElement"s,"IfcBuiltSystem"s,"IfcBurnerType"s,"IfcCableCarrierFittingType"s,"IfcCableCarrierSegmentType"s,"IfcCableFittingType"s,"IfcCableSegmentType"s,"IfcCaissonFoundationType"s,"IfcChillerType"s,"IfcChimney"s,"IfcCircle"s,"IfcCivilElement"s,"IfcCoilType"s,"IfcColumn"s,"IfcColumnStandardCase"s,"IfcCommunicationsApplianceType"s,"IfcCompressorType"s,"IfcCondenserType"s,"IfcConstructionEquipmentResource"s,"IfcConstructionMaterialResource"s,"IfcConstructionProductResource"s,"IfcConveyorSegmentType"s,"IfcCooledBeamType"s,"IfcCoolingTowerType"s,"IfcCourse"s,"IfcCovering"s,"IfcCurtainWall"s,"IfcDamperType"s,"IfcDeepFoundation"s,"IfcDiscreteAccessory"s,"IfcDiscreteAccessoryType"s,"IfcDistributionBoardType"s,"IfcDistributionChamberElementType"s,"IfcDistributionControlElementType"s,"IfcDistributionElement"s,"IfcDistributionFlowElement"s,"IfcDistributionPort"s,"IfcDistributionSystem"s,"IfcDoor"s,"IfcDoorStandardCase"s,"IfcDuctFittingType"s,"IfcDuctSegmentType"s,"IfcDuctSilencerType"s,"IfcEarthworksCut"s,"IfcEarthworksElement"s,"IfcEarthworksFill"s,"IfcElectricApplianceType"s,"IfcElectricDistributionBoardType"s,"IfcElectricFlowStorageDeviceType"s,"IfcElectricFlowTreatmentDeviceType"s,"IfcElectricGeneratorType"s,"IfcElectricMotorType"s,"IfcElectricTimeControlType"s,"IfcEnergyConversionDevice"s,"IfcEngine"s,"IfcEvaporativeCooler"s,"IfcEvaporator"s,"IfcExternalSpatialElement"s,"IfcFanType"s,"IfcFilterType"s,"IfcFireSuppressionTerminalType"s,"IfcFlowController"s,"IfcFlowFitting"s,"IfcFlowInstrumentType"s,"IfcFlowMeter"s,"IfcFlowMovingDevice"s,"IfcFlowSegment"s,"IfcFlowStorageDevice"s,"IfcFlowTerminal"s,"IfcFlowTreatmentDevice"s,"IfcFooting"s,"IfcGeotechnicalAssembly"s,"IfcGrid"s,"IfcHeatExchanger"s,"IfcHumidifier"s,"IfcInterceptor"s,"IfcJunctionBox"s,"IfcKerb"s,"IfcLamp"s,"IfcLightFixture"s,"IfcLinearPositioningElement"s,"IfcLiquidTerminal"s,"IfcMedicalDevice"s,"IfcMember"s,"IfcMemberStandardCase"s,"IfcMobileTelecommunicationsAppliance"s,"IfcMooringDevice"s,"IfcMotorConnection"s,"IfcNavigationElement"s,"IfcOuterBoundaryCurve"s,"IfcOutlet"s,"IfcPavement"s,"IfcPile"s,"IfcPipeFitting"s,"IfcPipeSegment"s,"IfcPlate"s,"IfcPlateStandardCase"s,"IfcProtectiveDevice"s,"IfcProtectiveDeviceTrippingUnitType"s,"IfcPump"s,"IfcRail"s,"IfcRailing"s,"IfcRamp"s,"IfcRampFlight"s,"IfcRationalBSplineCurveWithKnots"s,"IfcReinforcedSoil"s,"IfcReinforcingBar"s,"IfcReinforcingBarType"s,"IfcRoof"s,"IfcSanitaryTerminal"s,"IfcSensorType"s,"IfcShadingDevice"s,"IfcSignal"s,"IfcSlab"s,"IfcSlabElementedCase"s,"IfcSlabStandardCase"s,"IfcSolarDevice"s,"IfcSpaceHeater"s,"IfcStackTerminal"s,"IfcStair"s,"IfcStairFlight"s,"IfcStructuralAnalysisModel"s,"IfcStructuralLoadCase"s,"IfcStructuralPlanarAction"s,"IfcSwitchingDevice"s,"IfcTank"s,"IfcTrackElement"s,"IfcTransformer"s,"IfcTubeBundle"s,"IfcUnitaryControlElementType"s,"IfcUnitaryEquipment"s,"IfcValve"s,"IfcWall"s,"IfcWallElementedCase"s,"IfcWallStandardCase"s,"IfcWasteTerminal"s,"IfcWindow"s,"IfcWindowStandardCase"s,"IfcSpaceBoundarySelect"s,"IfcActuatorType"s,"IfcAirTerminal"s,"IfcAirTerminalBox"s,"IfcAirToAirHeatRecovery"s,"IfcAlarmType"s,"IfcAlignment"s,"IfcAudioVisualAppliance"s,"IfcBeam"s,"IfcBeamStandardCase"s,"IfcBearing"s,"IfcBoiler"s,"IfcBorehole"s,"IfcBuildingElementProxy"s,"IfcBurner"s,"IfcCableCarrierFitting"s,"IfcCableCarrierSegment"s,"IfcCableFitting"s,"IfcCableSegment"s,"IfcCaissonFoundation"s,"IfcChiller"s,"IfcCoil"s,"IfcCommunicationsAppliance"s,"IfcCompressor"s,"IfcCondenser"s,"IfcControllerType"s,"IfcConveyorSegment"s,"IfcCooledBeam"s,"IfcCoolingTower"s,"IfcDamper"s,"IfcDistributionBoard"s,"IfcDistributionChamberElement"s,"IfcDistributionCircuit"s,"IfcDistributionControlElement"s,"IfcDuctFitting"s,"IfcDuctSegment"s,"IfcDuctSilencer"s,"IfcElectricAppliance"s,"IfcElectricDistributionBoard"s,"IfcElectricFlowStorageDevice"s,"IfcElectricFlowTreatmentDevice"s,"IfcElectricGenerator"s,"IfcElectricMotor"s,"IfcElectricTimeControl"s,"IfcFan"s,"IfcFilter"s,"IfcFireSuppressionTerminal"s,"IfcFlowInstrument"s,"IfcGeomodel"s,"IfcGeoslice"s,"IfcProtectiveDeviceTrippingUnit"s,"IfcSensor"s,"IfcUnitaryControlElement"s,"IfcActuator"s,"IfcAlarm"s,"IfcController"s,"PredefinedType"s,"Status"s,"LongDescription"s,"TheActor"s,"Role"s,"UserDefinedRole"s,"Description"s,"Purpose"s,"UserDefinedPurpose"s,"Voids"s,"RailHeadDistance"s,"StartDistAlong"s,"HorizontalLength"s,"StartCantLeft"s,"EndCantLeft"s,"StartCantRight"s,"EndCantRight"s,"SmoothingLength"s,"StartPoint"s,"StartDirection"s,"StartRadiusOfCurvature"s,"EndRadiusOfCurvature"s,"SegmentLength"s,"GravityCenterLineHeight"s,"StartTag"s,"EndTag"s,"DesignParameters"s,"StartHeight"s,"StartGradient"s,"EndGradient"s,"RadiusOfCurvature"s,"OuterBoundary"s,"InnerBoundaries"s,"ApplicationDeveloper"s,"Version"s,"ApplicationFullName"s,"ApplicationIdentifier"s,"Name"s,"AppliedValue"s,"UnitBasis"s,"ApplicableDate"s,"FixedUntilDate"s,"Category"s,"Condition"s,"ArithmeticOperator"s,"Components"s,"Identifier"s,"TimeOfApproval"s,"Level"s,"Qualifier"s,"RequestingApproval"s,"GivingApproval"s,"RelatingApproval"s,"RelatedApprovals"s,"OuterCurve"s,"Curve"s,"InnerCurves"s,"Identification"s,"OriginalValue"s,"CurrentValue"s,"TotalReplacementCost"s,"Owner"s,"User"s,"ResponsiblePerson"s,"IncorporationDate"s,"DepreciatedValue"s,"BottomFlangeWidth"s,"OverallDepth"s,"WebThickness"s,"BottomFlangeThickness"s,"BottomFlangeFilletRadius"s,"TopFlangeWidth"s,"TopFlangeThickness"s,"TopFlangeFilletRadius"s,"BottomFlangeEdgeRadius"s,"BottomFlangeSlope"s,"TopFlangeEdgeRadius"s,"TopFlangeSlope"s,"Axis"s,"RefDirection"s,"Degree"s,"ControlPointsList"s,"CurveForm"s,"ClosedCurve"s,"SelfIntersect"s,"KnotMultiplicities"s,"Knots"s,"KnotSpec"s,"UDegree"s,"VDegree"s,"SurfaceForm"s,"UClosed"s,"VClosed"s,"UMultiplicities"s,"VMultiplicities"s,"UKnots"s,"VKnots"s,"RasterFormat"s,"RasterCode"s,"XLength"s,"YLength"s,"ZLength"s,"Operator"s,"FirstOperand"s,"SecondOperand"s,"TranslationalStiffnessByLengthX"s,"TranslationalStiffnessByLengthY"s,"TranslationalStiffnessByLengthZ"s,"RotationalStiffnessByLengthX"s,"RotationalStiffnessByLengthY"s,"RotationalStiffnessByLengthZ"s,"TranslationalStiffnessByAreaX"s,"TranslationalStiffnessByAreaY"s,"TranslationalStiffnessByAreaZ"s,"TranslationalStiffnessX"s,"TranslationalStiffnessY"s,"TranslationalStiffnessZ"s,"RotationalStiffnessX"s,"RotationalStiffnessY"s,"RotationalStiffnessZ"s,"WarpingStiffness"s,"Corner"s,"XDim"s,"YDim"s,"ZDim"s,"Enclosure"s,"ElevationOfRefHeight"s,"ElevationOfTerrain"s,"BuildingAddress"s,"Elevation"s,"LongName"s,"Depth"s,"Width"s,"WallThickness"s,"Girth"s,"InternalFilletRadius"s,"Coordinates"s,"CoordList"s,"TagList"s,"Axis1"s,"Axis2"s,"LocalOrigin"s,"Scale"s,"Scale2"s,"Axis3"s,"Scale3"s,"Thickness"s,"Radius"s,"Source"s,"Edition"s,"EditionDate"s,"Location"s,"ReferenceTokens"s,"ReferencedSource"s,"Sort"s,"ClothoidConstant"s,"Red"s,"Green"s,"Blue"s,"ColourList"s,"UsageName"s,"HasProperties"s,"TemplateType"s,"HasPropertyTemplates"s,"Segments"s,"SameSense"s,"ParentCurve"s,"Profiles"s,"Label"s,"Position"s,"CfsFaces"s,"CurveOnRelatingElement"s,"CurveOnRelatedElement"s,"EccentricityInX"s,"EccentricityInY"s,"EccentricityInZ"s,"PointOnRelatingElement"s,"PointOnRelatedElement"s,"SurfaceOnRelatingElement"s,"SurfaceOnRelatedElement"s,"VolumeOnRelatingElement"s,"VolumeOnRelatedElement"s,"ConstraintGrade"s,"ConstraintSource"s,"CreatingActor"s,"CreationTime"s,"UserDefinedGrade"s,"Usage"s,"BaseCosts"s,"BaseQuantity"s,"ObjectType"s,"Phase"s,"RepresentationContexts"s,"UnitsInContext"s,"ConversionFactor"s,"ConversionOffset"s,"SourceCRS"s,"TargetCRS"s,"GeodeticDatum"s,"VerticalDatum"s,"CosineTerm"s,"ConstantTerm"s,"CostValues"s,"CostQuantities"s,"SubmittedOn"s,"UpdateDate"s,"TreeRootExpression"s,"RelatingMonetaryUnit"s,"RelatedMonetaryUnit"s,"ExchangeRate"s,"RateDateTime"s,"RateSource"s,"BasisSurface"s,"Boundaries"s,"ImplicitOuter"s,"Placement"s,"SegmentStart"s,"CurveFont"s,"CurveWidth"s,"CurveColour"s,"ModelOrDraughting"s,"PatternList"s,"CurveFontScaling"s,"VisibleSegmentLength"s,"InvisibleSegmentLength"s,"ParentProfile"s,"Elements"s,"UnitType"s,"UserDefinedType"s,"Unit"s,"Exponent"s,"LengthExponent"s,"MassExponent"s,"TimeExponent"s,"ElectricCurrentExponent"s,"ThermodynamicTemperatureExponent"s,"AmountOfSubstanceExponent"s,"LuminousIntensityExponent"s,"DirectionRatios"s,"Directrix"s,"StartParam"s,"EndParam"s,"StartDistance"s,"EndDistance"s,"FlowDirection"s,"SystemType"s,"IntendedUse"s,"Scope"s,"Revision"s,"DocumentOwner"s,"Editors"s,"LastRevisionTime"s,"ElectronicFormat"s,"ValidFrom"s,"ValidUntil"s,"Confidentiality"s,"RelatingDocument"s,"RelatedDocuments"s,"RelationshipType"s,"ReferencedDocument"s,"OverallHeight"s,"OverallWidth"s,"OperationType"s,"UserDefinedOperationType"s,"LiningDepth"s,"LiningThickness"s,"ThresholdDepth"s,"ThresholdThickness"s,"TransomThickness"s,"TransomOffset"s,"LiningOffset"s,"ThresholdOffset"s,"CasingThickness"s,"CasingDepth"s,"ShapeAspectStyle"s,"LiningToPanelOffsetX"s,"LiningToPanelOffsetY"s,"PanelDepth"s,"PanelOperation"s,"PanelWidth"s,"PanelPosition"s,"ConstructionType"s,"ParameterTakesPrecedence"s,"Sizeable"s,"EdgeStart"s,"EdgeEnd"s,"EdgeGeometry"s,"EdgeList"s,"Tag"s,"AssemblyPlace"s,"MethodOfMeasurement"s,"Quantities"s,"ElementType"s,"SemiAxis1"s,"SemiAxis2"s,"EventTriggerType"s,"UserDefinedEventTriggerType"s,"EventOccurenceTime"s,"ActualDate"s,"EarlyDate"s,"LateDate"s,"ScheduleDate"s,"Properties"s,"RelatingReference"s,"RelatedResourceObjects"s,"ExtrudedDirection"s,"EndSweptArea"s,"Bounds"s,"FbsmFaces"s,"Bound"s,"Orientation"s,"FaceSurface"s,"UsageType"s,"TensionFailureX"s,"TensionFailureY"s,"TensionFailureZ"s,"CompressionFailureX"s,"CompressionFailureY"s,"CompressionFailureZ"s,"FillStyles"s,"HatchLineAppearance"s,"StartOfNextHatchLine"s,"PointOfReferenceHatchLine"s,"PatternStart"s,"HatchLineAngle"s,"TilingPattern"s,"Tiles"s,"TilingScale"s,"FixedReference"s,"CoordinateSpaceDimension"s,"Precision"s,"WorldCoordinateSystem"s,"TrueNorth"s,"ParentContext"s,"TargetScale"s,"TargetView"s,"UserDefinedTargetView"s,"BaseCurve"s,"EndPoint"s,"UAxes"s,"VAxes"s,"WAxes"s,"AxisTag"s,"AxisCurve"s,"PlacementLocation"s,"PlacementRefDirection"s,"BaseSurface"s,"AgreementFlag"s,"FlangeThickness"s,"FilletRadius"s,"FlangeEdgeRadius"s,"FlangeSlope"s,"URLReference"s,"FixedAxisVertical"s,"MappedTo"s,"Opacity"s,"Colours"s,"ColourIndex"s,"Points"s,"CoordIndex"s,"InnerCoordIndices"s,"TexCoords"s,"TexCoordIndex"s,"Jurisdiction"s,"ResponsiblePersons"s,"LastUpdateDate"s,"Values"s,"TimeStamp"s,"ListValues"s,"Mountable"s,"EdgeRadius"s,"LegSlope"s,"LagValue"s,"DurationType"s,"Publisher"s,"VersionDate"s,"Language"s,"ReferencedLibrary"s,"MainPlaneAngle"s,"SecondaryPlaneAngle"s,"LuminousIntensity"s,"LightDistributionCurve"s,"DistributionData"s,"LightColour"s,"AmbientIntensity"s,"Intensity"s,"ColourAppearance"s,"ColourTemperature"s,"LuminousFlux"s,"LightEmissionSource"s,"LightDistributionDataSource"s,"ConstantAttenuation"s,"DistanceAttenuation"s,"QuadricAttenuation"s,"ConcentrationExponent"s,"SpreadAngle"s,"BeamWidthAngle"s,"Pnt"s,"Dir"s,"RelativePlacement"s,"CartesianPosition"s,"Outer"s,"Eastings"s,"Northings"s,"OrthogonalHeight"s,"XAxisAbscissa"s,"XAxisOrdinate"s,"ScaleY"s,"ScaleZ"s,"MappingSource"s,"MappingTarget"s,"MaterialClassifications"s,"ClassifiedMaterial"s,"Material"s,"Fraction"s,"MaterialConstituents"s,"RepresentedMaterial"s,"LayerThickness"s,"IsVentilated"s,"Priority"s,"MaterialLayers"s,"LayerSetName"s,"ForLayerSet"s,"LayerSetDirection"s,"DirectionSense"s,"OffsetFromReferenceLine"s,"ReferenceExtent"s,"OffsetDirection"s,"OffsetValues"s,"Materials"s,"Profile"s,"MaterialProfiles"s,"CompositeProfile"s,"ForProfileSet"s,"CardinalPoint"s,"ForProfileEndSet"s,"CardinalEndPoint"s,"RelatingMaterial"s,"RelatedMaterials"s,"Expression"s,"ValueComponent"s,"UnitComponent"s,"NominalDiameter"s,"NominalLength"s,"Benchmark"s,"ValueSource"s,"DataValue"s,"ReferencePath"s,"Currency"s,"Dimensions"s,"PlacementRelTo"s,"BenchmarkValues"s,"LogicalAggregator"s,"ObjectiveQualifier"s,"UserDefinedQualifier"s,"BasisCurve"s,"Distance"s,"HorizontalWidths"s,"Widths"s,"Slopes"s,"Tags"s,"Roles"s,"Addresses"s,"RelatingOrganization"s,"RelatedOrganizations"s,"EdgeElement"s,"OwningUser"s,"OwningApplication"s,"State"s,"ChangeAction"s,"LastModifiedDate"s,"LastModifyingUser"s,"LastModifyingApplication"s,"CreationDate"s,"Flexible"s,"ReferenceCurve"s,"LifeCyclePhase"s,"FrameDepth"s,"FrameThickness"s,"FamilyName"s,"GivenName"s,"MiddleNames"s,"PrefixTitles"s,"SuffixTitles"s,"ThePerson"s,"TheOrganization"s,"HasQuantities"s,"Discrimination"s,"Quality"s,"Height"s,"ColourComponents"s,"Pixel"s,"SizeInX"s,"SizeInY"s,"DistanceAlong"s,"OffsetLateral"s,"OffsetVertical"s,"OffsetLongitudinal"s,"PointParameter"s,"PointParameterU"s,"PointParameterV"s,"Polygon"s,"PolygonalBoundary"s,"Closed"s,"Faces"s,"PnIndex"s,"CoefficientsX"s,"CoefficientsY"s,"CoefficientsZ"s,"InternalLocation"s,"AddressLines"s,"PostalBox"s,"Town"s,"Region"s,"PostalCode"s,"Country"s,"AssignedItems"s,"LayerOn"s,"LayerFrozen"s,"LayerBlocked"s,"LayerStyles"s,"ObjectPlacement"s,"Representation"s,"Representations"s,"ProfileType"s,"ProfileName"s,"ProfileDefinition"s,"MapProjection"s,"MapZone"s,"MapUnit"s,"UpperBoundValue"s,"LowerBoundValue"s,"SetPointValue"s,"DependingProperty"s,"DependantProperty"s,"EnumerationValues"s,"EnumerationReference"s,"PropertyReference"s,"ApplicableEntity"s,"NominalValue"s,"DefiningValues"s,"DefinedValues"s,"DefiningUnit"s,"DefinedUnit"s,"CurveInterpolation"s,"ProxyType"s,"AreaValue"s,"Formula"s,"CountValue"s,"LengthValue"s,"TimeValue"s,"VolumeValue"s,"WeightValue"s,"WeightsData"s,"InnerFilletRadius"s,"OuterFilletRadius"s,"U1"s,"V1"s,"U2"s,"V2"s,"Usense"s,"Vsense"s,"RecurrenceType"s,"DayComponent"s,"WeekdayComponent"s,"MonthComponent"s,"Interval"s,"Occurrences"s,"TimePeriods"s,"TypeIdentifier"s,"AttributeIdentifier"s,"InstanceName"s,"ListPositions"s,"InnerReference"s,"RestartDistance"s,"TimeStep"s,"TotalCrossSectionArea"s,"SteelGrade"s,"BarSurface"s,"EffectiveDepth"s,"NominalBarDiameter"s,"BarCount"s,"DefinitionType"s,"ReinforcementSectionDefinitions"s,"CrossSectionArea"s,"BarLength"s,"BendingShapeCode"s,"BendingParameters"s,"MeshLength"s,"MeshWidth"s,"LongitudinalBarNominalDiameter"s,"TransverseBarNominalDiameter"s,"LongitudinalBarCrossSectionArea"s,"TransverseBarCrossSectionArea"s,"LongitudinalBarSpacing"s,"TransverseBarSpacing"s,"RelatingObject"s,"RelatedObjects"s,"RelatedObjectsType"s,"RelatingActor"s,"ActingRole"s,"RelatingControl"s,"RelatingGroup"s,"Factor"s,"RelatingProcess"s,"QuantityInProcess"s,"RelatingProduct"s,"RelatingResource"s,"RelatingClassification"s,"Intent"s,"RelatingConstraint"s,"RelatingLibrary"s,"RelatingProfileDef"s,"ConnectionGeometry"s,"RelatingElement"s,"RelatedElement"s,"RelatingPriorities"s,"RelatedPriorities"s,"RelatedConnectionType"s,"RelatingConnectionType"s,"RelatingPort"s,"RelatedPort"s,"RealizingElement"s,"RelatedStructuralActivity"s,"RelatingStructuralMember"s,"RelatedStructuralConnection"s,"AppliedCondition"s,"AdditionalConditions"s,"SupportedLength"s,"ConditionCoordinateSystem"s,"ConnectionConstraint"s,"RealizingElements"s,"ConnectionType"s,"RelatedElements"s,"RelatingStructure"s,"RelatingBuildingElement"s,"RelatedCoverings"s,"RelatingSpace"s,"RelatingContext"s,"RelatedDefinitions"s,"RelatingPropertyDefinition"s,"RelatedPropertySets"s,"RelatingTemplate"s,"RelatingType"s,"RelatingOpeningElement"s,"RelatedBuildingElement"s,"RelatedControlElements"s,"RelatingFlowElement"s,"InterferenceGeometry"s,"InterferenceType"s,"ImpliedOrder"s,"RelatingPositioningElement"s,"RelatedProducts"s,"RelatedFeatureElement"s,"RelatedProcess"s,"TimeLag"s,"SequenceType"s,"UserDefinedSequenceType"s,"RelatingSystem"s,"RelatedBuildings"s,"PhysicalOrVirtualBoundary"s,"InternalOrExternalBoundary"s,"ParentBoundary"s,"CorrespondingBoundary"s,"RelatedOpeningElement"s,"ParamLength"s,"ContextOfItems"s,"RepresentationIdentifier"s,"RepresentationType"s,"Items"s,"ContextIdentifier"s,"ContextType"s,"MappingOrigin"s,"MappedRepresentation"s,"ScheduleWork"s,"ScheduleUsage"s,"ScheduleStart"s,"ScheduleFinish"s,"ScheduleContour"s,"LevelingDelay"s,"IsOverAllocated"s,"StatusTime"s,"ActualWork"s,"ActualUsage"s,"ActualStart"s,"ActualFinish"s,"RemainingWork"s,"RemainingUsage"s,"Completion"s,"Angle"s,"BottomRadius"s,"GlobalId"s,"OwnerHistory"s,"RoundingRadius"s,"Prefix"s,"DataOrigin"s,"UserDefinedDataOrigin"s,"QuadraticTerm"s,"LinearTerm"s,"SectionType"s,"StartProfile"s,"EndProfile"s,"LongitudinalStartPosition"s,"LongitudinalEndPosition"s,"TransversePosition"s,"ReinforcementRole"s,"SectionDefinition"s,"CrossSectionReinforcementDefinitions"s,"CrossSections"s,"CrossSectionPositions"s,"SpineCurve"s,"Transition"s,"ShapeRepresentations"s,"ProductDefinitional"s,"PartOfProductDefinitionShape"s,"SbsmBoundary"s,"PrimaryMeasureType"s,"SecondaryMeasureType"s,"Enumerators"s,"PrimaryUnit"s,"SecondaryUnit"s,"AccessState"s,"SineTerm"s,"RefLatitude"s,"RefLongitude"s,"RefElevation"s,"LandTitleNumber"s,"SiteAddress"s,"SlippageX"s,"SlippageY"s,"SlippageZ"s,"ElevationWithFlooring"s,"CompositionType"s,"NumberOfRisers"s,"NumberOfTreads"s,"RiserHeight"s,"TreadLength"s,"DestabilizingLoad"s,"AppliedLoad"s,"GlobalOrLocal"s,"OrientationOf2DPlane"s,"LoadedBy"s,"HasResults"s,"SharedPlacement"s,"ProjectedOrTrue"s,"SelfWeightCoefficients"s,"Locations"s,"ActionType"s,"ActionSource"s,"Coefficient"s,"LinearForceX"s,"LinearForceY"s,"LinearForceZ"s,"LinearMomentX"s,"LinearMomentY"s,"LinearMomentZ"s,"PlanarForceX"s,"PlanarForceY"s,"PlanarForceZ"s,"DisplacementX"s,"DisplacementY"s,"DisplacementZ"s,"RotationalDisplacementRX"s,"RotationalDisplacementRY"s,"RotationalDisplacementRZ"s,"Distortion"s,"ForceX"s,"ForceY"s,"ForceZ"s,"MomentX"s,"MomentY"s,"MomentZ"s,"WarpingMoment"s,"DeltaTConstant"s,"DeltaTY"s,"DeltaTZ"s,"TheoryType"s,"ResultForLoadGroup"s,"IsLinear"s,"Item"s,"Styles"s,"ParentEdge"s,"Curve3D"s,"AssociatedGeometry"s,"MasterRepresentation"s,"ReferenceSurface"s,"AxisPosition"s,"SurfaceReinforcement1"s,"SurfaceReinforcement2"s,"ShearReinforcement"s,"Side"s,"DiffuseTransmissionColour"s,"DiffuseReflectionColour"s,"TransmissionColour"s,"ReflectanceColour"s,"RefractionIndex"s,"DispersionFactor"s,"DiffuseColour"s,"ReflectionColour"s,"SpecularColour"s,"SpecularHighlight"s,"ReflectanceMethod"s,"SurfaceColour"s,"Transparency"s,"Textures"s,"RepeatS"s,"RepeatT"s,"Mode"s,"TextureTransform"s,"Parameter"s,"SweptArea"s,"InnerRadius"s,"SweptCurve"s,"FlangeWidth"s,"WebEdgeRadius"s,"WebSlope"s,"Rows"s,"Columns"s,"RowCells"s,"IsHeading"s,"WorkMethod"s,"IsMilestone"s,"TaskTime"s,"ScheduleDuration"s,"EarlyStart"s,"EarlyFinish"s,"LateStart"s,"LateFinish"s,"FreeFloat"s,"TotalFloat"s,"IsCritical"s,"ActualDuration"s,"RemainingTime"s,"Recurrence"s,"TelephoneNumbers"s,"FacsimileNumbers"s,"PagerNumber"s,"ElectronicMailAddresses"s,"WWWHomePageURL"s,"MessagingIDs"s,"TensionForce"s,"PreStress"s,"FrictionCoefficient"s,"AnchorageSlip"s,"MinCurvatureRadius"s,"SheathDiameter"s,"Literal"s,"Path"s,"Extent"s,"BoxAlignment"s,"TextCharacterAppearance"s,"TextStyle"s,"TextFontStyle"s,"FontFamily"s,"FontStyle"s,"FontVariant"s,"FontWeight"s,"FontSize"s,"Colour"s,"BackgroundColour"s,"TextIndent"s,"TextAlign"s,"TextDecoration"s,"LetterSpacing"s,"WordSpacing"s,"TextTransform"s,"LineHeight"s,"Maps"s,"Vertices"s,"TexCoordsList"s,"QubicTerm"s,"StartTime"s,"EndTime"s,"TimeSeriesDataType"s,"MajorRadius"s,"MinorRadius"s,"BottomXDim"s,"TopXDim"s,"TopXOffset"s,"Normals"s,"Flags"s,"Trim1"s,"Trim2"s,"SenseAgreement"s,"ApplicableOccurrence"s,"HasPropertySets"s,"ProcessType"s,"RepresentationMaps"s,"ResourceType"s,"Units"s,"Magnitude"s,"LoopVertex"s,"VertexGeometry"s,"StartCurvature"s,"EndCurvature"s,"GravityCenterHeight"s,"IntersectingAxes"s,"OffsetDistances"s,"PartitioningType"s,"UserDefinedPartitioningType"s,"MullionThickness"s,"FirstTransomOffset"s,"SecondTransomOffset"s,"FirstMullionOffset"s,"SecondMullionOffset"s,"WorkingTimes"s,"ExceptionTimes"s,"Creators"s,"Duration"s,"FinishTime"s,"RecurrencePattern"s,"Start"s,"Finish"s,"IsActingUpon"s,"HasExternalReference"s,"OfPerson"s,"OfOrganization"s,"ContainedInStructure"s,"HasExternalReferences"s,"ApprovedObjects"s,"ApprovedResources"s,"IsRelatedWith"s,"Relates"s,"ClassificationForObjects"s,"HasReferences"s,"ClassificationRefForObjects"s,"PropertiesForConstraint"s,"IsDefinedBy"s,"Declares"s,"Controls"s,"HasCoordinateOperation"s,"CoversSpaces"s,"CoversElements"s,"AssignedToFlowElement"s,"HasPorts"s,"HasControlElements"s,"DocumentInfoForObjects"s,"HasDocumentReferences"s,"IsPointedTo"s,"IsPointer"s,"DocumentRefForObjects"s,"FillsVoids"s,"ConnectedTo"s,"IsInterferedByElements"s,"InterferesElements"s,"HasProjections"s,"HasOpenings"s,"IsConnectionRealization"s,"ProvidesBoundaries"s,"ConnectedFrom"s,"HasCoverings"s,"ExternalReferenceForResources"s,"BoundedBy"s,"HasTextureMaps"s,"ProjectsElements"s,"VoidsElements"s,"HasSubContexts"s,"PartOfW"s,"PartOfV"s,"PartOfU"s,"HasIntersections"s,"IsGroupedBy"s,"ToFaceSet"s,"LibraryInfoForObjects"s,"HasLibraryReferences"s,"LibraryRefForObjects"s,"HasRepresentation"s,"RelatesTo"s,"ToMaterialConstituentSet"s,"AssociatedTo"s,"ToMaterialLayerSet"s,"ToMaterialProfileSet"s,"IsDeclaredBy"s,"IsTypedBy"s,"HasAssignments"s,"Nests"s,"IsNestedBy"s,"HasContext"s,"IsDecomposedBy"s,"Decomposes"s,"HasAssociations"s,"PlacesObject"s,"HasFillings"s,"IsRelatedBy"s,"Engages"s,"EngagedIn"s,"PartOfComplex"s,"ContainedIn"s,"Positions"s,"IsPredecessorTo"s,"IsSuccessorFrom"s,"OperatesOn"s,"ReferencedBy"s,"PositionedRelativeTo"s,"ReferencedInStructures"s,"ShapeOfProduct"s,"HasShapeAspects"s,"PartOfPset"s,"PropertyForDependance"s,"PropertyDependsOn"s,"HasConstraints"s,"HasApprovals"s,"DefinesType"s,"DefinesOccurrence"s,"Defines"s,"PartOfComplexTemplate"s,"PartOfPsetTemplate"s,"Corresponds"s,"RepresentationMap"s,"LayerAssignments"s,"OfProductRepresentation"s,"RepresentationsInContext"s,"LayerAssignment"s,"StyledByItem"s,"MapUsage"s,"ResourceOf"s,"UsingCurves"s,"OfShapeAspect"s,"ContainsElements"s,"ServicedBySystems"s,"ReferencesElements"s,"AssignedToStructuralItem"s,"ConnectsStructuralMembers"s,"AssignedStructuralActivity"s,"SourceOfResultGroup"s,"LoadGroupFor"s,"ConnectedBy"s,"ResultGroupFor"s,"IsMappedBy"s,"UsedInStyles"s,"ServicesBuildings"s,"ServicesFacilities"s,"HasColours"s,"HasTextures"s,"Types"s,"IFC4X3_RC3"s}; IFC4X3_RC3_types[0] = new type_declaration(strings[0], 0, new simple_type(simple_type::real_type)); IFC4X3_RC3_types[1] = new type_declaration(strings[1], 1, new simple_type(simple_type::real_type)); @@ -124,2425 +124,2421 @@ const std::string strings[] = {"IfcAbsorbedDoseMeasure"s,"IfcAccelerationMeasure IFC4X3_RC3_types[304] = new type_declaration(strings[514], 304, new simple_type(simple_type::string_type)); IFC4X3_RC3_types[306] = new type_declaration(strings[515], 306, new simple_type(simple_type::integer_type)); IFC4X3_RC3_types[308] = new enumeration_type(strings[516], 308, {strings[517],strings[518]}); - IFC4X3_RC3_types[314] = new enumeration_type(strings[519], 314, {strings[520],strings[521],strings[522],strings[523],strings[524],strings[525],strings[526],strings[527],strings[528],strings[529],strings[530],strings[531],strings[532],strings[533],strings[534],strings[535],strings[536],strings[537],strings[538],strings[8],strings[9]}); - IFC4X3_RC3_types[317] = new enumeration_type(strings[539], 317, {strings[540],strings[541],strings[542],strings[543],strings[544],strings[8],strings[9]}); - IFC4X3_RC3_types[320] = new enumeration_type(strings[545], 320, {strings[546],strings[547],strings[548],strings[549],strings[550],strings[551],strings[552],strings[553],strings[8],strings[9]}); - IFC4X3_RC3_types[329] = new enumeration_type(strings[554], 329, {strings[555],strings[556],strings[557],strings[558],strings[559],strings[8],strings[9]}); - IFC4X3_RC3_types[331] = new enumeration_type(strings[560], 331, {strings[561],strings[562],strings[563],strings[564],strings[565],strings[566],strings[567],strings[568],strings[569],strings[570],strings[571],strings[572],strings[573],strings[574],strings[575],strings[576],strings[577],strings[578],strings[579],strings[378],strings[580],strings[581],strings[369],strings[370],strings[582],strings[583],strings[584],strings[585],strings[586],strings[587],strings[588],strings[589],strings[590],strings[591],strings[592],strings[137],strings[593],strings[594],strings[595],strings[596],strings[597],strings[598],strings[599],strings[600],strings[601],strings[8],strings[9]}); - IFC4X3_RC3_types[332] = new enumeration_type(strings[602], 332, {strings[603],strings[604],strings[605],strings[606],strings[8],strings[9]}); - IFC4X3_RC3_types[337] = new enumeration_type(strings[607], 337, {strings[608],strings[609],strings[610],strings[611],strings[9]}); - IFC4X3_RC3_types[340] = new enumeration_type(strings[612], 340, {strings[613],strings[614],strings[615],strings[616],strings[617],strings[618],strings[619],strings[8],strings[9]}); - IFC4X3_RC3_types[341] = new enumeration_type(strings[620], 341, {strings[621],strings[622],strings[623],strings[9]}); - IFC4X3_RC3_types[345] = new enumeration_type(strings[624], 345, {strings[625],strings[626],strings[627],strings[383],strings[628],strings[629],strings[382],strings[8],strings[9]}); - IFC4X3_RC3_types[346] = new enumeration_type(strings[630], 346, {strings[631],strings[632],strings[633],strings[634],strings[635],strings[636],strings[637],strings[638],strings[639],strings[640],strings[641],strings[642],strings[643],strings[644],strings[617],strings[618],strings[8],strings[9]}); - IFC4X3_RC3_types[348] = new enumeration_type(strings[645], 348, {strings[646],strings[647],strings[648],strings[649],strings[650],strings[8],strings[9]}); - IFC4X3_RC3_types[349] = new enumeration_type(strings[651], 349, {strings[631],strings[632],strings[652],strings[653],strings[654],strings[636],strings[637],strings[655],strings[639],strings[640],strings[656],strings[642],strings[643],strings[657],strings[658],strings[618],strings[659],strings[660],strings[661],strings[662],strings[663],strings[664],strings[665],strings[8],strings[9]}); - IFC4X3_RC3_types[350] = new type_declaration(strings[666], 350, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[355] = new enumeration_type(strings[667], 355, {strings[251],strings[264],strings[265],strings[266],strings[267],strings[668],strings[268],strings[8],strings[9]}); - IFC4X3_RC3_types[358] = new enumeration_type(strings[669], 358, {strings[670],strings[671],strings[8],strings[9]}); - IFC4X3_RC3_types[361] = new enumeration_type(strings[672], 361, {strings[673],strings[674],strings[675],strings[8],strings[9]}); - IFC4X3_RC3_types[362] = new type_declaration(strings[676], 362, new simple_type(simple_type::string_type)); - IFC4X3_RC3_types[363] = new type_declaration(strings[677], 363, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[365] = new enumeration_type(strings[678], 365, {strings[552],strings[679],strings[680],strings[681],strings[682],strings[683],strings[684],strings[685],strings[686],strings[8],strings[9]}); - IFC4X3_RC3_types[368] = new enumeration_type(strings[687], 368, {strings[688],strings[689],strings[690],strings[691],strings[692],strings[693],strings[694],strings[8],strings[9]}); - IFC4X3_RC3_types[374] = new enumeration_type(strings[695], 374, {strings[696],strings[697],strings[698],strings[699],strings[700],strings[701],strings[702],strings[703],strings[704],strings[705],strings[706],strings[707],strings[708],strings[709],strings[710],strings[711],strings[8],strings[9]}); - IFC4X3_RC3_types[375] = new type_declaration(strings[712], 375, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[376] = new type_declaration(strings[713], 376, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[377] = new type_declaration(strings[714], 377, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[378] = new type_declaration(strings[715], 378, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[381] = new enumeration_type(strings[716], 381, {strings[541],strings[544],strings[542],strings[540],strings[8],strings[9]}); - IFC4X3_RC3_types[384] = new enumeration_type(strings[717], 384, {strings[718],strings[719],strings[720],strings[721],strings[722],strings[723],strings[724],strings[725],strings[726],strings[8],strings[9]}); - IFC4X3_RC3_types[387] = new enumeration_type(strings[727], 387, {strings[728],strings[8],strings[9]}); - IFC4X3_RC3_types[390] = new enumeration_type(strings[729], 390, {strings[730],strings[731],strings[732],strings[8],strings[9]}); - IFC4X3_RC3_types[393] = new enumeration_type(strings[733], 393, {strings[734],strings[735],strings[736],strings[737],strings[738],strings[8],strings[9]}); - IFC4X3_RC3_types[394] = new type_declaration(strings[739], 394, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[397] = new enumeration_type(strings[740], 397, {strings[741],strings[742],strings[743],strings[8],strings[9]}); - IFC4X3_RC3_types[398] = new type_declaration(strings[744], 398, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[403] = new enumeration_type(strings[745], 403, {strings[746],strings[747],strings[748],strings[749],strings[222],strings[750],strings[751],strings[752],strings[224],strings[206],strings[210],strings[212],strings[753],strings[207],strings[754],strings[755],strings[756],strings[757],strings[758],strings[759],strings[760],strings[761],strings[762],strings[763],strings[764],strings[765],strings[766],strings[767],strings[8],strings[9]}); - IFC4X3_RC3_types[406] = new enumeration_type(strings[768], 406, {strings[232],strings[233],strings[234]}); - IFC4X3_RC3_types[413] = new type_declaration(strings[769], 413, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[416] = new enumeration_type(strings[770], 416, {strings[771],strings[772],strings[8],strings[9]}); - IFC4X3_RC3_types[419] = new enumeration_type(strings[773], 419, {strings[774],strings[775],strings[776],strings[777],strings[778],strings[779],strings[780],strings[781],strings[782],strings[8],strings[9]}); - IFC4X3_RC3_types[422] = new enumeration_type(strings[783], 422, {strings[784],strings[785],strings[786],strings[787],strings[788],strings[789],strings[8],strings[9]}); - IFC4X3_RC3_types[425] = new enumeration_type(strings[790], 425, {strings[791],strings[792],strings[793],strings[794],strings[8],strings[9]}); - IFC4X3_RC3_types[427] = new enumeration_type(strings[795], 427, {strings[796],strings[797],strings[798],strings[8],strings[9]}); - IFC4X3_RC3_types[436] = new enumeration_type(strings[799], 436, {strings[800],strings[801],strings[802],strings[803],strings[8],strings[9]}); - IFC4X3_RC3_types[449] = new enumeration_type(strings[804], 449, {strings[805],strings[806],strings[267],strings[807],strings[808],strings[213],strings[809],strings[214],strings[8],strings[9]}); - IFC4X3_RC3_types[451] = new enumeration_type(strings[810], 451, {strings[811],strings[812],strings[813],strings[814],strings[8],strings[9]}); - IFC4X3_RC3_types[455] = new enumeration_type(strings[815], 455, {strings[816],strings[817],strings[818],strings[819],strings[820],strings[821],strings[822],strings[8],strings[9]}); - IFC4X3_RC3_types[458] = new enumeration_type(strings[823], 458, {strings[824],strings[825],strings[826],strings[8],strings[9]}); - IFC4X3_RC3_types[468] = new enumeration_type(strings[827], 468, {strings[828],strings[829],strings[830],strings[831],strings[832],strings[833],strings[8],strings[9]}); - IFC4X3_RC3_types[471] = new enumeration_type(strings[834], 471, {strings[835],strings[836],strings[837],strings[838],strings[839],strings[840],strings[8],strings[9]}); - IFC4X3_RC3_types[475] = new enumeration_type(strings[841], 475, {strings[842],strings[843],strings[844],strings[9]}); - IFC4X3_RC3_types[480] = new enumeration_type(strings[845], 480, {strings[846],strings[847],strings[848],strings[849],strings[850],strings[851],strings[852],strings[853],strings[854],strings[855],strings[8],strings[9]}); - IFC4X3_RC3_types[483] = new enumeration_type(strings[856], 483, {strings[857],strings[858],strings[859],strings[860],strings[8],strings[9]}); - IFC4X3_RC3_types[494] = new type_declaration(strings[861], 494, new simple_type(simple_type::string_type)); - IFC4X3_RC3_types[495] = new type_declaration(strings[862], 495, new simple_type(simple_type::string_type)); - IFC4X3_RC3_types[496] = new type_declaration(strings[863], 496, new simple_type(simple_type::string_type)); - IFC4X3_RC3_types[499] = new enumeration_type(strings[864], 499, {strings[865],strings[866],strings[867],strings[868],strings[869],strings[8],strings[9]}); - IFC4X3_RC3_types[500] = new type_declaration(strings[870], 500, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[501] = new type_declaration(strings[871], 501, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[506] = new enumeration_type(strings[872], 506, {strings[873],strings[874],strings[875],strings[876],strings[877],strings[878],strings[879],strings[880],strings[8],strings[9]}); - IFC4X3_RC3_types[509] = new enumeration_type(strings[881], 509, {strings[882],strings[883],strings[8],strings[9]}); - IFC4X3_RC3_types[511] = new enumeration_type(strings[884], 511, {strings[885],strings[886],strings[887],strings[888],strings[889],strings[890],strings[891],strings[8],strings[9]}); - IFC4X3_RC3_types[523] = new enumeration_type(strings[892], 523, {strings[893],strings[894]}); - IFC4X3_RC3_types[522] = new type_declaration(strings[895], 522, new simple_type(simple_type::string_type)); - IFC4X3_RC3_types[529] = new enumeration_type(strings[896], 529, {strings[674],strings[897],strings[898],strings[899],strings[8],strings[9]}); - IFC4X3_RC3_types[535] = new enumeration_type(strings[900], 535, {strings[901],strings[902],strings[903],strings[8],strings[9]}); - IFC4X3_RC3_types[536] = new type_declaration(strings[904], 536, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[537] = new type_declaration(strings[905], 537, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[540] = new enumeration_type(strings[906], 540, {strings[907],strings[908],strings[909],strings[910],strings[911],strings[912],strings[913],strings[914],strings[915],strings[916],strings[917],strings[918],strings[919],strings[8],strings[9]}); - IFC4X3_RC3_types[541] = new type_declaration(strings[920], 541, new simple_type(simple_type::string_type)); - IFC4X3_RC3_types[542] = new type_declaration(strings[921], 542, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[546] = new enumeration_type(strings[922], 546, {strings[923],strings[924],strings[925],strings[926],strings[8],strings[9]}); - IFC4X3_RC3_types[555] = new type_declaration(strings[927], 555, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[556] = new type_declaration(strings[928], 556, new simple_type(simple_type::integer_type)); - IFC4X3_RC3_types[557] = new type_declaration(strings[929], 557, new simple_type(simple_type::integer_type)); - IFC4X3_RC3_types[560] = new enumeration_type(strings[930], 560, {strings[931],strings[932],strings[584],strings[933],strings[8],strings[9]}); - IFC4X3_RC3_types[562] = new enumeration_type(strings[934], 562, {strings[935],strings[800],strings[801],strings[802],strings[803],strings[9]}); - IFC4X3_RC3_types[565] = new enumeration_type(strings[936], 565, {strings[937],strings[938],strings[939],strings[8],strings[9]}); - IFC4X3_RC3_types[566] = new type_declaration(strings[940], 566, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[570] = new type_declaration(strings[941], 570, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[573] = new enumeration_type(strings[942], 573, {strings[570],strings[943],strings[8],strings[9]}); - IFC4X3_RC3_types[576] = new type_declaration(strings[944], 576, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[577] = new enumeration_type(strings[945], 577, {strings[946],strings[947],strings[948],strings[146]}); - IFC4X3_RC3_types[578] = new type_declaration(strings[949], 578, new simple_type(simple_type::string_type)); - IFC4X3_RC3_types[581] = new enumeration_type(strings[950], 581, {strings[951],strings[952],strings[953],strings[376],strings[377],strings[954],strings[955],strings[425],strings[956],strings[957],strings[958],strings[380],strings[959],strings[371],strings[960],strings[427],strings[961],strings[962],strings[963],strings[8],strings[9]}); - IFC4X3_RC3_types[585] = new enumeration_type(strings[964], 585, {strings[965],strings[966],strings[967],strings[968],strings[969],strings[970],strings[971],strings[972],strings[973],strings[8],strings[9]}); - IFC4X3_RC3_types[586] = new type_declaration(strings[974], 586, new named_type(IFC4X3_RC3_types[541])); - IFC4X3_RC3_types[588] = new enumeration_type(strings[975], 588, {strings[976],strings[977],strings[978]}); - IFC4X3_RC3_types[589] = new type_declaration(strings[979], 589, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[593] = new enumeration_type(strings[980], 593, {strings[981],strings[982],strings[983],strings[9]}); - IFC4X3_RC3_types[596] = new enumeration_type(strings[984], 596, {strings[965],strings[966],strings[968],strings[969],strings[985],strings[986],strings[987],strings[988],strings[971],strings[973],strings[9]}); - IFC4X3_RC3_types[599] = new enumeration_type(strings[989], 599, {strings[990],strings[991],strings[992],strings[8],strings[9]}); - IFC4X3_RC3_types[609] = new type_declaration(strings[993], 609, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[610] = new type_declaration(strings[994], 610, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[613] = new type_declaration(strings[995], 613, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[614] = new type_declaration(strings[996], 614, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[618] = new enumeration_type(strings[997], 618, {strings[998],strings[837],strings[8],strings[9]}); - IFC4X3_RC3_types[619] = new enumeration_type(strings[999], 619, {strings[1000],strings[1001],strings[1002],strings[8],strings[9]}); - IFC4X3_RC3_types[621] = new type_declaration(strings[1003], 621, new simple_type(simple_type::logical_type)); - IFC4X3_RC3_types[622] = new enumeration_type(strings[1004], 622, {strings[1005],strings[1006],strings[1007],strings[1008],strings[1009]}); - IFC4X3_RC3_types[625] = new type_declaration(strings[1010], 625, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[626] = new type_declaration(strings[1011], 626, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[627] = new type_declaration(strings[1012], 627, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[628] = new type_declaration(strings[1013], 628, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[629] = new type_declaration(strings[1014], 629, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[634] = new enumeration_type(strings[1015], 634, {strings[1016],strings[1017],strings[1018],strings[1019],strings[1020],strings[1021],strings[1022],strings[1023],strings[1024],strings[1025],strings[1026],strings[1027],strings[1028],strings[1029],strings[1030],strings[1031],strings[1032],strings[1033],strings[1034],strings[8],strings[9]}); - IFC4X3_RC3_types[635] = new enumeration_type(strings[1035], 635, {strings[1036],strings[1037],strings[1038],strings[420],strings[1039],strings[1040],strings[1041],strings[1042],strings[1043],strings[1044],strings[1045],strings[1046],strings[1047],strings[1048],strings[1049],strings[1050],strings[1051],strings[1052],strings[422],strings[1053],strings[1054],strings[1055],strings[1056],strings[1057],strings[8],strings[9]}); + IFC4X3_RC3_types[313] = new enumeration_type(strings[519], 313, {strings[520],strings[521],strings[522],strings[523],strings[524],strings[525],strings[526],strings[527],strings[528],strings[529],strings[530],strings[531],strings[532],strings[533],strings[534],strings[535],strings[536],strings[537],strings[8],strings[9],strings[538]}); + IFC4X3_RC3_types[316] = new enumeration_type(strings[539], 316, {strings[540],strings[541],strings[542],strings[543],strings[544],strings[8],strings[9]}); + IFC4X3_RC3_types[319] = new enumeration_type(strings[545], 319, {strings[546],strings[547],strings[548],strings[549],strings[550],strings[551],strings[552],strings[553],strings[8],strings[9]}); + IFC4X3_RC3_types[328] = new enumeration_type(strings[554], 328, {strings[555],strings[556],strings[557],strings[558],strings[559],strings[8],strings[9]}); + IFC4X3_RC3_types[330] = new enumeration_type(strings[560], 330, {strings[561],strings[562],strings[563],strings[564],strings[565],strings[566],strings[567],strings[568],strings[569],strings[570],strings[571],strings[572],strings[573],strings[574],strings[575],strings[576],strings[577],strings[578],strings[579],strings[378],strings[580],strings[581],strings[369],strings[370],strings[582],strings[583],strings[584],strings[585],strings[586],strings[587],strings[588],strings[589],strings[590],strings[591],strings[592],strings[137],strings[593],strings[594],strings[595],strings[596],strings[597],strings[598],strings[599],strings[600],strings[601],strings[8],strings[9]}); + IFC4X3_RC3_types[331] = new enumeration_type(strings[602], 331, {strings[603],strings[604],strings[605],strings[606],strings[8],strings[9]}); + IFC4X3_RC3_types[336] = new enumeration_type(strings[607], 336, {strings[608],strings[609],strings[610],strings[611],strings[9]}); + IFC4X3_RC3_types[339] = new enumeration_type(strings[612], 339, {strings[613],strings[614],strings[615],strings[616],strings[617],strings[618],strings[619],strings[8],strings[9]}); + IFC4X3_RC3_types[340] = new enumeration_type(strings[620], 340, {strings[621],strings[622],strings[623],strings[9]}); + IFC4X3_RC3_types[344] = new enumeration_type(strings[624], 344, {strings[625],strings[626],strings[627],strings[383],strings[628],strings[629],strings[382],strings[8],strings[9]}); + IFC4X3_RC3_types[345] = new enumeration_type(strings[630], 345, {strings[631],strings[632],strings[633],strings[634],strings[635],strings[636],strings[637],strings[638],strings[639],strings[640],strings[641],strings[642],strings[643],strings[644],strings[617],strings[618],strings[8],strings[9]}); + IFC4X3_RC3_types[347] = new enumeration_type(strings[645], 347, {strings[646],strings[647],strings[648],strings[649],strings[650],strings[8],strings[9]}); + IFC4X3_RC3_types[348] = new enumeration_type(strings[651], 348, {strings[631],strings[632],strings[652],strings[653],strings[654],strings[636],strings[637],strings[655],strings[639],strings[640],strings[656],strings[642],strings[643],strings[657],strings[658],strings[618],strings[659],strings[660],strings[661],strings[662],strings[663],strings[664],strings[665],strings[8],strings[9]}); + IFC4X3_RC3_types[349] = new type_declaration(strings[666], 349, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[354] = new enumeration_type(strings[667], 354, {strings[251],strings[264],strings[265],strings[266],strings[267],strings[668],strings[268],strings[8],strings[9]}); + IFC4X3_RC3_types[357] = new enumeration_type(strings[669], 357, {strings[670],strings[671],strings[8],strings[9]}); + IFC4X3_RC3_types[360] = new enumeration_type(strings[672], 360, {strings[673],strings[674],strings[675],strings[8],strings[9]}); + IFC4X3_RC3_types[361] = new type_declaration(strings[676], 361, new simple_type(simple_type::string_type)); + IFC4X3_RC3_types[362] = new type_declaration(strings[677], 362, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[364] = new enumeration_type(strings[678], 364, {strings[552],strings[679],strings[680],strings[681],strings[682],strings[683],strings[684],strings[685],strings[686],strings[8],strings[9]}); + IFC4X3_RC3_types[367] = new enumeration_type(strings[687], 367, {strings[688],strings[689],strings[690],strings[691],strings[692],strings[693],strings[694],strings[8],strings[9]}); + IFC4X3_RC3_types[373] = new enumeration_type(strings[695], 373, {strings[696],strings[697],strings[698],strings[699],strings[700],strings[701],strings[702],strings[703],strings[704],strings[705],strings[706],strings[707],strings[708],strings[709],strings[710],strings[711],strings[8],strings[9]}); + IFC4X3_RC3_types[374] = new type_declaration(strings[712], 374, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[375] = new type_declaration(strings[713], 375, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[376] = new type_declaration(strings[714], 376, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[377] = new type_declaration(strings[715], 377, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[380] = new enumeration_type(strings[716], 380, {strings[541],strings[544],strings[542],strings[540],strings[8],strings[9]}); + IFC4X3_RC3_types[383] = new enumeration_type(strings[717], 383, {strings[718],strings[719],strings[720],strings[721],strings[722],strings[723],strings[724],strings[725],strings[726],strings[8],strings[9]}); + IFC4X3_RC3_types[386] = new enumeration_type(strings[727], 386, {strings[728],strings[8],strings[9]}); + IFC4X3_RC3_types[389] = new enumeration_type(strings[729], 389, {strings[730],strings[731],strings[732],strings[8],strings[9]}); + IFC4X3_RC3_types[392] = new enumeration_type(strings[733], 392, {strings[734],strings[735],strings[736],strings[737],strings[738],strings[8],strings[9]}); + IFC4X3_RC3_types[393] = new type_declaration(strings[739], 393, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[396] = new enumeration_type(strings[740], 396, {strings[741],strings[742],strings[743],strings[8],strings[9]}); + IFC4X3_RC3_types[397] = new type_declaration(strings[744], 397, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[402] = new enumeration_type(strings[745], 402, {strings[746],strings[747],strings[748],strings[749],strings[222],strings[750],strings[751],strings[752],strings[224],strings[206],strings[210],strings[212],strings[753],strings[207],strings[754],strings[755],strings[756],strings[757],strings[758],strings[759],strings[760],strings[761],strings[762],strings[763],strings[764],strings[765],strings[766],strings[767],strings[8],strings[9]}); + IFC4X3_RC3_types[405] = new enumeration_type(strings[768], 405, {strings[232],strings[233],strings[234]}); + IFC4X3_RC3_types[412] = new type_declaration(strings[769], 412, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[415] = new enumeration_type(strings[770], 415, {strings[771],strings[772],strings[8],strings[9]}); + IFC4X3_RC3_types[418] = new enumeration_type(strings[773], 418, {strings[774],strings[775],strings[776],strings[777],strings[778],strings[779],strings[780],strings[781],strings[782],strings[8],strings[9]}); + IFC4X3_RC3_types[421] = new enumeration_type(strings[783], 421, {strings[784],strings[785],strings[786],strings[787],strings[788],strings[789],strings[8],strings[9]}); + IFC4X3_RC3_types[424] = new enumeration_type(strings[790], 424, {strings[791],strings[792],strings[793],strings[794],strings[8],strings[9]}); + IFC4X3_RC3_types[426] = new enumeration_type(strings[795], 426, {strings[796],strings[797],strings[798],strings[8],strings[9]}); + IFC4X3_RC3_types[435] = new enumeration_type(strings[799], 435, {strings[800],strings[801],strings[802],strings[803],strings[8],strings[9]}); + IFC4X3_RC3_types[448] = new enumeration_type(strings[804], 448, {strings[805],strings[806],strings[267],strings[807],strings[808],strings[213],strings[809],strings[214],strings[8],strings[9]}); + IFC4X3_RC3_types[450] = new enumeration_type(strings[810], 450, {strings[811],strings[812],strings[813],strings[814],strings[8],strings[9]}); + IFC4X3_RC3_types[454] = new enumeration_type(strings[815], 454, {strings[816],strings[817],strings[818],strings[819],strings[820],strings[821],strings[822],strings[8],strings[9]}); + IFC4X3_RC3_types[457] = new enumeration_type(strings[823], 457, {strings[824],strings[825],strings[826],strings[8],strings[9]}); + IFC4X3_RC3_types[467] = new enumeration_type(strings[827], 467, {strings[828],strings[829],strings[830],strings[831],strings[832],strings[833],strings[8],strings[9]}); + IFC4X3_RC3_types[470] = new enumeration_type(strings[834], 470, {strings[835],strings[836],strings[837],strings[838],strings[839],strings[840],strings[8],strings[9]}); + IFC4X3_RC3_types[474] = new enumeration_type(strings[841], 474, {strings[842],strings[843],strings[844],strings[9]}); + IFC4X3_RC3_types[479] = new enumeration_type(strings[845], 479, {strings[846],strings[847],strings[848],strings[849],strings[850],strings[851],strings[852],strings[853],strings[854],strings[855],strings[8],strings[9]}); + IFC4X3_RC3_types[482] = new enumeration_type(strings[856], 482, {strings[857],strings[858],strings[859],strings[860],strings[8],strings[9]}); + IFC4X3_RC3_types[493] = new type_declaration(strings[861], 493, new simple_type(simple_type::string_type)); + IFC4X3_RC3_types[494] = new type_declaration(strings[862], 494, new simple_type(simple_type::string_type)); + IFC4X3_RC3_types[495] = new type_declaration(strings[863], 495, new simple_type(simple_type::string_type)); + IFC4X3_RC3_types[498] = new enumeration_type(strings[864], 498, {strings[865],strings[866],strings[867],strings[868],strings[869],strings[8],strings[9]}); + IFC4X3_RC3_types[499] = new type_declaration(strings[870], 499, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[500] = new type_declaration(strings[871], 500, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[505] = new enumeration_type(strings[872], 505, {strings[873],strings[874],strings[875],strings[876],strings[877],strings[878],strings[879],strings[880],strings[8],strings[9]}); + IFC4X3_RC3_types[508] = new enumeration_type(strings[881], 508, {strings[882],strings[883],strings[8],strings[9]}); + IFC4X3_RC3_types[510] = new enumeration_type(strings[884], 510, {strings[885],strings[886],strings[887],strings[888],strings[889],strings[890],strings[891],strings[8],strings[9]}); + IFC4X3_RC3_types[522] = new enumeration_type(strings[892], 522, {strings[893],strings[894]}); + IFC4X3_RC3_types[521] = new type_declaration(strings[895], 521, new simple_type(simple_type::string_type)); + IFC4X3_RC3_types[528] = new enumeration_type(strings[896], 528, {strings[674],strings[897],strings[898],strings[899],strings[8],strings[9]}); + IFC4X3_RC3_types[534] = new enumeration_type(strings[900], 534, {strings[901],strings[902],strings[903],strings[8],strings[9]}); + IFC4X3_RC3_types[535] = new type_declaration(strings[904], 535, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[536] = new type_declaration(strings[905], 536, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[539] = new enumeration_type(strings[906], 539, {strings[907],strings[908],strings[909],strings[910],strings[911],strings[912],strings[913],strings[914],strings[915],strings[916],strings[917],strings[918],strings[919],strings[8],strings[9]}); + IFC4X3_RC3_types[540] = new type_declaration(strings[920], 540, new simple_type(simple_type::string_type)); + IFC4X3_RC3_types[541] = new type_declaration(strings[921], 541, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[545] = new enumeration_type(strings[922], 545, {strings[923],strings[924],strings[925],strings[926],strings[8],strings[9]}); + IFC4X3_RC3_types[554] = new type_declaration(strings[927], 554, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[555] = new type_declaration(strings[928], 555, new simple_type(simple_type::integer_type)); + IFC4X3_RC3_types[556] = new type_declaration(strings[929], 556, new simple_type(simple_type::integer_type)); + IFC4X3_RC3_types[559] = new enumeration_type(strings[930], 559, {strings[931],strings[932],strings[584],strings[933],strings[8],strings[9]}); + IFC4X3_RC3_types[561] = new enumeration_type(strings[934], 561, {strings[935],strings[800],strings[801],strings[802],strings[803],strings[9]}); + IFC4X3_RC3_types[564] = new enumeration_type(strings[936], 564, {strings[937],strings[938],strings[939],strings[8],strings[9]}); + IFC4X3_RC3_types[565] = new type_declaration(strings[940], 565, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[569] = new type_declaration(strings[941], 569, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[572] = new enumeration_type(strings[942], 572, {strings[570],strings[943],strings[8],strings[9]}); + IFC4X3_RC3_types[575] = new type_declaration(strings[944], 575, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[576] = new enumeration_type(strings[945], 576, {strings[946],strings[947],strings[948],strings[146]}); + IFC4X3_RC3_types[577] = new type_declaration(strings[949], 577, new simple_type(simple_type::string_type)); + IFC4X3_RC3_types[580] = new enumeration_type(strings[950], 580, {strings[951],strings[952],strings[953],strings[376],strings[377],strings[954],strings[955],strings[425],strings[956],strings[957],strings[958],strings[380],strings[959],strings[371],strings[960],strings[427],strings[961],strings[962],strings[963],strings[8],strings[9]}); + IFC4X3_RC3_types[584] = new enumeration_type(strings[964], 584, {strings[965],strings[966],strings[967],strings[968],strings[969],strings[970],strings[971],strings[972],strings[973],strings[8],strings[9]}); + IFC4X3_RC3_types[585] = new type_declaration(strings[974], 585, new named_type(IFC4X3_RC3_types[540])); + IFC4X3_RC3_types[587] = new enumeration_type(strings[975], 587, {strings[976],strings[977],strings[978]}); + IFC4X3_RC3_types[588] = new type_declaration(strings[979], 588, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[592] = new enumeration_type(strings[980], 592, {strings[981],strings[982],strings[983],strings[9]}); + IFC4X3_RC3_types[595] = new enumeration_type(strings[984], 595, {strings[965],strings[966],strings[968],strings[969],strings[985],strings[986],strings[987],strings[988],strings[971],strings[973],strings[9]}); + IFC4X3_RC3_types[598] = new enumeration_type(strings[989], 598, {strings[990],strings[991],strings[992],strings[8],strings[9]}); + IFC4X3_RC3_types[608] = new type_declaration(strings[993], 608, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[609] = new type_declaration(strings[994], 609, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[612] = new type_declaration(strings[995], 612, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[613] = new type_declaration(strings[996], 613, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[617] = new enumeration_type(strings[997], 617, {strings[998],strings[837],strings[8],strings[9]}); + IFC4X3_RC3_types[618] = new enumeration_type(strings[999], 618, {strings[1000],strings[1001],strings[1002],strings[8],strings[9]}); + IFC4X3_RC3_types[620] = new type_declaration(strings[1003], 620, new simple_type(simple_type::logical_type)); + IFC4X3_RC3_types[621] = new enumeration_type(strings[1004], 621, {strings[1005],strings[1006],strings[1007],strings[1008],strings[1009]}); + IFC4X3_RC3_types[624] = new type_declaration(strings[1010], 624, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[625] = new type_declaration(strings[1011], 625, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[626] = new type_declaration(strings[1012], 626, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[627] = new type_declaration(strings[1013], 627, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[628] = new type_declaration(strings[1014], 628, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[633] = new enumeration_type(strings[1015], 633, {strings[1016],strings[1017],strings[691],strings[1018],strings[1019],strings[1020],strings[1021],strings[1022],strings[1023],strings[1024],strings[1025],strings[1026],strings[1027],strings[1028],strings[1029],strings[1030],strings[1031],strings[1032],strings[1033],strings[8],strings[9]}); + IFC4X3_RC3_types[634] = new enumeration_type(strings[1034], 634, {strings[1035],strings[1036],strings[1037],strings[420],strings[1038],strings[1039],strings[1040],strings[1041],strings[1042],strings[1043],strings[1044],strings[1045],strings[1046],strings[1047],strings[1048],strings[1049],strings[1050],strings[1051],strings[422],strings[1052],strings[1053],strings[1054],strings[1055],strings[1056],strings[8],strings[9]}); + IFC4X3_RC3_types[635] = new type_declaration(strings[1057], 635, new simple_type(simple_type::real_type)); IFC4X3_RC3_types[636] = new type_declaration(strings[1058], 636, new simple_type(simple_type::real_type)); IFC4X3_RC3_types[637] = new type_declaration(strings[1059], 637, new simple_type(simple_type::real_type)); IFC4X3_RC3_types[638] = new type_declaration(strings[1060], 638, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[639] = new type_declaration(strings[1061], 639, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[664] = new enumeration_type(strings[1062], 664, {strings[1063],strings[1064],strings[1065],strings[1066],strings[1067],strings[1068],strings[1069],strings[1070],strings[1071],strings[1072],strings[1073],strings[1074],strings[1075],strings[1076],strings[1077],strings[8],strings[9]}); - IFC4X3_RC3_types[667] = new enumeration_type(strings[1078], 667, {strings[1079],strings[1080],strings[1081],strings[1082],strings[1083],strings[8],strings[9]}); - IFC4X3_RC3_types[671] = new enumeration_type(strings[1084], 671, {strings[1085],strings[1086],strings[1087],strings[1088],strings[1089],strings[901],strings[6],strings[1090],strings[1091],strings[1092],strings[1093],strings[1094],strings[1095],strings[1096],strings[1097],strings[1098],strings[1099],strings[1100],strings[1101],strings[8],strings[9]}); - IFC4X3_RC3_types[677] = new enumeration_type(strings[1102], 677, {strings[1103],strings[1104],strings[1105],strings[1106],strings[1107],strings[1108],strings[1109],strings[8],strings[9]}); + IFC4X3_RC3_types[663] = new enumeration_type(strings[1061], 663, {strings[1062],strings[1063],strings[1064],strings[1065],strings[1066],strings[1067],strings[1068],strings[1069],strings[1070],strings[1071],strings[1072],strings[1073],strings[1074],strings[1075],strings[1076],strings[8],strings[9]}); + IFC4X3_RC3_types[666] = new enumeration_type(strings[1077], 666, {strings[1078],strings[1079],strings[1080],strings[1081],strings[1082],strings[8],strings[9]}); + IFC4X3_RC3_types[670] = new enumeration_type(strings[1083], 670, {strings[1084],strings[1085],strings[1086],strings[1087],strings[1088],strings[901],strings[6],strings[1089],strings[1090],strings[1091],strings[1092],strings[1093],strings[1094],strings[1095],strings[1096],strings[1097],strings[1098],strings[1099],strings[1100],strings[8],strings[9]}); + IFC4X3_RC3_types[676] = new enumeration_type(strings[1101], 676, {strings[1102],strings[1103],strings[1104],strings[1105],strings[1106],strings[1107],strings[1108],strings[8],strings[9]}); + IFC4X3_RC3_types[677] = new type_declaration(strings[1109], 677, new simple_type(simple_type::real_type)); IFC4X3_RC3_types[678] = new type_declaration(strings[1110], 678, new simple_type(simple_type::real_type)); IFC4X3_RC3_types[679] = new type_declaration(strings[1111], 679, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[680] = new type_declaration(strings[1112], 680, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[681] = new select_type(strings[1113], 681, {IFC4X3_RC3_types[88],IFC4X3_RC3_types[680]}); - IFC4X3_RC3_types[682] = new type_declaration(strings[1114], 682, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[683] = new select_type(strings[1115], 683, {IFC4X3_RC3_types[88],IFC4X3_RC3_types[682]}); - IFC4X3_RC3_types[684] = new select_type(strings[1116], 684, {IFC4X3_RC3_types[88],IFC4X3_RC3_types[679]}); + IFC4X3_RC3_types[680] = new select_type(strings[1112], 680, {IFC4X3_RC3_types[88],IFC4X3_RC3_types[679]}); + IFC4X3_RC3_types[681] = new type_declaration(strings[1113], 681, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[682] = new select_type(strings[1114], 682, {IFC4X3_RC3_types[88],IFC4X3_RC3_types[681]}); + IFC4X3_RC3_types[683] = new select_type(strings[1115], 683, {IFC4X3_RC3_types[88],IFC4X3_RC3_types[678]}); + IFC4X3_RC3_types[684] = new type_declaration(strings[1116], 684, new simple_type(simple_type::real_type)); IFC4X3_RC3_types[685] = new type_declaration(strings[1117], 685, new simple_type(simple_type::real_type)); IFC4X3_RC3_types[686] = new type_declaration(strings[1118], 686, new simple_type(simple_type::real_type)); IFC4X3_RC3_types[687] = new type_declaration(strings[1119], 687, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[688] = new type_declaration(strings[1120], 688, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[690] = new type_declaration(strings[1121], 690, new simple_type(simple_type::integer_type)); - IFC4X3_RC3_types[693] = new enumeration_type(strings[1122], 693, {strings[1123],strings[1124],strings[1125],strings[1126],strings[1127],strings[8],strings[9]}); - IFC4X3_RC3_types[696] = new enumeration_type(strings[1128], 696, {strings[1129],strings[1130],strings[1131],strings[8],strings[9]}); - IFC4X3_RC3_types[700] = new enumeration_type(strings[1132], 700, {strings[1133],strings[1134],strings[8],strings[9]}); - IFC4X3_RC3_types[701] = new type_declaration(strings[1135], 701, new named_type(IFC4X3_RC3_types[589])); - IFC4X3_RC3_types[703] = new type_declaration(strings[1136], 703, new simple_type(simple_type::number_type)); - IFC4X3_RC3_types[710] = new enumeration_type(strings[1137], 710, {strings[1138],strings[1139],strings[568],strings[1140],strings[1141],strings[1142],strings[1143],strings[9]}); - IFC4X3_RC3_types[707] = new enumeration_type(strings[1144], 707, {strings[1145],strings[1146],strings[1147],strings[800],strings[1148],strings[1149],strings[1150],strings[1151],strings[1152],strings[1153],strings[1154],strings[8],strings[9]}); - IFC4X3_RC3_types[712] = new enumeration_type(strings[1155], 712, {strings[1156],strings[1157],strings[1158],strings[1159],strings[1160],strings[1161],strings[1162],strings[8],strings[9]}); - IFC4X3_RC3_types[719] = new enumeration_type(strings[1163], 719, {strings[1164],strings[1165],strings[8],strings[9]}); - IFC4X3_RC3_types[728] = new enumeration_type(strings[1166], 728, {strings[1167],strings[1168],strings[1169],strings[1170],strings[1171],strings[8],strings[9]}); - IFC4X3_RC3_types[745] = new type_declaration(strings[1172], 745, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[731] = new type_declaration(strings[1173], 731, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[735] = new enumeration_type(strings[1174], 735, {strings[1175],strings[1176],strings[8],strings[9]}); - IFC4X3_RC3_types[738] = new enumeration_type(strings[1177], 738, {strings[8],strings[9]}); - IFC4X3_RC3_types[739] = new enumeration_type(strings[1178], 739, {strings[1179],strings[1180],strings[1181],strings[8],strings[9]}); - IFC4X3_RC3_types[742] = new enumeration_type(strings[1182], 742, {strings[1183],strings[1184],strings[1185],strings[8],strings[9]}); - IFC4X3_RC3_types[747] = new enumeration_type(strings[1186], 747, {strings[1187],strings[1188],strings[9]}); - IFC4X3_RC3_types[751] = new enumeration_type(strings[1189], 751, {strings[1190],strings[1191],strings[1192],strings[1193],strings[8],strings[9]}); - IFC4X3_RC3_types[753] = new enumeration_type(strings[1194], 753, {strings[1195],strings[1196],strings[1197],strings[1198],strings[1199],strings[1200],strings[8],strings[9]}); - IFC4X3_RC3_types[756] = new enumeration_type(strings[1201], 756, {strings[251],strings[264],strings[265],strings[266],strings[267],strings[668],strings[268],strings[8],strings[9]}); - IFC4X3_RC3_types[759] = new enumeration_type(strings[1202], 759, {strings[220],strings[671],strings[670],strings[1203],strings[1204],strings[8],strings[9]}); - IFC4X3_RC3_types[764] = new type_declaration(strings[1205], 764, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[766] = new type_declaration(strings[1206], 766, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[771] = new enumeration_type(strings[1207], 771, {strings[1208],strings[1209],strings[1210],strings[1211],strings[1212],strings[1213],strings[1214],strings[1215],strings[1216],strings[8],strings[9]}); - IFC4X3_RC3_types[784] = new type_declaration(strings[1217], 784, new named_type(IFC4X3_RC3_types[556])); - IFC4X3_RC3_types[785] = new type_declaration(strings[1218], 785, new named_type(IFC4X3_RC3_types[589])); - IFC4X3_RC3_types[786] = new type_declaration(strings[1219], 786, new named_type(IFC4X3_RC3_types[766])); - IFC4X3_RC3_types[789] = new type_declaration(strings[1220], 789, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[796] = new enumeration_type(strings[1221], 796, {strings[1222],strings[1223],strings[1224]}); - IFC4X3_RC3_types[797] = new type_declaration(strings[1225], 797, new simple_type(simple_type::string_type)); - IFC4X3_RC3_types[802] = new type_declaration(strings[1226], 802, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[805] = new enumeration_type(strings[1227], 805, {strings[1228],strings[1229],strings[1230],strings[1231],strings[1232],strings[1233],strings[1234],strings[8],strings[9]}); - IFC4X3_RC3_types[815] = new enumeration_type(strings[1235], 815, {strings[1236],strings[1237]}); - IFC4X3_RC3_types[823] = new enumeration_type(strings[1238], 823, {strings[1239],strings[1240],strings[1241],strings[1242],strings[1243],strings[8],strings[9]}); - IFC4X3_RC3_types[818] = new enumeration_type(strings[1244], 818, {strings[1245],strings[1246]}); - IFC4X3_RC3_types[820] = new enumeration_type(strings[1247], 820, {strings[1248],strings[1249],strings[8],strings[9]}); - IFC4X3_RC3_types[838] = new enumeration_type(strings[1250], 838, {strings[1251],strings[1252],strings[1253],strings[1254],strings[1255],strings[1256],strings[1257],strings[9]}); - IFC4X3_RC3_types[846] = new enumeration_type(strings[1258], 846, {strings[1259],strings[1260],strings[1261],strings[1262],strings[8],strings[9]}); - IFC4X3_RC3_types[848] = new enumeration_type(strings[1263], 848, {strings[1264],strings[1265],strings[1266],strings[1267],strings[1268],strings[1269],strings[1270],strings[1271],strings[1272],strings[1273],strings[8],strings[9]}); - IFC4X3_RC3_types[852] = new enumeration_type(strings[1274], 852, {strings[1275],strings[1276],strings[1277],strings[1278],strings[1279],strings[1280],strings[1281],strings[8],strings[9]}); - IFC4X3_RC3_types[860] = new type_declaration(strings[1282], 860, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[866] = new enumeration_type(strings[1283], 866, {strings[1284],strings[1285],strings[1286],strings[1287],strings[1288],strings[1289],strings[8],strings[9]}); - IFC4X3_RC3_types[864] = new enumeration_type(strings[1290], 864, {strings[1291],strings[1286],strings[1292],strings[1293],strings[8],strings[9]}); - IFC4X3_RC3_types[868] = new enumeration_type(strings[1294], 868, {strings[1295],strings[1296],strings[1297],strings[1298],strings[1299],strings[1300],strings[214],strings[1301],strings[8],strings[9]}); - IFC4X3_RC3_types[869] = new enumeration_type(strings[1302], 869, {strings[8],strings[9]}); - IFC4X3_RC3_types[873] = new enumeration_type(strings[1303], 873, {strings[1304],strings[1305],strings[8],strings[9]}); - IFC4X3_RC3_types[875] = new enumeration_type(strings[1306], 875, {strings[1307],strings[1308],strings[1309],strings[1310],strings[1311],strings[1312],strings[8],strings[9]}); - IFC4X3_RC3_types[876] = new type_declaration(strings[1313], 876, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[879] = new type_declaration(strings[1314], 879, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[885] = new enumeration_type(strings[1315], 885, {strings[1316],strings[1317],strings[1318],strings[1319],strings[1320],strings[1321],strings[1322],strings[1323]}); - IFC4X3_RC3_types[888] = new enumeration_type(strings[1324], 888, {strings[1325],strings[1326],strings[1327],strings[1328],strings[8],strings[9]}); - IFC4X3_RC3_types[889] = new enumeration_type(strings[1329], 889, {strings[1330],strings[1331],strings[1332],strings[1333],strings[381],strings[1334],strings[1335],strings[382],strings[1336],strings[9]}); - IFC4X3_RC3_types[892] = new enumeration_type(strings[1337], 892, {strings[1338],strings[1339],strings[1340],strings[1341],strings[1342],strings[1343],strings[8],strings[9]}); - IFC4X3_RC3_types[896] = new enumeration_type(strings[1344], 896, {strings[1345],strings[1346],strings[1347],strings[1094],strings[1348],strings[1349],strings[1350],strings[1351],strings[8],strings[9]}); - IFC4X3_RC3_types[897] = new enumeration_type(strings[1352], 897, {strings[1353],strings[1354]}); - IFC4X3_RC3_types[899] = new enumeration_type(strings[1355], 899, {strings[1351],strings[1349],strings[1347],strings[1345],strings[1348],strings[1350],strings[1346],strings[1094],strings[1356],strings[8],strings[9]}); - IFC4X3_RC3_types[904] = new enumeration_type(strings[1357], 904, {strings[8],strings[9]}); - IFC4X3_RC3_types[972] = new enumeration_type(strings[1358], 972, {strings[1359],strings[1360],strings[1361],strings[203],strings[1362],strings[1363],strings[1364],strings[1365],strings[1366],strings[1367],strings[1368],strings[1369],strings[1370],strings[1371],strings[1372],strings[1373],strings[1374],strings[1375],strings[1376],strings[1377],strings[1378],strings[1379],strings[1380],strings[1381],strings[8],strings[9]}); - IFC4X3_RC3_types[973] = new enumeration_type(strings[1382], 973, {strings[8],strings[9]}); - IFC4X3_RC3_types[974] = new enumeration_type(strings[1383], 974, {strings[1384],strings[1385],strings[1386],strings[1387],strings[1388],strings[1389],strings[1390],strings[1391],strings[1392],strings[1393],strings[1394],strings[1395],strings[1396],strings[1397],strings[1398],strings[1399],strings[1400],strings[1161],strings[1401],strings[1402],strings[1403],strings[1404],strings[8]}); - IFC4X3_RC3_types[977] = new enumeration_type(strings[1405], 977, {strings[1406],strings[1407],strings[1408],strings[1409],strings[1410],strings[1411],strings[1412],strings[1413],strings[1414],strings[1415],strings[1416],strings[1417],strings[1418],strings[8],strings[9]}); - IFC4X3_RC3_types[979] = new type_declaration(strings[1419], 979, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[980] = new type_declaration(strings[1420], 980, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[981] = new type_declaration(strings[1421], 981, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[982] = new select_type(strings[1422], 982, {IFC4X3_RC3_types[88],IFC4X3_RC3_types[981]}); - IFC4X3_RC3_types[1026] = new enumeration_type(strings[1423], 1026, {strings[1424],strings[1425],strings[1426],strings[1427],strings[1428],strings[1429],strings[1430],strings[1431],strings[1432],strings[1433],strings[1434],strings[1435],strings[1436],strings[1437],strings[1438],strings[1439]}); - IFC4X3_RC3_types[1029] = new enumeration_type(strings[1440], 1029, {strings[1441],strings[1442],strings[1443],strings[1444],strings[1445],strings[1446],strings[1447],strings[1448],strings[1449],strings[1450],strings[1451],strings[1452],strings[1453],strings[1454],strings[1455],strings[1456],strings[1457],strings[1458],strings[1459],strings[1460],strings[1461],strings[1462],strings[1463],strings[1464],strings[1465],strings[1466],strings[1467],strings[1468],strings[1469],strings[1470]}); - IFC4X3_RC3_types[986] = new enumeration_type(strings[1471], 986, {strings[1472],strings[1473],strings[1474],strings[1475],strings[843],strings[1476],strings[1477],strings[1478],strings[1479],strings[1480],strings[8],strings[9]}); - IFC4X3_RC3_types[995] = new type_declaration(strings[1481], 995, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[998] = new enumeration_type(strings[1482], 998, {strings[1483],strings[1484]}); - IFC4X3_RC3_types[990] = new type_declaration(strings[1485], 990, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[1004] = new enumeration_type(strings[1486], 1004, {strings[1487],strings[1488],strings[1489],strings[1490],strings[1491],strings[1492],strings[1493],strings[1494],strings[1495],strings[1496],strings[1497],strings[1498],strings[1499],strings[1500],strings[1501],strings[1502],strings[1503],strings[1504],strings[1505],strings[1506],strings[1507],strings[1508],strings[1509],strings[1510],strings[1511],strings[1512],strings[1513],strings[1514],strings[1515],strings[1516],strings[1517],strings[1518],strings[8],strings[9]}); - IFC4X3_RC3_types[1005] = new enumeration_type(strings[1519], 1005, {strings[1520],strings[1521],strings[1522],strings[1523],strings[8],strings[9]}); - IFC4X3_RC3_types[1008] = new enumeration_type(strings[1524], 1008, {strings[1525],strings[1526],strings[1527],strings[8],strings[9]}); - IFC4X3_RC3_types[1012] = new type_declaration(strings[1528], 1012, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[1020] = new enumeration_type(strings[1529], 1020, {strings[1530],strings[1531],strings[1334],strings[8],strings[9]}); - IFC4X3_RC3_types[1018] = new enumeration_type(strings[1532], 1018, {strings[1533],strings[1534],strings[1535],strings[8],strings[9]}); - IFC4X3_RC3_types[1023] = new enumeration_type(strings[1536], 1023, {strings[1537],strings[1538],strings[1539],strings[1540],strings[1541],strings[1542],strings[1543],strings[1544],strings[1545],strings[1546],strings[1547],strings[1548]}); - IFC4X3_RC3_types[1035] = new enumeration_type(strings[1549], 1035, {strings[1550],strings[1551],strings[1552],strings[1553],strings[1554],strings[371],strings[1555],strings[1368],strings[1556],strings[8],strings[9]}); - IFC4X3_RC3_types[1039] = new enumeration_type(strings[1557], 1039, {strings[1558],strings[1559],strings[8],strings[9]}); - IFC4X3_RC3_types[1040] = new type_declaration(strings[1560], 1040, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[1044] = new type_declaration(strings[1561], 1044, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[1045] = new type_declaration(strings[1562], 1045, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[1046] = new type_declaration(strings[1563], 1046, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[1047] = new type_declaration(strings[1564], 1047, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[1052] = new enumeration_type(strings[1565], 1052, {strings[1566],strings[1567],strings[8],strings[9]}); - IFC4X3_RC3_types[1054] = new enumeration_type(strings[1568], 1054, {strings[1569],strings[1570],strings[1571],strings[935],strings[800],strings[1572],strings[8],strings[9]}); - IFC4X3_RC3_types[1062] = new enumeration_type(strings[1573], 1062, {strings[1574],strings[1575],strings[370],strings[1576],strings[589],strings[1262],strings[23],strings[596],strings[1577],strings[8],strings[9]}); - IFC4X3_RC3_types[1063] = new type_declaration(strings[1578], 1063, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[1064] = new type_declaration(strings[1579], 1064, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[1066] = new type_declaration(strings[1580], 1066, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[1072] = new enumeration_type(strings[1581], 1072, {strings[1582],strings[1583],strings[1584],strings[8],strings[9]}); - IFC4X3_RC3_types[1076] = new enumeration_type(strings[1585], 1076, {strings[1304],strings[1586],strings[1305],strings[1587],strings[1418],strings[8],strings[9]}); - IFC4X3_RC3_types[1078] = new enumeration_type(strings[1588], 1078, {strings[1589],strings[1590],strings[1591],strings[1592],strings[1593],strings[1594],strings[1595],strings[1596],strings[1597],strings[1598],strings[1599],strings[1600],strings[1601],strings[1602],strings[1603],strings[8],strings[9]}); - IFC4X3_RC3_types[1079] = new enumeration_type(strings[1604], 1079, {strings[1605],strings[1606],strings[1607],strings[1608],strings[1609]}); - IFC4X3_RC3_types[1087] = new enumeration_type(strings[1610], 1087, {strings[1611],strings[438],strings[1612],strings[1613],strings[1614],strings[1615],strings[1616],strings[8],strings[9]}); - IFC4X3_RC3_types[1090] = new enumeration_type(strings[1617], 1090, {strings[1618],strings[1619],strings[555],strings[1620],strings[1621],strings[8],strings[9]}); - IFC4X3_RC3_types[1116] = new enumeration_type(strings[1622], 1116, {strings[1611],strings[1623],strings[1616],strings[1624],strings[8],strings[9]}); - IFC4X3_RC3_types[1119] = new enumeration_type(strings[1625], 1119, {strings[1626],strings[1627],strings[1628],strings[8],strings[9]}); - IFC4X3_RC3_types[1127] = new enumeration_type(strings[1629], 1127, {strings[1630],strings[1185],strings[8],strings[9]}); - IFC4X3_RC3_types[1133] = new enumeration_type(strings[1631], 1133, {strings[1632],strings[1633],strings[1634],strings[1635],strings[1636],strings[1637],strings[1638],strings[1639],strings[1640],strings[1641],strings[1642],strings[8],strings[9]}); - IFC4X3_RC3_types[1138] = new enumeration_type(strings[1643], 1138, {strings[517],strings[518],strings[1644]}); - IFC4X3_RC3_types[1153] = new enumeration_type(strings[1645], 1153, {strings[1646],strings[1647],strings[1648],strings[1649],strings[1650],strings[1651],strings[1652],strings[1653],strings[1654],strings[743],strings[1655],strings[8],strings[9]}); - IFC4X3_RC3_types[1157] = new enumeration_type(strings[1656], 1157, {strings[1657],strings[1658],strings[1659],strings[8],strings[9]}); - IFC4X3_RC3_types[1163] = new enumeration_type(strings[1660], 1163, {strings[1661],strings[1662],strings[1663],strings[1664],strings[1665],strings[1044],strings[1666],strings[1667],strings[8],strings[9]}); - IFC4X3_RC3_types[1165] = new enumeration_type(strings[1668], 1165, {strings[1669],strings[1670],strings[9]}); - IFC4X3_RC3_types[1169] = new enumeration_type(strings[1671], 1169, {strings[1672],strings[1574],strings[1673],strings[1674],strings[571],strings[1675],strings[1676],strings[1677],strings[1678],strings[1679],strings[1680],strings[1681],strings[8],strings[9]}); - IFC4X3_RC3_types[1171] = new type_declaration(strings[1682], 1171, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[1172] = new type_declaration(strings[1683], 1172, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[1176] = new enumeration_type(strings[1684], 1176, {strings[1073],strings[1685],strings[1686],strings[8],strings[9]}); - IFC4X3_RC3_types[1179] = new enumeration_type(strings[1687], 1179, {strings[557],strings[1073],strings[1688],strings[1689],strings[1690],strings[8],strings[9]}); - IFC4X3_RC3_types[1181] = new enumeration_type(strings[1691], 1181, {strings[1692],strings[1693],strings[1694],strings[1695],strings[8],strings[9]}); - IFC4X3_RC3_types[1184] = new type_declaration(strings[1696], 1184, new simple_type(simple_type::string_type)); - IFC4X3_RC3_types[1185] = new type_declaration(strings[1697], 1185, new simple_type(simple_type::string_type)); - IFC4X3_RC3_types[1186] = new type_declaration(strings[1698], 1186, new simple_type(simple_type::string_type)); - IFC4X3_RC3_types[1187] = new type_declaration(strings[1699], 1187, new simple_type(simple_type::string_type)); - IFC4X3_RC3_types[1191] = new enumeration_type(strings[1700], 1191, {strings[621],strings[623],strings[1701],strings[1702]}); - IFC4X3_RC3_types[1196] = new type_declaration(strings[1703], 1196, new simple_type(simple_type::string_type)); - IFC4X3_RC3_types[1202] = new type_declaration(strings[1704], 1202, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[1203] = new type_declaration(strings[1705], 1203, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[1204] = new type_declaration(strings[1706], 1204, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[1205] = new type_declaration(strings[1707], 1205, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[1206] = new type_declaration(strings[1708], 1206, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[1207] = new type_declaration(strings[1709], 1207, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[1209] = new type_declaration(strings[1710], 1209, new simple_type(simple_type::string_type)); - IFC4X3_RC3_types[1210] = new type_declaration(strings[1711], 1210, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[1211] = new select_type(strings[1712], 1211, {IFC4X3_RC3_types[362],IFC4X3_RC3_types[876]}); - IFC4X3_RC3_types[1214] = new enumeration_type(strings[1713], 1214, {strings[1714],strings[1616],strings[1715],strings[1716],strings[1717],strings[1718],strings[9]}); - IFC4X3_RC3_types[1216] = new type_declaration(strings[1719], 1216, new simple_type(simple_type::integer_type)); - IFC4X3_RC3_types[1220] = new type_declaration(strings[1720], 1220, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[1223] = new enumeration_type(strings[1721], 1223, {strings[1722],strings[1723],strings[1724],strings[1725],strings[1726],strings[1727],strings[1728],strings[1729],strings[8],strings[9]}); - IFC4X3_RC3_types[1226] = new enumeration_type(strings[1730], 1226, {strings[32],strings[1731],strings[1732],strings[1733],strings[1734],strings[1735],strings[854],strings[8],strings[9]}); - IFC4X3_RC3_types[1227] = new enumeration_type(strings[1736], 1227, {strings[1737],strings[1714],strings[1738],strings[1739]}); - IFC4X3_RC3_types[1228] = new select_type(strings[1740], 1228, {IFC4X3_RC3_types[88],IFC4X3_RC3_types[613]}); - IFC4X3_RC3_types[1230] = new enumeration_type(strings[1741], 1230, {strings[1742],strings[1743],strings[1744],strings[1745],strings[1746],strings[1747],strings[8],strings[9]}); - IFC4X3_RC3_types[1231] = new enumeration_type(strings[1748], 1231, {strings[1749],strings[1750],strings[1751],strings[1752],strings[1753],strings[1754],strings[1755],strings[8],strings[9]}); - IFC4X3_RC3_types[1233] = new select_type(strings[1756], 1233, {IFC4X3_RC3_types[1230],IFC4X3_RC3_types[1231]}); - IFC4X3_RC3_types[1238] = new enumeration_type(strings[1757], 1238, {strings[1758],strings[1151],strings[146]}); - IFC4X3_RC3_types[1243] = new enumeration_type(strings[1759], 1243, {strings[1760],strings[8],strings[9]}); - IFC4X3_RC3_types[1257] = new type_declaration(strings[1761], 1257, new simple_type(simple_type::string_type)); - IFC4X3_RC3_types[1256] = new enumeration_type(strings[1762], 1256, {strings[1763],strings[1764],strings[1765],strings[1766],strings[1767],strings[1768],strings[1769],strings[1770],strings[1771],strings[1772],strings[1773],strings[1774],strings[1775],strings[1776],strings[1777],strings[1778],strings[1779],strings[1780],strings[1781],strings[1782],strings[1783],strings[1784],strings[1785],strings[1786],strings[1787],strings[1788],strings[1789],strings[1790],strings[1791],strings[8]}); - IFC4X3_RC3_types[1251] = new enumeration_type(strings[1792], 1251, {strings[1793],strings[1794],strings[1795],strings[1796],strings[1797],strings[1798],strings[1799],strings[1800],strings[854],strings[8],strings[9]}); - IFC4X3_RC3_types[1254] = new enumeration_type(strings[1801], 1254, {strings[1802],strings[1803],strings[1804],strings[1805],strings[1806],strings[8],strings[9]}); - IFC4X3_RC3_types[1262] = new enumeration_type(strings[1807], 1262, {strings[1808],strings[1809],strings[1810],strings[1811],strings[1812],strings[1813],strings[1814],strings[1815],strings[1816],strings[1817],strings[1818],strings[1819],strings[1820],strings[1821],strings[1822],strings[1823],strings[1824],strings[1825],strings[1826],strings[1827],strings[1828],strings[8],strings[9]}); - IFC4X3_RC3_types[1263] = new type_declaration(strings[1829], 1263, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[1271] = new enumeration_type(strings[1830], 1271, {strings[1831],strings[1832],strings[1833],strings[1199],strings[1834],strings[1835],strings[8],strings[9]}); - IFC4X3_RC3_types[1274] = new enumeration_type(strings[1836], 1274, {strings[1837],strings[1838],strings[1839],strings[8],strings[9]}); - IFC4X3_RC3_types[1279] = new enumeration_type(strings[1840], 1279, {strings[1841],strings[1842],strings[1843],strings[1844],strings[1845],strings[1349],strings[8],strings[9]}); - IFC4X3_RC3_types[1281] = new type_declaration(strings[1846], 1281, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[1282] = new type_declaration(strings[1847], 1282, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[1287] = new enumeration_type(strings[1848], 1287, {strings[1849],strings[1850],strings[1851],strings[1852],strings[1346],strings[1853],strings[1854],strings[1612],strings[1855],strings[1856],strings[1857],strings[8],strings[9]}); - IFC4X3_RC3_types[1288] = new type_declaration(strings[1858], 1288, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[1289] = new type_declaration(strings[1859], 1289, new simple_type(simple_type::real_type)); - IFC4X3_RC3_types[1290] = new select_type(strings[1860], 1290, {IFC4X3_RC3_types[88],IFC4X3_RC3_types[1289]}); - IFC4X3_RC3_types[1293] = new enumeration_type(strings[1861], 1293, {strings[1862],strings[1863],strings[1864],strings[1865],strings[1866],strings[1867],strings[1868],strings[8],strings[9]}); - IFC4X3_RC3_types[1297] = new enumeration_type(strings[1869], 1297, {strings[1870],strings[1871],strings[1872],strings[1873],strings[1874],strings[1875],strings[1876],strings[1877],strings[1878],strings[1879],strings[1880],strings[1881],strings[1882],strings[9]}); - IFC4X3_RC3_types[1298] = new enumeration_type(strings[1883], 1298, {strings[621],strings[622],strings[623],strings[1884],strings[1885],strings[9]}); - IFC4X3_RC3_types[1302] = new enumeration_type(strings[1886], 1302, {strings[625],strings[626],strings[627],strings[383],strings[628],strings[382],strings[1887],strings[9]}); - IFC4X3_RC3_types[1303] = new enumeration_type(strings[1888], 1303, {strings[1889],strings[1890],strings[1891],strings[1892],strings[1893],strings[1894],strings[1895],strings[1896],strings[1897],strings[8],strings[9]}); - IFC4X3_RC3_types[1305] = new enumeration_type(strings[1898], 1305, {strings[1899],strings[1900],strings[1901],strings[8],strings[9]}); - IFC4X3_RC3_types[1306] = new enumeration_type(strings[1902], 1306, {strings[1889],strings[1890],strings[1891],strings[1892],strings[1893],strings[1894],strings[1895],strings[1896],strings[1897],strings[8],strings[9]}); - IFC4X3_RC3_types[1308] = new enumeration_type(strings[1903], 1308, {strings[1904],strings[1905],strings[1906],strings[8],strings[9]}); - IFC4X3_RC3_types[1311] = new enumeration_type(strings[1907], 1311, {strings[1908],strings[1909],strings[1910],strings[8],strings[9]}); - IFC4X3_RC3_types[1313] = new enumeration_type(strings[1911], 1313, {strings[1908],strings[1909],strings[1910],strings[8],strings[9]}); - IFC4X3_RC3_types[7] = new entity(strings[1912], false, 7, (entity*) 0); - IFC4X3_RC3_types[12] = new entity(strings[1913], true, 12, (entity*) 0); - IFC4X3_RC3_types[36] = new entity(strings[1914], true, 36, (entity*) 0); - IFC4X3_RC3_types[40] = new entity(strings[1915], false, 40, (entity*) IFC4X3_RC3_types[36]); - IFC4X3_RC3_types[49] = new entity(strings[1916], false, 49, (entity*) 0); - IFC4X3_RC3_types[50] = new entity(strings[1917], false, 50, (entity*) 0); - IFC4X3_RC3_types[52] = new entity(strings[1918], false, 52, (entity*) 0); - IFC4X3_RC3_types[94] = new entity(strings[1919], true, 94, (entity*) 0); - IFC4X3_RC3_types[96] = new entity(strings[1920], false, 96, (entity*) IFC4X3_RC3_types[94]); - IFC4X3_RC3_types[97] = new entity(strings[1921], false, 97, (entity*) IFC4X3_RC3_types[94]); - IFC4X3_RC3_types[98] = new entity(strings[1922], false, 98, (entity*) IFC4X3_RC3_types[94]); - IFC4X3_RC3_types[99] = new entity(strings[1923], false, 99, (entity*) IFC4X3_RC3_types[98]); - IFC4X3_RC3_types[208] = new entity(strings[1924], true, 208, (entity*) 0); - IFC4X3_RC3_types[210] = new entity(strings[1925], false, 210, (entity*) IFC4X3_RC3_types[208]); - IFC4X3_RC3_types[211] = new entity(strings[1926], false, 211, (entity*) IFC4X3_RC3_types[208]); - IFC4X3_RC3_types[213] = new entity(strings[1927], false, 213, (entity*) IFC4X3_RC3_types[208]); - IFC4X3_RC3_types[214] = new entity(strings[1928], true, 214, (entity*) 0); - IFC4X3_RC3_types[245] = new entity(strings[1929], true, 245, (entity*) 0); - IFC4X3_RC3_types[246] = new entity(strings[1930], true, 246, (entity*) 0); - IFC4X3_RC3_types[253] = new entity(strings[1931], false, 253, (entity*) IFC4X3_RC3_types[50]); - IFC4X3_RC3_types[301] = new entity(strings[1932], false, 301, (entity*) 0); - IFC4X3_RC3_types[302] = new entity(strings[1933], false, 302, (entity*) 0); - IFC4X3_RC3_types[305] = new entity(strings[1934], false, 305, (entity*) 0); - IFC4X3_RC3_types[429] = new entity(strings[1935], true, 429, (entity*) 0); - IFC4X3_RC3_types[433] = new entity(strings[1936], true, 433, (entity*) 0); - IFC4X3_RC3_types[430] = new entity(strings[1937], false, 430, (entity*) IFC4X3_RC3_types[433]); - IFC4X3_RC3_types[431] = new entity(strings[1938], false, 431, (entity*) IFC4X3_RC3_types[433]); - IFC4X3_RC3_types[432] = new entity(strings[1939], false, 432, (entity*) IFC4X3_RC3_types[433]); - IFC4X3_RC3_types[526] = new entity(strings[1940], false, 526, (entity*) 0); - IFC4X3_RC3_types[568] = new entity(strings[1941], false, 568, (entity*) 0); - IFC4X3_RC3_types[590] = new entity(strings[1942], false, 590, (entity*) IFC4X3_RC3_types[429]); - IFC4X3_RC3_types[591] = new entity(strings[1943], false, 591, (entity*) IFC4X3_RC3_types[433]); - IFC4X3_RC3_types[594] = new entity(strings[1944], false, 594, (entity*) 0); - IFC4X3_RC3_types[600] = new entity(strings[1945], false, 600, (entity*) 0); - IFC4X3_RC3_types[631] = new entity(strings[1946], false, 631, (entity*) IFC4X3_RC3_types[245]); - IFC4X3_RC3_types[641] = new entity(strings[1947], false, 641, (entity*) 0); - IFC4X3_RC3_types[644] = new entity(strings[1948], true, 644, (entity*) 0); - IFC4X3_RC3_types[646] = new entity(strings[1949], false, 646, (entity*) IFC4X3_RC3_types[644]); - IFC4X3_RC3_types[647] = new entity(strings[1950], false, 647, (entity*) IFC4X3_RC3_types[644]); - IFC4X3_RC3_types[649] = new entity(strings[1951], false, 649, (entity*) IFC4X3_RC3_types[646]); - IFC4X3_RC3_types[650] = new entity(strings[1952], false, 650, (entity*) 0); - IFC4X3_RC3_types[651] = new entity(strings[1953], false, 651, (entity*) IFC4X3_RC3_types[644]); - IFC4X3_RC3_types[652] = new entity(strings[1954], false, 652, (entity*) IFC4X3_RC3_types[644]); - IFC4X3_RC3_types[655] = new entity(strings[1955], false, 655, (entity*) IFC4X3_RC3_types[651]); - IFC4X3_RC3_types[659] = new entity(strings[1956], true, 659, (entity*) 0); - IFC4X3_RC3_types[661] = new entity(strings[1957], false, 661, (entity*) 0); - IFC4X3_RC3_types[672] = new entity(strings[1958], false, 672, (entity*) IFC4X3_RC3_types[214]); - IFC4X3_RC3_types[689] = new entity(strings[1959], false, 689, (entity*) 0); - IFC4X3_RC3_types[697] = new entity(strings[1960], true, 697, (entity*) 0); - IFC4X3_RC3_types[708] = new entity(strings[1961], true, 708, (entity*) 0); - IFC4X3_RC3_types[706] = new entity(strings[1962], false, 706, (entity*) IFC4X3_RC3_types[214]); - IFC4X3_RC3_types[722] = new entity(strings[1963], false, 722, (entity*) 0); - IFC4X3_RC3_types[729] = new entity(strings[1964], false, 729, (entity*) 0); - IFC4X3_RC3_types[743] = new entity(strings[1965], false, 743, (entity*) 0); - IFC4X3_RC3_types[744] = new entity(strings[1966], false, 744, (entity*) 0); - IFC4X3_RC3_types[748] = new entity(strings[1967], true, 748, (entity*) 0); - IFC4X3_RC3_types[749] = new entity(strings[1968], true, 749, (entity*) IFC4X3_RC3_types[748]); - IFC4X3_RC3_types[788] = new entity(strings[1969], false, 788, (entity*) IFC4X3_RC3_types[12]); - IFC4X3_RC3_types[798] = new entity(strings[1970], true, 798, (entity*) 0); - IFC4X3_RC3_types[799] = new entity(strings[1971], false, 799, (entity*) 0); - IFC4X3_RC3_types[800] = new entity(strings[1972], false, 800, (entity*) IFC4X3_RC3_types[799]); - IFC4X3_RC3_types[801] = new entity(strings[1973], true, 801, (entity*) 0); - IFC4X3_RC3_types[810] = new entity(strings[1974], true, 810, (entity*) 0); - IFC4X3_RC3_types[813] = new entity(strings[1975], false, 813, (entity*) 0); - IFC4X3_RC3_types[817] = new entity(strings[1976], false, 817, (entity*) IFC4X3_RC3_types[246]); - IFC4X3_RC3_types[825] = new entity(strings[1977], true, 825, (entity*) 0); - IFC4X3_RC3_types[830] = new entity(strings[1978], false, 830, (entity*) IFC4X3_RC3_types[825]); - IFC4X3_RC3_types[853] = new entity(strings[1979], false, 853, (entity*) IFC4X3_RC3_types[749]); - IFC4X3_RC3_types[854] = new entity(strings[1980], false, 854, (entity*) IFC4X3_RC3_types[749]); - IFC4X3_RC3_types[855] = new entity(strings[1981], false, 855, (entity*) IFC4X3_RC3_types[749]); - IFC4X3_RC3_types[857] = new entity(strings[1982], false, 857, (entity*) IFC4X3_RC3_types[749]); - IFC4X3_RC3_types[858] = new entity(strings[1983], false, 858, (entity*) IFC4X3_RC3_types[749]); - IFC4X3_RC3_types[859] = new entity(strings[1984], false, 859, (entity*) IFC4X3_RC3_types[749]); - IFC4X3_RC3_types[884] = new entity(strings[1985], false, 884, (entity*) 0); - IFC4X3_RC3_types[886] = new entity(strings[1986], false, 886, (entity*) 0); - IFC4X3_RC3_types[956] = new entity(strings[1987], true, 956, (entity*) 0); - IFC4X3_RC3_types[957] = new entity(strings[1988], true, 957, (entity*) 0); - IFC4X3_RC3_types[958] = new entity(strings[1989], true, 958, (entity*) 0); - IFC4X3_RC3_types[959] = new entity(strings[1990], false, 959, (entity*) 0); - IFC4X3_RC3_types[963] = new entity(strings[1991], true, 963, (entity*) 0); - IFC4X3_RC3_types[978] = new entity(strings[1992], true, 978, (entity*) 0); - IFC4X3_RC3_types[1028] = new entity(strings[1993], false, 1028, (entity*) IFC4X3_RC3_types[697]); - IFC4X3_RC3_types[987] = new entity(strings[1994], true, 987, (entity*) 0); - IFC4X3_RC3_types[1009] = new entity(strings[1995], false, 1009, (entity*) 0); - IFC4X3_RC3_types[1010] = new entity(strings[1996], true, 1010, (entity*) IFC4X3_RC3_types[956]); - IFC4X3_RC3_types[1011] = new entity(strings[1997], false, 1011, (entity*) IFC4X3_RC3_types[1010]); - IFC4X3_RC3_types[1085] = new entity(strings[1998], true, 1085, (entity*) 0); - IFC4X3_RC3_types[1095] = new entity(strings[1999], true, 1095, (entity*) 0); - IFC4X3_RC3_types[1097] = new entity(strings[2000], false, 1097, (entity*) IFC4X3_RC3_types[1095]); - IFC4X3_RC3_types[1100] = new entity(strings[2001], true, 1100, (entity*) IFC4X3_RC3_types[1095]); - IFC4X3_RC3_types[1106] = new entity(strings[2002], true, 1106, (entity*) IFC4X3_RC3_types[1100]); - IFC4X3_RC3_types[1107] = new entity(strings[2003], false, 1107, (entity*) IFC4X3_RC3_types[1106]); - IFC4X3_RC3_types[1124] = new entity(strings[2004], true, 1124, (entity*) IFC4X3_RC3_types[956]); - IFC4X3_RC3_types[1122] = new entity(strings[2005], false, 1122, (entity*) IFC4X3_RC3_types[958]); - IFC4X3_RC3_types[1123] = new entity(strings[2006], false, 1123, (entity*) IFC4X3_RC3_types[1124]); - IFC4X3_RC3_types[1137] = new entity(strings[2007], false, 1137, (entity*) IFC4X3_RC3_types[1100]); - IFC4X3_RC3_types[1139] = new entity(strings[2008], false, 1139, (entity*) IFC4X3_RC3_types[801]); - IFC4X3_RC3_types[1141] = new entity(strings[2009], false, 1141, (entity*) IFC4X3_RC3_types[798]); - IFC4X3_RC3_types[1142] = new entity(strings[2010], false, 1142, (entity*) IFC4X3_RC3_types[798]); - IFC4X3_RC3_types[1144] = new entity(strings[2011], false, 1144, (entity*) IFC4X3_RC3_types[798]); - IFC4X3_RC3_types[1145] = new entity(strings[2012], false, 1145, (entity*) IFC4X3_RC3_types[798]); - IFC4X3_RC3_types[1146] = new entity(strings[2013], true, 1146, (entity*) IFC4X3_RC3_types[798]); - IFC4X3_RC3_types[1158] = new entity(strings[2014], false, 1158, (entity*) 0); - IFC4X3_RC3_types[1159] = new entity(strings[2015], false, 1159, (entity*) 0); - IFC4X3_RC3_types[1160] = new entity(strings[2016], false, 1160, (entity*) 0); - IFC4X3_RC3_types[1166] = new entity(strings[2017], false, 1166, (entity*) IFC4X3_RC3_types[987]); - IFC4X3_RC3_types[1167] = new entity(strings[2018], false, 1167, (entity*) IFC4X3_RC3_types[1166]); - IFC4X3_RC3_types[1170] = new entity(strings[2019], false, 1170, (entity*) IFC4X3_RC3_types[12]); - IFC4X3_RC3_types[1192] = new entity(strings[2020], false, 1192, (entity*) IFC4X3_RC3_types[801]); - IFC4X3_RC3_types[1194] = new entity(strings[2021], false, 1194, (entity*) IFC4X3_RC3_types[798]); - IFC4X3_RC3_types[1195] = new entity(strings[2022], false, 1195, (entity*) IFC4X3_RC3_types[798]); - IFC4X3_RC3_types[1197] = new entity(strings[2023], true, 1197, (entity*) IFC4X3_RC3_types[798]); - IFC4X3_RC3_types[1198] = new entity(strings[2024], false, 1198, (entity*) IFC4X3_RC3_types[1197]); - IFC4X3_RC3_types[1199] = new entity(strings[2025], false, 1199, (entity*) IFC4X3_RC3_types[1197]); - IFC4X3_RC3_types[1200] = new entity(strings[2026], false, 1200, (entity*) IFC4X3_RC3_types[798]); - IFC4X3_RC3_types[1201] = new entity(strings[2027], false, 1201, (entity*) IFC4X3_RC3_types[798]); - IFC4X3_RC3_types[1212] = new entity(strings[2028], false, 1212, (entity*) 0); - IFC4X3_RC3_types[1213] = new entity(strings[2029], true, 1213, (entity*) 0); - IFC4X3_RC3_types[1215] = new entity(strings[2030], false, 1215, (entity*) 0); - IFC4X3_RC3_types[1217] = new entity(strings[2031], true, 1217, (entity*) IFC4X3_RC3_types[958]); - IFC4X3_RC3_types[1218] = new entity(strings[2032], false, 1218, (entity*) IFC4X3_RC3_types[1010]); - IFC4X3_RC3_types[1255] = new entity(strings[2033], false, 1255, (entity*) 0); - IFC4X3_RC3_types[1266] = new entity(strings[2034], false, 1266, (entity*) IFC4X3_RC3_types[1217]); - IFC4X3_RC3_types[1268] = new entity(strings[2035], false, 1268, (entity*) IFC4X3_RC3_types[1266]); - IFC4X3_RC3_types[1277] = new entity(strings[2036], false, 1277, (entity*) 0); - IFC4X3_RC3_types[1314] = new entity(strings[2037], false, 1314, (entity*) IFC4X3_RC3_types[987]); - IFC4X3_RC3_types[8] = new select_type(strings[2038], 8, {IFC4X3_RC3_types[722],IFC4X3_RC3_types[743],IFC4X3_RC3_types[744]}); - IFC4X3_RC3_types[57] = new type_declaration(strings[2039], 57, new aggregation_type(aggregation_type::list_type, 3, 3, new named_type(IFC4X3_RC3_types[784]))); - IFC4X3_RC3_types[81] = new select_type(strings[2040], 81, {IFC4X3_RC3_types[589],IFC4X3_RC3_types[766]}); - IFC4X3_RC3_types[103] = new type_declaration(strings[2041], 103, new named_type(IFC4X3_RC3_types[578])); - IFC4X3_RC3_types[278] = new select_type(strings[2042], 278, {IFC4X3_RC3_types[701],IFC4X3_RC3_types[731]}); - IFC4X3_RC3_types[299] = new select_type(strings[2043], 299, {IFC4X3_RC3_types[0],IFC4X3_RC3_types[1],IFC4X3_RC3_types[45],IFC4X3_RC3_types[58],IFC4X3_RC3_types[198],IFC4X3_RC3_types[272],IFC4X3_RC3_types[350],IFC4X3_RC3_types[363],IFC4X3_RC3_types[375],IFC4X3_RC3_types[376],IFC4X3_RC3_types[377],IFC4X3_RC3_types[394],IFC4X3_RC3_types[398],IFC4X3_RC3_types[413],IFC4X3_RC3_types[500],IFC4X3_RC3_types[501],IFC4X3_RC3_types[536],IFC4X3_RC3_types[537],IFC4X3_RC3_types[542],IFC4X3_RC3_types[555],IFC4X3_RC3_types[557],IFC4X3_RC3_types[566],IFC4X3_RC3_types[570],IFC4X3_RC3_types[576],IFC4X3_RC3_types[609],IFC4X3_RC3_types[610],IFC4X3_RC3_types[613],IFC4X3_RC3_types[614],IFC4X3_RC3_types[625],IFC4X3_RC3_types[626],IFC4X3_RC3_types[628],IFC4X3_RC3_types[629],IFC4X3_RC3_types[636],IFC4X3_RC3_types[637],IFC4X3_RC3_types[639],IFC4X3_RC3_types[678],IFC4X3_RC3_types[679],IFC4X3_RC3_types[680],IFC4X3_RC3_types[682],IFC4X3_RC3_types[685],IFC4X3_RC3_types[686],IFC4X3_RC3_types[687],IFC4X3_RC3_types[688],IFC4X3_RC3_types[745],IFC4X3_RC3_types[764],IFC4X3_RC3_types[789],IFC4X3_RC3_types[802],IFC4X3_RC3_types[860],IFC4X3_RC3_types[979],IFC4X3_RC3_types[980],IFC4X3_RC3_types[981],IFC4X3_RC3_types[995],IFC4X3_RC3_types[990],IFC4X3_RC3_types[1012],IFC4X3_RC3_types[1044],IFC4X3_RC3_types[1045],IFC4X3_RC3_types[1046],IFC4X3_RC3_types[1047],IFC4X3_RC3_types[1063],IFC4X3_RC3_types[1171],IFC4X3_RC3_types[1172],IFC4X3_RC3_types[1202],IFC4X3_RC3_types[1203],IFC4X3_RC3_types[1204],IFC4X3_RC3_types[1205],IFC4X3_RC3_types[1206],IFC4X3_RC3_types[1220],IFC4X3_RC3_types[1263],IFC4X3_RC3_types[1282],IFC4X3_RC3_types[1288],IFC4X3_RC3_types[1289]}); - IFC4X3_RC3_types[450] = new select_type(strings[2044], 450, {IFC4X3_RC3_types[106],IFC4X3_RC3_types[449],IFC4X3_RC3_types[635],IFC4X3_RC3_types[868],IFC4X3_RC3_types[972]}); - IFC4X3_RC3_types[547] = new select_type(strings[2045], 547, {IFC4X3_RC3_types[546],IFC4X3_RC3_types[1271],IFC4X3_RC3_types[1274]}); - IFC4X3_RC3_types[587] = new select_type(strings[2046], 587, {IFC4X3_RC3_types[956],IFC4X3_RC3_types[958]}); - IFC4X3_RC3_types[592] = new select_type(strings[2047], 592, {IFC4X3_RC3_types[590],IFC4X3_RC3_types[591]}); - IFC4X3_RC3_types[595] = new select_type(strings[2048], 595, {IFC4X3_RC3_types[433],IFC4X3_RC3_types[600]}); - IFC4X3_RC3_types[615] = new type_declaration(strings[2049], 615, new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[784]))); - IFC4X3_RC3_types[658] = new select_type(strings[2050], 658, {IFC4X3_RC3_types[644],IFC4X3_RC3_types[650],IFC4X3_RC3_types[659]}); - IFC4X3_RC3_types[702] = new type_declaration(strings[2051], 702, new named_type(IFC4X3_RC3_types[876])); - IFC4X3_RC3_types[709] = new select_type(strings[2052], 709, {IFC4X3_RC3_types[12],IFC4X3_RC3_types[50],IFC4X3_RC3_types[433],IFC4X3_RC3_types[644],IFC4X3_RC3_types[722],IFC4X3_RC3_types[743],IFC4X3_RC3_types[744],IFC4X3_RC3_types[1158],IFC4X3_RC3_types[1213]}); - IFC4X3_RC3_types[787] = new type_declaration(strings[2053], 787, new named_type(IFC4X3_RC3_types[876])); - IFC4X3_RC3_types[1001] = new select_type(strings[2054], 1001, {IFC4X3_RC3_types[57],IFC4X3_RC3_types[615]}); - IFC4X3_RC3_types[1024] = new select_type(strings[2055], 1024, {IFC4X3_RC3_types[82],IFC4X3_RC3_types[88],IFC4X3_RC3_types[292],IFC4X3_RC3_types[293],IFC4X3_RC3_types[362],IFC4X3_RC3_types[541],IFC4X3_RC3_types[556],IFC4X3_RC3_types[578],IFC4X3_RC3_types[621],IFC4X3_RC3_types[784],IFC4X3_RC3_types[879],IFC4X3_RC3_types[1184],IFC4X3_RC3_types[1209],IFC4X3_RC3_types[1216]}); - IFC4X3_RC3_types[1030] = new select_type(strings[2056], 1030, {IFC4X3_RC3_types[304],IFC4X3_RC3_types[589],IFC4X3_RC3_types[702],IFC4X3_RC3_types[785],IFC4X3_RC3_types[787],IFC4X3_RC3_types[876]}); - IFC4X3_RC3_types[1065] = new select_type(strings[2057], 1065, {IFC4X3_RC3_types[1064],IFC4X3_RC3_types[1066]}); - IFC4X3_RC3_types[1140] = new select_type(strings[2058], 1140, {IFC4X3_RC3_types[431],IFC4X3_RC3_types[1141],IFC4X3_RC3_types[1142],IFC4X3_RC3_types[1144],IFC4X3_RC3_types[1145]}); - IFC4X3_RC3_types[1248] = new select_type(strings[2059], 1248, {IFC4X3_RC3_types[301],IFC4X3_RC3_types[689],IFC4X3_RC3_types[697]}); - IFC4X3_RC3_types[31] = new entity(strings[2060], false, 31, (entity*) IFC4X3_RC3_types[36]); - IFC4X3_RC3_types[34] = new entity(strings[2061], false, 34, (entity*) IFC4X3_RC3_types[36]); - IFC4X3_RC3_types[53] = new entity(strings[2062], false, 53, (entity*) IFC4X3_RC3_types[963]); - IFC4X3_RC3_types[54] = new entity(strings[2063], false, 54, (entity*) IFC4X3_RC3_types[813]); - IFC4X3_RC3_types[55] = new entity(strings[2064], false, 55, (entity*) IFC4X3_RC3_types[813]); - IFC4X3_RC3_types[56] = new entity(strings[2065], false, 56, (entity*) IFC4X3_RC3_types[54]); - IFC4X3_RC3_types[83] = new entity(strings[2066], false, 83, (entity*) IFC4X3_RC3_types[1146]); - IFC4X3_RC3_types[156] = new entity(strings[2067], false, 156, (entity*) IFC4X3_RC3_types[55]); - IFC4X3_RC3_types[169] = new entity(strings[2068], false, 169, (entity*) IFC4X3_RC3_types[429]); - IFC4X3_RC3_types[170] = new entity(strings[2069], false, 170, (entity*) IFC4X3_RC3_types[433]); - IFC4X3_RC3_types[181] = new entity(strings[2070], false, 181, (entity*) IFC4X3_RC3_types[798]); - IFC4X3_RC3_types[182] = new entity(strings[2071], true, 182, (entity*) IFC4X3_RC3_types[798]); - IFC4X3_RC3_types[197] = new entity(strings[2072], false, 197, (entity*) IFC4X3_RC3_types[813]); - IFC4X3_RC3_types[206] = new entity(strings[2073], false, 206, (entity*) IFC4X3_RC3_types[1217]); - IFC4X3_RC3_types[207] = new entity(strings[2074], false, 207, (entity*) IFC4X3_RC3_types[208]); - IFC4X3_RC3_types[209] = new entity(strings[2075], false, 209, (entity*) IFC4X3_RC3_types[210]); - IFC4X3_RC3_types[229] = new entity(strings[2076], false, 229, (entity*) IFC4X3_RC3_types[697]); - IFC4X3_RC3_types[234] = new entity(strings[2077], false, 234, (entity*) IFC4X3_RC3_types[697]); - IFC4X3_RC3_types[235] = new entity(strings[2078], false, 235, (entity*) IFC4X3_RC3_types[234]); - IFC4X3_RC3_types[268] = new entity(strings[2079], false, 268, (entity*) IFC4X3_RC3_types[963]); - IFC4X3_RC3_types[282] = new entity(strings[2080], false, 282, (entity*) IFC4X3_RC3_types[801]); - IFC4X3_RC3_types[283] = new entity(strings[2081], false, 283, (entity*) IFC4X3_RC3_types[798]); - IFC4X3_RC3_types[284] = new entity(strings[2082], false, 284, (entity*) IFC4X3_RC3_types[798]); - IFC4X3_RC3_types[285] = new entity(strings[2083], false, 285, (entity*) IFC4X3_RC3_types[798]); - IFC4X3_RC3_types[300] = new entity(strings[2084], false, 300, (entity*) IFC4X3_RC3_types[813]); - IFC4X3_RC3_types[333] = new entity(strings[2085], false, 333, (entity*) IFC4X3_RC3_types[429]); - IFC4X3_RC3_types[334] = new entity(strings[2086], false, 334, (entity*) IFC4X3_RC3_types[963]); - IFC4X3_RC3_types[335] = new entity(strings[2087], false, 335, (entity*) IFC4X3_RC3_types[433]); - IFC4X3_RC3_types[369] = new entity(strings[2088], false, 369, (entity*) IFC4X3_RC3_types[1217]); - IFC4X3_RC3_types[370] = new entity(strings[2089], false, 370, (entity*) IFC4X3_RC3_types[369]); - IFC4X3_RC3_types[424] = new entity(strings[2090], false, 424, (entity*) IFC4X3_RC3_types[987]); - IFC4X3_RC3_types[428] = new entity(strings[2091], true, 428, (entity*) IFC4X3_RC3_types[825]); - IFC4X3_RC3_types[434] = new entity(strings[2092], false, 434, (entity*) IFC4X3_RC3_types[963]); - IFC4X3_RC3_types[440] = new entity(strings[2093], false, 440, (entity*) IFC4X3_RC3_types[1217]); - IFC4X3_RC3_types[442] = new entity(strings[2094], false, 442, (entity*) IFC4X3_RC3_types[1217]); - IFC4X3_RC3_types[443] = new entity(strings[2095], false, 443, (entity*) IFC4X3_RC3_types[442]); - IFC4X3_RC3_types[444] = new entity(strings[2096], false, 444, (entity*) IFC4X3_RC3_types[440]); - IFC4X3_RC3_types[452] = new entity(strings[2097], false, 452, (entity*) IFC4X3_RC3_types[1085]); - IFC4X3_RC3_types[462] = new entity(strings[2098], false, 462, (entity*) IFC4X3_RC3_types[801]); - IFC4X3_RC3_types[512] = new entity(strings[2099], false, 512, (entity*) IFC4X3_RC3_types[957]); - IFC4X3_RC3_types[513] = new entity(strings[2100], true, 513, (entity*) IFC4X3_RC3_types[958]); - IFC4X3_RC3_types[514] = new entity(strings[2101], false, 514, (entity*) IFC4X3_RC3_types[512]); - IFC4X3_RC3_types[515] = new entity(strings[2102], false, 515, (entity*) IFC4X3_RC3_types[513]); - IFC4X3_RC3_types[527] = new entity(strings[2103], false, 527, (entity*) IFC4X3_RC3_types[708]); - IFC4X3_RC3_types[531] = new entity(strings[2104], false, 531, (entity*) IFC4X3_RC3_types[513]); - IFC4X3_RC3_types[543] = new entity(strings[2105], false, 543, (entity*) IFC4X3_RC3_types[1146]); - IFC4X3_RC3_types[549] = new entity(strings[2106], false, 549, (entity*) IFC4X3_RC3_types[798]); - IFC4X3_RC3_types[553] = new entity(strings[2107], true, 553, (entity*) IFC4X3_RC3_types[1197]); - IFC4X3_RC3_types[554] = new entity(strings[2108], false, 554, (entity*) IFC4X3_RC3_types[553]); - IFC4X3_RC3_types[567] = new entity(strings[2109], false, 567, (entity*) IFC4X3_RC3_types[1213]); - IFC4X3_RC3_types[582] = new entity(strings[2110], false, 582, (entity*) IFC4X3_RC3_types[987]); - IFC4X3_RC3_types[601] = new entity(strings[2111], true, 601, (entity*) IFC4X3_RC3_types[513]); - IFC4X3_RC3_types[602] = new entity(strings[2112], false, 602, (entity*) IFC4X3_RC3_types[601]); - IFC4X3_RC3_types[603] = new entity(strings[2113], false, 603, (entity*) IFC4X3_RC3_types[601]); - IFC4X3_RC3_types[604] = new entity(strings[2114], false, 604, (entity*) IFC4X3_RC3_types[601]); - IFC4X3_RC3_types[605] = new entity(strings[2115], false, 605, (entity*) IFC4X3_RC3_types[601]); - IFC4X3_RC3_types[606] = new entity(strings[2116], false, 606, (entity*) IFC4X3_RC3_types[605]); - IFC4X3_RC3_types[611] = new entity(strings[2117], false, 611, (entity*) IFC4X3_RC3_types[708]); - IFC4X3_RC3_types[620] = new entity(strings[2118], false, 620, (entity*) IFC4X3_RC3_types[708]); - IFC4X3_RC3_types[623] = new entity(strings[2119], false, 623, (entity*) IFC4X3_RC3_types[1217]); - IFC4X3_RC3_types[632] = new entity(strings[2120], false, 632, (entity*) IFC4X3_RC3_types[958]); - IFC4X3_RC3_types[640] = new entity(strings[2121], false, 640, (entity*) IFC4X3_RC3_types[644]); - IFC4X3_RC3_types[642] = new entity(strings[2122], false, 642, (entity*) IFC4X3_RC3_types[644]); - IFC4X3_RC3_types[643] = new entity(strings[2123], false, 643, (entity*) IFC4X3_RC3_types[644]); - IFC4X3_RC3_types[645] = new entity(strings[2124], false, 645, (entity*) IFC4X3_RC3_types[810]); - IFC4X3_RC3_types[648] = new entity(strings[2125], false, 648, (entity*) IFC4X3_RC3_types[659]); - IFC4X3_RC3_types[653] = new entity(strings[2126], false, 653, (entity*) IFC4X3_RC3_types[659]); - IFC4X3_RC3_types[654] = new entity(strings[2127], false, 654, (entity*) IFC4X3_RC3_types[653]); - IFC4X3_RC3_types[656] = new entity(strings[2128], false, 656, (entity*) IFC4X3_RC3_types[428]); - IFC4X3_RC3_types[657] = new entity(strings[2129], false, 657, (entity*) IFC4X3_RC3_types[963]); - IFC4X3_RC3_types[674] = new entity(strings[2130], false, 674, (entity*) IFC4X3_RC3_types[300]); - IFC4X3_RC3_types[705] = new entity(strings[2131], true, 705, (entity*) IFC4X3_RC3_types[978]); - IFC4X3_RC3_types[717] = new entity(strings[2132], false, 717, (entity*) IFC4X3_RC3_types[813]); - IFC4X3_RC3_types[721] = new entity(strings[2133], false, 721, (entity*) IFC4X3_RC3_types[206]); - IFC4X3_RC3_types[723] = new entity(strings[2134], false, 723, (entity*) IFC4X3_RC3_types[963]); - IFC4X3_RC3_types[724] = new entity(strings[2135], false, 724, (entity*) IFC4X3_RC3_types[369]); - IFC4X3_RC3_types[730] = new entity(strings[2136], true, 730, (entity*) IFC4X3_RC3_types[813]); - IFC4X3_RC3_types[732] = new entity(strings[2137], false, 732, (entity*) IFC4X3_RC3_types[1217]); - IFC4X3_RC3_types[746] = new entity(strings[2138], false, 746, (entity*) IFC4X3_RC3_types[748]); - IFC4X3_RC3_types[760] = new entity(strings[2139], false, 760, (entity*) IFC4X3_RC3_types[1146]); - IFC4X3_RC3_types[761] = new entity(strings[2140], true, 761, (entity*) IFC4X3_RC3_types[513]); - IFC4X3_RC3_types[763] = new entity(strings[2141], false, 763, (entity*) IFC4X3_RC3_types[513]); - IFC4X3_RC3_types[772] = new entity(strings[2142], true, 772, (entity*) IFC4X3_RC3_types[513]); - IFC4X3_RC3_types[773] = new entity(strings[2143], false, 773, (entity*) IFC4X3_RC3_types[772]); - IFC4X3_RC3_types[774] = new entity(strings[2144], false, 774, (entity*) IFC4X3_RC3_types[772]); - IFC4X3_RC3_types[775] = new entity(strings[2145], false, 775, (entity*) IFC4X3_RC3_types[772]); - IFC4X3_RC3_types[780] = new entity(strings[2146], false, 780, (entity*) IFC4X3_RC3_types[623]); - IFC4X3_RC3_types[777] = new entity(strings[2147], false, 777, (entity*) IFC4X3_RC3_types[531]); - IFC4X3_RC3_types[792] = new entity(strings[2148], true, 792, (entity*) IFC4X3_RC3_types[798]); - IFC4X3_RC3_types[793] = new entity(strings[2149], true, 793, (entity*) IFC4X3_RC3_types[825]); - IFC4X3_RC3_types[795] = new entity(strings[2150], true, 795, (entity*) IFC4X3_RC3_types[792]); - IFC4X3_RC3_types[809] = new entity(strings[2151], false, 809, (entity*) IFC4X3_RC3_types[810]); - IFC4X3_RC3_types[814] = new entity(strings[2152], false, 814, (entity*) IFC4X3_RC3_types[428]); - IFC4X3_RC3_types[824] = new entity(strings[2153], true, 824, (entity*) IFC4X3_RC3_types[825]); - IFC4X3_RC3_types[827] = new entity(strings[2154], true, 827, (entity*) IFC4X3_RC3_types[978]); - IFC4X3_RC3_types[828] = new entity(strings[2155], false, 828, (entity*) IFC4X3_RC3_types[963]); - IFC4X3_RC3_types[834] = new entity(strings[2156], true, 834, (entity*) IFC4X3_RC3_types[827]); - IFC4X3_RC3_types[842] = new entity(strings[2157], true, 842, (entity*) IFC4X3_RC3_types[827]); - IFC4X3_RC3_types[856] = new entity(strings[2158], true, 856, (entity*) IFC4X3_RC3_types[834]); - IFC4X3_RC3_types[881] = new entity(strings[2159], false, 881, (entity*) IFC4X3_RC3_types[730]); - IFC4X3_RC3_types[890] = new entity(strings[2160], false, 890, (entity*) IFC4X3_RC3_types[1213]); - IFC4X3_RC3_types[893] = new entity(strings[2161], false, 893, (entity*) IFC4X3_RC3_types[793]); - IFC4X3_RC3_types[922] = new entity(strings[2162], true, 922, (entity*) IFC4X3_RC3_types[978]); - IFC4X3_RC3_types[961] = new entity(strings[2163], false, 961, (entity*) IFC4X3_RC3_types[963]); - IFC4X3_RC3_types[962] = new entity(strings[2164], false, 962, (entity*) IFC4X3_RC3_types[963]); - IFC4X3_RC3_types[966] = new entity(strings[2165], false, 966, (entity*) IFC4X3_RC3_types[987]); - IFC4X3_RC3_types[983] = new entity(strings[2166], false, 983, (entity*) IFC4X3_RC3_types[881]); - IFC4X3_RC3_types[996] = new entity(strings[2167], false, 996, (entity*) IFC4X3_RC3_types[793]); - IFC4X3_RC3_types[997] = new entity(strings[2168], false, 997, (entity*) IFC4X3_RC3_types[793]); - IFC4X3_RC3_types[993] = new entity(strings[2169], false, 993, (entity*) IFC4X3_RC3_types[513]); - IFC4X3_RC3_types[999] = new entity(strings[2170], true, 999, (entity*) IFC4X3_RC3_types[513]); - IFC4X3_RC3_types[1014] = new entity(strings[2171], false, 1014, (entity*) IFC4X3_RC3_types[513]); - IFC4X3_RC3_types[1021] = new entity(strings[2172], true, 1021, (entity*) IFC4X3_RC3_types[824]); - IFC4X3_RC3_types[1036] = new entity(strings[2173], false, 1036, (entity*) IFC4X3_RC3_types[1085]); - IFC4X3_RC3_types[1041] = new entity(strings[2174], true, 1041, (entity*) IFC4X3_RC3_types[513]); - IFC4X3_RC3_types[1099] = new entity(strings[2175], false, 1099, (entity*) IFC4X3_RC3_types[1106]); - IFC4X3_RC3_types[1101] = new entity(strings[2176], false, 1101, (entity*) IFC4X3_RC3_types[1106]); - IFC4X3_RC3_types[1102] = new entity(strings[2177], false, 1102, (entity*) IFC4X3_RC3_types[1106]); - IFC4X3_RC3_types[1103] = new entity(strings[2178], false, 1103, (entity*) IFC4X3_RC3_types[1102]); - IFC4X3_RC3_types[1104] = new entity(strings[2179], false, 1104, (entity*) IFC4X3_RC3_types[1106]); - IFC4X3_RC3_types[1105] = new entity(strings[2180], false, 1105, (entity*) IFC4X3_RC3_types[1104]); - IFC4X3_RC3_types[1128] = new entity(strings[2181], false, 1128, (entity*) IFC4X3_RC3_types[369]); - IFC4X3_RC3_types[1129] = new entity(strings[2182], true, 1129, (entity*) IFC4X3_RC3_types[513]); - IFC4X3_RC3_types[1143] = new entity(strings[2183], false, 1143, (entity*) IFC4X3_RC3_types[1144]); - IFC4X3_RC3_types[1147] = new entity(strings[2184], true, 1147, (entity*) IFC4X3_RC3_types[1041]); - IFC4X3_RC3_types[1148] = new entity(strings[2185], false, 1148, (entity*) IFC4X3_RC3_types[1041]); - IFC4X3_RC3_types[1149] = new entity(strings[2186], false, 1149, (entity*) IFC4X3_RC3_types[1148]); - IFC4X3_RC3_types[1150] = new entity(strings[2187], true, 1150, (entity*) IFC4X3_RC3_types[1129]); - IFC4X3_RC3_types[1240] = new entity(strings[2188], false, 1240, (entity*) IFC4X3_RC3_types[730]); - IFC4X3_RC3_types[1183] = new entity(strings[2189], true, 1183, (entity*) IFC4X3_RC3_types[513]); - IFC4X3_RC3_types[1189] = new entity(strings[2190], false, 1189, (entity*) IFC4X3_RC3_types[513]); - IFC4X3_RC3_types[1190] = new entity(strings[2191], false, 1190, (entity*) IFC4X3_RC3_types[1189]); - IFC4X3_RC3_types[1193] = new entity(strings[2192], false, 1193, (entity*) IFC4X3_RC3_types[795]); - IFC4X3_RC3_types[1234] = new entity(strings[2193], false, 1234, (entity*) IFC4X3_RC3_types[730]); - IFC4X3_RC3_types[1244] = new entity(strings[2194], false, 1244, (entity*) IFC4X3_RC3_types[705]); - IFC4X3_RC3_types[1245] = new entity(strings[2195], true, 1245, (entity*) IFC4X3_RC3_types[1244]); - IFC4X3_RC3_types[1246] = new entity(strings[2196], false, 1246, (entity*) IFC4X3_RC3_types[1244]); - IFC4X3_RC3_types[1247] = new entity(strings[2197], true, 1247, (entity*) IFC4X3_RC3_types[1244]); - IFC4X3_RC3_types[1258] = new entity(strings[2198], false, 1258, (entity*) IFC4X3_RC3_types[730]); - IFC4X3_RC3_types[1264] = new entity(strings[2199], false, 1264, (entity*) IFC4X3_RC3_types[513]); - IFC4X3_RC3_types[1267] = new entity(strings[2200], false, 1267, (entity*) IFC4X3_RC3_types[623]); - IFC4X3_RC3_types[1301] = new entity(strings[2201], false, 1301, (entity*) IFC4X3_RC3_types[1246]); - IFC4X3_RC3_types[1316] = new entity(strings[2202], false, 1316, (entity*) IFC4X3_RC3_types[730]); - IFC4X3_RC3_types[171] = new select_type(strings[2203], 171, {IFC4X3_RC3_types[169],IFC4X3_RC3_types[170]}); - IFC4X3_RC3_types[172] = new select_type(strings[2204], 172, {IFC4X3_RC3_types[169],IFC4X3_RC3_types[170]}); - IFC4X3_RC3_types[247] = new select_type(strings[2205], 247, {IFC4X3_RC3_types[246],IFC4X3_RC3_types[512]}); - IFC4X3_RC3_types[298] = new select_type(strings[2206], 298, {IFC4X3_RC3_types[705],IFC4X3_RC3_types[827]}); - IFC4X3_RC3_types[336] = new select_type(strings[2207], 336, {IFC4X3_RC3_types[333],IFC4X3_RC3_types[335]}); - IFC4X3_RC3_types[532] = new select_type(strings[2208], 532, {IFC4X3_RC3_types[785],IFC4X3_RC3_types[1264]}); - IFC4X3_RC3_types[660] = new select_type(strings[2209], 660, {IFC4X3_RC3_types[42],IFC4X3_RC3_types[59],IFC4X3_RC3_types[190],IFC4X3_RC3_types[228],IFC4X3_RC3_types[254],IFC4X3_RC3_types[304],IFC4X3_RC3_types[378],IFC4X3_RC3_types[589],IFC4X3_RC3_types[627],IFC4X3_RC3_types[638],IFC4X3_RC3_types[701],IFC4X3_RC3_types[702],IFC4X3_RC3_types[703],IFC4X3_RC3_types[731],IFC4X3_RC3_types[766],IFC4X3_RC3_types[785],IFC4X3_RC3_types[786],IFC4X3_RC3_types[787],IFC4X3_RC3_types[876],IFC4X3_RC3_types[1040],IFC4X3_RC3_types[1207],IFC4X3_RC3_types[1210],IFC4X3_RC3_types[1281]}); - IFC4X3_RC3_types[776] = new select_type(strings[2210], 776, {IFC4X3_RC3_types[772],IFC4X3_RC3_types[1268]}); - IFC4X3_RC3_types[811] = new select_type(strings[2211], 811, {IFC4X3_RC3_types[809],IFC4X3_RC3_types[959]}); - IFC4X3_RC3_types[836] = new type_declaration(strings[2212], 836, new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[834]))); - IFC4X3_RC3_types[964] = new select_type(strings[2213], 964, {IFC4X3_RC3_types[7],IFC4X3_RC3_types[50],IFC4X3_RC3_types[52],IFC4X3_RC3_types[214],IFC4X3_RC3_types[229],IFC4X3_RC3_types[234],IFC4X3_RC3_types[429],IFC4X3_RC3_types[433],IFC4X3_RC3_types[644],IFC4X3_RC3_types[722],IFC4X3_RC3_types[743],IFC4X3_RC3_types[744],IFC4X3_RC3_types[748],IFC4X3_RC3_types[813],IFC4X3_RC3_types[825],IFC4X3_RC3_types[1009],IFC4X3_RC3_types[1213]}); - IFC4X3_RC3_types[1188] = new select_type(strings[2214], 1188, {IFC4X3_RC3_types[432],IFC4X3_RC3_types[795]}); - IFC4X3_RC3_types[1259] = new select_type(strings[2215], 1259, {IFC4X3_RC3_types[299],IFC4X3_RC3_types[660],IFC4X3_RC3_types[1024]}); - IFC4X3_RC3_types[16] = new entity(strings[2216], false, 16, (entity*) IFC4X3_RC3_types[444]); - IFC4X3_RC3_types[47] = new entity(strings[2217], false, 47, (entity*) IFC4X3_RC3_types[513]); - IFC4X3_RC3_types[63] = new entity(strings[2218], false, 63, (entity*) IFC4X3_RC3_types[730]); - IFC4X3_RC3_types[67] = new entity(strings[2219], false, 67, (entity*) IFC4X3_RC3_types[761]); - IFC4X3_RC3_types[69] = new entity(strings[2220], false, 69, (entity*) IFC4X3_RC3_types[761]); - IFC4X3_RC3_types[70] = new entity(strings[2221], false, 70, (entity*) IFC4X3_RC3_types[761]); - IFC4X3_RC3_types[71] = new entity(strings[2222], false, 71, (entity*) IFC4X3_RC3_types[761]); - IFC4X3_RC3_types[92] = new entity(strings[2223], false, 92, (entity*) IFC4X3_RC3_types[513]); - IFC4X3_RC3_types[101] = new entity(strings[2224], true, 101, (entity*) IFC4X3_RC3_types[1129]); - IFC4X3_RC3_types[102] = new entity(strings[2225], false, 102, (entity*) IFC4X3_RC3_types[513]); - IFC4X3_RC3_types[104] = new entity(strings[2226], false, 104, (entity*) IFC4X3_RC3_types[531]); - IFC4X3_RC3_types[267] = new entity(strings[2227], false, 267, (entity*) IFC4X3_RC3_types[730]); - IFC4X3_RC3_types[147] = new entity(strings[2228], false, 147, (entity*) IFC4X3_RC3_types[772]); - IFC4X3_RC3_types[148] = new entity(strings[2229], true, 148, (entity*) IFC4X3_RC3_types[513]); - IFC4X3_RC3_types[149] = new entity(strings[2230], false, 149, (entity*) IFC4X3_RC3_types[148]); - IFC4X3_RC3_types[150] = new entity(strings[2231], false, 150, (entity*) IFC4X3_RC3_types[148]); - IFC4X3_RC3_types[151] = new entity(strings[2232], true, 151, (entity*) IFC4X3_RC3_types[513]); - IFC4X3_RC3_types[152] = new entity(strings[2233], false, 152, (entity*) IFC4X3_RC3_types[151]); - IFC4X3_RC3_types[153] = new entity(strings[2234], false, 153, (entity*) IFC4X3_RC3_types[152]); - IFC4X3_RC3_types[154] = new entity(strings[2235], false, 154, (entity*) IFC4X3_RC3_types[151]); - IFC4X3_RC3_types[155] = new entity(strings[2236], false, 155, (entity*) IFC4X3_RC3_types[154]); - IFC4X3_RC3_types[166] = new entity(strings[2237], false, 166, (entity*) IFC4X3_RC3_types[730]); - IFC4X3_RC3_types[173] = new entity(strings[2238], false, 173, (entity*) IFC4X3_RC3_types[206]); - IFC4X3_RC3_types[180] = new entity(strings[2239], false, 180, (entity*) IFC4X3_RC3_types[182]); - IFC4X3_RC3_types[191] = new entity(strings[2240], false, 191, (entity*) IFC4X3_RC3_types[824]); - IFC4X3_RC3_types[196] = new entity(strings[2241], false, 196, (entity*) IFC4X3_RC3_types[999]); - IFC4X3_RC3_types[226] = new entity(strings[2242], true, 226, (entity*) IFC4X3_RC3_types[1247]); - IFC4X3_RC3_types[227] = new entity(strings[2243], true, 227, (entity*) IFC4X3_RC3_types[705]); - IFC4X3_RC3_types[262] = new entity(strings[2244], false, 262, (entity*) IFC4X3_RC3_types[226]); - IFC4X3_RC3_types[264] = new entity(strings[2245], true, 264, (entity*) IFC4X3_RC3_types[513]); - IFC4X3_RC3_types[266] = new entity(strings[2246], false, 266, (entity*) IFC4X3_RC3_types[1041]); - IFC4X3_RC3_types[273] = new entity(strings[2247], true, 273, (entity*) IFC4X3_RC3_types[513]); - IFC4X3_RC3_types[274] = new entity(strings[2248], false, 274, (entity*) IFC4X3_RC3_types[101]); - IFC4X3_RC3_types[275] = new entity(strings[2249], false, 275, (entity*) IFC4X3_RC3_types[101]); - IFC4X3_RC3_types[281] = new entity(strings[2250], false, 281, (entity*) IFC4X3_RC3_types[999]); - IFC4X3_RC3_types[307] = new entity(strings[2251], false, 307, (entity*) IFC4X3_RC3_types[513]); - IFC4X3_RC3_types[309] = new entity(strings[2252], true, 309, (entity*) IFC4X3_RC3_types[1147]); - IFC4X3_RC3_types[311] = new entity(strings[2253], true, 311, (entity*) IFC4X3_RC3_types[1147]); - IFC4X3_RC3_types[344] = new entity(strings[2254], false, 344, (entity*) IFC4X3_RC3_types[1246]); - IFC4X3_RC3_types[371] = new entity(strings[2255], false, 371, (entity*) IFC4X3_RC3_types[623]); - IFC4X3_RC3_types[407] = new entity(strings[2256], false, 407, (entity*) IFC4X3_RC3_types[856]); - IFC4X3_RC3_types[408] = new entity(strings[2257], true, 408, (entity*) IFC4X3_RC3_types[1246]); - IFC4X3_RC3_types[400] = new entity(strings[2258], true, 400, (entity*) IFC4X3_RC3_types[1129]); - IFC4X3_RC3_types[410] = new entity(strings[2259], false, 410, (entity*) IFC4X3_RC3_types[730]); - IFC4X3_RC3_types[426] = new entity(strings[2260], false, 426, (entity*) IFC4X3_RC3_types[1245]); - IFC4X3_RC3_types[438] = new entity(strings[2261], false, 438, (entity*) IFC4X3_RC3_types[1147]); - IFC4X3_RC3_types[439] = new entity(strings[2262], false, 439, (entity*) IFC4X3_RC3_types[438]); - IFC4X3_RC3_types[441] = new entity(strings[2263], false, 441, (entity*) IFC4X3_RC3_types[513]); - IFC4X3_RC3_types[463] = new entity(strings[2264], false, 463, (entity*) IFC4X3_RC3_types[513]); - IFC4X3_RC3_types[464] = new entity(strings[2265], false, 464, (entity*) IFC4X3_RC3_types[513]); - IFC4X3_RC3_types[472] = new entity(strings[2266], false, 472, (entity*) IFC4X3_RC3_types[309]); - IFC4X3_RC3_types[503] = new entity(strings[2267], false, 503, (entity*) IFC4X3_RC3_types[408]); - IFC4X3_RC3_types[505] = new entity(strings[2268], false, 505, (entity*) IFC4X3_RC3_types[503]); - IFC4X3_RC3_types[508] = new entity(strings[2269], false, 508, (entity*) IFC4X3_RC3_types[408]); - IFC4X3_RC3_types[510] = new entity(strings[2270], false, 510, (entity*) IFC4X3_RC3_types[515]); - IFC4X3_RC3_types[569] = new entity(strings[2271], false, 569, (entity*) IFC4X3_RC3_types[730]); - IFC4X3_RC3_types[548] = new entity(strings[2272], false, 548, (entity*) IFC4X3_RC3_types[311]); - IFC4X3_RC3_types[551] = new entity(strings[2273], false, 551, (entity*) IFC4X3_RC3_types[1183]); - IFC4X3_RC3_types[552] = new entity(strings[2274], false, 552, (entity*) IFC4X3_RC3_types[551]); - IFC4X3_RC3_types[624] = new entity(strings[2275], false, 624, (entity*) IFC4X3_RC3_types[730]); - IFC4X3_RC3_types[580] = new entity(strings[2276], false, 580, (entity*) IFC4X3_RC3_types[226]); - IFC4X3_RC3_types[607] = new entity(strings[2277], false, 607, (entity*) IFC4X3_RC3_types[273]); - IFC4X3_RC3_types[630] = new entity(strings[2278], true, 630, (entity*) IFC4X3_RC3_types[1041]); - IFC4X3_RC3_types[704] = new entity(strings[2279], true, 704, (entity*) IFC4X3_RC3_types[705]); - IFC4X3_RC3_types[713] = new entity(strings[2280], true, 713, (entity*) IFC4X3_RC3_types[273]); - IFC4X3_RC3_types[714] = new entity(strings[2281], false, 714, (entity*) IFC4X3_RC3_types[713]); - IFC4X3_RC3_types[715] = new entity(strings[2282], false, 715, (entity*) IFC4X3_RC3_types[713]); - IFC4X3_RC3_types[716] = new entity(strings[2283], false, 716, (entity*) IFC4X3_RC3_types[713]); - IFC4X3_RC3_types[736] = new entity(strings[2284], false, 736, (entity*) IFC4X3_RC3_types[273]); - IFC4X3_RC3_types[762] = new entity(strings[2285], false, 762, (entity*) IFC4X3_RC3_types[763]); - IFC4X3_RC3_types[765] = new entity(strings[2286], false, 765, (entity*) IFC4X3_RC3_types[400]); - IFC4X3_RC3_types[781] = new entity(strings[2287], false, 781, (entity*) IFC4X3_RC3_types[273]); - IFC4X3_RC3_types[790] = new entity(strings[2288], true, 790, (entity*) IFC4X3_RC3_types[792]); - IFC4X3_RC3_types[791] = new entity(strings[2289], true, 791, (entity*) IFC4X3_RC3_types[792]); - IFC4X3_RC3_types[794] = new entity(strings[2290], true, 794, (entity*) IFC4X3_RC3_types[834]); - IFC4X3_RC3_types[804] = new entity(strings[2291], false, 804, (entity*) IFC4X3_RC3_types[1245]); - IFC4X3_RC3_types[806] = new entity(strings[2292], true, 806, (entity*) IFC4X3_RC3_types[704]); - IFC4X3_RC3_types[808] = new entity(strings[2293], true, 808, (entity*) IFC4X3_RC3_types[704]); - IFC4X3_RC3_types[816] = new entity(strings[2294], false, 816, (entity*) IFC4X3_RC3_types[227]); - IFC4X3_RC3_types[821] = new entity(strings[2295], false, 821, (entity*) IFC4X3_RC3_types[227]); - IFC4X3_RC3_types[826] = new entity(strings[2296], false, 826, (entity*) IFC4X3_RC3_types[1021]); - IFC4X3_RC3_types[829] = new entity(strings[2297], false, 829, (entity*) IFC4X3_RC3_types[1021]); - IFC4X3_RC3_types[831] = new entity(strings[2298], false, 831, (entity*) IFC4X3_RC3_types[1021]); - IFC4X3_RC3_types[832] = new entity(strings[2299], false, 832, (entity*) IFC4X3_RC3_types[1021]); - IFC4X3_RC3_types[833] = new entity(strings[2300], false, 833, (entity*) IFC4X3_RC3_types[834]); - IFC4X3_RC3_types[837] = new entity(strings[2301], false, 837, (entity*) IFC4X3_RC3_types[842]); - IFC4X3_RC3_types[839] = new entity(strings[2302], false, 839, (entity*) IFC4X3_RC3_types[1021]); - IFC4X3_RC3_types[840] = new entity(strings[2303], false, 840, (entity*) IFC4X3_RC3_types[1021]); - IFC4X3_RC3_types[841] = new entity(strings[2304], true, 841, (entity*) IFC4X3_RC3_types[842]); - IFC4X3_RC3_types[849] = new entity(strings[2305], false, 849, (entity*) IFC4X3_RC3_types[808]); - IFC4X3_RC3_types[880] = new entity(strings[2306], false, 880, (entity*) IFC4X3_RC3_types[881]); - IFC4X3_RC3_types[882] = new entity(strings[2307], false, 882, (entity*) IFC4X3_RC3_types[264]); - IFC4X3_RC3_types[883] = new entity(strings[2308], false, 883, (entity*) IFC4X3_RC3_types[101]); - IFC4X3_RC3_types[894] = new entity(strings[2309], false, 894, (entity*) IFC4X3_RC3_types[794]); - IFC4X3_RC3_types[906] = new entity(strings[2310], true, 906, (entity*) IFC4X3_RC3_types[922]); - IFC4X3_RC3_types[907] = new entity(strings[2311], false, 907, (entity*) IFC4X3_RC3_types[906]); - IFC4X3_RC3_types[908] = new entity(strings[2312], false, 908, (entity*) IFC4X3_RC3_types[906]); - IFC4X3_RC3_types[909] = new entity(strings[2313], false, 909, (entity*) IFC4X3_RC3_types[906]); - IFC4X3_RC3_types[910] = new entity(strings[2314], false, 910, (entity*) IFC4X3_RC3_types[909]); - IFC4X3_RC3_types[911] = new entity(strings[2315], false, 911, (entity*) IFC4X3_RC3_types[906]); - IFC4X3_RC3_types[912] = new entity(strings[2316], false, 912, (entity*) IFC4X3_RC3_types[906]); - IFC4X3_RC3_types[913] = new entity(strings[2317], false, 913, (entity*) IFC4X3_RC3_types[906]); - IFC4X3_RC3_types[914] = new entity(strings[2318], true, 914, (entity*) IFC4X3_RC3_types[922]); - IFC4X3_RC3_types[915] = new entity(strings[2319], false, 915, (entity*) IFC4X3_RC3_types[914]); - IFC4X3_RC3_types[916] = new entity(strings[2320], false, 916, (entity*) IFC4X3_RC3_types[914]); - IFC4X3_RC3_types[917] = new entity(strings[2321], false, 917, (entity*) IFC4X3_RC3_types[914]); - IFC4X3_RC3_types[918] = new entity(strings[2322], false, 918, (entity*) IFC4X3_RC3_types[914]); - IFC4X3_RC3_types[919] = new entity(strings[2323], false, 919, (entity*) IFC4X3_RC3_types[914]); - IFC4X3_RC3_types[920] = new entity(strings[2324], false, 920, (entity*) IFC4X3_RC3_types[914]); - IFC4X3_RC3_types[921] = new entity(strings[2325], false, 921, (entity*) IFC4X3_RC3_types[914]); - IFC4X3_RC3_types[923] = new entity(strings[2326], true, 923, (entity*) IFC4X3_RC3_types[922]); - IFC4X3_RC3_types[924] = new entity(strings[2327], false, 924, (entity*) IFC4X3_RC3_types[923]); - IFC4X3_RC3_types[925] = new entity(strings[2328], false, 925, (entity*) IFC4X3_RC3_types[924]); - IFC4X3_RC3_types[927] = new entity(strings[2329], false, 927, (entity*) IFC4X3_RC3_types[923]); - IFC4X3_RC3_types[926] = new entity(strings[2330], false, 926, (entity*) IFC4X3_RC3_types[923]); - IFC4X3_RC3_types[928] = new entity(strings[2331], false, 928, (entity*) IFC4X3_RC3_types[923]); - IFC4X3_RC3_types[929] = new entity(strings[2332], false, 929, (entity*) IFC4X3_RC3_types[923]); - IFC4X3_RC3_types[930] = new entity(strings[2333], false, 930, (entity*) IFC4X3_RC3_types[929]); - IFC4X3_RC3_types[931] = new entity(strings[2334], false, 931, (entity*) IFC4X3_RC3_types[924]); - IFC4X3_RC3_types[932] = new entity(strings[2335], false, 932, (entity*) IFC4X3_RC3_types[923]); - IFC4X3_RC3_types[933] = new entity(strings[2336], false, 933, (entity*) IFC4X3_RC3_types[923]); - IFC4X3_RC3_types[934] = new entity(strings[2337], false, 934, (entity*) IFC4X3_RC3_types[923]); - IFC4X3_RC3_types[935] = new entity(strings[2338], false, 935, (entity*) IFC4X3_RC3_types[922]); - IFC4X3_RC3_types[936] = new entity(strings[2339], true, 936, (entity*) IFC4X3_RC3_types[922]); - IFC4X3_RC3_types[937] = new entity(strings[2340], true, 937, (entity*) IFC4X3_RC3_types[922]); - IFC4X3_RC3_types[938] = new entity(strings[2341], false, 938, (entity*) IFC4X3_RC3_types[937]); - IFC4X3_RC3_types[939] = new entity(strings[2342], false, 939, (entity*) IFC4X3_RC3_types[937]); - IFC4X3_RC3_types[940] = new entity(strings[2343], false, 940, (entity*) IFC4X3_RC3_types[937]); - IFC4X3_RC3_types[941] = new entity(strings[2344], false, 941, (entity*) IFC4X3_RC3_types[937]); - IFC4X3_RC3_types[942] = new entity(strings[2345], false, 942, (entity*) IFC4X3_RC3_types[923]); - IFC4X3_RC3_types[943] = new entity(strings[2346], false, 943, (entity*) IFC4X3_RC3_types[923]); - IFC4X3_RC3_types[944] = new entity(strings[2347], false, 944, (entity*) IFC4X3_RC3_types[923]); - IFC4X3_RC3_types[945] = new entity(strings[2348], false, 945, (entity*) IFC4X3_RC3_types[936]); - IFC4X3_RC3_types[946] = new entity(strings[2349], false, 946, (entity*) IFC4X3_RC3_types[923]); - IFC4X3_RC3_types[947] = new entity(strings[2350], false, 947, (entity*) IFC4X3_RC3_types[936]); - IFC4X3_RC3_types[948] = new entity(strings[2351], false, 948, (entity*) IFC4X3_RC3_types[923]); - IFC4X3_RC3_types[949] = new entity(strings[2352], false, 949, (entity*) IFC4X3_RC3_types[923]); - IFC4X3_RC3_types[950] = new entity(strings[2353], false, 950, (entity*) IFC4X3_RC3_types[923]); - IFC4X3_RC3_types[951] = new entity(strings[2354], false, 951, (entity*) IFC4X3_RC3_types[923]); - IFC4X3_RC3_types[952] = new entity(strings[2355], false, 952, (entity*) IFC4X3_RC3_types[951]); - IFC4X3_RC3_types[953] = new entity(strings[2356], false, 953, (entity*) IFC4X3_RC3_types[952]); - IFC4X3_RC3_types[954] = new entity(strings[2357], false, 954, (entity*) IFC4X3_RC3_types[936]); - IFC4X3_RC3_types[955] = new entity(strings[2358], false, 955, (entity*) IFC4X3_RC3_types[196]); - IFC4X3_RC3_types[960] = new entity(strings[2359], true, 960, (entity*) IFC4X3_RC3_types[704]); - IFC4X3_RC3_types[967] = new entity(strings[2360], false, 967, (entity*) IFC4X3_RC3_types[1147]); - IFC4X3_RC3_types[968] = new entity(strings[2361], false, 968, (entity*) IFC4X3_RC3_types[967]); - IFC4X3_RC3_types[969] = new entity(strings[2362], false, 969, (entity*) IFC4X3_RC3_types[264]); - IFC4X3_RC3_types[970] = new entity(strings[2363], false, 970, (entity*) IFC4X3_RC3_types[264]); - IFC4X3_RC3_types[991] = new entity(strings[2364], true, 991, (entity*) IFC4X3_RC3_types[1041]); - IFC4X3_RC3_types[992] = new entity(strings[2365], false, 992, (entity*) IFC4X3_RC3_types[991]); - IFC4X3_RC3_types[994] = new entity(strings[2366], false, 994, (entity*) IFC4X3_RC3_types[1129]); - IFC4X3_RC3_types[1022] = new entity(strings[2367], false, 1022, (entity*) IFC4X3_RC3_types[841]); - IFC4X3_RC3_types[1055] = new entity(strings[2368], true, 1055, (entity*) IFC4X3_RC3_types[808]); - IFC4X3_RC3_types[1056] = new entity(strings[2369], true, 1056, (entity*) IFC4X3_RC3_types[1246]); - IFC4X3_RC3_types[1058] = new entity(strings[2370], true, 1058, (entity*) IFC4X3_RC3_types[1055]); - IFC4X3_RC3_types[1059] = new entity(strings[2371], true, 1059, (entity*) IFC4X3_RC3_types[1056]); - IFC4X3_RC3_types[1060] = new entity(strings[2372], false, 1060, (entity*) IFC4X3_RC3_types[1055]); - IFC4X3_RC3_types[1061] = new entity(strings[2373], false, 1061, (entity*) IFC4X3_RC3_types[1056]); - IFC4X3_RC3_types[1067] = new entity(strings[2374], false, 1067, (entity*) IFC4X3_RC3_types[264]); - IFC4X3_RC3_types[1068] = new entity(strings[2375], false, 1068, (entity*) IFC4X3_RC3_types[400]); - IFC4X3_RC3_types[1069] = new entity(strings[2376], true, 1069, (entity*) IFC4X3_RC3_types[273]); - IFC4X3_RC3_types[1081] = new entity(strings[2377], true, 1081, (entity*) IFC4X3_RC3_types[808]); - IFC4X3_RC3_types[1093] = new entity(strings[2378], true, 1093, (entity*) IFC4X3_RC3_types[808]); - IFC4X3_RC3_types[1108] = new entity(strings[2379], true, 1108, (entity*) IFC4X3_RC3_types[1093]); - IFC4X3_RC3_types[1113] = new entity(strings[2380], true, 1113, (entity*) IFC4X3_RC3_types[1081]); - IFC4X3_RC3_types[1118] = new entity(strings[2381], false, 1118, (entity*) IFC4X3_RC3_types[1108]); - IFC4X3_RC3_types[1120] = new entity(strings[2382], false, 1120, (entity*) IFC4X3_RC3_types[1118]); - IFC4X3_RC3_types[1121] = new entity(strings[2383], false, 1121, (entity*) IFC4X3_RC3_types[1113]); - IFC4X3_RC3_types[1126] = new entity(strings[2384], false, 1126, (entity*) IFC4X3_RC3_types[226]); - IFC4X3_RC3_types[1130] = new entity(strings[2385], false, 1130, (entity*) IFC4X3_RC3_types[273]); - IFC4X3_RC3_types[1131] = new entity(strings[2386], false, 1131, (entity*) IFC4X3_RC3_types[309]); - IFC4X3_RC3_types[1134] = new entity(strings[2387], false, 1134, (entity*) IFC4X3_RC3_types[1150]); - IFC4X3_RC3_types[1135] = new entity(strings[2388], false, 1135, (entity*) IFC4X3_RC3_types[1150]); - IFC4X3_RC3_types[1156] = new entity(strings[2389], false, 1156, (entity*) IFC4X3_RC3_types[503]); - IFC4X3_RC3_types[1164] = new entity(strings[2390], false, 1164, (entity*) IFC4X3_RC3_types[806]); - IFC4X3_RC3_types[1168] = new entity(strings[2391], false, 1168, (entity*) IFC4X3_RC3_types[1245]); - IFC4X3_RC3_types[1182] = new entity(strings[2392], true, 1182, (entity*) IFC4X3_RC3_types[1183]); - IFC4X3_RC3_types[1208] = new entity(strings[2393], false, 1208, (entity*) IFC4X3_RC3_types[1069]); - IFC4X3_RC3_types[1219] = new entity(strings[2394], false, 1219, (entity*) IFC4X3_RC3_types[400]); - IFC4X3_RC3_types[1232] = new entity(strings[2395], false, 1232, (entity*) IFC4X3_RC3_types[408]); - IFC4X3_RC3_types[1235] = new entity(strings[2396], false, 1235, (entity*) IFC4X3_RC3_types[1182]); - IFC4X3_RC3_types[1236] = new entity(strings[2397], false, 1236, (entity*) IFC4X3_RC3_types[1235]); - IFC4X3_RC3_types[1296] = new entity(strings[2398], false, 1296, (entity*) IFC4X3_RC3_types[794]); - IFC4X3_RC3_types[1299] = new entity(strings[2399], false, 1299, (entity*) IFC4X3_RC3_types[794]); - IFC4X3_RC3_types[51] = new select_type(strings[2400], 51, {IFC4X3_RC3_types[661],IFC4X3_RC3_types[886],IFC4X3_RC3_types[1259]}); - IFC4X3_RC3_types[68] = new select_type(strings[2401], 68, {IFC4X3_RC3_types[69],IFC4X3_RC3_types[70]}); - IFC4X3_RC3_types[90] = new select_type(strings[2402], 90, {IFC4X3_RC3_types[92],IFC4X3_RC3_types[264],IFC4X3_RC3_types[531],IFC4X3_RC3_types[1041],IFC4X3_RC3_types[1182]}); - IFC4X3_RC3_types[178] = new select_type(strings[2403], 178, {IFC4X3_RC3_types[182],IFC4X3_RC3_types[790]}); - IFC4X3_RC3_types[179] = new select_type(strings[2404], 179, {IFC4X3_RC3_types[180],IFC4X3_RC3_types[702]}); - IFC4X3_RC3_types[265] = new select_type(strings[2405], 265, {IFC4X3_RC3_types[92],IFC4X3_RC3_types[264]}); - IFC4X3_RC3_types[286] = new select_type(strings[2406], 286, {IFC4X3_RC3_types[283],IFC4X3_RC3_types[791]}); - IFC4X3_RC3_types[465] = new select_type(strings[2407], 465, {IFC4X3_RC3_types[178],IFC4X3_RC3_types[430],IFC4X3_RC3_types[463],IFC4X3_RC3_types[464]}); - IFC4X3_RC3_types[516] = new select_type(strings[2408], 516, {IFC4X3_RC3_types[273],IFC4X3_RC3_types[772],IFC4X3_RC3_types[1129]}); - IFC4X3_RC3_types[528] = new select_type(strings[2409], 528, {IFC4X3_RC3_types[307],IFC4X3_RC3_types[1277]}); - IFC4X3_RC3_types[673] = new select_type(strings[2410], 673, {IFC4X3_RC3_types[50],IFC4X3_RC3_types[661],IFC4X3_RC3_types[886],IFC4X3_RC3_types[1158],IFC4X3_RC3_types[1213],IFC4X3_RC3_types[1259]}); - IFC4X3_RC3_types[807] = new select_type(strings[2411], 807, {IFC4X3_RC3_types[806],IFC4X3_RC3_types[1245]}); - IFC4X3_RC3_types[812] = new select_type(strings[2412], 812, {IFC4X3_RC3_types[808],IFC4X3_RC3_types[1246]}); - IFC4X3_RC3_types[835] = new select_type(strings[2413], 835, {IFC4X3_RC3_types[834],IFC4X3_RC3_types[836]}); - IFC4X3_RC3_types[965] = new select_type(strings[2414], 965, {IFC4X3_RC3_types[960],IFC4X3_RC3_types[1247]}); - IFC4X3_RC3_types[1013] = new select_type(strings[2415], 1013, {IFC4X3_RC3_types[173],IFC4X3_RC3_types[721]}); - IFC4X3_RC3_types[1042] = new select_type(strings[2416], 1042, {IFC4X3_RC3_types[173],IFC4X3_RC3_types[1041]}); - IFC4X3_RC3_types[1136] = new select_type(strings[2417], 1136, {IFC4X3_RC3_types[441],IFC4X3_RC3_types[444],IFC4X3_RC3_types[1129]}); - IFC4X3_RC3_types[1239] = new select_type(strings[2418], 1239, {IFC4X3_RC3_types[147],IFC4X3_RC3_types[731]}); - IFC4X3_RC3_types[1265] = new select_type(strings[2419], 1265, {IFC4X3_RC3_types[307],IFC4X3_RC3_types[1264]}); - IFC4X3_RC3_types[6] = new entity(strings[2420], false, 6, (entity*) IFC4X3_RC3_types[704]); - IFC4X3_RC3_types[14] = new entity(strings[2421], false, 14, (entity*) IFC4X3_RC3_types[630]); - IFC4X3_RC3_types[15] = new entity(strings[2422], false, 15, (entity*) IFC4X3_RC3_types[14]); - IFC4X3_RC3_types[46] = new entity(strings[2423], false, 46, (entity*) IFC4X3_RC3_types[808]); - IFC4X3_RC3_types[111] = new entity(strings[2424], true, 111, (entity*) IFC4X3_RC3_types[101]); - IFC4X3_RC3_types[113] = new entity(strings[2425], false, 113, (entity*) IFC4X3_RC3_types[111]); - IFC4X3_RC3_types[84] = new entity(strings[2426], false, 84, (entity*) IFC4X3_RC3_types[264]); - IFC4X3_RC3_types[89] = new entity(strings[2427], false, 89, (entity*) IFC4X3_RC3_types[92]); - IFC4X3_RC3_types[100] = new entity(strings[2428], true, 100, (entity*) IFC4X3_RC3_types[273]); - IFC4X3_RC3_types[121] = new entity(strings[2429], false, 121, (entity*) IFC4X3_RC3_types[1058]); - IFC4X3_RC3_types[125] = new entity(strings[2430], false, 125, (entity*) IFC4X3_RC3_types[408]); - IFC4X3_RC3_types[162] = new entity(strings[2431], false, 162, (entity*) IFC4X3_RC3_types[125]); - IFC4X3_RC3_types[165] = new entity(strings[2432], false, 165, (entity*) IFC4X3_RC3_types[166]); - IFC4X3_RC3_types[168] = new entity(strings[2433], false, 168, (entity*) IFC4X3_RC3_types[408]); - IFC4X3_RC3_types[174] = new entity(strings[2434], false, 174, (entity*) IFC4X3_RC3_types[1069]); - IFC4X3_RC3_types[185] = new entity(strings[2435], false, 185, (entity*) IFC4X3_RC3_types[125]); - IFC4X3_RC3_types[192] = new entity(strings[2436], false, 192, (entity*) IFC4X3_RC3_types[841]); - IFC4X3_RC3_types[194] = new entity(strings[2437], false, 194, (entity*) IFC4X3_RC3_types[100]); - IFC4X3_RC3_types[195] = new entity(strings[2438], false, 195, (entity*) IFC4X3_RC3_types[194]); - IFC4X3_RC3_types[205] = new entity(strings[2439], true, 205, (entity*) IFC4X3_RC3_types[273]); - IFC4X3_RC3_types[217] = new entity(strings[2440], false, 217, (entity*) IFC4X3_RC3_types[226]); - IFC4X3_RC3_types[220] = new entity(strings[2441], false, 220, (entity*) IFC4X3_RC3_types[226]); - IFC4X3_RC3_types[223] = new entity(strings[2442], false, 223, (entity*) IFC4X3_RC3_types[226]); - IFC4X3_RC3_types[225] = new entity(strings[2443], true, 225, (entity*) IFC4X3_RC3_types[960]); - IFC4X3_RC3_types[230] = new entity(strings[2444], true, 230, (entity*) IFC4X3_RC3_types[704]); - IFC4X3_RC3_types[248] = new entity(strings[2445], false, 248, (entity*) IFC4X3_RC3_types[1069]); - IFC4X3_RC3_types[249] = new entity(strings[2446], false, 249, (entity*) IFC4X3_RC3_types[230]); - IFC4X3_RC3_types[251] = new entity(strings[2447], false, 251, (entity*) IFC4X3_RC3_types[230]); - IFC4X3_RC3_types[256] = new entity(strings[2448], false, 256, (entity*) IFC4X3_RC3_types[125]); - IFC4X3_RC3_types[259] = new entity(strings[2449], false, 259, (entity*) IFC4X3_RC3_types[125]); - IFC4X3_RC3_types[261] = new entity(strings[2450], false, 261, (entity*) IFC4X3_RC3_types[225]); - IFC4X3_RC3_types[270] = new entity(strings[2451], false, 270, (entity*) IFC4X3_RC3_types[125]); - IFC4X3_RC3_types[287] = new entity(strings[2452], false, 287, (entity*) IFC4X3_RC3_types[400]); - IFC4X3_RC3_types[297] = new entity(strings[2453], false, 297, (entity*) IFC4X3_RC3_types[125]); - IFC4X3_RC3_types[310] = new entity(strings[2454], false, 310, (entity*) IFC4X3_RC3_types[472]); - IFC4X3_RC3_types[325] = new entity(strings[2455], false, 325, (entity*) IFC4X3_RC3_types[408]); - IFC4X3_RC3_types[327] = new entity(strings[2456], true, 327, (entity*) IFC4X3_RC3_types[325]); - IFC4X3_RC3_types[339] = new entity(strings[2457], false, 339, (entity*) IFC4X3_RC3_types[794]); - IFC4X3_RC3_types[342] = new entity(strings[2458], false, 342, (entity*) IFC4X3_RC3_types[794]); - IFC4X3_RC3_types[347] = new entity(strings[2459], false, 347, (entity*) IFC4X3_RC3_types[125]); - IFC4X3_RC3_types[351] = new entity(strings[2460], false, 351, (entity*) IFC4X3_RC3_types[790]); - IFC4X3_RC3_types[352] = new entity(strings[2461], false, 352, (entity*) IFC4X3_RC3_types[791]); - IFC4X3_RC3_types[399] = new entity(strings[2462], true, 399, (entity*) IFC4X3_RC3_types[808]); - IFC4X3_RC3_types[401] = new entity(strings[2463], false, 401, (entity*) IFC4X3_RC3_types[399]); - IFC4X3_RC3_types[402] = new entity(strings[2464], false, 402, (entity*) IFC4X3_RC3_types[408]); - IFC4X3_RC3_types[404] = new entity(strings[2465], true, 404, (entity*) IFC4X3_RC3_types[399]); - IFC4X3_RC3_types[405] = new entity(strings[2466], true, 405, (entity*) IFC4X3_RC3_types[408]); - IFC4X3_RC3_types[409] = new entity(strings[2467], false, 409, (entity*) IFC4X3_RC3_types[205]); - IFC4X3_RC3_types[412] = new entity(strings[2468], true, 412, (entity*) IFC4X3_RC3_types[327]); - IFC4X3_RC3_types[415] = new entity(strings[2469], false, 415, (entity*) IFC4X3_RC3_types[412]); - IFC4X3_RC3_types[418] = new entity(strings[2470], false, 418, (entity*) IFC4X3_RC3_types[412]); - IFC4X3_RC3_types[421] = new entity(strings[2471], false, 421, (entity*) IFC4X3_RC3_types[412]); - IFC4X3_RC3_types[423] = new entity(strings[2472], false, 423, (entity*) IFC4X3_RC3_types[806]); - IFC4X3_RC3_types[437] = new entity(strings[2473], true, 437, (entity*) IFC4X3_RC3_types[1055]); - IFC4X3_RC3_types[445] = new entity(strings[2474], false, 445, (entity*) IFC4X3_RC3_types[630]); - IFC4X3_RC3_types[446] = new entity(strings[2475], false, 446, (entity*) IFC4X3_RC3_types[445]); - IFC4X3_RC3_types[447] = new entity(strings[2476], false, 447, (entity*) IFC4X3_RC3_types[1058]); - IFC4X3_RC3_types[448] = new entity(strings[2477], false, 448, (entity*) IFC4X3_RC3_types[1058]); - IFC4X3_RC3_types[456] = new entity(strings[2478], false, 456, (entity*) IFC4X3_RC3_types[404]); - IFC4X3_RC3_types[457] = new entity(strings[2479], false, 457, (entity*) IFC4X3_RC3_types[405]); - IFC4X3_RC3_types[459] = new entity(strings[2480], true, 459, (entity*) IFC4X3_RC3_types[399]); - IFC4X3_RC3_types[460] = new entity(strings[2481], true, 460, (entity*) IFC4X3_RC3_types[459]); - IFC4X3_RC3_types[461] = new entity(strings[2482], true, 461, (entity*) IFC4X3_RC3_types[459]); - IFC4X3_RC3_types[474] = new entity(strings[2483], true, 474, (entity*) IFC4X3_RC3_types[327]); - IFC4X3_RC3_types[477] = new entity(strings[2484], true, 477, (entity*) IFC4X3_RC3_types[327]); - IFC4X3_RC3_types[482] = new entity(strings[2485], false, 482, (entity*) IFC4X3_RC3_types[474]); - IFC4X3_RC3_types[485] = new entity(strings[2486], true, 485, (entity*) IFC4X3_RC3_types[327]); - IFC4X3_RC3_types[487] = new entity(strings[2487], true, 487, (entity*) IFC4X3_RC3_types[327]); - IFC4X3_RC3_types[489] = new entity(strings[2488], true, 489, (entity*) IFC4X3_RC3_types[327]); - IFC4X3_RC3_types[491] = new entity(strings[2489], true, 491, (entity*) IFC4X3_RC3_types[327]); - IFC4X3_RC3_types[493] = new entity(strings[2490], true, 493, (entity*) IFC4X3_RC3_types[327]); - IFC4X3_RC3_types[498] = new entity(strings[2491], false, 498, (entity*) IFC4X3_RC3_types[125]); - IFC4X3_RC3_types[502] = new entity(strings[2492], false, 502, (entity*) IFC4X3_RC3_types[399]); - IFC4X3_RC3_types[504] = new entity(strings[2493], false, 504, (entity*) IFC4X3_RC3_types[502]); - IFC4X3_RC3_types[507] = new entity(strings[2494], false, 507, (entity*) IFC4X3_RC3_types[399]); - IFC4X3_RC3_types[520] = new entity(strings[2495], true, 520, (entity*) IFC4X3_RC3_types[399]); - IFC4X3_RC3_types[521] = new entity(strings[2496], true, 521, (entity*) IFC4X3_RC3_types[520]); - IFC4X3_RC3_types[524] = new entity(strings[2497], false, 524, (entity*) IFC4X3_RC3_types[194]); - IFC4X3_RC3_types[530] = new entity(strings[2498], false, 530, (entity*) IFC4X3_RC3_types[704]); - IFC4X3_RC3_types[534] = new entity(strings[2499], false, 534, (entity*) IFC4X3_RC3_types[412]); - IFC4X3_RC3_types[539] = new entity(strings[2500], false, 539, (entity*) IFC4X3_RC3_types[412]); - IFC4X3_RC3_types[544] = new entity(strings[2501], false, 544, (entity*) IFC4X3_RC3_types[404]); - IFC4X3_RC3_types[545] = new entity(strings[2502], false, 545, (entity*) IFC4X3_RC3_types[405]); - IFC4X3_RC3_types[550] = new entity(strings[2503], false, 550, (entity*) IFC4X3_RC3_types[100]); - IFC4X3_RC3_types[559] = new entity(strings[2504], false, 559, (entity*) IFC4X3_RC3_types[493]); - IFC4X3_RC3_types[563] = new entity(strings[2505], false, 563, (entity*) IFC4X3_RC3_types[1130]); - IFC4X3_RC3_types[564] = new entity(strings[2506], false, 564, (entity*) IFC4X3_RC3_types[530]); - IFC4X3_RC3_types[572] = new entity(strings[2507], false, 572, (entity*) IFC4X3_RC3_types[477]); - IFC4X3_RC3_types[575] = new entity(strings[2508], false, 575, (entity*) IFC4X3_RC3_types[125]); - IFC4X3_RC3_types[579] = new entity(strings[2509], false, 579, (entity*) IFC4X3_RC3_types[225]); - IFC4X3_RC3_types[584] = new entity(strings[2510], false, 584, (entity*) IFC4X3_RC3_types[491]); - IFC4X3_RC3_types[598] = new entity(strings[2511], false, 598, (entity*) IFC4X3_RC3_types[491]); - IFC4X3_RC3_types[608] = new entity(strings[2512], true, 608, (entity*) IFC4X3_RC3_types[808]); - IFC4X3_RC3_types[617] = new entity(strings[2513], false, 617, (entity*) IFC4X3_RC3_types[491]); - IFC4X3_RC3_types[633] = new entity(strings[2514], false, 633, (entity*) IFC4X3_RC3_types[447]); - IFC4X3_RC3_types[662] = new entity(strings[2515], false, 662, (entity*) IFC4X3_RC3_types[404]); - IFC4X3_RC3_types[663] = new entity(strings[2516], false, 663, (entity*) IFC4X3_RC3_types[405]); - IFC4X3_RC3_types[666] = new entity(strings[2517], false, 666, (entity*) IFC4X3_RC3_types[491]); - IFC4X3_RC3_types[670] = new entity(strings[2518], false, 670, (entity*) IFC4X3_RC3_types[125]); - IFC4X3_RC3_types[676] = new entity(strings[2519], false, 676, (entity*) IFC4X3_RC3_types[491]); - IFC4X3_RC3_types[692] = new entity(strings[2520], false, 692, (entity*) IFC4X3_RC3_types[125]); - IFC4X3_RC3_types[695] = new entity(strings[2521], false, 695, (entity*) IFC4X3_RC3_types[412]); - IFC4X3_RC3_types[699] = new entity(strings[2522], false, 699, (entity*) IFC4X3_RC3_types[125]); - IFC4X3_RC3_types[711] = new entity(strings[2523], false, 711, (entity*) IFC4X3_RC3_types[6]); - IFC4X3_RC3_types[718] = new entity(strings[2524], false, 718, (entity*) IFC4X3_RC3_types[461]); - IFC4X3_RC3_types[720] = new entity(strings[2525], false, 720, (entity*) IFC4X3_RC3_types[718]); - IFC4X3_RC3_types[727] = new entity(strings[2526], false, 727, (entity*) IFC4X3_RC3_types[491]); - IFC4X3_RC3_types[734] = new entity(strings[2527], false, 734, (entity*) IFC4X3_RC3_types[125]); - IFC4X3_RC3_types[737] = new entity(strings[2528], false, 737, (entity*) IFC4X3_RC3_types[230]); - IFC4X3_RC3_types[740] = new entity(strings[2529], false, 740, (entity*) IFC4X3_RC3_types[794]); - IFC4X3_RC3_types[741] = new entity(strings[2530], false, 741, (entity*) IFC4X3_RC3_types[230]); - IFC4X3_RC3_types[752] = new entity(strings[2531], false, 752, (entity*) IFC4X3_RC3_types[297]); - IFC4X3_RC3_types[755] = new entity(strings[2532], false, 755, (entity*) IFC4X3_RC3_types[477]); - IFC4X3_RC3_types[758] = new entity(strings[2533], false, 758, (entity*) IFC4X3_RC3_types[487]); - IFC4X3_RC3_types[767] = new entity(strings[2534], false, 767, (entity*) IFC4X3_RC3_types[507]); - IFC4X3_RC3_types[770] = new entity(strings[2535], false, 770, (entity*) IFC4X3_RC3_types[125]); - IFC4X3_RC3_types[778] = new entity(strings[2536], false, 778, (entity*) IFC4X3_RC3_types[1182]); - IFC4X3_RC3_types[779] = new entity(strings[2537], false, 779, (entity*) IFC4X3_RC3_types[100]); - IFC4X3_RC3_types[782] = new entity(strings[2538], true, 782, (entity*) IFC4X3_RC3_types[808]); - IFC4X3_RC3_types[783] = new entity(strings[2539], true, 783, (entity*) IFC4X3_RC3_types[808]); - IFC4X3_RC3_types[803] = new entity(strings[2540], false, 803, (entity*) IFC4X3_RC3_types[806]); - IFC4X3_RC3_types[822] = new entity(strings[2541], false, 822, (entity*) IFC4X3_RC3_types[230]); - IFC4X3_RC3_types[819] = new entity(strings[2542], false, 819, (entity*) IFC4X3_RC3_types[460]); - IFC4X3_RC3_types[847] = new entity(strings[2543], false, 847, (entity*) IFC4X3_RC3_types[474]); - IFC4X3_RC3_types[851] = new entity(strings[2544], false, 851, (entity*) IFC4X3_RC3_types[485]); - IFC4X3_RC3_types[865] = new entity(strings[2545], false, 865, (entity*) IFC4X3_RC3_types[125]); - IFC4X3_RC3_types[863] = new entity(strings[2546], false, 863, (entity*) IFC4X3_RC3_types[125]); - IFC4X3_RC3_types[867] = new entity(strings[2547], false, 867, (entity*) IFC4X3_RC3_types[447]); - IFC4X3_RC3_types[872] = new entity(strings[2548], false, 872, (entity*) IFC4X3_RC3_types[125]); - IFC4X3_RC3_types[874] = new entity(strings[2549], false, 874, (entity*) IFC4X3_RC3_types[125]); - IFC4X3_RC3_types[878] = new entity(strings[2550], false, 878, (entity*) IFC4X3_RC3_types[113]); - IFC4X3_RC3_types[887] = new entity(strings[2551], false, 887, (entity*) IFC4X3_RC3_types[783]); - IFC4X3_RC3_types[900] = new entity(strings[2552], true, 900, (entity*) IFC4X3_RC3_types[404]); - IFC4X3_RC3_types[901] = new entity(strings[2553], true, 901, (entity*) IFC4X3_RC3_types[405]); - IFC4X3_RC3_types[902] = new entity(strings[2554], false, 902, (entity*) IFC4X3_RC3_types[900]); - IFC4X3_RC3_types[903] = new entity(strings[2555], false, 903, (entity*) IFC4X3_RC3_types[901]); - IFC4X3_RC3_types[905] = new entity(strings[2556], false, 905, (entity*) IFC4X3_RC3_types[936]); - IFC4X3_RC3_types[971] = new entity(strings[2557], false, 971, (entity*) IFC4X3_RC3_types[447]); - IFC4X3_RC3_types[976] = new entity(strings[2558], false, 976, (entity*) IFC4X3_RC3_types[125]); - IFC4X3_RC3_types[985] = new entity(strings[2559], false, 985, (entity*) IFC4X3_RC3_types[491]); - IFC4X3_RC3_types[988] = new entity(strings[2560], false, 988, (entity*) IFC4X3_RC3_types[1130]); - IFC4X3_RC3_types[989] = new entity(strings[2561], false, 989, (entity*) IFC4X3_RC3_types[1069]); - IFC4X3_RC3_types[1000] = new entity(strings[2562], false, 1000, (entity*) IFC4X3_RC3_types[194]); - IFC4X3_RC3_types[1007] = new entity(strings[2563], false, 1007, (entity*) IFC4X3_RC3_types[125]); - IFC4X3_RC3_types[1015] = new entity(strings[2564], false, 1015, (entity*) IFC4X3_RC3_types[404]); - IFC4X3_RC3_types[1019] = new entity(strings[2565], false, 1019, (entity*) IFC4X3_RC3_types[405]); - IFC4X3_RC3_types[1017] = new entity(strings[2566], false, 1017, (entity*) IFC4X3_RC3_types[491]); - IFC4X3_RC3_types[1025] = new entity(strings[2567], false, 1025, (entity*) IFC4X3_RC3_types[1069]); - IFC4X3_RC3_types[1027] = new entity(strings[2568], false, 1027, (entity*) IFC4X3_RC3_types[1058]); - IFC4X3_RC3_types[1034] = new entity(strings[2569], false, 1034, (entity*) IFC4X3_RC3_types[125]); - IFC4X3_RC3_types[1038] = new entity(strings[2570], false, 1038, (entity*) IFC4X3_RC3_types[412]); - IFC4X3_RC3_types[1043] = new entity(strings[2571], false, 1043, (entity*) IFC4X3_RC3_types[521]); - IFC4X3_RC3_types[1048] = new entity(strings[2572], false, 1048, (entity*) IFC4X3_RC3_types[1058]); - IFC4X3_RC3_types[1051] = new entity(strings[2573], false, 1051, (entity*) IFC4X3_RC3_types[491]); - IFC4X3_RC3_types[1053] = new entity(strings[2574], false, 1053, (entity*) IFC4X3_RC3_types[1059]); - IFC4X3_RC3_types[1071] = new entity(strings[2575], false, 1071, (entity*) IFC4X3_RC3_types[491]); - IFC4X3_RC3_types[1075] = new entity(strings[2576], false, 1075, (entity*) IFC4X3_RC3_types[125]); - IFC4X3_RC3_types[1077] = new entity(strings[2577], false, 1077, (entity*) IFC4X3_RC3_types[125]); - IFC4X3_RC3_types[1080] = new entity(strings[2578], true, 1080, (entity*) IFC4X3_RC3_types[1081]); - IFC4X3_RC3_types[1084] = new entity(strings[2579], true, 1084, (entity*) IFC4X3_RC3_types[1093]); - IFC4X3_RC3_types[1086] = new entity(strings[2580], false, 1086, (entity*) IFC4X3_RC3_types[1080]); - IFC4X3_RC3_types[1088] = new entity(strings[2581], false, 1088, (entity*) IFC4X3_RC3_types[1084]); - IFC4X3_RC3_types[1089] = new entity(strings[2582], false, 1089, (entity*) IFC4X3_RC3_types[1108]); - IFC4X3_RC3_types[1091] = new entity(strings[2583], false, 1091, (entity*) IFC4X3_RC3_types[1089]); - IFC4X3_RC3_types[1092] = new entity(strings[2584], false, 1092, (entity*) IFC4X3_RC3_types[1113]); - IFC4X3_RC3_types[1094] = new entity(strings[2585], false, 1094, (entity*) IFC4X3_RC3_types[1086]); - IFC4X3_RC3_types[1098] = new entity(strings[2586], false, 1098, (entity*) IFC4X3_RC3_types[530]); - IFC4X3_RC3_types[1110] = new entity(strings[2587], false, 1110, (entity*) IFC4X3_RC3_types[1080]); - IFC4X3_RC3_types[1111] = new entity(strings[2588], false, 1111, (entity*) IFC4X3_RC3_types[1084]); - IFC4X3_RC3_types[1112] = new entity(strings[2589], false, 1112, (entity*) IFC4X3_RC3_types[1113]); - IFC4X3_RC3_types[1114] = new entity(strings[2590], false, 1114, (entity*) IFC4X3_RC3_types[530]); - IFC4X3_RC3_types[1115] = new entity(strings[2591], false, 1115, (entity*) IFC4X3_RC3_types[1080]); - IFC4X3_RC3_types[1117] = new entity(strings[2592], false, 1117, (entity*) IFC4X3_RC3_types[1084]); - IFC4X3_RC3_types[1125] = new entity(strings[2593], false, 1125, (entity*) IFC4X3_RC3_types[225]); - IFC4X3_RC3_types[1132] = new entity(strings[2594], false, 1132, (entity*) IFC4X3_RC3_types[459]); - IFC4X3_RC3_types[1152] = new entity(strings[2595], false, 1152, (entity*) IFC4X3_RC3_types[474]); - IFC4X3_RC3_types[1154] = new entity(strings[2596], false, 1154, (entity*) IFC4X3_RC3_types[530]); - IFC4X3_RC3_types[1155] = new entity(strings[2597], false, 1155, (entity*) IFC4X3_RC3_types[502]); - IFC4X3_RC3_types[1162] = new entity(strings[2598], false, 1162, (entity*) IFC4X3_RC3_types[489]); - IFC4X3_RC3_types[1173] = new entity(strings[2599], false, 1173, (entity*) IFC4X3_RC3_types[900]); - IFC4X3_RC3_types[1174] = new entity(strings[2600], false, 1174, (entity*) IFC4X3_RC3_types[900]); - IFC4X3_RC3_types[1175] = new entity(strings[2601], false, 1175, (entity*) IFC4X3_RC3_types[901]); - IFC4X3_RC3_types[1177] = new entity(strings[2602], false, 1177, (entity*) IFC4X3_RC3_types[900]); - IFC4X3_RC3_types[1178] = new entity(strings[2603], false, 1178, (entity*) IFC4X3_RC3_types[901]); - IFC4X3_RC3_types[1180] = new entity(strings[2604], false, 1180, (entity*) IFC4X3_RC3_types[901]); - IFC4X3_RC3_types[1222] = new entity(strings[2605], false, 1222, (entity*) IFC4X3_RC3_types[125]); - IFC4X3_RC3_types[1225] = new entity(strings[2606], false, 1225, (entity*) IFC4X3_RC3_types[412]); - IFC4X3_RC3_types[1229] = new entity(strings[2607], false, 1229, (entity*) IFC4X3_RC3_types[399]); - IFC4X3_RC3_types[1237] = new entity(strings[2608], false, 1237, (entity*) IFC4X3_RC3_types[100]); - IFC4X3_RC3_types[1242] = new entity(strings[2609], false, 1242, (entity*) IFC4X3_RC3_types[412]); - IFC4X3_RC3_types[1253] = new entity(strings[2610], false, 1253, (entity*) IFC4X3_RC3_types[412]); - IFC4X3_RC3_types[1261] = new entity(strings[2611], false, 1261, (entity*) IFC4X3_RC3_types[474]); - IFC4X3_RC3_types[1269] = new entity(strings[2612], false, 1269, (entity*) IFC4X3_RC3_types[404]); - IFC4X3_RC3_types[1270] = new entity(strings[2613], false, 1270, (entity*) IFC4X3_RC3_types[405]); - IFC4X3_RC3_types[1272] = new entity(strings[2614], false, 1272, (entity*) IFC4X3_RC3_types[404]); - IFC4X3_RC3_types[1273] = new entity(strings[2615], false, 1273, (entity*) IFC4X3_RC3_types[405]); - IFC4X3_RC3_types[1275] = new entity(strings[2616], false, 1275, (entity*) IFC4X3_RC3_types[100]); - IFC4X3_RC3_types[1276] = new entity(strings[2617], false, 1276, (entity*) IFC4X3_RC3_types[399]); - IFC4X3_RC3_types[1280] = new entity(strings[2618], false, 1280, (entity*) IFC4X3_RC3_types[521]); - IFC4X3_RC3_types[1278] = new entity(strings[2619], false, 1278, (entity*) IFC4X3_RC3_types[461]); - IFC4X3_RC3_types[1286] = new entity(strings[2620], false, 1286, (entity*) IFC4X3_RC3_types[125]); - IFC4X3_RC3_types[1292] = new entity(strings[2621], false, 1292, (entity*) IFC4X3_RC3_types[491]); - IFC4X3_RC3_types[1294] = new entity(strings[2622], false, 1294, (entity*) IFC4X3_RC3_types[521]); - IFC4X3_RC3_types[1304] = new entity(strings[2623], false, 1304, (entity*) IFC4X3_RC3_types[125]); - IFC4X3_RC3_types[1307] = new entity(strings[2624], false, 1307, (entity*) IFC4X3_RC3_types[230]); - IFC4X3_RC3_types[1309] = new entity(strings[2625], true, 1309, (entity*) IFC4X3_RC3_types[230]); - IFC4X3_RC3_types[1310] = new entity(strings[2626], false, 1310, (entity*) IFC4X3_RC3_types[1309]); - IFC4X3_RC3_types[1312] = new entity(strings[2627], false, 1312, (entity*) IFC4X3_RC3_types[1309]); - IFC4X3_RC3_types[1315] = new entity(strings[2628], false, 1315, (entity*) IFC4X3_RC3_types[1154]); - IFC4X3_RC3_types[276] = new select_type(strings[2629], 276, {IFC4X3_RC3_types[284],IFC4X3_RC3_types[286]}); - IFC4X3_RC3_types[279] = new select_type(strings[2630], 279, {IFC4X3_RC3_types[195],IFC4X3_RC3_types[736],IFC4X3_RC3_types[1130]}); - IFC4X3_RC3_types[280] = new select_type(strings[2631], 280, {IFC4X3_RC3_types[100],IFC4X3_RC3_types[370]}); - IFC4X3_RC3_types[561] = new select_type(strings[2632], 561, {IFC4X3_RC3_types[399],IFC4X3_RC3_types[1055]}); - IFC4X3_RC3_types[1057] = new select_type(strings[2633], 1057, {IFC4X3_RC3_types[530],IFC4X3_RC3_types[808]}); - IFC4X3_RC3_types[1082] = new select_type(strings[2634], 1082, {IFC4X3_RC3_types[399],IFC4X3_RC3_types[1093]}); - IFC4X3_RC3_types[2] = new entity(strings[2635], false, 2, (entity*) IFC4X3_RC3_types[230]); - IFC4X3_RC3_types[19] = new entity(strings[2636], false, 19, (entity*) IFC4X3_RC3_types[474]); - IFC4X3_RC3_types[21] = new entity(strings[2637], false, 21, (entity*) IFC4X3_RC3_types[491]); - IFC4X3_RC3_types[24] = new entity(strings[2638], false, 24, (entity*) IFC4X3_RC3_types[412]); - IFC4X3_RC3_types[30] = new entity(strings[2639], false, 30, (entity*) IFC4X3_RC3_types[608]); - IFC4X3_RC3_types[33] = new entity(strings[2640], false, 33, (entity*) IFC4X3_RC3_types[608]); - IFC4X3_RC3_types[37] = new entity(strings[2641], false, 37, (entity*) IFC4X3_RC3_types[608]); - IFC4X3_RC3_types[39] = new entity(strings[2642], false, 39, (entity*) IFC4X3_RC3_types[608]); - IFC4X3_RC3_types[62] = new entity(strings[2643], false, 62, (entity*) IFC4X3_RC3_types[530]); - IFC4X3_RC3_types[65] = new entity(strings[2644], false, 65, (entity*) IFC4X3_RC3_types[491]); - IFC4X3_RC3_types[108] = new entity(strings[2645], true, 108, (entity*) IFC4X3_RC3_types[100]); - IFC4X3_RC3_types[110] = new entity(strings[2646], false, 110, (entity*) IFC4X3_RC3_types[108]); - IFC4X3_RC3_types[74] = new entity(strings[2647], false, 74, (entity*) IFC4X3_RC3_types[125]); - IFC4X3_RC3_types[77] = new entity(strings[2648], false, 77, (entity*) IFC4X3_RC3_types[125]); - IFC4X3_RC3_types[86] = new entity(strings[2649], false, 86, (entity*) IFC4X3_RC3_types[412]); - IFC4X3_RC3_types[95] = new entity(strings[2650], false, 95, (entity*) IFC4X3_RC3_types[195]); - IFC4X3_RC3_types[105] = new entity(strings[2651], false, 105, (entity*) IFC4X3_RC3_types[447]); - IFC4X3_RC3_types[114] = new entity(strings[2652], false, 114, (entity*) IFC4X3_RC3_types[447]); - IFC4X3_RC3_types[115] = new entity(strings[2653], false, 115, (entity*) IFC4X3_RC3_types[404]); - IFC4X3_RC3_types[116] = new entity(strings[2654], false, 116, (entity*) IFC4X3_RC3_types[405]); - IFC4X3_RC3_types[119] = new entity(strings[2655], false, 119, (entity*) IFC4X3_RC3_types[125]); - IFC4X3_RC3_types[122] = new entity(strings[2656], false, 122, (entity*) IFC4X3_RC3_types[1154]); - IFC4X3_RC3_types[124] = new entity(strings[2657], false, 124, (entity*) IFC4X3_RC3_types[399]); - IFC4X3_RC3_types[126] = new entity(strings[2658], false, 126, (entity*) IFC4X3_RC3_types[1154]); - IFC4X3_RC3_types[129] = new entity(strings[2659], false, 129, (entity*) IFC4X3_RC3_types[412]); - IFC4X3_RC3_types[132] = new entity(strings[2660], false, 132, (entity*) IFC4X3_RC3_types[477]); - IFC4X3_RC3_types[135] = new entity(strings[2661], false, 135, (entity*) IFC4X3_RC3_types[487]); - IFC4X3_RC3_types[138] = new entity(strings[2662], false, 138, (entity*) IFC4X3_RC3_types[477]); - IFC4X3_RC3_types[141] = new entity(strings[2663], false, 141, (entity*) IFC4X3_RC3_types[487]); - IFC4X3_RC3_types[144] = new entity(strings[2664], false, 144, (entity*) IFC4X3_RC3_types[297]); - IFC4X3_RC3_types[159] = new entity(strings[2665], false, 159, (entity*) IFC4X3_RC3_types[412]); - IFC4X3_RC3_types[161] = new entity(strings[2666], false, 161, (entity*) IFC4X3_RC3_types[124]); - IFC4X3_RC3_types[164] = new entity(strings[2667], false, 164, (entity*) IFC4X3_RC3_types[205]); - IFC4X3_RC3_types[167] = new entity(strings[2668], false, 167, (entity*) IFC4X3_RC3_types[399]); - IFC4X3_RC3_types[176] = new entity(strings[2669], false, 176, (entity*) IFC4X3_RC3_types[412]); - IFC4X3_RC3_types[183] = new entity(strings[2670], false, 183, (entity*) IFC4X3_RC3_types[124]); - IFC4X3_RC3_types[184] = new entity(strings[2671], false, 184, (entity*) IFC4X3_RC3_types[183]); - IFC4X3_RC3_types[188] = new entity(strings[2672], false, 188, (entity*) IFC4X3_RC3_types[491]); - IFC4X3_RC3_types[200] = new entity(strings[2673], false, 200, (entity*) IFC4X3_RC3_types[485]); - IFC4X3_RC3_types[203] = new entity(strings[2674], false, 203, (entity*) IFC4X3_RC3_types[412]); - IFC4X3_RC3_types[216] = new entity(strings[2675], false, 216, (entity*) IFC4X3_RC3_types[225]); - IFC4X3_RC3_types[219] = new entity(strings[2676], false, 219, (entity*) IFC4X3_RC3_types[225]); - IFC4X3_RC3_types[222] = new entity(strings[2677], false, 222, (entity*) IFC4X3_RC3_types[225]); - IFC4X3_RC3_types[237] = new entity(strings[2678], false, 237, (entity*) IFC4X3_RC3_types[487]); - IFC4X3_RC3_types[240] = new entity(strings[2679], false, 240, (entity*) IFC4X3_RC3_types[412]); - IFC4X3_RC3_types[243] = new entity(strings[2680], false, 243, (entity*) IFC4X3_RC3_types[412]); - IFC4X3_RC3_types[255] = new entity(strings[2681], false, 255, (entity*) IFC4X3_RC3_types[124]); - IFC4X3_RC3_types[258] = new entity(strings[2682], false, 258, (entity*) IFC4X3_RC3_types[124]); - IFC4X3_RC3_types[269] = new entity(strings[2683], false, 269, (entity*) IFC4X3_RC3_types[124]); - IFC4X3_RC3_types[289] = new entity(strings[2684], false, 289, (entity*) IFC4X3_RC3_types[474]); - IFC4X3_RC3_types[296] = new entity(strings[2685], false, 296, (entity*) IFC4X3_RC3_types[124]); - IFC4X3_RC3_types[312] = new entity(strings[2686], false, 312, (entity*) IFC4X3_RC3_types[404]); - IFC4X3_RC3_types[313] = new entity(strings[2687], false, 313, (entity*) IFC4X3_RC3_types[405]); - IFC4X3_RC3_types[316] = new entity(strings[2688], false, 316, (entity*) IFC4X3_RC3_types[474]); - IFC4X3_RC3_types[319] = new entity(strings[2689], false, 319, (entity*) IFC4X3_RC3_types[327]); - IFC4X3_RC3_types[323] = new entity(strings[2690], true, 323, (entity*) IFC4X3_RC3_types[325]); - IFC4X3_RC3_types[324] = new entity(strings[2691], false, 324, (entity*) IFC4X3_RC3_types[399]); - IFC4X3_RC3_types[326] = new entity(strings[2692], false, 326, (entity*) IFC4X3_RC3_types[324]); - IFC4X3_RC3_types[328] = new entity(strings[2693], false, 328, (entity*) IFC4X3_RC3_types[782]); - IFC4X3_RC3_types[330] = new entity(strings[2694], false, 330, (entity*) IFC4X3_RC3_types[1154]); - IFC4X3_RC3_types[338] = new entity(strings[2695], false, 338, (entity*) IFC4X3_RC3_types[124]); - IFC4X3_RC3_types[343] = new entity(strings[2696], false, 343, (entity*) IFC4X3_RC3_types[338]); - IFC4X3_RC3_types[354] = new entity(strings[2697], false, 354, (entity*) IFC4X3_RC3_types[477]); - IFC4X3_RC3_types[357] = new entity(strings[2698], false, 357, (entity*) IFC4X3_RC3_types[487]); - IFC4X3_RC3_types[360] = new entity(strings[2699], false, 360, (entity*) IFC4X3_RC3_types[493]); - IFC4X3_RC3_types[364] = new entity(strings[2700], false, 364, (entity*) IFC4X3_RC3_types[461]); - IFC4X3_RC3_types[366] = new entity(strings[2701], false, 366, (entity*) IFC4X3_RC3_types[124]); - IFC4X3_RC3_types[367] = new entity(strings[2702], false, 367, (entity*) IFC4X3_RC3_types[366]); - IFC4X3_RC3_types[373] = new entity(strings[2703], false, 373, (entity*) IFC4X3_RC3_types[491]); - IFC4X3_RC3_types[380] = new entity(strings[2704], false, 380, (entity*) IFC4X3_RC3_types[474]); - IFC4X3_RC3_types[383] = new entity(strings[2705], false, 383, (entity*) IFC4X3_RC3_types[489]); - IFC4X3_RC3_types[386] = new entity(strings[2706], false, 386, (entity*) IFC4X3_RC3_types[493]); - IFC4X3_RC3_types[389] = new entity(strings[2707], false, 389, (entity*) IFC4X3_RC3_types[412]); - IFC4X3_RC3_types[392] = new entity(strings[2708], false, 392, (entity*) IFC4X3_RC3_types[412]); - IFC4X3_RC3_types[396] = new entity(strings[2709], false, 396, (entity*) IFC4X3_RC3_types[474]); - IFC4X3_RC3_types[411] = new entity(strings[2710], false, 411, (entity*) IFC4X3_RC3_types[326]); - IFC4X3_RC3_types[414] = new entity(strings[2711], false, 414, (entity*) IFC4X3_RC3_types[411]); - IFC4X3_RC3_types[417] = new entity(strings[2712], false, 417, (entity*) IFC4X3_RC3_types[411]); - IFC4X3_RC3_types[420] = new entity(strings[2713], false, 420, (entity*) IFC4X3_RC3_types[411]); - IFC4X3_RC3_types[435] = new entity(strings[2714], false, 435, (entity*) IFC4X3_RC3_types[437]); - IFC4X3_RC3_types[454] = new entity(strings[2715], false, 454, (entity*) IFC4X3_RC3_types[485]); - IFC4X3_RC3_types[467] = new entity(strings[2716], false, 467, (entity*) IFC4X3_RC3_types[493]); - IFC4X3_RC3_types[470] = new entity(strings[2717], false, 470, (entity*) IFC4X3_RC3_types[491]); - IFC4X3_RC3_types[473] = new entity(strings[2718], false, 473, (entity*) IFC4X3_RC3_types[326]); - IFC4X3_RC3_types[476] = new entity(strings[2719], false, 476, (entity*) IFC4X3_RC3_types[326]); - IFC4X3_RC3_types[479] = new entity(strings[2720], false, 479, (entity*) IFC4X3_RC3_types[323]); - IFC4X3_RC3_types[481] = new entity(strings[2721], false, 481, (entity*) IFC4X3_RC3_types[473]); - IFC4X3_RC3_types[484] = new entity(strings[2722], false, 484, (entity*) IFC4X3_RC3_types[326]); - IFC4X3_RC3_types[486] = new entity(strings[2723], false, 486, (entity*) IFC4X3_RC3_types[326]); - IFC4X3_RC3_types[488] = new entity(strings[2724], false, 488, (entity*) IFC4X3_RC3_types[326]); - IFC4X3_RC3_types[490] = new entity(strings[2725], false, 490, (entity*) IFC4X3_RC3_types[326]); - IFC4X3_RC3_types[492] = new entity(strings[2726], false, 492, (entity*) IFC4X3_RC3_types[326]); - IFC4X3_RC3_types[497] = new entity(strings[2727], false, 497, (entity*) IFC4X3_RC3_types[124]); - IFC4X3_RC3_types[519] = new entity(strings[2728], true, 519, (entity*) IFC4X3_RC3_types[520]); - IFC4X3_RC3_types[525] = new entity(strings[2729], false, 525, (entity*) IFC4X3_RC3_types[783]); - IFC4X3_RC3_types[533] = new entity(strings[2730], false, 533, (entity*) IFC4X3_RC3_types[411]); - IFC4X3_RC3_types[538] = new entity(strings[2731], false, 538, (entity*) IFC4X3_RC3_types[411]); - IFC4X3_RC3_types[558] = new entity(strings[2732], false, 558, (entity*) IFC4X3_RC3_types[492]); - IFC4X3_RC3_types[571] = new entity(strings[2733], false, 571, (entity*) IFC4X3_RC3_types[476]); - IFC4X3_RC3_types[574] = new entity(strings[2734], false, 574, (entity*) IFC4X3_RC3_types[124]); - IFC4X3_RC3_types[583] = new entity(strings[2735], false, 583, (entity*) IFC4X3_RC3_types[490]); - IFC4X3_RC3_types[597] = new entity(strings[2736], false, 597, (entity*) IFC4X3_RC3_types[490]); - IFC4X3_RC3_types[612] = new entity(strings[2737], false, 612, (entity*) IFC4X3_RC3_types[783]); - IFC4X3_RC3_types[616] = new entity(strings[2738], false, 616, (entity*) IFC4X3_RC3_types[490]); - IFC4X3_RC3_types[665] = new entity(strings[2739], false, 665, (entity*) IFC4X3_RC3_types[490]); - IFC4X3_RC3_types[668] = new entity(strings[2740], false, 668, (entity*) IFC4X3_RC3_types[124]); - IFC4X3_RC3_types[669] = new entity(strings[2741], false, 669, (entity*) IFC4X3_RC3_types[668]); - IFC4X3_RC3_types[675] = new entity(strings[2742], false, 675, (entity*) IFC4X3_RC3_types[490]); - IFC4X3_RC3_types[691] = new entity(strings[2743], false, 691, (entity*) IFC4X3_RC3_types[124]); - IFC4X3_RC3_types[694] = new entity(strings[2744], false, 694, (entity*) IFC4X3_RC3_types[411]); - IFC4X3_RC3_types[698] = new entity(strings[2745], false, 698, (entity*) IFC4X3_RC3_types[124]); - IFC4X3_RC3_types[725] = new entity(strings[2746], false, 725, (entity*) IFC4X3_RC3_types[95]); - IFC4X3_RC3_types[726] = new entity(strings[2747], false, 726, (entity*) IFC4X3_RC3_types[490]); - IFC4X3_RC3_types[733] = new entity(strings[2748], false, 733, (entity*) IFC4X3_RC3_types[124]); - IFC4X3_RC3_types[750] = new entity(strings[2749], false, 750, (entity*) IFC4X3_RC3_types[296]); - IFC4X3_RC3_types[754] = new entity(strings[2750], false, 754, (entity*) IFC4X3_RC3_types[476]); - IFC4X3_RC3_types[757] = new entity(strings[2751], false, 757, (entity*) IFC4X3_RC3_types[486]); - IFC4X3_RC3_types[768] = new entity(strings[2752], false, 768, (entity*) IFC4X3_RC3_types[124]); - IFC4X3_RC3_types[769] = new entity(strings[2753], false, 769, (entity*) IFC4X3_RC3_types[768]); - IFC4X3_RC3_types[843] = new entity(strings[2754], false, 843, (entity*) IFC4X3_RC3_types[473]); - IFC4X3_RC3_types[845] = new entity(strings[2755], false, 845, (entity*) IFC4X3_RC3_types[323]); - IFC4X3_RC3_types[850] = new entity(strings[2756], false, 850, (entity*) IFC4X3_RC3_types[484]); - IFC4X3_RC3_types[861] = new entity(strings[2757], false, 861, (entity*) IFC4X3_RC3_types[124]); - IFC4X3_RC3_types[862] = new entity(strings[2758], false, 862, (entity*) IFC4X3_RC3_types[124]); - IFC4X3_RC3_types[870] = new entity(strings[2759], false, 870, (entity*) IFC4X3_RC3_types[124]); - IFC4X3_RC3_types[871] = new entity(strings[2760], false, 871, (entity*) IFC4X3_RC3_types[124]); - IFC4X3_RC3_types[877] = new entity(strings[2761], false, 877, (entity*) IFC4X3_RC3_types[110]); - IFC4X3_RC3_types[891] = new entity(strings[2762], false, 891, (entity*) IFC4X3_RC3_types[366]); - IFC4X3_RC3_types[895] = new entity(strings[2763], false, 895, (entity*) IFC4X3_RC3_types[900]); - IFC4X3_RC3_types[898] = new entity(strings[2764], false, 898, (entity*) IFC4X3_RC3_types[901]); - IFC4X3_RC3_types[975] = new entity(strings[2765], false, 975, (entity*) IFC4X3_RC3_types[124]); - IFC4X3_RC3_types[984] = new entity(strings[2766], false, 984, (entity*) IFC4X3_RC3_types[490]); - IFC4X3_RC3_types[1003] = new entity(strings[2767], false, 1003, (entity*) IFC4X3_RC3_types[323]); - IFC4X3_RC3_types[1006] = new entity(strings[2768], false, 1006, (entity*) IFC4X3_RC3_types[124]); - IFC4X3_RC3_types[1016] = new entity(strings[2769], false, 1016, (entity*) IFC4X3_RC3_types[490]); - IFC4X3_RC3_types[1031] = new entity(strings[2770], false, 1031, (entity*) IFC4X3_RC3_types[124]); - IFC4X3_RC3_types[1032] = new entity(strings[2771], false, 1032, (entity*) IFC4X3_RC3_types[1031]); - IFC4X3_RC3_types[1033] = new entity(strings[2772], false, 1033, (entity*) IFC4X3_RC3_types[1031]); - IFC4X3_RC3_types[1037] = new entity(strings[2773], false, 1037, (entity*) IFC4X3_RC3_types[411]); - IFC4X3_RC3_types[1050] = new entity(strings[2774], false, 1050, (entity*) IFC4X3_RC3_types[490]); - IFC4X3_RC3_types[1070] = new entity(strings[2775], false, 1070, (entity*) IFC4X3_RC3_types[490]); - IFC4X3_RC3_types[1073] = new entity(strings[2776], false, 1073, (entity*) IFC4X3_RC3_types[124]); - IFC4X3_RC3_types[1074] = new entity(strings[2777], false, 1074, (entity*) IFC4X3_RC3_types[124]); - IFC4X3_RC3_types[1083] = new entity(strings[2778], false, 1083, (entity*) IFC4X3_RC3_types[1154]); - IFC4X3_RC3_types[1096] = new entity(strings[2779], false, 1096, (entity*) IFC4X3_RC3_types[1098]); - IFC4X3_RC3_types[1109] = new entity(strings[2780], false, 1109, (entity*) IFC4X3_RC3_types[1115]); - IFC4X3_RC3_types[1151] = new entity(strings[2781], false, 1151, (entity*) IFC4X3_RC3_types[473]); - IFC4X3_RC3_types[1161] = new entity(strings[2782], false, 1161, (entity*) IFC4X3_RC3_types[488]); - IFC4X3_RC3_types[1221] = new entity(strings[2783], false, 1221, (entity*) IFC4X3_RC3_types[124]); - IFC4X3_RC3_types[1224] = new entity(strings[2784], false, 1224, (entity*) IFC4X3_RC3_types[411]); - IFC4X3_RC3_types[1241] = new entity(strings[2785], false, 1241, (entity*) IFC4X3_RC3_types[411]); - IFC4X3_RC3_types[1250] = new entity(strings[2786], false, 1250, (entity*) IFC4X3_RC3_types[323]); - IFC4X3_RC3_types[1252] = new entity(strings[2787], false, 1252, (entity*) IFC4X3_RC3_types[411]); - IFC4X3_RC3_types[1260] = new entity(strings[2788], false, 1260, (entity*) IFC4X3_RC3_types[473]); - IFC4X3_RC3_types[1283] = new entity(strings[2789], false, 1283, (entity*) IFC4X3_RC3_types[124]); - IFC4X3_RC3_types[1284] = new entity(strings[2790], false, 1284, (entity*) IFC4X3_RC3_types[1283]); - IFC4X3_RC3_types[1285] = new entity(strings[2791], false, 1285, (entity*) IFC4X3_RC3_types[1283]); - IFC4X3_RC3_types[1291] = new entity(strings[2792], false, 1291, (entity*) IFC4X3_RC3_types[490]); - IFC4X3_RC3_types[1295] = new entity(strings[2793], false, 1295, (entity*) IFC4X3_RC3_types[124]); - IFC4X3_RC3_types[1300] = new entity(strings[2794], false, 1300, (entity*) IFC4X3_RC3_types[1295]); - IFC4X3_RC3_types[1049] = new select_type(strings[2795], 1049, {IFC4X3_RC3_types[435],IFC4X3_RC3_types[1048]}); - IFC4X3_RC3_types[10] = new entity(strings[2796], false, 10, (entity*) IFC4X3_RC3_types[323]); - IFC4X3_RC3_types[17] = new entity(strings[2797], false, 17, (entity*) IFC4X3_RC3_types[490]); - IFC4X3_RC3_types[18] = new entity(strings[2798], false, 18, (entity*) IFC4X3_RC3_types[473]); - IFC4X3_RC3_types[23] = new entity(strings[2799], false, 23, (entity*) IFC4X3_RC3_types[411]); - IFC4X3_RC3_types[27] = new entity(strings[2800], false, 27, (entity*) IFC4X3_RC3_types[323]); - IFC4X3_RC3_types[29] = new entity(strings[2801], false, 29, (entity*) IFC4X3_RC3_types[612]); - IFC4X3_RC3_types[64] = new entity(strings[2802], false, 64, (entity*) IFC4X3_RC3_types[490]); - IFC4X3_RC3_types[72] = new entity(strings[2803], false, 72, (entity*) IFC4X3_RC3_types[124]); - IFC4X3_RC3_types[73] = new entity(strings[2804], false, 73, (entity*) IFC4X3_RC3_types[72]); - IFC4X3_RC3_types[76] = new entity(strings[2805], false, 76, (entity*) IFC4X3_RC3_types[124]); - IFC4X3_RC3_types[85] = new entity(strings[2806], false, 85, (entity*) IFC4X3_RC3_types[411]); - IFC4X3_RC3_types[93] = new entity(strings[2807], false, 93, (entity*) IFC4X3_RC3_types[519]); - IFC4X3_RC3_types[118] = new entity(strings[2808], false, 118, (entity*) IFC4X3_RC3_types[124]); - IFC4X3_RC3_types[128] = new entity(strings[2809], false, 128, (entity*) IFC4X3_RC3_types[411]); - IFC4X3_RC3_types[131] = new entity(strings[2810], false, 131, (entity*) IFC4X3_RC3_types[476]); - IFC4X3_RC3_types[134] = new entity(strings[2811], false, 134, (entity*) IFC4X3_RC3_types[486]); - IFC4X3_RC3_types[137] = new entity(strings[2812], false, 137, (entity*) IFC4X3_RC3_types[476]); - IFC4X3_RC3_types[140] = new entity(strings[2813], false, 140, (entity*) IFC4X3_RC3_types[486]); - IFC4X3_RC3_types[143] = new entity(strings[2814], false, 143, (entity*) IFC4X3_RC3_types[296]); - IFC4X3_RC3_types[158] = new entity(strings[2815], false, 158, (entity*) IFC4X3_RC3_types[411]); - IFC4X3_RC3_types[175] = new entity(strings[2816], false, 175, (entity*) IFC4X3_RC3_types[411]); - IFC4X3_RC3_types[187] = new entity(strings[2817], false, 187, (entity*) IFC4X3_RC3_types[490]); - IFC4X3_RC3_types[199] = new entity(strings[2818], false, 199, (entity*) IFC4X3_RC3_types[484]); - IFC4X3_RC3_types[202] = new entity(strings[2819], false, 202, (entity*) IFC4X3_RC3_types[411]); - IFC4X3_RC3_types[232] = new entity(strings[2820], false, 232, (entity*) IFC4X3_RC3_types[323]); - IFC4X3_RC3_types[236] = new entity(strings[2821], false, 236, (entity*) IFC4X3_RC3_types[486]); - IFC4X3_RC3_types[239] = new entity(strings[2822], false, 239, (entity*) IFC4X3_RC3_types[411]); - IFC4X3_RC3_types[242] = new entity(strings[2823], false, 242, (entity*) IFC4X3_RC3_types[411]); - IFC4X3_RC3_types[288] = new entity(strings[2824], false, 288, (entity*) IFC4X3_RC3_types[473]); - IFC4X3_RC3_types[315] = new entity(strings[2825], false, 315, (entity*) IFC4X3_RC3_types[473]); - IFC4X3_RC3_types[318] = new entity(strings[2826], false, 318, (entity*) IFC4X3_RC3_types[326]); - IFC4X3_RC3_types[321] = new entity(strings[2827], false, 321, (entity*) IFC4X3_RC3_types[330]); - IFC4X3_RC3_types[322] = new entity(strings[2828], false, 322, (entity*) IFC4X3_RC3_types[324]); - IFC4X3_RC3_types[353] = new entity(strings[2829], false, 353, (entity*) IFC4X3_RC3_types[476]); - IFC4X3_RC3_types[356] = new entity(strings[2830], false, 356, (entity*) IFC4X3_RC3_types[486]); - IFC4X3_RC3_types[359] = new entity(strings[2831], false, 359, (entity*) IFC4X3_RC3_types[492]); - IFC4X3_RC3_types[372] = new entity(strings[2832], false, 372, (entity*) IFC4X3_RC3_types[490]); - IFC4X3_RC3_types[379] = new entity(strings[2833], false, 379, (entity*) IFC4X3_RC3_types[473]); - IFC4X3_RC3_types[382] = new entity(strings[2834], false, 382, (entity*) IFC4X3_RC3_types[488]); - IFC4X3_RC3_types[385] = new entity(strings[2835], false, 385, (entity*) IFC4X3_RC3_types[492]); - IFC4X3_RC3_types[388] = new entity(strings[2836], false, 388, (entity*) IFC4X3_RC3_types[411]); - IFC4X3_RC3_types[391] = new entity(strings[2837], false, 391, (entity*) IFC4X3_RC3_types[411]); - IFC4X3_RC3_types[395] = new entity(strings[2838], false, 395, (entity*) IFC4X3_RC3_types[473]); - IFC4X3_RC3_types[453] = new entity(strings[2839], false, 453, (entity*) IFC4X3_RC3_types[484]); - IFC4X3_RC3_types[466] = new entity(strings[2840], false, 466, (entity*) IFC4X3_RC3_types[492]); - IFC4X3_RC3_types[469] = new entity(strings[2841], false, 469, (entity*) IFC4X3_RC3_types[490]); - IFC4X3_RC3_types[478] = new entity(strings[2842], false, 478, (entity*) IFC4X3_RC3_types[322]); - IFC4X3_RC3_types[517] = new entity(strings[2843], false, 517, (entity*) IFC4X3_RC3_types[519]); - IFC4X3_RC3_types[518] = new entity(strings[2844], false, 518, (entity*) IFC4X3_RC3_types[519]); - IFC4X3_RC3_types[844] = new entity(strings[2845], false, 844, (entity*) IFC4X3_RC3_types[322]); - IFC4X3_RC3_types[1002] = new entity(strings[2846], false, 1002, (entity*) IFC4X3_RC3_types[322]); - IFC4X3_RC3_types[1249] = new entity(strings[2847], false, 1249, (entity*) IFC4X3_RC3_types[322]); - IFC4X3_RC3_types[9] = new entity(strings[2848], false, 9, (entity*) IFC4X3_RC3_types[322]); - IFC4X3_RC3_types[26] = new entity(strings[2849], false, 26, (entity*) IFC4X3_RC3_types[322]); - IFC4X3_RC3_types[231] = new entity(strings[2850], false, 231, (entity*) IFC4X3_RC3_types[322]); - ((entity*)IFC4X3_RC3_types[2])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[3]), true),new attribute(strings[2852], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[2853], new named_type(IFC4X3_RC3_types[1184]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[6])->set_attributes({new attribute(strings[2854], new named_type(IFC4X3_RC3_types[8]), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[7])->set_attributes({new attribute(strings[2855], new named_type(IFC4X3_RC3_types[974]), false),new attribute(strings[2856], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[2857], new named_type(IFC4X3_RC3_types[1184]), true)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[9])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[11]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[10])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[11]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[12])->set_attributes({new attribute(strings[2858], new named_type(IFC4X3_RC3_types[13]), true),new attribute(strings[2857], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[2859], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false}); + IFC4X3_RC3_types[689] = new type_declaration(strings[1120], 689, new simple_type(simple_type::integer_type)); + IFC4X3_RC3_types[692] = new enumeration_type(strings[1121], 692, {strings[1122],strings[1123],strings[1124],strings[1125],strings[1126],strings[8],strings[9]}); + IFC4X3_RC3_types[695] = new enumeration_type(strings[1127], 695, {strings[1128],strings[1129],strings[1130],strings[8],strings[9]}); + IFC4X3_RC3_types[699] = new enumeration_type(strings[1131], 699, {strings[1132],strings[1133],strings[8],strings[9]}); + IFC4X3_RC3_types[700] = new type_declaration(strings[1134], 700, new named_type(IFC4X3_RC3_types[588])); + IFC4X3_RC3_types[702] = new type_declaration(strings[1135], 702, new simple_type(simple_type::number_type)); + IFC4X3_RC3_types[709] = new enumeration_type(strings[1136], 709, {strings[1137],strings[1138],strings[568],strings[1139],strings[1140],strings[1141],strings[1142],strings[9]}); + IFC4X3_RC3_types[706] = new enumeration_type(strings[1143], 706, {strings[1144],strings[1145],strings[1146],strings[800],strings[1147],strings[1148],strings[1149],strings[1150],strings[1151],strings[1152],strings[1153],strings[8],strings[9]}); + IFC4X3_RC3_types[711] = new enumeration_type(strings[1154], 711, {strings[1155],strings[1156],strings[1157],strings[1158],strings[1159],strings[1160],strings[1161],strings[8],strings[9]}); + IFC4X3_RC3_types[718] = new enumeration_type(strings[1162], 718, {strings[1163],strings[1164],strings[8],strings[9]}); + IFC4X3_RC3_types[727] = new enumeration_type(strings[1165], 727, {strings[1166],strings[1167],strings[1168],strings[1169],strings[1170],strings[8],strings[9]}); + IFC4X3_RC3_types[743] = new type_declaration(strings[1171], 743, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[730] = new type_declaration(strings[1172], 730, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[736] = new enumeration_type(strings[1173], 736, {strings[8],strings[9]}); + IFC4X3_RC3_types[737] = new enumeration_type(strings[1174], 737, {strings[1175],strings[1176],strings[1177],strings[8],strings[9]}); + IFC4X3_RC3_types[740] = new enumeration_type(strings[1178], 740, {strings[1179],strings[1180],strings[1181],strings[8],strings[9]}); + IFC4X3_RC3_types[745] = new enumeration_type(strings[1182], 745, {strings[1183],strings[1184],strings[9]}); + IFC4X3_RC3_types[749] = new enumeration_type(strings[1185], 749, {strings[1186],strings[1187],strings[1188],strings[1189],strings[8],strings[9]}); + IFC4X3_RC3_types[751] = new enumeration_type(strings[1190], 751, {strings[1191],strings[1192],strings[1193],strings[1194],strings[1195],strings[1196],strings[8],strings[9]}); + IFC4X3_RC3_types[754] = new enumeration_type(strings[1197], 754, {strings[251],strings[264],strings[265],strings[266],strings[267],strings[668],strings[268],strings[8],strings[9]}); + IFC4X3_RC3_types[757] = new enumeration_type(strings[1198], 757, {strings[220],strings[671],strings[670],strings[1199],strings[1200],strings[8],strings[9]}); + IFC4X3_RC3_types[762] = new type_declaration(strings[1201], 762, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[764] = new type_declaration(strings[1202], 764, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[769] = new enumeration_type(strings[1203], 769, {strings[1204],strings[1205],strings[1206],strings[1207],strings[1208],strings[1209],strings[1210],strings[1211],strings[1212],strings[8],strings[9]}); + IFC4X3_RC3_types[782] = new type_declaration(strings[1213], 782, new named_type(IFC4X3_RC3_types[555])); + IFC4X3_RC3_types[783] = new type_declaration(strings[1214], 783, new named_type(IFC4X3_RC3_types[588])); + IFC4X3_RC3_types[784] = new type_declaration(strings[1215], 784, new named_type(IFC4X3_RC3_types[764])); + IFC4X3_RC3_types[787] = new type_declaration(strings[1216], 787, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[794] = new enumeration_type(strings[1217], 794, {strings[1218],strings[1219],strings[1220]}); + IFC4X3_RC3_types[795] = new type_declaration(strings[1221], 795, new simple_type(simple_type::string_type)); + IFC4X3_RC3_types[800] = new type_declaration(strings[1222], 800, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[803] = new enumeration_type(strings[1223], 803, {strings[1224],strings[1225],strings[1226],strings[1227],strings[1228],strings[1229],strings[1230],strings[8],strings[9]}); + IFC4X3_RC3_types[813] = new enumeration_type(strings[1231], 813, {strings[1232],strings[1233]}); + IFC4X3_RC3_types[821] = new enumeration_type(strings[1234], 821, {strings[1235],strings[1236],strings[1237],strings[1238],strings[1239],strings[8],strings[9]}); + IFC4X3_RC3_types[816] = new enumeration_type(strings[1240], 816, {strings[1241],strings[1242]}); + IFC4X3_RC3_types[818] = new enumeration_type(strings[1243], 818, {strings[1244],strings[1245],strings[8],strings[9]}); + IFC4X3_RC3_types[836] = new enumeration_type(strings[1246], 836, {strings[1247],strings[1248],strings[1249],strings[1250],strings[1251],strings[1252],strings[1253],strings[9]}); + IFC4X3_RC3_types[844] = new enumeration_type(strings[1254], 844, {strings[1255],strings[1256],strings[1257],strings[1258],strings[8],strings[9]}); + IFC4X3_RC3_types[846] = new enumeration_type(strings[1259], 846, {strings[1260],strings[1261],strings[1262],strings[1263],strings[1264],strings[1265],strings[1266],strings[1267],strings[1268],strings[1269],strings[8],strings[9]}); + IFC4X3_RC3_types[850] = new enumeration_type(strings[1270], 850, {strings[1271],strings[1272],strings[1273],strings[1274],strings[1275],strings[1276],strings[1277],strings[8],strings[9]}); + IFC4X3_RC3_types[858] = new type_declaration(strings[1278], 858, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[864] = new enumeration_type(strings[1279], 864, {strings[1280],strings[1281],strings[1282],strings[1283],strings[1284],strings[1285],strings[8],strings[9]}); + IFC4X3_RC3_types[862] = new enumeration_type(strings[1286], 862, {strings[1287],strings[1282],strings[1288],strings[1289],strings[8],strings[9]}); + IFC4X3_RC3_types[866] = new enumeration_type(strings[1290], 866, {strings[1291],strings[1292],strings[1293],strings[1294],strings[1295],strings[1296],strings[214],strings[1297],strings[8],strings[9]}); + IFC4X3_RC3_types[867] = new enumeration_type(strings[1298], 867, {strings[8],strings[9]}); + IFC4X3_RC3_types[871] = new enumeration_type(strings[1299], 871, {strings[1300],strings[1301],strings[8],strings[9]}); + IFC4X3_RC3_types[873] = new enumeration_type(strings[1302], 873, {strings[1303],strings[1304],strings[1305],strings[1306],strings[1307],strings[1308],strings[8],strings[9]}); + IFC4X3_RC3_types[874] = new type_declaration(strings[1309], 874, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[877] = new type_declaration(strings[1310], 877, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[883] = new enumeration_type(strings[1311], 883, {strings[1312],strings[1313],strings[1314],strings[1315],strings[1316],strings[1317],strings[1318],strings[1319]}); + IFC4X3_RC3_types[886] = new enumeration_type(strings[1320], 886, {strings[1321],strings[1322],strings[1323],strings[1324],strings[8],strings[9]}); + IFC4X3_RC3_types[887] = new enumeration_type(strings[1325], 887, {strings[1326],strings[1327],strings[1328],strings[1329],strings[381],strings[1330],strings[1331],strings[382],strings[1332],strings[9]}); + IFC4X3_RC3_types[890] = new enumeration_type(strings[1333], 890, {strings[1334],strings[1335],strings[1336],strings[1337],strings[1338],strings[1339],strings[8],strings[9]}); + IFC4X3_RC3_types[894] = new enumeration_type(strings[1340], 894, {strings[1341],strings[1342],strings[1343],strings[1093],strings[1344],strings[1345],strings[1346],strings[1347],strings[8],strings[9]}); + IFC4X3_RC3_types[895] = new enumeration_type(strings[1348], 895, {strings[1349],strings[1350]}); + IFC4X3_RC3_types[897] = new enumeration_type(strings[1351], 897, {strings[1347],strings[1345],strings[1343],strings[1341],strings[1344],strings[1346],strings[1342],strings[1093],strings[1352],strings[8],strings[9]}); + IFC4X3_RC3_types[902] = new enumeration_type(strings[1353], 902, {strings[8],strings[9]}); + IFC4X3_RC3_types[970] = new enumeration_type(strings[1354], 970, {strings[1355],strings[1356],strings[1357],strings[203],strings[1358],strings[1359],strings[1360],strings[1361],strings[1362],strings[1363],strings[1364],strings[1365],strings[1366],strings[1367],strings[1368],strings[1369],strings[1370],strings[1371],strings[1372],strings[1373],strings[1374],strings[1375],strings[1376],strings[1377],strings[8],strings[9]}); + IFC4X3_RC3_types[971] = new enumeration_type(strings[1378], 971, {strings[8],strings[9]}); + IFC4X3_RC3_types[972] = new enumeration_type(strings[1379], 972, {strings[1380],strings[1381],strings[1382],strings[1383],strings[1384],strings[1385],strings[1386],strings[1387],strings[1388],strings[1389],strings[1390],strings[1391],strings[1392],strings[1393],strings[1394],strings[1395],strings[1396],strings[1160],strings[1397],strings[1398],strings[1399],strings[1400],strings[8]}); + IFC4X3_RC3_types[975] = new enumeration_type(strings[1401], 975, {strings[1402],strings[1403],strings[1404],strings[1405],strings[1406],strings[1407],strings[1408],strings[1409],strings[1410],strings[1411],strings[1412],strings[1413],strings[1414],strings[8],strings[9]}); + IFC4X3_RC3_types[977] = new type_declaration(strings[1415], 977, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[978] = new type_declaration(strings[1416], 978, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[979] = new type_declaration(strings[1417], 979, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[980] = new select_type(strings[1418], 980, {IFC4X3_RC3_types[88],IFC4X3_RC3_types[979]}); + IFC4X3_RC3_types[1024] = new enumeration_type(strings[1419], 1024, {strings[1420],strings[1421],strings[1422],strings[1423],strings[1424],strings[1425],strings[1426],strings[1427],strings[1428],strings[1429],strings[1430],strings[1431],strings[1432],strings[1433],strings[1434],strings[1435]}); + IFC4X3_RC3_types[1027] = new enumeration_type(strings[1436], 1027, {strings[1437],strings[1438],strings[1439],strings[1440],strings[1441],strings[1442],strings[1443],strings[1444],strings[1445],strings[1446],strings[1447],strings[1448],strings[1449],strings[1450],strings[1451],strings[1452],strings[1453],strings[1454],strings[1455],strings[1456],strings[1457],strings[1458],strings[1459],strings[1460],strings[1461],strings[1462],strings[1463],strings[1464],strings[1465],strings[1466]}); + IFC4X3_RC3_types[984] = new enumeration_type(strings[1467], 984, {strings[1468],strings[1469],strings[1470],strings[1471],strings[843],strings[1472],strings[1473],strings[1474],strings[1475],strings[1476],strings[8],strings[9]}); + IFC4X3_RC3_types[993] = new type_declaration(strings[1477], 993, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[996] = new enumeration_type(strings[1478], 996, {strings[1479],strings[1480]}); + IFC4X3_RC3_types[988] = new type_declaration(strings[1481], 988, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[1002] = new enumeration_type(strings[1482], 1002, {strings[1483],strings[1484],strings[1485],strings[1486],strings[1487],strings[1488],strings[1489],strings[1490],strings[1491],strings[1492],strings[1493],strings[1494],strings[1495],strings[1496],strings[1497],strings[1498],strings[1499],strings[1500],strings[1501],strings[1502],strings[1503],strings[1504],strings[1505],strings[1506],strings[1507],strings[1508],strings[1509],strings[1510],strings[1511],strings[1512],strings[1513],strings[1514],strings[8],strings[9]}); + IFC4X3_RC3_types[1003] = new enumeration_type(strings[1515], 1003, {strings[1516],strings[1517],strings[1518],strings[1519],strings[8],strings[9]}); + IFC4X3_RC3_types[1006] = new enumeration_type(strings[1520], 1006, {strings[1521],strings[1522],strings[1523],strings[8],strings[9]}); + IFC4X3_RC3_types[1010] = new type_declaration(strings[1524], 1010, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[1018] = new enumeration_type(strings[1525], 1018, {strings[1526],strings[1527],strings[1330],strings[8],strings[9]}); + IFC4X3_RC3_types[1016] = new enumeration_type(strings[1528], 1016, {strings[1529],strings[1530],strings[1531],strings[8],strings[9]}); + IFC4X3_RC3_types[1021] = new enumeration_type(strings[1532], 1021, {strings[1533],strings[1534],strings[1535],strings[1536],strings[1537],strings[1538],strings[1539],strings[1540],strings[1541],strings[1542],strings[1543],strings[1544]}); + IFC4X3_RC3_types[1033] = new enumeration_type(strings[1545], 1033, {strings[1546],strings[1547],strings[1548],strings[1549],strings[1550],strings[371],strings[1551],strings[1364],strings[1552],strings[8],strings[9]}); + IFC4X3_RC3_types[1037] = new enumeration_type(strings[1553], 1037, {strings[1554],strings[1555],strings[8],strings[9]}); + IFC4X3_RC3_types[1038] = new type_declaration(strings[1556], 1038, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[1042] = new type_declaration(strings[1557], 1042, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[1043] = new type_declaration(strings[1558], 1043, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[1044] = new type_declaration(strings[1559], 1044, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[1045] = new type_declaration(strings[1560], 1045, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[1050] = new enumeration_type(strings[1561], 1050, {strings[1562],strings[1563],strings[8],strings[9]}); + IFC4X3_RC3_types[1052] = new enumeration_type(strings[1564], 1052, {strings[1565],strings[1566],strings[1567],strings[935],strings[800],strings[8],strings[9]}); + IFC4X3_RC3_types[1060] = new enumeration_type(strings[1568], 1060, {strings[1569],strings[1570],strings[370],strings[1571],strings[589],strings[1258],strings[23],strings[596],strings[1572],strings[8],strings[9]}); + IFC4X3_RC3_types[1061] = new type_declaration(strings[1573], 1061, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[1062] = new type_declaration(strings[1574], 1062, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[1064] = new type_declaration(strings[1575], 1064, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[1070] = new enumeration_type(strings[1576], 1070, {strings[1577],strings[1578],strings[1579],strings[8],strings[9]}); + IFC4X3_RC3_types[1074] = new enumeration_type(strings[1580], 1074, {strings[1300],strings[1581],strings[1301],strings[1582],strings[1414],strings[8],strings[9]}); + IFC4X3_RC3_types[1076] = new enumeration_type(strings[1583], 1076, {strings[1584],strings[1585],strings[1586],strings[1587],strings[1588],strings[1589],strings[1590],strings[1591],strings[1592],strings[1593],strings[1594],strings[1595],strings[1596],strings[1597],strings[1598],strings[8],strings[9]}); + IFC4X3_RC3_types[1077] = new enumeration_type(strings[1599], 1077, {strings[1600],strings[1601],strings[1602],strings[1603],strings[1604]}); + IFC4X3_RC3_types[1085] = new enumeration_type(strings[1605], 1085, {strings[1606],strings[438],strings[1607],strings[1608],strings[1609],strings[1610],strings[1611],strings[8],strings[9]}); + IFC4X3_RC3_types[1088] = new enumeration_type(strings[1612], 1088, {strings[1613],strings[1614],strings[555],strings[1615],strings[1616],strings[8],strings[9]}); + IFC4X3_RC3_types[1114] = new enumeration_type(strings[1617], 1114, {strings[1606],strings[1618],strings[1611],strings[1619],strings[8],strings[9]}); + IFC4X3_RC3_types[1117] = new enumeration_type(strings[1620], 1117, {strings[1621],strings[1622],strings[1623],strings[8],strings[9]}); + IFC4X3_RC3_types[1125] = new enumeration_type(strings[1624], 1125, {strings[1625],strings[1181],strings[8],strings[9]}); + IFC4X3_RC3_types[1131] = new enumeration_type(strings[1626], 1131, {strings[1627],strings[1628],strings[1629],strings[1630],strings[1631],strings[1632],strings[1633],strings[1634],strings[1635],strings[1636],strings[1637],strings[8],strings[9]}); + IFC4X3_RC3_types[1136] = new enumeration_type(strings[1638], 1136, {strings[517],strings[518],strings[1639]}); + IFC4X3_RC3_types[1151] = new enumeration_type(strings[1640], 1151, {strings[1641],strings[1642],strings[1643],strings[1644],strings[1645],strings[1646],strings[1647],strings[1648],strings[1649],strings[743],strings[1650],strings[8],strings[9]}); + IFC4X3_RC3_types[1155] = new enumeration_type(strings[1651], 1155, {strings[1652],strings[1653],strings[1654],strings[8],strings[9]}); + IFC4X3_RC3_types[1161] = new enumeration_type(strings[1655], 1161, {strings[1656],strings[1657],strings[1658],strings[1659],strings[1660],strings[1043],strings[1661],strings[1662],strings[8],strings[9]}); + IFC4X3_RC3_types[1163] = new enumeration_type(strings[1663], 1163, {strings[1664],strings[1665],strings[9]}); + IFC4X3_RC3_types[1167] = new enumeration_type(strings[1666], 1167, {strings[1667],strings[1569],strings[1668],strings[1669],strings[571],strings[1670],strings[1671],strings[1672],strings[1673],strings[1674],strings[1675],strings[1676],strings[8],strings[9]}); + IFC4X3_RC3_types[1169] = new type_declaration(strings[1677], 1169, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[1170] = new type_declaration(strings[1678], 1170, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[1174] = new enumeration_type(strings[1679], 1174, {strings[1072],strings[1680],strings[1681],strings[8],strings[9]}); + IFC4X3_RC3_types[1177] = new enumeration_type(strings[1682], 1177, {strings[557],strings[1072],strings[1683],strings[1684],strings[1685],strings[8],strings[9]}); + IFC4X3_RC3_types[1179] = new enumeration_type(strings[1686], 1179, {strings[1687],strings[1688],strings[1689],strings[1690],strings[8],strings[9]}); + IFC4X3_RC3_types[1182] = new type_declaration(strings[1691], 1182, new simple_type(simple_type::string_type)); + IFC4X3_RC3_types[1183] = new type_declaration(strings[1692], 1183, new simple_type(simple_type::string_type)); + IFC4X3_RC3_types[1184] = new type_declaration(strings[1693], 1184, new simple_type(simple_type::string_type)); + IFC4X3_RC3_types[1185] = new type_declaration(strings[1694], 1185, new simple_type(simple_type::string_type)); + IFC4X3_RC3_types[1189] = new enumeration_type(strings[1695], 1189, {strings[621],strings[623],strings[1696],strings[1697]}); + IFC4X3_RC3_types[1194] = new type_declaration(strings[1698], 1194, new simple_type(simple_type::string_type)); + IFC4X3_RC3_types[1200] = new type_declaration(strings[1699], 1200, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[1201] = new type_declaration(strings[1700], 1201, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[1202] = new type_declaration(strings[1701], 1202, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[1203] = new type_declaration(strings[1702], 1203, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[1204] = new type_declaration(strings[1703], 1204, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[1205] = new type_declaration(strings[1704], 1205, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[1207] = new type_declaration(strings[1705], 1207, new simple_type(simple_type::string_type)); + IFC4X3_RC3_types[1208] = new type_declaration(strings[1706], 1208, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[1209] = new select_type(strings[1707], 1209, {IFC4X3_RC3_types[361],IFC4X3_RC3_types[874]}); + IFC4X3_RC3_types[1212] = new enumeration_type(strings[1708], 1212, {strings[1709],strings[1611],strings[1710],strings[1711],strings[1712],strings[1713],strings[9]}); + IFC4X3_RC3_types[1214] = new type_declaration(strings[1714], 1214, new simple_type(simple_type::integer_type)); + IFC4X3_RC3_types[1218] = new type_declaration(strings[1715], 1218, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[1221] = new enumeration_type(strings[1716], 1221, {strings[1717],strings[1718],strings[1719],strings[1720],strings[1721],strings[1722],strings[1723],strings[1724],strings[8],strings[9]}); + IFC4X3_RC3_types[1224] = new enumeration_type(strings[1725], 1224, {strings[32],strings[1726],strings[1727],strings[1728],strings[1729],strings[1730],strings[854],strings[8],strings[9]}); + IFC4X3_RC3_types[1225] = new enumeration_type(strings[1731], 1225, {strings[1732],strings[1709],strings[1733],strings[1734]}); + IFC4X3_RC3_types[1226] = new select_type(strings[1735], 1226, {IFC4X3_RC3_types[88],IFC4X3_RC3_types[612]}); + IFC4X3_RC3_types[1228] = new enumeration_type(strings[1736], 1228, {strings[1737],strings[1738],strings[1739],strings[1740],strings[1741],strings[1742],strings[8],strings[9]}); + IFC4X3_RC3_types[1229] = new enumeration_type(strings[1743], 1229, {strings[1744],strings[1745],strings[1746],strings[1747],strings[1748],strings[1749],strings[1750],strings[8],strings[9]}); + IFC4X3_RC3_types[1231] = new select_type(strings[1751], 1231, {IFC4X3_RC3_types[1228],IFC4X3_RC3_types[1229]}); + IFC4X3_RC3_types[1236] = new enumeration_type(strings[1752], 1236, {strings[1753],strings[1150],strings[146]}); + IFC4X3_RC3_types[1241] = new enumeration_type(strings[1754], 1241, {strings[1755],strings[8],strings[9]}); + IFC4X3_RC3_types[1255] = new type_declaration(strings[1756], 1255, new simple_type(simple_type::string_type)); + IFC4X3_RC3_types[1254] = new enumeration_type(strings[1757], 1254, {strings[1758],strings[1759],strings[1760],strings[1761],strings[1762],strings[1763],strings[1764],strings[1765],strings[1766],strings[1767],strings[1768],strings[1769],strings[1770],strings[1771],strings[1772],strings[1773],strings[1774],strings[1775],strings[1776],strings[1777],strings[1778],strings[1779],strings[1780],strings[1781],strings[1782],strings[1783],strings[1784],strings[1785],strings[1786],strings[8]}); + IFC4X3_RC3_types[1249] = new enumeration_type(strings[1787], 1249, {strings[1788],strings[1789],strings[1790],strings[1791],strings[1792],strings[1793],strings[1794],strings[1795],strings[854],strings[8],strings[9]}); + IFC4X3_RC3_types[1252] = new enumeration_type(strings[1796], 1252, {strings[1797],strings[1798],strings[1799],strings[1800],strings[1801],strings[8],strings[9]}); + IFC4X3_RC3_types[1260] = new enumeration_type(strings[1802], 1260, {strings[1803],strings[1804],strings[1805],strings[1806],strings[1807],strings[1808],strings[1809],strings[1810],strings[1811],strings[1812],strings[1813],strings[1814],strings[1815],strings[1816],strings[1817],strings[1818],strings[1819],strings[1820],strings[1821],strings[1822],strings[1823],strings[8],strings[9]}); + IFC4X3_RC3_types[1261] = new type_declaration(strings[1824], 1261, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[1269] = new enumeration_type(strings[1825], 1269, {strings[1826],strings[1827],strings[1828],strings[1195],strings[1829],strings[1830],strings[8],strings[9]}); + IFC4X3_RC3_types[1272] = new enumeration_type(strings[1831], 1272, {strings[1832],strings[1833],strings[1834],strings[8],strings[9]}); + IFC4X3_RC3_types[1277] = new enumeration_type(strings[1835], 1277, {strings[1836],strings[1837],strings[1838],strings[1839],strings[1840],strings[1345],strings[8],strings[9]}); + IFC4X3_RC3_types[1279] = new type_declaration(strings[1841], 1279, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[1280] = new type_declaration(strings[1842], 1280, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[1285] = new enumeration_type(strings[1843], 1285, {strings[1844],strings[1845],strings[1846],strings[1847],strings[1342],strings[1848],strings[1849],strings[1607],strings[1850],strings[1851],strings[1852],strings[8],strings[9]}); + IFC4X3_RC3_types[1286] = new type_declaration(strings[1853], 1286, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[1287] = new type_declaration(strings[1854], 1287, new simple_type(simple_type::real_type)); + IFC4X3_RC3_types[1288] = new select_type(strings[1855], 1288, {IFC4X3_RC3_types[88],IFC4X3_RC3_types[1287]}); + IFC4X3_RC3_types[1291] = new enumeration_type(strings[1856], 1291, {strings[1857],strings[1858],strings[1859],strings[1860],strings[1861],strings[1862],strings[1863],strings[8],strings[9]}); + IFC4X3_RC3_types[1295] = new enumeration_type(strings[1864], 1295, {strings[1865],strings[1866],strings[1867],strings[1868],strings[1869],strings[1870],strings[1871],strings[1872],strings[1873],strings[1874],strings[1875],strings[1876],strings[1877],strings[9]}); + IFC4X3_RC3_types[1296] = new enumeration_type(strings[1878], 1296, {strings[621],strings[622],strings[623],strings[1879],strings[1880],strings[9]}); + IFC4X3_RC3_types[1300] = new enumeration_type(strings[1881], 1300, {strings[625],strings[626],strings[627],strings[383],strings[628],strings[382],strings[1882],strings[9]}); + IFC4X3_RC3_types[1301] = new enumeration_type(strings[1883], 1301, {strings[1884],strings[1885],strings[1886],strings[1887],strings[1888],strings[1889],strings[1890],strings[1891],strings[1892],strings[8],strings[9]}); + IFC4X3_RC3_types[1303] = new enumeration_type(strings[1893], 1303, {strings[1894],strings[1895],strings[1896],strings[8],strings[9]}); + IFC4X3_RC3_types[1304] = new enumeration_type(strings[1897], 1304, {strings[1884],strings[1885],strings[1886],strings[1887],strings[1888],strings[1889],strings[1890],strings[1891],strings[1892],strings[8],strings[9]}); + IFC4X3_RC3_types[1306] = new enumeration_type(strings[1898], 1306, {strings[1899],strings[1900],strings[1901],strings[8],strings[9]}); + IFC4X3_RC3_types[1309] = new enumeration_type(strings[1902], 1309, {strings[1903],strings[1904],strings[1905],strings[8],strings[9]}); + IFC4X3_RC3_types[1311] = new enumeration_type(strings[1906], 1311, {strings[1903],strings[1904],strings[1905],strings[8],strings[9]}); + IFC4X3_RC3_types[7] = new entity(strings[1907], false, 7, (entity*) 0); + IFC4X3_RC3_types[12] = new entity(strings[1908], true, 12, (entity*) 0); + IFC4X3_RC3_types[36] = new entity(strings[1909], true, 36, (entity*) 0); + IFC4X3_RC3_types[40] = new entity(strings[1910], false, 40, (entity*) IFC4X3_RC3_types[36]); + IFC4X3_RC3_types[49] = new entity(strings[1911], false, 49, (entity*) 0); + IFC4X3_RC3_types[50] = new entity(strings[1912], false, 50, (entity*) 0); + IFC4X3_RC3_types[52] = new entity(strings[1913], false, 52, (entity*) 0); + IFC4X3_RC3_types[94] = new entity(strings[1914], true, 94, (entity*) 0); + IFC4X3_RC3_types[96] = new entity(strings[1915], false, 96, (entity*) IFC4X3_RC3_types[94]); + IFC4X3_RC3_types[97] = new entity(strings[1916], false, 97, (entity*) IFC4X3_RC3_types[94]); + IFC4X3_RC3_types[98] = new entity(strings[1917], false, 98, (entity*) IFC4X3_RC3_types[94]); + IFC4X3_RC3_types[99] = new entity(strings[1918], false, 99, (entity*) IFC4X3_RC3_types[98]); + IFC4X3_RC3_types[208] = new entity(strings[1919], true, 208, (entity*) 0); + IFC4X3_RC3_types[210] = new entity(strings[1920], false, 210, (entity*) IFC4X3_RC3_types[208]); + IFC4X3_RC3_types[211] = new entity(strings[1921], false, 211, (entity*) IFC4X3_RC3_types[208]); + IFC4X3_RC3_types[213] = new entity(strings[1922], false, 213, (entity*) IFC4X3_RC3_types[208]); + IFC4X3_RC3_types[214] = new entity(strings[1923], true, 214, (entity*) 0); + IFC4X3_RC3_types[245] = new entity(strings[1924], true, 245, (entity*) 0); + IFC4X3_RC3_types[246] = new entity(strings[1925], true, 246, (entity*) 0); + IFC4X3_RC3_types[253] = new entity(strings[1926], false, 253, (entity*) IFC4X3_RC3_types[50]); + IFC4X3_RC3_types[301] = new entity(strings[1927], false, 301, (entity*) 0); + IFC4X3_RC3_types[302] = new entity(strings[1928], false, 302, (entity*) 0); + IFC4X3_RC3_types[305] = new entity(strings[1929], false, 305, (entity*) 0); + IFC4X3_RC3_types[428] = new entity(strings[1930], true, 428, (entity*) 0); + IFC4X3_RC3_types[432] = new entity(strings[1931], true, 432, (entity*) 0); + IFC4X3_RC3_types[429] = new entity(strings[1932], false, 429, (entity*) IFC4X3_RC3_types[432]); + IFC4X3_RC3_types[430] = new entity(strings[1933], false, 430, (entity*) IFC4X3_RC3_types[432]); + IFC4X3_RC3_types[431] = new entity(strings[1934], false, 431, (entity*) IFC4X3_RC3_types[432]); + IFC4X3_RC3_types[525] = new entity(strings[1935], false, 525, (entity*) 0); + IFC4X3_RC3_types[567] = new entity(strings[1936], false, 567, (entity*) 0); + IFC4X3_RC3_types[589] = new entity(strings[1937], false, 589, (entity*) IFC4X3_RC3_types[428]); + IFC4X3_RC3_types[590] = new entity(strings[1938], false, 590, (entity*) IFC4X3_RC3_types[432]); + IFC4X3_RC3_types[593] = new entity(strings[1939], false, 593, (entity*) 0); + IFC4X3_RC3_types[599] = new entity(strings[1940], false, 599, (entity*) 0); + IFC4X3_RC3_types[630] = new entity(strings[1941], false, 630, (entity*) IFC4X3_RC3_types[245]); + IFC4X3_RC3_types[640] = new entity(strings[1942], false, 640, (entity*) 0); + IFC4X3_RC3_types[643] = new entity(strings[1943], true, 643, (entity*) 0); + IFC4X3_RC3_types[645] = new entity(strings[1944], false, 645, (entity*) IFC4X3_RC3_types[643]); + IFC4X3_RC3_types[646] = new entity(strings[1945], false, 646, (entity*) IFC4X3_RC3_types[643]); + IFC4X3_RC3_types[648] = new entity(strings[1946], false, 648, (entity*) IFC4X3_RC3_types[645]); + IFC4X3_RC3_types[649] = new entity(strings[1947], false, 649, (entity*) 0); + IFC4X3_RC3_types[650] = new entity(strings[1948], false, 650, (entity*) IFC4X3_RC3_types[643]); + IFC4X3_RC3_types[651] = new entity(strings[1949], false, 651, (entity*) IFC4X3_RC3_types[643]); + IFC4X3_RC3_types[654] = new entity(strings[1950], false, 654, (entity*) IFC4X3_RC3_types[650]); + IFC4X3_RC3_types[658] = new entity(strings[1951], true, 658, (entity*) 0); + IFC4X3_RC3_types[660] = new entity(strings[1952], false, 660, (entity*) 0); + IFC4X3_RC3_types[671] = new entity(strings[1953], false, 671, (entity*) IFC4X3_RC3_types[214]); + IFC4X3_RC3_types[688] = new entity(strings[1954], false, 688, (entity*) 0); + IFC4X3_RC3_types[696] = new entity(strings[1955], true, 696, (entity*) 0); + IFC4X3_RC3_types[707] = new entity(strings[1956], true, 707, (entity*) 0); + IFC4X3_RC3_types[705] = new entity(strings[1957], false, 705, (entity*) IFC4X3_RC3_types[214]); + IFC4X3_RC3_types[721] = new entity(strings[1958], false, 721, (entity*) 0); + IFC4X3_RC3_types[728] = new entity(strings[1959], false, 728, (entity*) 0); + IFC4X3_RC3_types[741] = new entity(strings[1960], false, 741, (entity*) 0); + IFC4X3_RC3_types[742] = new entity(strings[1961], false, 742, (entity*) 0); + IFC4X3_RC3_types[746] = new entity(strings[1962], true, 746, (entity*) 0); + IFC4X3_RC3_types[747] = new entity(strings[1963], true, 747, (entity*) IFC4X3_RC3_types[746]); + IFC4X3_RC3_types[786] = new entity(strings[1964], false, 786, (entity*) IFC4X3_RC3_types[12]); + IFC4X3_RC3_types[796] = new entity(strings[1965], true, 796, (entity*) 0); + IFC4X3_RC3_types[797] = new entity(strings[1966], false, 797, (entity*) 0); + IFC4X3_RC3_types[798] = new entity(strings[1967], false, 798, (entity*) IFC4X3_RC3_types[797]); + IFC4X3_RC3_types[799] = new entity(strings[1968], true, 799, (entity*) 0); + IFC4X3_RC3_types[808] = new entity(strings[1969], true, 808, (entity*) 0); + IFC4X3_RC3_types[811] = new entity(strings[1970], false, 811, (entity*) 0); + IFC4X3_RC3_types[815] = new entity(strings[1971], false, 815, (entity*) IFC4X3_RC3_types[246]); + IFC4X3_RC3_types[823] = new entity(strings[1972], true, 823, (entity*) 0); + IFC4X3_RC3_types[828] = new entity(strings[1973], false, 828, (entity*) IFC4X3_RC3_types[823]); + IFC4X3_RC3_types[851] = new entity(strings[1974], false, 851, (entity*) IFC4X3_RC3_types[747]); + IFC4X3_RC3_types[852] = new entity(strings[1975], false, 852, (entity*) IFC4X3_RC3_types[747]); + IFC4X3_RC3_types[853] = new entity(strings[1976], false, 853, (entity*) IFC4X3_RC3_types[747]); + IFC4X3_RC3_types[855] = new entity(strings[1977], false, 855, (entity*) IFC4X3_RC3_types[747]); + IFC4X3_RC3_types[856] = new entity(strings[1978], false, 856, (entity*) IFC4X3_RC3_types[747]); + IFC4X3_RC3_types[857] = new entity(strings[1979], false, 857, (entity*) IFC4X3_RC3_types[747]); + IFC4X3_RC3_types[882] = new entity(strings[1980], false, 882, (entity*) 0); + IFC4X3_RC3_types[884] = new entity(strings[1981], false, 884, (entity*) 0); + IFC4X3_RC3_types[954] = new entity(strings[1982], true, 954, (entity*) 0); + IFC4X3_RC3_types[955] = new entity(strings[1983], true, 955, (entity*) 0); + IFC4X3_RC3_types[956] = new entity(strings[1984], true, 956, (entity*) 0); + IFC4X3_RC3_types[957] = new entity(strings[1985], false, 957, (entity*) 0); + IFC4X3_RC3_types[961] = new entity(strings[1986], true, 961, (entity*) 0); + IFC4X3_RC3_types[976] = new entity(strings[1987], true, 976, (entity*) 0); + IFC4X3_RC3_types[1026] = new entity(strings[1988], false, 1026, (entity*) IFC4X3_RC3_types[696]); + IFC4X3_RC3_types[985] = new entity(strings[1989], true, 985, (entity*) 0); + IFC4X3_RC3_types[1007] = new entity(strings[1990], false, 1007, (entity*) 0); + IFC4X3_RC3_types[1008] = new entity(strings[1991], true, 1008, (entity*) IFC4X3_RC3_types[954]); + IFC4X3_RC3_types[1009] = new entity(strings[1992], false, 1009, (entity*) IFC4X3_RC3_types[1008]); + IFC4X3_RC3_types[1083] = new entity(strings[1993], true, 1083, (entity*) 0); + IFC4X3_RC3_types[1093] = new entity(strings[1994], true, 1093, (entity*) 0); + IFC4X3_RC3_types[1095] = new entity(strings[1995], false, 1095, (entity*) IFC4X3_RC3_types[1093]); + IFC4X3_RC3_types[1098] = new entity(strings[1996], true, 1098, (entity*) IFC4X3_RC3_types[1093]); + IFC4X3_RC3_types[1104] = new entity(strings[1997], true, 1104, (entity*) IFC4X3_RC3_types[1098]); + IFC4X3_RC3_types[1105] = new entity(strings[1998], false, 1105, (entity*) IFC4X3_RC3_types[1104]); + IFC4X3_RC3_types[1122] = new entity(strings[1999], true, 1122, (entity*) IFC4X3_RC3_types[954]); + IFC4X3_RC3_types[1120] = new entity(strings[2000], false, 1120, (entity*) IFC4X3_RC3_types[956]); + IFC4X3_RC3_types[1121] = new entity(strings[2001], false, 1121, (entity*) IFC4X3_RC3_types[1122]); + IFC4X3_RC3_types[1135] = new entity(strings[2002], false, 1135, (entity*) IFC4X3_RC3_types[1098]); + IFC4X3_RC3_types[1137] = new entity(strings[2003], false, 1137, (entity*) IFC4X3_RC3_types[799]); + IFC4X3_RC3_types[1139] = new entity(strings[2004], false, 1139, (entity*) IFC4X3_RC3_types[796]); + IFC4X3_RC3_types[1140] = new entity(strings[2005], false, 1140, (entity*) IFC4X3_RC3_types[796]); + IFC4X3_RC3_types[1142] = new entity(strings[2006], false, 1142, (entity*) IFC4X3_RC3_types[796]); + IFC4X3_RC3_types[1143] = new entity(strings[2007], false, 1143, (entity*) IFC4X3_RC3_types[796]); + IFC4X3_RC3_types[1144] = new entity(strings[2008], true, 1144, (entity*) IFC4X3_RC3_types[796]); + IFC4X3_RC3_types[1156] = new entity(strings[2009], false, 1156, (entity*) 0); + IFC4X3_RC3_types[1157] = new entity(strings[2010], false, 1157, (entity*) 0); + IFC4X3_RC3_types[1158] = new entity(strings[2011], false, 1158, (entity*) 0); + IFC4X3_RC3_types[1164] = new entity(strings[2012], false, 1164, (entity*) IFC4X3_RC3_types[985]); + IFC4X3_RC3_types[1165] = new entity(strings[2013], false, 1165, (entity*) IFC4X3_RC3_types[1164]); + IFC4X3_RC3_types[1168] = new entity(strings[2014], false, 1168, (entity*) IFC4X3_RC3_types[12]); + IFC4X3_RC3_types[1190] = new entity(strings[2015], false, 1190, (entity*) IFC4X3_RC3_types[799]); + IFC4X3_RC3_types[1192] = new entity(strings[2016], false, 1192, (entity*) IFC4X3_RC3_types[796]); + IFC4X3_RC3_types[1193] = new entity(strings[2017], false, 1193, (entity*) IFC4X3_RC3_types[796]); + IFC4X3_RC3_types[1195] = new entity(strings[2018], true, 1195, (entity*) IFC4X3_RC3_types[796]); + IFC4X3_RC3_types[1196] = new entity(strings[2019], false, 1196, (entity*) IFC4X3_RC3_types[1195]); + IFC4X3_RC3_types[1197] = new entity(strings[2020], false, 1197, (entity*) IFC4X3_RC3_types[1195]); + IFC4X3_RC3_types[1198] = new entity(strings[2021], false, 1198, (entity*) IFC4X3_RC3_types[796]); + IFC4X3_RC3_types[1199] = new entity(strings[2022], false, 1199, (entity*) IFC4X3_RC3_types[796]); + IFC4X3_RC3_types[1210] = new entity(strings[2023], false, 1210, (entity*) 0); + IFC4X3_RC3_types[1211] = new entity(strings[2024], true, 1211, (entity*) 0); + IFC4X3_RC3_types[1213] = new entity(strings[2025], false, 1213, (entity*) 0); + IFC4X3_RC3_types[1215] = new entity(strings[2026], true, 1215, (entity*) IFC4X3_RC3_types[956]); + IFC4X3_RC3_types[1216] = new entity(strings[2027], false, 1216, (entity*) IFC4X3_RC3_types[1008]); + IFC4X3_RC3_types[1253] = new entity(strings[2028], false, 1253, (entity*) 0); + IFC4X3_RC3_types[1264] = new entity(strings[2029], false, 1264, (entity*) IFC4X3_RC3_types[1215]); + IFC4X3_RC3_types[1266] = new entity(strings[2030], false, 1266, (entity*) IFC4X3_RC3_types[1264]); + IFC4X3_RC3_types[1275] = new entity(strings[2031], false, 1275, (entity*) 0); + IFC4X3_RC3_types[1312] = new entity(strings[2032], false, 1312, (entity*) IFC4X3_RC3_types[985]); + IFC4X3_RC3_types[8] = new select_type(strings[2033], 8, {IFC4X3_RC3_types[721],IFC4X3_RC3_types[741],IFC4X3_RC3_types[742]}); + IFC4X3_RC3_types[57] = new type_declaration(strings[2034], 57, new aggregation_type(aggregation_type::list_type, 3, 3, new named_type(IFC4X3_RC3_types[782]))); + IFC4X3_RC3_types[81] = new select_type(strings[2035], 81, {IFC4X3_RC3_types[588],IFC4X3_RC3_types[764]}); + IFC4X3_RC3_types[103] = new type_declaration(strings[2036], 103, new named_type(IFC4X3_RC3_types[577])); + IFC4X3_RC3_types[278] = new select_type(strings[2037], 278, {IFC4X3_RC3_types[700],IFC4X3_RC3_types[730]}); + IFC4X3_RC3_types[299] = new select_type(strings[2038], 299, {IFC4X3_RC3_types[0],IFC4X3_RC3_types[1],IFC4X3_RC3_types[45],IFC4X3_RC3_types[58],IFC4X3_RC3_types[198],IFC4X3_RC3_types[272],IFC4X3_RC3_types[349],IFC4X3_RC3_types[362],IFC4X3_RC3_types[374],IFC4X3_RC3_types[375],IFC4X3_RC3_types[376],IFC4X3_RC3_types[393],IFC4X3_RC3_types[397],IFC4X3_RC3_types[412],IFC4X3_RC3_types[499],IFC4X3_RC3_types[500],IFC4X3_RC3_types[535],IFC4X3_RC3_types[536],IFC4X3_RC3_types[541],IFC4X3_RC3_types[554],IFC4X3_RC3_types[556],IFC4X3_RC3_types[565],IFC4X3_RC3_types[569],IFC4X3_RC3_types[575],IFC4X3_RC3_types[608],IFC4X3_RC3_types[609],IFC4X3_RC3_types[612],IFC4X3_RC3_types[613],IFC4X3_RC3_types[624],IFC4X3_RC3_types[625],IFC4X3_RC3_types[627],IFC4X3_RC3_types[628],IFC4X3_RC3_types[635],IFC4X3_RC3_types[636],IFC4X3_RC3_types[638],IFC4X3_RC3_types[677],IFC4X3_RC3_types[678],IFC4X3_RC3_types[679],IFC4X3_RC3_types[681],IFC4X3_RC3_types[684],IFC4X3_RC3_types[685],IFC4X3_RC3_types[686],IFC4X3_RC3_types[687],IFC4X3_RC3_types[743],IFC4X3_RC3_types[762],IFC4X3_RC3_types[787],IFC4X3_RC3_types[800],IFC4X3_RC3_types[858],IFC4X3_RC3_types[977],IFC4X3_RC3_types[978],IFC4X3_RC3_types[979],IFC4X3_RC3_types[993],IFC4X3_RC3_types[988],IFC4X3_RC3_types[1010],IFC4X3_RC3_types[1042],IFC4X3_RC3_types[1043],IFC4X3_RC3_types[1044],IFC4X3_RC3_types[1045],IFC4X3_RC3_types[1061],IFC4X3_RC3_types[1169],IFC4X3_RC3_types[1170],IFC4X3_RC3_types[1200],IFC4X3_RC3_types[1201],IFC4X3_RC3_types[1202],IFC4X3_RC3_types[1203],IFC4X3_RC3_types[1204],IFC4X3_RC3_types[1218],IFC4X3_RC3_types[1261],IFC4X3_RC3_types[1280],IFC4X3_RC3_types[1286],IFC4X3_RC3_types[1287]}); + IFC4X3_RC3_types[449] = new select_type(strings[2039], 449, {IFC4X3_RC3_types[106],IFC4X3_RC3_types[448],IFC4X3_RC3_types[634],IFC4X3_RC3_types[866],IFC4X3_RC3_types[970]}); + IFC4X3_RC3_types[546] = new select_type(strings[2040], 546, {IFC4X3_RC3_types[545],IFC4X3_RC3_types[1269],IFC4X3_RC3_types[1272]}); + IFC4X3_RC3_types[586] = new select_type(strings[2041], 586, {IFC4X3_RC3_types[954],IFC4X3_RC3_types[956]}); + IFC4X3_RC3_types[591] = new select_type(strings[2042], 591, {IFC4X3_RC3_types[589],IFC4X3_RC3_types[590]}); + IFC4X3_RC3_types[594] = new select_type(strings[2043], 594, {IFC4X3_RC3_types[432],IFC4X3_RC3_types[599]}); + IFC4X3_RC3_types[614] = new type_declaration(strings[2044], 614, new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[782]))); + IFC4X3_RC3_types[657] = new select_type(strings[2045], 657, {IFC4X3_RC3_types[643],IFC4X3_RC3_types[649],IFC4X3_RC3_types[658]}); + IFC4X3_RC3_types[701] = new type_declaration(strings[2046], 701, new named_type(IFC4X3_RC3_types[874])); + IFC4X3_RC3_types[708] = new select_type(strings[2047], 708, {IFC4X3_RC3_types[12],IFC4X3_RC3_types[50],IFC4X3_RC3_types[432],IFC4X3_RC3_types[643],IFC4X3_RC3_types[721],IFC4X3_RC3_types[741],IFC4X3_RC3_types[742],IFC4X3_RC3_types[1156],IFC4X3_RC3_types[1211]}); + IFC4X3_RC3_types[785] = new type_declaration(strings[2048], 785, new named_type(IFC4X3_RC3_types[874])); + IFC4X3_RC3_types[999] = new select_type(strings[2049], 999, {IFC4X3_RC3_types[57],IFC4X3_RC3_types[614]}); + IFC4X3_RC3_types[1022] = new select_type(strings[2050], 1022, {IFC4X3_RC3_types[82],IFC4X3_RC3_types[88],IFC4X3_RC3_types[292],IFC4X3_RC3_types[293],IFC4X3_RC3_types[361],IFC4X3_RC3_types[540],IFC4X3_RC3_types[555],IFC4X3_RC3_types[577],IFC4X3_RC3_types[620],IFC4X3_RC3_types[782],IFC4X3_RC3_types[877],IFC4X3_RC3_types[1182],IFC4X3_RC3_types[1207],IFC4X3_RC3_types[1214]}); + IFC4X3_RC3_types[1028] = new select_type(strings[2051], 1028, {IFC4X3_RC3_types[304],IFC4X3_RC3_types[588],IFC4X3_RC3_types[701],IFC4X3_RC3_types[783],IFC4X3_RC3_types[785],IFC4X3_RC3_types[874]}); + IFC4X3_RC3_types[1063] = new select_type(strings[2052], 1063, {IFC4X3_RC3_types[1062],IFC4X3_RC3_types[1064]}); + IFC4X3_RC3_types[1138] = new select_type(strings[2053], 1138, {IFC4X3_RC3_types[430],IFC4X3_RC3_types[1139],IFC4X3_RC3_types[1140],IFC4X3_RC3_types[1142],IFC4X3_RC3_types[1143]}); + IFC4X3_RC3_types[1246] = new select_type(strings[2054], 1246, {IFC4X3_RC3_types[301],IFC4X3_RC3_types[688],IFC4X3_RC3_types[696]}); + IFC4X3_RC3_types[31] = new entity(strings[2055], false, 31, (entity*) IFC4X3_RC3_types[36]); + IFC4X3_RC3_types[34] = new entity(strings[2056], false, 34, (entity*) IFC4X3_RC3_types[36]); + IFC4X3_RC3_types[53] = new entity(strings[2057], false, 53, (entity*) IFC4X3_RC3_types[961]); + IFC4X3_RC3_types[54] = new entity(strings[2058], false, 54, (entity*) IFC4X3_RC3_types[811]); + IFC4X3_RC3_types[55] = new entity(strings[2059], false, 55, (entity*) IFC4X3_RC3_types[811]); + IFC4X3_RC3_types[56] = new entity(strings[2060], false, 56, (entity*) IFC4X3_RC3_types[54]); + IFC4X3_RC3_types[83] = new entity(strings[2061], false, 83, (entity*) IFC4X3_RC3_types[1144]); + IFC4X3_RC3_types[156] = new entity(strings[2062], false, 156, (entity*) IFC4X3_RC3_types[55]); + IFC4X3_RC3_types[169] = new entity(strings[2063], false, 169, (entity*) IFC4X3_RC3_types[428]); + IFC4X3_RC3_types[170] = new entity(strings[2064], false, 170, (entity*) IFC4X3_RC3_types[432]); + IFC4X3_RC3_types[181] = new entity(strings[2065], false, 181, (entity*) IFC4X3_RC3_types[796]); + IFC4X3_RC3_types[182] = new entity(strings[2066], true, 182, (entity*) IFC4X3_RC3_types[796]); + IFC4X3_RC3_types[197] = new entity(strings[2067], false, 197, (entity*) IFC4X3_RC3_types[811]); + IFC4X3_RC3_types[206] = new entity(strings[2068], false, 206, (entity*) IFC4X3_RC3_types[1215]); + IFC4X3_RC3_types[207] = new entity(strings[2069], false, 207, (entity*) IFC4X3_RC3_types[208]); + IFC4X3_RC3_types[209] = new entity(strings[2070], false, 209, (entity*) IFC4X3_RC3_types[210]); + IFC4X3_RC3_types[229] = new entity(strings[2071], false, 229, (entity*) IFC4X3_RC3_types[696]); + IFC4X3_RC3_types[234] = new entity(strings[2072], false, 234, (entity*) IFC4X3_RC3_types[696]); + IFC4X3_RC3_types[235] = new entity(strings[2073], false, 235, (entity*) IFC4X3_RC3_types[234]); + IFC4X3_RC3_types[268] = new entity(strings[2074], false, 268, (entity*) IFC4X3_RC3_types[961]); + IFC4X3_RC3_types[282] = new entity(strings[2075], false, 282, (entity*) IFC4X3_RC3_types[799]); + IFC4X3_RC3_types[283] = new entity(strings[2076], false, 283, (entity*) IFC4X3_RC3_types[796]); + IFC4X3_RC3_types[284] = new entity(strings[2077], false, 284, (entity*) IFC4X3_RC3_types[796]); + IFC4X3_RC3_types[285] = new entity(strings[2078], false, 285, (entity*) IFC4X3_RC3_types[796]); + IFC4X3_RC3_types[300] = new entity(strings[2079], false, 300, (entity*) IFC4X3_RC3_types[811]); + IFC4X3_RC3_types[332] = new entity(strings[2080], false, 332, (entity*) IFC4X3_RC3_types[428]); + IFC4X3_RC3_types[333] = new entity(strings[2081], false, 333, (entity*) IFC4X3_RC3_types[961]); + IFC4X3_RC3_types[334] = new entity(strings[2082], false, 334, (entity*) IFC4X3_RC3_types[432]); + IFC4X3_RC3_types[368] = new entity(strings[2083], false, 368, (entity*) IFC4X3_RC3_types[1215]); + IFC4X3_RC3_types[369] = new entity(strings[2084], false, 369, (entity*) IFC4X3_RC3_types[368]); + IFC4X3_RC3_types[423] = new entity(strings[2085], false, 423, (entity*) IFC4X3_RC3_types[985]); + IFC4X3_RC3_types[427] = new entity(strings[2086], true, 427, (entity*) IFC4X3_RC3_types[823]); + IFC4X3_RC3_types[433] = new entity(strings[2087], false, 433, (entity*) IFC4X3_RC3_types[961]); + IFC4X3_RC3_types[439] = new entity(strings[2088], false, 439, (entity*) IFC4X3_RC3_types[1215]); + IFC4X3_RC3_types[441] = new entity(strings[2089], false, 441, (entity*) IFC4X3_RC3_types[1215]); + IFC4X3_RC3_types[442] = new entity(strings[2090], false, 442, (entity*) IFC4X3_RC3_types[441]); + IFC4X3_RC3_types[443] = new entity(strings[2091], false, 443, (entity*) IFC4X3_RC3_types[439]); + IFC4X3_RC3_types[451] = new entity(strings[2092], false, 451, (entity*) IFC4X3_RC3_types[1083]); + IFC4X3_RC3_types[461] = new entity(strings[2093], false, 461, (entity*) IFC4X3_RC3_types[799]); + IFC4X3_RC3_types[511] = new entity(strings[2094], false, 511, (entity*) IFC4X3_RC3_types[955]); + IFC4X3_RC3_types[512] = new entity(strings[2095], true, 512, (entity*) IFC4X3_RC3_types[956]); + IFC4X3_RC3_types[513] = new entity(strings[2096], false, 513, (entity*) IFC4X3_RC3_types[511]); + IFC4X3_RC3_types[514] = new entity(strings[2097], false, 514, (entity*) IFC4X3_RC3_types[512]); + IFC4X3_RC3_types[526] = new entity(strings[2098], false, 526, (entity*) IFC4X3_RC3_types[707]); + IFC4X3_RC3_types[530] = new entity(strings[2099], false, 530, (entity*) IFC4X3_RC3_types[512]); + IFC4X3_RC3_types[542] = new entity(strings[2100], false, 542, (entity*) IFC4X3_RC3_types[1144]); + IFC4X3_RC3_types[548] = new entity(strings[2101], false, 548, (entity*) IFC4X3_RC3_types[796]); + IFC4X3_RC3_types[552] = new entity(strings[2102], true, 552, (entity*) IFC4X3_RC3_types[1195]); + IFC4X3_RC3_types[553] = new entity(strings[2103], false, 553, (entity*) IFC4X3_RC3_types[552]); + IFC4X3_RC3_types[566] = new entity(strings[2104], false, 566, (entity*) IFC4X3_RC3_types[1211]); + IFC4X3_RC3_types[581] = new entity(strings[2105], false, 581, (entity*) IFC4X3_RC3_types[985]); + IFC4X3_RC3_types[600] = new entity(strings[2106], true, 600, (entity*) IFC4X3_RC3_types[512]); + IFC4X3_RC3_types[601] = new entity(strings[2107], false, 601, (entity*) IFC4X3_RC3_types[600]); + IFC4X3_RC3_types[602] = new entity(strings[2108], false, 602, (entity*) IFC4X3_RC3_types[600]); + IFC4X3_RC3_types[603] = new entity(strings[2109], false, 603, (entity*) IFC4X3_RC3_types[600]); + IFC4X3_RC3_types[604] = new entity(strings[2110], false, 604, (entity*) IFC4X3_RC3_types[600]); + IFC4X3_RC3_types[605] = new entity(strings[2111], false, 605, (entity*) IFC4X3_RC3_types[604]); + IFC4X3_RC3_types[610] = new entity(strings[2112], false, 610, (entity*) IFC4X3_RC3_types[707]); + IFC4X3_RC3_types[619] = new entity(strings[2113], false, 619, (entity*) IFC4X3_RC3_types[707]); + IFC4X3_RC3_types[622] = new entity(strings[2114], false, 622, (entity*) IFC4X3_RC3_types[1215]); + IFC4X3_RC3_types[631] = new entity(strings[2115], false, 631, (entity*) IFC4X3_RC3_types[956]); + IFC4X3_RC3_types[639] = new entity(strings[2116], false, 639, (entity*) IFC4X3_RC3_types[643]); + IFC4X3_RC3_types[641] = new entity(strings[2117], false, 641, (entity*) IFC4X3_RC3_types[643]); + IFC4X3_RC3_types[642] = new entity(strings[2118], false, 642, (entity*) IFC4X3_RC3_types[643]); + IFC4X3_RC3_types[644] = new entity(strings[2119], false, 644, (entity*) IFC4X3_RC3_types[808]); + IFC4X3_RC3_types[647] = new entity(strings[2120], false, 647, (entity*) IFC4X3_RC3_types[658]); + IFC4X3_RC3_types[652] = new entity(strings[2121], false, 652, (entity*) IFC4X3_RC3_types[658]); + IFC4X3_RC3_types[653] = new entity(strings[2122], false, 653, (entity*) IFC4X3_RC3_types[652]); + IFC4X3_RC3_types[655] = new entity(strings[2123], false, 655, (entity*) IFC4X3_RC3_types[427]); + IFC4X3_RC3_types[656] = new entity(strings[2124], false, 656, (entity*) IFC4X3_RC3_types[961]); + IFC4X3_RC3_types[673] = new entity(strings[2125], false, 673, (entity*) IFC4X3_RC3_types[300]); + IFC4X3_RC3_types[704] = new entity(strings[2126], true, 704, (entity*) IFC4X3_RC3_types[976]); + IFC4X3_RC3_types[716] = new entity(strings[2127], false, 716, (entity*) IFC4X3_RC3_types[811]); + IFC4X3_RC3_types[720] = new entity(strings[2128], false, 720, (entity*) IFC4X3_RC3_types[206]); + IFC4X3_RC3_types[722] = new entity(strings[2129], false, 722, (entity*) IFC4X3_RC3_types[961]); + IFC4X3_RC3_types[723] = new entity(strings[2130], false, 723, (entity*) IFC4X3_RC3_types[368]); + IFC4X3_RC3_types[729] = new entity(strings[2131], true, 729, (entity*) IFC4X3_RC3_types[811]); + IFC4X3_RC3_types[731] = new entity(strings[2132], false, 731, (entity*) IFC4X3_RC3_types[1215]); + IFC4X3_RC3_types[744] = new entity(strings[2133], false, 744, (entity*) IFC4X3_RC3_types[746]); + IFC4X3_RC3_types[758] = new entity(strings[2134], false, 758, (entity*) IFC4X3_RC3_types[1144]); + IFC4X3_RC3_types[759] = new entity(strings[2135], true, 759, (entity*) IFC4X3_RC3_types[512]); + IFC4X3_RC3_types[761] = new entity(strings[2136], false, 761, (entity*) IFC4X3_RC3_types[512]); + IFC4X3_RC3_types[770] = new entity(strings[2137], true, 770, (entity*) IFC4X3_RC3_types[512]); + IFC4X3_RC3_types[771] = new entity(strings[2138], false, 771, (entity*) IFC4X3_RC3_types[770]); + IFC4X3_RC3_types[772] = new entity(strings[2139], false, 772, (entity*) IFC4X3_RC3_types[770]); + IFC4X3_RC3_types[773] = new entity(strings[2140], false, 773, (entity*) IFC4X3_RC3_types[770]); + IFC4X3_RC3_types[778] = new entity(strings[2141], false, 778, (entity*) IFC4X3_RC3_types[622]); + IFC4X3_RC3_types[775] = new entity(strings[2142], false, 775, (entity*) IFC4X3_RC3_types[530]); + IFC4X3_RC3_types[790] = new entity(strings[2143], true, 790, (entity*) IFC4X3_RC3_types[796]); + IFC4X3_RC3_types[791] = new entity(strings[2144], true, 791, (entity*) IFC4X3_RC3_types[823]); + IFC4X3_RC3_types[793] = new entity(strings[2145], true, 793, (entity*) IFC4X3_RC3_types[790]); + IFC4X3_RC3_types[807] = new entity(strings[2146], false, 807, (entity*) IFC4X3_RC3_types[808]); + IFC4X3_RC3_types[812] = new entity(strings[2147], false, 812, (entity*) IFC4X3_RC3_types[427]); + IFC4X3_RC3_types[822] = new entity(strings[2148], true, 822, (entity*) IFC4X3_RC3_types[823]); + IFC4X3_RC3_types[825] = new entity(strings[2149], true, 825, (entity*) IFC4X3_RC3_types[976]); + IFC4X3_RC3_types[826] = new entity(strings[2150], false, 826, (entity*) IFC4X3_RC3_types[961]); + IFC4X3_RC3_types[832] = new entity(strings[2151], true, 832, (entity*) IFC4X3_RC3_types[825]); + IFC4X3_RC3_types[840] = new entity(strings[2152], true, 840, (entity*) IFC4X3_RC3_types[825]); + IFC4X3_RC3_types[854] = new entity(strings[2153], true, 854, (entity*) IFC4X3_RC3_types[832]); + IFC4X3_RC3_types[879] = new entity(strings[2154], false, 879, (entity*) IFC4X3_RC3_types[729]); + IFC4X3_RC3_types[888] = new entity(strings[2155], false, 888, (entity*) IFC4X3_RC3_types[1211]); + IFC4X3_RC3_types[891] = new entity(strings[2156], false, 891, (entity*) IFC4X3_RC3_types[791]); + IFC4X3_RC3_types[920] = new entity(strings[2157], true, 920, (entity*) IFC4X3_RC3_types[976]); + IFC4X3_RC3_types[959] = new entity(strings[2158], false, 959, (entity*) IFC4X3_RC3_types[961]); + IFC4X3_RC3_types[960] = new entity(strings[2159], false, 960, (entity*) IFC4X3_RC3_types[961]); + IFC4X3_RC3_types[964] = new entity(strings[2160], false, 964, (entity*) IFC4X3_RC3_types[985]); + IFC4X3_RC3_types[981] = new entity(strings[2161], false, 981, (entity*) IFC4X3_RC3_types[879]); + IFC4X3_RC3_types[994] = new entity(strings[2162], false, 994, (entity*) IFC4X3_RC3_types[791]); + IFC4X3_RC3_types[995] = new entity(strings[2163], false, 995, (entity*) IFC4X3_RC3_types[791]); + IFC4X3_RC3_types[991] = new entity(strings[2164], false, 991, (entity*) IFC4X3_RC3_types[512]); + IFC4X3_RC3_types[997] = new entity(strings[2165], true, 997, (entity*) IFC4X3_RC3_types[512]); + IFC4X3_RC3_types[1012] = new entity(strings[2166], false, 1012, (entity*) IFC4X3_RC3_types[512]); + IFC4X3_RC3_types[1019] = new entity(strings[2167], true, 1019, (entity*) IFC4X3_RC3_types[822]); + IFC4X3_RC3_types[1034] = new entity(strings[2168], false, 1034, (entity*) IFC4X3_RC3_types[1083]); + IFC4X3_RC3_types[1039] = new entity(strings[2169], true, 1039, (entity*) IFC4X3_RC3_types[512]); + IFC4X3_RC3_types[1097] = new entity(strings[2170], false, 1097, (entity*) IFC4X3_RC3_types[1104]); + IFC4X3_RC3_types[1099] = new entity(strings[2171], false, 1099, (entity*) IFC4X3_RC3_types[1104]); + IFC4X3_RC3_types[1100] = new entity(strings[2172], false, 1100, (entity*) IFC4X3_RC3_types[1104]); + IFC4X3_RC3_types[1101] = new entity(strings[2173], false, 1101, (entity*) IFC4X3_RC3_types[1100]); + IFC4X3_RC3_types[1102] = new entity(strings[2174], false, 1102, (entity*) IFC4X3_RC3_types[1104]); + IFC4X3_RC3_types[1103] = new entity(strings[2175], false, 1103, (entity*) IFC4X3_RC3_types[1102]); + IFC4X3_RC3_types[1126] = new entity(strings[2176], false, 1126, (entity*) IFC4X3_RC3_types[368]); + IFC4X3_RC3_types[1127] = new entity(strings[2177], true, 1127, (entity*) IFC4X3_RC3_types[512]); + IFC4X3_RC3_types[1141] = new entity(strings[2178], false, 1141, (entity*) IFC4X3_RC3_types[1142]); + IFC4X3_RC3_types[1145] = new entity(strings[2179], true, 1145, (entity*) IFC4X3_RC3_types[1039]); + IFC4X3_RC3_types[1146] = new entity(strings[2180], false, 1146, (entity*) IFC4X3_RC3_types[1039]); + IFC4X3_RC3_types[1147] = new entity(strings[2181], false, 1147, (entity*) IFC4X3_RC3_types[1146]); + IFC4X3_RC3_types[1148] = new entity(strings[2182], true, 1148, (entity*) IFC4X3_RC3_types[1127]); + IFC4X3_RC3_types[1238] = new entity(strings[2183], false, 1238, (entity*) IFC4X3_RC3_types[729]); + IFC4X3_RC3_types[1181] = new entity(strings[2184], true, 1181, (entity*) IFC4X3_RC3_types[512]); + IFC4X3_RC3_types[1187] = new entity(strings[2185], false, 1187, (entity*) IFC4X3_RC3_types[512]); + IFC4X3_RC3_types[1188] = new entity(strings[2186], false, 1188, (entity*) IFC4X3_RC3_types[1187]); + IFC4X3_RC3_types[1191] = new entity(strings[2187], false, 1191, (entity*) IFC4X3_RC3_types[793]); + IFC4X3_RC3_types[1232] = new entity(strings[2188], false, 1232, (entity*) IFC4X3_RC3_types[729]); + IFC4X3_RC3_types[1242] = new entity(strings[2189], false, 1242, (entity*) IFC4X3_RC3_types[704]); + IFC4X3_RC3_types[1243] = new entity(strings[2190], true, 1243, (entity*) IFC4X3_RC3_types[1242]); + IFC4X3_RC3_types[1244] = new entity(strings[2191], false, 1244, (entity*) IFC4X3_RC3_types[1242]); + IFC4X3_RC3_types[1245] = new entity(strings[2192], true, 1245, (entity*) IFC4X3_RC3_types[1242]); + IFC4X3_RC3_types[1256] = new entity(strings[2193], false, 1256, (entity*) IFC4X3_RC3_types[729]); + IFC4X3_RC3_types[1262] = new entity(strings[2194], false, 1262, (entity*) IFC4X3_RC3_types[512]); + IFC4X3_RC3_types[1265] = new entity(strings[2195], false, 1265, (entity*) IFC4X3_RC3_types[622]); + IFC4X3_RC3_types[1299] = new entity(strings[2196], false, 1299, (entity*) IFC4X3_RC3_types[1244]); + IFC4X3_RC3_types[1314] = new entity(strings[2197], false, 1314, (entity*) IFC4X3_RC3_types[729]); + IFC4X3_RC3_types[171] = new select_type(strings[2198], 171, {IFC4X3_RC3_types[169],IFC4X3_RC3_types[170]}); + IFC4X3_RC3_types[172] = new select_type(strings[2199], 172, {IFC4X3_RC3_types[169],IFC4X3_RC3_types[170]}); + IFC4X3_RC3_types[247] = new select_type(strings[2200], 247, {IFC4X3_RC3_types[246],IFC4X3_RC3_types[511]}); + IFC4X3_RC3_types[298] = new select_type(strings[2201], 298, {IFC4X3_RC3_types[704],IFC4X3_RC3_types[825]}); + IFC4X3_RC3_types[335] = new select_type(strings[2202], 335, {IFC4X3_RC3_types[332],IFC4X3_RC3_types[334]}); + IFC4X3_RC3_types[531] = new select_type(strings[2203], 531, {IFC4X3_RC3_types[783],IFC4X3_RC3_types[1262]}); + IFC4X3_RC3_types[659] = new select_type(strings[2204], 659, {IFC4X3_RC3_types[42],IFC4X3_RC3_types[59],IFC4X3_RC3_types[190],IFC4X3_RC3_types[228],IFC4X3_RC3_types[254],IFC4X3_RC3_types[304],IFC4X3_RC3_types[377],IFC4X3_RC3_types[588],IFC4X3_RC3_types[626],IFC4X3_RC3_types[637],IFC4X3_RC3_types[700],IFC4X3_RC3_types[701],IFC4X3_RC3_types[702],IFC4X3_RC3_types[730],IFC4X3_RC3_types[764],IFC4X3_RC3_types[783],IFC4X3_RC3_types[784],IFC4X3_RC3_types[785],IFC4X3_RC3_types[874],IFC4X3_RC3_types[1038],IFC4X3_RC3_types[1205],IFC4X3_RC3_types[1208],IFC4X3_RC3_types[1279]}); + IFC4X3_RC3_types[774] = new select_type(strings[2205], 774, {IFC4X3_RC3_types[770],IFC4X3_RC3_types[1266]}); + IFC4X3_RC3_types[809] = new select_type(strings[2206], 809, {IFC4X3_RC3_types[807],IFC4X3_RC3_types[957]}); + IFC4X3_RC3_types[834] = new type_declaration(strings[2207], 834, new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[832]))); + IFC4X3_RC3_types[962] = new select_type(strings[2208], 962, {IFC4X3_RC3_types[7],IFC4X3_RC3_types[50],IFC4X3_RC3_types[52],IFC4X3_RC3_types[214],IFC4X3_RC3_types[229],IFC4X3_RC3_types[234],IFC4X3_RC3_types[428],IFC4X3_RC3_types[432],IFC4X3_RC3_types[643],IFC4X3_RC3_types[721],IFC4X3_RC3_types[741],IFC4X3_RC3_types[742],IFC4X3_RC3_types[746],IFC4X3_RC3_types[811],IFC4X3_RC3_types[823],IFC4X3_RC3_types[1007],IFC4X3_RC3_types[1211]}); + IFC4X3_RC3_types[1186] = new select_type(strings[2209], 1186, {IFC4X3_RC3_types[431],IFC4X3_RC3_types[793]}); + IFC4X3_RC3_types[1257] = new select_type(strings[2210], 1257, {IFC4X3_RC3_types[299],IFC4X3_RC3_types[659],IFC4X3_RC3_types[1022]}); + IFC4X3_RC3_types[16] = new entity(strings[2211], false, 16, (entity*) IFC4X3_RC3_types[443]); + IFC4X3_RC3_types[47] = new entity(strings[2212], false, 47, (entity*) IFC4X3_RC3_types[512]); + IFC4X3_RC3_types[63] = new entity(strings[2213], false, 63, (entity*) IFC4X3_RC3_types[729]); + IFC4X3_RC3_types[67] = new entity(strings[2214], false, 67, (entity*) IFC4X3_RC3_types[759]); + IFC4X3_RC3_types[69] = new entity(strings[2215], false, 69, (entity*) IFC4X3_RC3_types[759]); + IFC4X3_RC3_types[70] = new entity(strings[2216], false, 70, (entity*) IFC4X3_RC3_types[759]); + IFC4X3_RC3_types[71] = new entity(strings[2217], false, 71, (entity*) IFC4X3_RC3_types[759]); + IFC4X3_RC3_types[92] = new entity(strings[2218], false, 92, (entity*) IFC4X3_RC3_types[512]); + IFC4X3_RC3_types[101] = new entity(strings[2219], true, 101, (entity*) IFC4X3_RC3_types[1127]); + IFC4X3_RC3_types[102] = new entity(strings[2220], false, 102, (entity*) IFC4X3_RC3_types[512]); + IFC4X3_RC3_types[104] = new entity(strings[2221], false, 104, (entity*) IFC4X3_RC3_types[530]); + IFC4X3_RC3_types[267] = new entity(strings[2222], false, 267, (entity*) IFC4X3_RC3_types[729]); + IFC4X3_RC3_types[147] = new entity(strings[2223], false, 147, (entity*) IFC4X3_RC3_types[770]); + IFC4X3_RC3_types[148] = new entity(strings[2224], true, 148, (entity*) IFC4X3_RC3_types[512]); + IFC4X3_RC3_types[149] = new entity(strings[2225], false, 149, (entity*) IFC4X3_RC3_types[148]); + IFC4X3_RC3_types[150] = new entity(strings[2226], false, 150, (entity*) IFC4X3_RC3_types[148]); + IFC4X3_RC3_types[151] = new entity(strings[2227], true, 151, (entity*) IFC4X3_RC3_types[512]); + IFC4X3_RC3_types[152] = new entity(strings[2228], false, 152, (entity*) IFC4X3_RC3_types[151]); + IFC4X3_RC3_types[153] = new entity(strings[2229], false, 153, (entity*) IFC4X3_RC3_types[152]); + IFC4X3_RC3_types[154] = new entity(strings[2230], false, 154, (entity*) IFC4X3_RC3_types[151]); + IFC4X3_RC3_types[155] = new entity(strings[2231], false, 155, (entity*) IFC4X3_RC3_types[154]); + IFC4X3_RC3_types[166] = new entity(strings[2232], false, 166, (entity*) IFC4X3_RC3_types[729]); + IFC4X3_RC3_types[173] = new entity(strings[2233], false, 173, (entity*) IFC4X3_RC3_types[206]); + IFC4X3_RC3_types[180] = new entity(strings[2234], false, 180, (entity*) IFC4X3_RC3_types[182]); + IFC4X3_RC3_types[191] = new entity(strings[2235], false, 191, (entity*) IFC4X3_RC3_types[822]); + IFC4X3_RC3_types[196] = new entity(strings[2236], false, 196, (entity*) IFC4X3_RC3_types[997]); + IFC4X3_RC3_types[226] = new entity(strings[2237], true, 226, (entity*) IFC4X3_RC3_types[1245]); + IFC4X3_RC3_types[227] = new entity(strings[2238], true, 227, (entity*) IFC4X3_RC3_types[704]); + IFC4X3_RC3_types[262] = new entity(strings[2239], false, 262, (entity*) IFC4X3_RC3_types[226]); + IFC4X3_RC3_types[264] = new entity(strings[2240], true, 264, (entity*) IFC4X3_RC3_types[512]); + IFC4X3_RC3_types[266] = new entity(strings[2241], false, 266, (entity*) IFC4X3_RC3_types[1039]); + IFC4X3_RC3_types[273] = new entity(strings[2242], true, 273, (entity*) IFC4X3_RC3_types[512]); + IFC4X3_RC3_types[274] = new entity(strings[2243], false, 274, (entity*) IFC4X3_RC3_types[101]); + IFC4X3_RC3_types[275] = new entity(strings[2244], false, 275, (entity*) IFC4X3_RC3_types[101]); + IFC4X3_RC3_types[281] = new entity(strings[2245], false, 281, (entity*) IFC4X3_RC3_types[997]); + IFC4X3_RC3_types[307] = new entity(strings[2246], false, 307, (entity*) IFC4X3_RC3_types[512]); + IFC4X3_RC3_types[309] = new entity(strings[2247], true, 309, (entity*) IFC4X3_RC3_types[1145]); + IFC4X3_RC3_types[310] = new entity(strings[2248], true, 310, (entity*) IFC4X3_RC3_types[1145]); + IFC4X3_RC3_types[343] = new entity(strings[2249], false, 343, (entity*) IFC4X3_RC3_types[1244]); + IFC4X3_RC3_types[370] = new entity(strings[2250], false, 370, (entity*) IFC4X3_RC3_types[622]); + IFC4X3_RC3_types[406] = new entity(strings[2251], false, 406, (entity*) IFC4X3_RC3_types[854]); + IFC4X3_RC3_types[407] = new entity(strings[2252], true, 407, (entity*) IFC4X3_RC3_types[1244]); + IFC4X3_RC3_types[399] = new entity(strings[2253], true, 399, (entity*) IFC4X3_RC3_types[1127]); + IFC4X3_RC3_types[409] = new entity(strings[2254], false, 409, (entity*) IFC4X3_RC3_types[729]); + IFC4X3_RC3_types[425] = new entity(strings[2255], false, 425, (entity*) IFC4X3_RC3_types[1243]); + IFC4X3_RC3_types[437] = new entity(strings[2256], false, 437, (entity*) IFC4X3_RC3_types[1145]); + IFC4X3_RC3_types[438] = new entity(strings[2257], false, 438, (entity*) IFC4X3_RC3_types[437]); + IFC4X3_RC3_types[440] = new entity(strings[2258], false, 440, (entity*) IFC4X3_RC3_types[512]); + IFC4X3_RC3_types[462] = new entity(strings[2259], false, 462, (entity*) IFC4X3_RC3_types[512]); + IFC4X3_RC3_types[463] = new entity(strings[2260], false, 463, (entity*) IFC4X3_RC3_types[512]); + IFC4X3_RC3_types[471] = new entity(strings[2261], false, 471, (entity*) IFC4X3_RC3_types[309]); + IFC4X3_RC3_types[502] = new entity(strings[2262], false, 502, (entity*) IFC4X3_RC3_types[407]); + IFC4X3_RC3_types[504] = new entity(strings[2263], false, 504, (entity*) IFC4X3_RC3_types[502]); + IFC4X3_RC3_types[507] = new entity(strings[2264], false, 507, (entity*) IFC4X3_RC3_types[407]); + IFC4X3_RC3_types[509] = new entity(strings[2265], false, 509, (entity*) IFC4X3_RC3_types[514]); + IFC4X3_RC3_types[568] = new entity(strings[2266], false, 568, (entity*) IFC4X3_RC3_types[729]); + IFC4X3_RC3_types[547] = new entity(strings[2267], false, 547, (entity*) IFC4X3_RC3_types[310]); + IFC4X3_RC3_types[550] = new entity(strings[2268], false, 550, (entity*) IFC4X3_RC3_types[1181]); + IFC4X3_RC3_types[551] = new entity(strings[2269], false, 551, (entity*) IFC4X3_RC3_types[550]); + IFC4X3_RC3_types[623] = new entity(strings[2270], false, 623, (entity*) IFC4X3_RC3_types[729]); + IFC4X3_RC3_types[579] = new entity(strings[2271], false, 579, (entity*) IFC4X3_RC3_types[226]); + IFC4X3_RC3_types[606] = new entity(strings[2272], false, 606, (entity*) IFC4X3_RC3_types[273]); + IFC4X3_RC3_types[629] = new entity(strings[2273], true, 629, (entity*) IFC4X3_RC3_types[1039]); + IFC4X3_RC3_types[703] = new entity(strings[2274], true, 703, (entity*) IFC4X3_RC3_types[704]); + IFC4X3_RC3_types[712] = new entity(strings[2275], true, 712, (entity*) IFC4X3_RC3_types[273]); + IFC4X3_RC3_types[713] = new entity(strings[2276], false, 713, (entity*) IFC4X3_RC3_types[712]); + IFC4X3_RC3_types[714] = new entity(strings[2277], false, 714, (entity*) IFC4X3_RC3_types[712]); + IFC4X3_RC3_types[715] = new entity(strings[2278], false, 715, (entity*) IFC4X3_RC3_types[712]); + IFC4X3_RC3_types[734] = new entity(strings[2279], false, 734, (entity*) IFC4X3_RC3_types[273]); + IFC4X3_RC3_types[760] = new entity(strings[2280], false, 760, (entity*) IFC4X3_RC3_types[761]); + IFC4X3_RC3_types[763] = new entity(strings[2281], false, 763, (entity*) IFC4X3_RC3_types[399]); + IFC4X3_RC3_types[779] = new entity(strings[2282], false, 779, (entity*) IFC4X3_RC3_types[273]); + IFC4X3_RC3_types[788] = new entity(strings[2283], true, 788, (entity*) IFC4X3_RC3_types[790]); + IFC4X3_RC3_types[789] = new entity(strings[2284], true, 789, (entity*) IFC4X3_RC3_types[790]); + IFC4X3_RC3_types[792] = new entity(strings[2285], true, 792, (entity*) IFC4X3_RC3_types[832]); + IFC4X3_RC3_types[802] = new entity(strings[2286], false, 802, (entity*) IFC4X3_RC3_types[1243]); + IFC4X3_RC3_types[804] = new entity(strings[2287], true, 804, (entity*) IFC4X3_RC3_types[703]); + IFC4X3_RC3_types[806] = new entity(strings[2288], true, 806, (entity*) IFC4X3_RC3_types[703]); + IFC4X3_RC3_types[814] = new entity(strings[2289], false, 814, (entity*) IFC4X3_RC3_types[227]); + IFC4X3_RC3_types[819] = new entity(strings[2290], false, 819, (entity*) IFC4X3_RC3_types[227]); + IFC4X3_RC3_types[824] = new entity(strings[2291], false, 824, (entity*) IFC4X3_RC3_types[1019]); + IFC4X3_RC3_types[827] = new entity(strings[2292], false, 827, (entity*) IFC4X3_RC3_types[1019]); + IFC4X3_RC3_types[829] = new entity(strings[2293], false, 829, (entity*) IFC4X3_RC3_types[1019]); + IFC4X3_RC3_types[830] = new entity(strings[2294], false, 830, (entity*) IFC4X3_RC3_types[1019]); + IFC4X3_RC3_types[831] = new entity(strings[2295], false, 831, (entity*) IFC4X3_RC3_types[832]); + IFC4X3_RC3_types[835] = new entity(strings[2296], false, 835, (entity*) IFC4X3_RC3_types[840]); + IFC4X3_RC3_types[837] = new entity(strings[2297], false, 837, (entity*) IFC4X3_RC3_types[1019]); + IFC4X3_RC3_types[838] = new entity(strings[2298], false, 838, (entity*) IFC4X3_RC3_types[1019]); + IFC4X3_RC3_types[839] = new entity(strings[2299], true, 839, (entity*) IFC4X3_RC3_types[840]); + IFC4X3_RC3_types[847] = new entity(strings[2300], false, 847, (entity*) IFC4X3_RC3_types[806]); + IFC4X3_RC3_types[878] = new entity(strings[2301], false, 878, (entity*) IFC4X3_RC3_types[879]); + IFC4X3_RC3_types[880] = new entity(strings[2302], false, 880, (entity*) IFC4X3_RC3_types[264]); + IFC4X3_RC3_types[881] = new entity(strings[2303], false, 881, (entity*) IFC4X3_RC3_types[101]); + IFC4X3_RC3_types[892] = new entity(strings[2304], false, 892, (entity*) IFC4X3_RC3_types[792]); + IFC4X3_RC3_types[904] = new entity(strings[2305], true, 904, (entity*) IFC4X3_RC3_types[920]); + IFC4X3_RC3_types[905] = new entity(strings[2306], false, 905, (entity*) IFC4X3_RC3_types[904]); + IFC4X3_RC3_types[906] = new entity(strings[2307], false, 906, (entity*) IFC4X3_RC3_types[904]); + IFC4X3_RC3_types[907] = new entity(strings[2308], false, 907, (entity*) IFC4X3_RC3_types[904]); + IFC4X3_RC3_types[908] = new entity(strings[2309], false, 908, (entity*) IFC4X3_RC3_types[907]); + IFC4X3_RC3_types[909] = new entity(strings[2310], false, 909, (entity*) IFC4X3_RC3_types[904]); + IFC4X3_RC3_types[910] = new entity(strings[2311], false, 910, (entity*) IFC4X3_RC3_types[904]); + IFC4X3_RC3_types[911] = new entity(strings[2312], false, 911, (entity*) IFC4X3_RC3_types[904]); + IFC4X3_RC3_types[912] = new entity(strings[2313], true, 912, (entity*) IFC4X3_RC3_types[920]); + IFC4X3_RC3_types[913] = new entity(strings[2314], false, 913, (entity*) IFC4X3_RC3_types[912]); + IFC4X3_RC3_types[914] = new entity(strings[2315], false, 914, (entity*) IFC4X3_RC3_types[912]); + IFC4X3_RC3_types[915] = new entity(strings[2316], false, 915, (entity*) IFC4X3_RC3_types[912]); + IFC4X3_RC3_types[916] = new entity(strings[2317], false, 916, (entity*) IFC4X3_RC3_types[912]); + IFC4X3_RC3_types[917] = new entity(strings[2318], false, 917, (entity*) IFC4X3_RC3_types[912]); + IFC4X3_RC3_types[918] = new entity(strings[2319], false, 918, (entity*) IFC4X3_RC3_types[912]); + IFC4X3_RC3_types[919] = new entity(strings[2320], false, 919, (entity*) IFC4X3_RC3_types[912]); + IFC4X3_RC3_types[921] = new entity(strings[2321], true, 921, (entity*) IFC4X3_RC3_types[920]); + IFC4X3_RC3_types[922] = new entity(strings[2322], false, 922, (entity*) IFC4X3_RC3_types[921]); + IFC4X3_RC3_types[923] = new entity(strings[2323], false, 923, (entity*) IFC4X3_RC3_types[922]); + IFC4X3_RC3_types[925] = new entity(strings[2324], false, 925, (entity*) IFC4X3_RC3_types[921]); + IFC4X3_RC3_types[924] = new entity(strings[2325], false, 924, (entity*) IFC4X3_RC3_types[921]); + IFC4X3_RC3_types[926] = new entity(strings[2326], false, 926, (entity*) IFC4X3_RC3_types[921]); + IFC4X3_RC3_types[927] = new entity(strings[2327], false, 927, (entity*) IFC4X3_RC3_types[921]); + IFC4X3_RC3_types[928] = new entity(strings[2328], false, 928, (entity*) IFC4X3_RC3_types[927]); + IFC4X3_RC3_types[929] = new entity(strings[2329], false, 929, (entity*) IFC4X3_RC3_types[922]); + IFC4X3_RC3_types[930] = new entity(strings[2330], false, 930, (entity*) IFC4X3_RC3_types[921]); + IFC4X3_RC3_types[931] = new entity(strings[2331], false, 931, (entity*) IFC4X3_RC3_types[921]); + IFC4X3_RC3_types[932] = new entity(strings[2332], false, 932, (entity*) IFC4X3_RC3_types[921]); + IFC4X3_RC3_types[933] = new entity(strings[2333], false, 933, (entity*) IFC4X3_RC3_types[920]); + IFC4X3_RC3_types[934] = new entity(strings[2334], true, 934, (entity*) IFC4X3_RC3_types[920]); + IFC4X3_RC3_types[935] = new entity(strings[2335], true, 935, (entity*) IFC4X3_RC3_types[920]); + IFC4X3_RC3_types[936] = new entity(strings[2336], false, 936, (entity*) IFC4X3_RC3_types[935]); + IFC4X3_RC3_types[937] = new entity(strings[2337], false, 937, (entity*) IFC4X3_RC3_types[935]); + IFC4X3_RC3_types[938] = new entity(strings[2338], false, 938, (entity*) IFC4X3_RC3_types[935]); + IFC4X3_RC3_types[939] = new entity(strings[2339], false, 939, (entity*) IFC4X3_RC3_types[935]); + IFC4X3_RC3_types[940] = new entity(strings[2340], false, 940, (entity*) IFC4X3_RC3_types[921]); + IFC4X3_RC3_types[941] = new entity(strings[2341], false, 941, (entity*) IFC4X3_RC3_types[921]); + IFC4X3_RC3_types[942] = new entity(strings[2342], false, 942, (entity*) IFC4X3_RC3_types[921]); + IFC4X3_RC3_types[943] = new entity(strings[2343], false, 943, (entity*) IFC4X3_RC3_types[934]); + IFC4X3_RC3_types[944] = new entity(strings[2344], false, 944, (entity*) IFC4X3_RC3_types[921]); + IFC4X3_RC3_types[945] = new entity(strings[2345], false, 945, (entity*) IFC4X3_RC3_types[934]); + IFC4X3_RC3_types[946] = new entity(strings[2346], false, 946, (entity*) IFC4X3_RC3_types[921]); + IFC4X3_RC3_types[947] = new entity(strings[2347], false, 947, (entity*) IFC4X3_RC3_types[921]); + IFC4X3_RC3_types[948] = new entity(strings[2348], false, 948, (entity*) IFC4X3_RC3_types[921]); + IFC4X3_RC3_types[949] = new entity(strings[2349], false, 949, (entity*) IFC4X3_RC3_types[921]); + IFC4X3_RC3_types[950] = new entity(strings[2350], false, 950, (entity*) IFC4X3_RC3_types[949]); + IFC4X3_RC3_types[951] = new entity(strings[2351], false, 951, (entity*) IFC4X3_RC3_types[950]); + IFC4X3_RC3_types[952] = new entity(strings[2352], false, 952, (entity*) IFC4X3_RC3_types[934]); + IFC4X3_RC3_types[953] = new entity(strings[2353], false, 953, (entity*) IFC4X3_RC3_types[196]); + IFC4X3_RC3_types[958] = new entity(strings[2354], true, 958, (entity*) IFC4X3_RC3_types[703]); + IFC4X3_RC3_types[965] = new entity(strings[2355], false, 965, (entity*) IFC4X3_RC3_types[1145]); + IFC4X3_RC3_types[966] = new entity(strings[2356], false, 966, (entity*) IFC4X3_RC3_types[965]); + IFC4X3_RC3_types[967] = new entity(strings[2357], false, 967, (entity*) IFC4X3_RC3_types[264]); + IFC4X3_RC3_types[968] = new entity(strings[2358], false, 968, (entity*) IFC4X3_RC3_types[264]); + IFC4X3_RC3_types[989] = new entity(strings[2359], true, 989, (entity*) IFC4X3_RC3_types[1039]); + IFC4X3_RC3_types[990] = new entity(strings[2360], false, 990, (entity*) IFC4X3_RC3_types[989]); + IFC4X3_RC3_types[992] = new entity(strings[2361], false, 992, (entity*) IFC4X3_RC3_types[1127]); + IFC4X3_RC3_types[1020] = new entity(strings[2362], false, 1020, (entity*) IFC4X3_RC3_types[839]); + IFC4X3_RC3_types[1053] = new entity(strings[2363], true, 1053, (entity*) IFC4X3_RC3_types[806]); + IFC4X3_RC3_types[1054] = new entity(strings[2364], true, 1054, (entity*) IFC4X3_RC3_types[1244]); + IFC4X3_RC3_types[1056] = new entity(strings[2365], true, 1056, (entity*) IFC4X3_RC3_types[1053]); + IFC4X3_RC3_types[1057] = new entity(strings[2366], true, 1057, (entity*) IFC4X3_RC3_types[1054]); + IFC4X3_RC3_types[1058] = new entity(strings[2367], false, 1058, (entity*) IFC4X3_RC3_types[1053]); + IFC4X3_RC3_types[1059] = new entity(strings[2368], false, 1059, (entity*) IFC4X3_RC3_types[1054]); + IFC4X3_RC3_types[1065] = new entity(strings[2369], false, 1065, (entity*) IFC4X3_RC3_types[264]); + IFC4X3_RC3_types[1066] = new entity(strings[2370], false, 1066, (entity*) IFC4X3_RC3_types[399]); + IFC4X3_RC3_types[1067] = new entity(strings[2371], true, 1067, (entity*) IFC4X3_RC3_types[273]); + IFC4X3_RC3_types[1079] = new entity(strings[2372], true, 1079, (entity*) IFC4X3_RC3_types[806]); + IFC4X3_RC3_types[1091] = new entity(strings[2373], true, 1091, (entity*) IFC4X3_RC3_types[806]); + IFC4X3_RC3_types[1106] = new entity(strings[2374], true, 1106, (entity*) IFC4X3_RC3_types[1091]); + IFC4X3_RC3_types[1111] = new entity(strings[2375], true, 1111, (entity*) IFC4X3_RC3_types[1079]); + IFC4X3_RC3_types[1116] = new entity(strings[2376], false, 1116, (entity*) IFC4X3_RC3_types[1106]); + IFC4X3_RC3_types[1118] = new entity(strings[2377], false, 1118, (entity*) IFC4X3_RC3_types[1116]); + IFC4X3_RC3_types[1119] = new entity(strings[2378], false, 1119, (entity*) IFC4X3_RC3_types[1111]); + IFC4X3_RC3_types[1124] = new entity(strings[2379], false, 1124, (entity*) IFC4X3_RC3_types[226]); + IFC4X3_RC3_types[1128] = new entity(strings[2380], false, 1128, (entity*) IFC4X3_RC3_types[273]); + IFC4X3_RC3_types[1129] = new entity(strings[2381], false, 1129, (entity*) IFC4X3_RC3_types[309]); + IFC4X3_RC3_types[1132] = new entity(strings[2382], false, 1132, (entity*) IFC4X3_RC3_types[1148]); + IFC4X3_RC3_types[1133] = new entity(strings[2383], false, 1133, (entity*) IFC4X3_RC3_types[1148]); + IFC4X3_RC3_types[1154] = new entity(strings[2384], false, 1154, (entity*) IFC4X3_RC3_types[502]); + IFC4X3_RC3_types[1162] = new entity(strings[2385], false, 1162, (entity*) IFC4X3_RC3_types[804]); + IFC4X3_RC3_types[1166] = new entity(strings[2386], false, 1166, (entity*) IFC4X3_RC3_types[1243]); + IFC4X3_RC3_types[1180] = new entity(strings[2387], true, 1180, (entity*) IFC4X3_RC3_types[1181]); + IFC4X3_RC3_types[1206] = new entity(strings[2388], false, 1206, (entity*) IFC4X3_RC3_types[1067]); + IFC4X3_RC3_types[1217] = new entity(strings[2389], false, 1217, (entity*) IFC4X3_RC3_types[399]); + IFC4X3_RC3_types[1230] = new entity(strings[2390], false, 1230, (entity*) IFC4X3_RC3_types[407]); + IFC4X3_RC3_types[1233] = new entity(strings[2391], false, 1233, (entity*) IFC4X3_RC3_types[1180]); + IFC4X3_RC3_types[1234] = new entity(strings[2392], false, 1234, (entity*) IFC4X3_RC3_types[1233]); + IFC4X3_RC3_types[1294] = new entity(strings[2393], false, 1294, (entity*) IFC4X3_RC3_types[792]); + IFC4X3_RC3_types[1297] = new entity(strings[2394], false, 1297, (entity*) IFC4X3_RC3_types[792]); + IFC4X3_RC3_types[51] = new select_type(strings[2395], 51, {IFC4X3_RC3_types[660],IFC4X3_RC3_types[884],IFC4X3_RC3_types[1257]}); + IFC4X3_RC3_types[68] = new select_type(strings[2396], 68, {IFC4X3_RC3_types[69],IFC4X3_RC3_types[70]}); + IFC4X3_RC3_types[90] = new select_type(strings[2397], 90, {IFC4X3_RC3_types[92],IFC4X3_RC3_types[264],IFC4X3_RC3_types[530],IFC4X3_RC3_types[1039],IFC4X3_RC3_types[1180]}); + IFC4X3_RC3_types[178] = new select_type(strings[2398], 178, {IFC4X3_RC3_types[182],IFC4X3_RC3_types[788]}); + IFC4X3_RC3_types[179] = new select_type(strings[2399], 179, {IFC4X3_RC3_types[180],IFC4X3_RC3_types[701]}); + IFC4X3_RC3_types[265] = new select_type(strings[2400], 265, {IFC4X3_RC3_types[92],IFC4X3_RC3_types[264]}); + IFC4X3_RC3_types[286] = new select_type(strings[2401], 286, {IFC4X3_RC3_types[283],IFC4X3_RC3_types[789]}); + IFC4X3_RC3_types[464] = new select_type(strings[2402], 464, {IFC4X3_RC3_types[178],IFC4X3_RC3_types[429],IFC4X3_RC3_types[462],IFC4X3_RC3_types[463]}); + IFC4X3_RC3_types[515] = new select_type(strings[2403], 515, {IFC4X3_RC3_types[273],IFC4X3_RC3_types[770],IFC4X3_RC3_types[1127]}); + IFC4X3_RC3_types[527] = new select_type(strings[2404], 527, {IFC4X3_RC3_types[307],IFC4X3_RC3_types[1275]}); + IFC4X3_RC3_types[672] = new select_type(strings[2405], 672, {IFC4X3_RC3_types[50],IFC4X3_RC3_types[660],IFC4X3_RC3_types[884],IFC4X3_RC3_types[1156],IFC4X3_RC3_types[1211],IFC4X3_RC3_types[1257]}); + IFC4X3_RC3_types[805] = new select_type(strings[2406], 805, {IFC4X3_RC3_types[804],IFC4X3_RC3_types[1243]}); + IFC4X3_RC3_types[810] = new select_type(strings[2407], 810, {IFC4X3_RC3_types[806],IFC4X3_RC3_types[1244]}); + IFC4X3_RC3_types[833] = new select_type(strings[2408], 833, {IFC4X3_RC3_types[832],IFC4X3_RC3_types[834]}); + IFC4X3_RC3_types[963] = new select_type(strings[2409], 963, {IFC4X3_RC3_types[958],IFC4X3_RC3_types[1245]}); + IFC4X3_RC3_types[1011] = new select_type(strings[2410], 1011, {IFC4X3_RC3_types[173],IFC4X3_RC3_types[720]}); + IFC4X3_RC3_types[1040] = new select_type(strings[2411], 1040, {IFC4X3_RC3_types[173],IFC4X3_RC3_types[1039]}); + IFC4X3_RC3_types[1134] = new select_type(strings[2412], 1134, {IFC4X3_RC3_types[440],IFC4X3_RC3_types[443],IFC4X3_RC3_types[1127]}); + IFC4X3_RC3_types[1237] = new select_type(strings[2413], 1237, {IFC4X3_RC3_types[147],IFC4X3_RC3_types[730]}); + IFC4X3_RC3_types[1263] = new select_type(strings[2414], 1263, {IFC4X3_RC3_types[307],IFC4X3_RC3_types[1262]}); + IFC4X3_RC3_types[6] = new entity(strings[2415], false, 6, (entity*) IFC4X3_RC3_types[703]); + IFC4X3_RC3_types[14] = new entity(strings[2416], false, 14, (entity*) IFC4X3_RC3_types[629]); + IFC4X3_RC3_types[15] = new entity(strings[2417], false, 15, (entity*) IFC4X3_RC3_types[14]); + IFC4X3_RC3_types[46] = new entity(strings[2418], false, 46, (entity*) IFC4X3_RC3_types[806]); + IFC4X3_RC3_types[111] = new entity(strings[2419], true, 111, (entity*) IFC4X3_RC3_types[101]); + IFC4X3_RC3_types[113] = new entity(strings[2420], false, 113, (entity*) IFC4X3_RC3_types[111]); + IFC4X3_RC3_types[84] = new entity(strings[2421], false, 84, (entity*) IFC4X3_RC3_types[264]); + IFC4X3_RC3_types[89] = new entity(strings[2422], false, 89, (entity*) IFC4X3_RC3_types[92]); + IFC4X3_RC3_types[100] = new entity(strings[2423], true, 100, (entity*) IFC4X3_RC3_types[273]); + IFC4X3_RC3_types[121] = new entity(strings[2424], false, 121, (entity*) IFC4X3_RC3_types[1056]); + IFC4X3_RC3_types[125] = new entity(strings[2425], false, 125, (entity*) IFC4X3_RC3_types[407]); + IFC4X3_RC3_types[162] = new entity(strings[2426], false, 162, (entity*) IFC4X3_RC3_types[125]); + IFC4X3_RC3_types[165] = new entity(strings[2427], false, 165, (entity*) IFC4X3_RC3_types[166]); + IFC4X3_RC3_types[168] = new entity(strings[2428], false, 168, (entity*) IFC4X3_RC3_types[407]); + IFC4X3_RC3_types[174] = new entity(strings[2429], false, 174, (entity*) IFC4X3_RC3_types[1067]); + IFC4X3_RC3_types[185] = new entity(strings[2430], false, 185, (entity*) IFC4X3_RC3_types[125]); + IFC4X3_RC3_types[192] = new entity(strings[2431], false, 192, (entity*) IFC4X3_RC3_types[839]); + IFC4X3_RC3_types[194] = new entity(strings[2432], false, 194, (entity*) IFC4X3_RC3_types[100]); + IFC4X3_RC3_types[195] = new entity(strings[2433], false, 195, (entity*) IFC4X3_RC3_types[194]); + IFC4X3_RC3_types[205] = new entity(strings[2434], true, 205, (entity*) IFC4X3_RC3_types[273]); + IFC4X3_RC3_types[217] = new entity(strings[2435], false, 217, (entity*) IFC4X3_RC3_types[226]); + IFC4X3_RC3_types[220] = new entity(strings[2436], false, 220, (entity*) IFC4X3_RC3_types[226]); + IFC4X3_RC3_types[223] = new entity(strings[2437], false, 223, (entity*) IFC4X3_RC3_types[226]); + IFC4X3_RC3_types[225] = new entity(strings[2438], true, 225, (entity*) IFC4X3_RC3_types[958]); + IFC4X3_RC3_types[230] = new entity(strings[2439], true, 230, (entity*) IFC4X3_RC3_types[703]); + IFC4X3_RC3_types[248] = new entity(strings[2440], false, 248, (entity*) IFC4X3_RC3_types[1067]); + IFC4X3_RC3_types[249] = new entity(strings[2441], false, 249, (entity*) IFC4X3_RC3_types[230]); + IFC4X3_RC3_types[251] = new entity(strings[2442], false, 251, (entity*) IFC4X3_RC3_types[230]); + IFC4X3_RC3_types[256] = new entity(strings[2443], false, 256, (entity*) IFC4X3_RC3_types[125]); + IFC4X3_RC3_types[259] = new entity(strings[2444], false, 259, (entity*) IFC4X3_RC3_types[125]); + IFC4X3_RC3_types[261] = new entity(strings[2445], false, 261, (entity*) IFC4X3_RC3_types[225]); + IFC4X3_RC3_types[270] = new entity(strings[2446], false, 270, (entity*) IFC4X3_RC3_types[125]); + IFC4X3_RC3_types[287] = new entity(strings[2447], false, 287, (entity*) IFC4X3_RC3_types[399]); + IFC4X3_RC3_types[297] = new entity(strings[2448], false, 297, (entity*) IFC4X3_RC3_types[125]); + IFC4X3_RC3_types[324] = new entity(strings[2449], false, 324, (entity*) IFC4X3_RC3_types[407]); + IFC4X3_RC3_types[326] = new entity(strings[2450], true, 326, (entity*) IFC4X3_RC3_types[324]); + IFC4X3_RC3_types[338] = new entity(strings[2451], false, 338, (entity*) IFC4X3_RC3_types[792]); + IFC4X3_RC3_types[341] = new entity(strings[2452], false, 341, (entity*) IFC4X3_RC3_types[792]); + IFC4X3_RC3_types[346] = new entity(strings[2453], false, 346, (entity*) IFC4X3_RC3_types[125]); + IFC4X3_RC3_types[350] = new entity(strings[2454], false, 350, (entity*) IFC4X3_RC3_types[788]); + IFC4X3_RC3_types[351] = new entity(strings[2455], false, 351, (entity*) IFC4X3_RC3_types[789]); + IFC4X3_RC3_types[398] = new entity(strings[2456], true, 398, (entity*) IFC4X3_RC3_types[806]); + IFC4X3_RC3_types[400] = new entity(strings[2457], false, 400, (entity*) IFC4X3_RC3_types[398]); + IFC4X3_RC3_types[401] = new entity(strings[2458], false, 401, (entity*) IFC4X3_RC3_types[407]); + IFC4X3_RC3_types[403] = new entity(strings[2459], true, 403, (entity*) IFC4X3_RC3_types[398]); + IFC4X3_RC3_types[404] = new entity(strings[2460], true, 404, (entity*) IFC4X3_RC3_types[407]); + IFC4X3_RC3_types[408] = new entity(strings[2461], false, 408, (entity*) IFC4X3_RC3_types[205]); + IFC4X3_RC3_types[411] = new entity(strings[2462], true, 411, (entity*) IFC4X3_RC3_types[326]); + IFC4X3_RC3_types[414] = new entity(strings[2463], false, 414, (entity*) IFC4X3_RC3_types[411]); + IFC4X3_RC3_types[417] = new entity(strings[2464], false, 417, (entity*) IFC4X3_RC3_types[411]); + IFC4X3_RC3_types[420] = new entity(strings[2465], false, 420, (entity*) IFC4X3_RC3_types[411]); + IFC4X3_RC3_types[422] = new entity(strings[2466], false, 422, (entity*) IFC4X3_RC3_types[804]); + IFC4X3_RC3_types[436] = new entity(strings[2467], true, 436, (entity*) IFC4X3_RC3_types[1053]); + IFC4X3_RC3_types[444] = new entity(strings[2468], false, 444, (entity*) IFC4X3_RC3_types[629]); + IFC4X3_RC3_types[445] = new entity(strings[2469], false, 445, (entity*) IFC4X3_RC3_types[444]); + IFC4X3_RC3_types[446] = new entity(strings[2470], false, 446, (entity*) IFC4X3_RC3_types[1056]); + IFC4X3_RC3_types[447] = new entity(strings[2471], false, 447, (entity*) IFC4X3_RC3_types[1056]); + IFC4X3_RC3_types[455] = new entity(strings[2472], false, 455, (entity*) IFC4X3_RC3_types[403]); + IFC4X3_RC3_types[456] = new entity(strings[2473], false, 456, (entity*) IFC4X3_RC3_types[404]); + IFC4X3_RC3_types[458] = new entity(strings[2474], true, 458, (entity*) IFC4X3_RC3_types[398]); + IFC4X3_RC3_types[459] = new entity(strings[2475], true, 459, (entity*) IFC4X3_RC3_types[458]); + IFC4X3_RC3_types[460] = new entity(strings[2476], true, 460, (entity*) IFC4X3_RC3_types[458]); + IFC4X3_RC3_types[473] = new entity(strings[2477], true, 473, (entity*) IFC4X3_RC3_types[326]); + IFC4X3_RC3_types[476] = new entity(strings[2478], true, 476, (entity*) IFC4X3_RC3_types[326]); + IFC4X3_RC3_types[481] = new entity(strings[2479], false, 481, (entity*) IFC4X3_RC3_types[473]); + IFC4X3_RC3_types[484] = new entity(strings[2480], true, 484, (entity*) IFC4X3_RC3_types[326]); + IFC4X3_RC3_types[486] = new entity(strings[2481], true, 486, (entity*) IFC4X3_RC3_types[326]); + IFC4X3_RC3_types[488] = new entity(strings[2482], true, 488, (entity*) IFC4X3_RC3_types[326]); + IFC4X3_RC3_types[490] = new entity(strings[2483], true, 490, (entity*) IFC4X3_RC3_types[326]); + IFC4X3_RC3_types[492] = new entity(strings[2484], true, 492, (entity*) IFC4X3_RC3_types[326]); + IFC4X3_RC3_types[497] = new entity(strings[2485], false, 497, (entity*) IFC4X3_RC3_types[125]); + IFC4X3_RC3_types[501] = new entity(strings[2486], false, 501, (entity*) IFC4X3_RC3_types[398]); + IFC4X3_RC3_types[503] = new entity(strings[2487], false, 503, (entity*) IFC4X3_RC3_types[501]); + IFC4X3_RC3_types[506] = new entity(strings[2488], false, 506, (entity*) IFC4X3_RC3_types[398]); + IFC4X3_RC3_types[519] = new entity(strings[2489], true, 519, (entity*) IFC4X3_RC3_types[398]); + IFC4X3_RC3_types[520] = new entity(strings[2490], true, 520, (entity*) IFC4X3_RC3_types[519]); + IFC4X3_RC3_types[523] = new entity(strings[2491], false, 523, (entity*) IFC4X3_RC3_types[194]); + IFC4X3_RC3_types[529] = new entity(strings[2492], false, 529, (entity*) IFC4X3_RC3_types[703]); + IFC4X3_RC3_types[533] = new entity(strings[2493], false, 533, (entity*) IFC4X3_RC3_types[411]); + IFC4X3_RC3_types[538] = new entity(strings[2494], false, 538, (entity*) IFC4X3_RC3_types[411]); + IFC4X3_RC3_types[543] = new entity(strings[2495], false, 543, (entity*) IFC4X3_RC3_types[403]); + IFC4X3_RC3_types[544] = new entity(strings[2496], false, 544, (entity*) IFC4X3_RC3_types[404]); + IFC4X3_RC3_types[549] = new entity(strings[2497], false, 549, (entity*) IFC4X3_RC3_types[100]); + IFC4X3_RC3_types[558] = new entity(strings[2498], false, 558, (entity*) IFC4X3_RC3_types[492]); + IFC4X3_RC3_types[562] = new entity(strings[2499], false, 562, (entity*) IFC4X3_RC3_types[1128]); + IFC4X3_RC3_types[563] = new entity(strings[2500], false, 563, (entity*) IFC4X3_RC3_types[529]); + IFC4X3_RC3_types[571] = new entity(strings[2501], false, 571, (entity*) IFC4X3_RC3_types[476]); + IFC4X3_RC3_types[574] = new entity(strings[2502], false, 574, (entity*) IFC4X3_RC3_types[125]); + IFC4X3_RC3_types[578] = new entity(strings[2503], false, 578, (entity*) IFC4X3_RC3_types[225]); + IFC4X3_RC3_types[583] = new entity(strings[2504], false, 583, (entity*) IFC4X3_RC3_types[490]); + IFC4X3_RC3_types[597] = new entity(strings[2505], false, 597, (entity*) IFC4X3_RC3_types[490]); + IFC4X3_RC3_types[607] = new entity(strings[2506], true, 607, (entity*) IFC4X3_RC3_types[806]); + IFC4X3_RC3_types[616] = new entity(strings[2507], false, 616, (entity*) IFC4X3_RC3_types[490]); + IFC4X3_RC3_types[632] = new entity(strings[2508], false, 632, (entity*) IFC4X3_RC3_types[446]); + IFC4X3_RC3_types[661] = new entity(strings[2509], false, 661, (entity*) IFC4X3_RC3_types[403]); + IFC4X3_RC3_types[662] = new entity(strings[2510], false, 662, (entity*) IFC4X3_RC3_types[404]); + IFC4X3_RC3_types[665] = new entity(strings[2511], false, 665, (entity*) IFC4X3_RC3_types[490]); + IFC4X3_RC3_types[669] = new entity(strings[2512], false, 669, (entity*) IFC4X3_RC3_types[125]); + IFC4X3_RC3_types[675] = new entity(strings[2513], false, 675, (entity*) IFC4X3_RC3_types[490]); + IFC4X3_RC3_types[691] = new entity(strings[2514], false, 691, (entity*) IFC4X3_RC3_types[125]); + IFC4X3_RC3_types[694] = new entity(strings[2515], false, 694, (entity*) IFC4X3_RC3_types[411]); + IFC4X3_RC3_types[698] = new entity(strings[2516], false, 698, (entity*) IFC4X3_RC3_types[125]); + IFC4X3_RC3_types[710] = new entity(strings[2517], false, 710, (entity*) IFC4X3_RC3_types[6]); + IFC4X3_RC3_types[717] = new entity(strings[2518], false, 717, (entity*) IFC4X3_RC3_types[460]); + IFC4X3_RC3_types[719] = new entity(strings[2519], false, 719, (entity*) IFC4X3_RC3_types[717]); + IFC4X3_RC3_types[726] = new entity(strings[2520], false, 726, (entity*) IFC4X3_RC3_types[490]); + IFC4X3_RC3_types[733] = new entity(strings[2521], false, 733, (entity*) IFC4X3_RC3_types[125]); + IFC4X3_RC3_types[735] = new entity(strings[2522], false, 735, (entity*) IFC4X3_RC3_types[230]); + IFC4X3_RC3_types[738] = new entity(strings[2523], false, 738, (entity*) IFC4X3_RC3_types[792]); + IFC4X3_RC3_types[739] = new entity(strings[2524], false, 739, (entity*) IFC4X3_RC3_types[230]); + IFC4X3_RC3_types[750] = new entity(strings[2525], false, 750, (entity*) IFC4X3_RC3_types[297]); + IFC4X3_RC3_types[753] = new entity(strings[2526], false, 753, (entity*) IFC4X3_RC3_types[476]); + IFC4X3_RC3_types[756] = new entity(strings[2527], false, 756, (entity*) IFC4X3_RC3_types[486]); + IFC4X3_RC3_types[765] = new entity(strings[2528], false, 765, (entity*) IFC4X3_RC3_types[506]); + IFC4X3_RC3_types[768] = new entity(strings[2529], false, 768, (entity*) IFC4X3_RC3_types[125]); + IFC4X3_RC3_types[776] = new entity(strings[2530], false, 776, (entity*) IFC4X3_RC3_types[1180]); + IFC4X3_RC3_types[777] = new entity(strings[2531], false, 777, (entity*) IFC4X3_RC3_types[100]); + IFC4X3_RC3_types[780] = new entity(strings[2532], true, 780, (entity*) IFC4X3_RC3_types[806]); + IFC4X3_RC3_types[781] = new entity(strings[2533], true, 781, (entity*) IFC4X3_RC3_types[806]); + IFC4X3_RC3_types[801] = new entity(strings[2534], false, 801, (entity*) IFC4X3_RC3_types[804]); + IFC4X3_RC3_types[820] = new entity(strings[2535], false, 820, (entity*) IFC4X3_RC3_types[230]); + IFC4X3_RC3_types[817] = new entity(strings[2536], false, 817, (entity*) IFC4X3_RC3_types[459]); + IFC4X3_RC3_types[845] = new entity(strings[2537], false, 845, (entity*) IFC4X3_RC3_types[473]); + IFC4X3_RC3_types[849] = new entity(strings[2538], false, 849, (entity*) IFC4X3_RC3_types[484]); + IFC4X3_RC3_types[863] = new entity(strings[2539], false, 863, (entity*) IFC4X3_RC3_types[125]); + IFC4X3_RC3_types[861] = new entity(strings[2540], false, 861, (entity*) IFC4X3_RC3_types[125]); + IFC4X3_RC3_types[865] = new entity(strings[2541], false, 865, (entity*) IFC4X3_RC3_types[446]); + IFC4X3_RC3_types[870] = new entity(strings[2542], false, 870, (entity*) IFC4X3_RC3_types[125]); + IFC4X3_RC3_types[872] = new entity(strings[2543], false, 872, (entity*) IFC4X3_RC3_types[125]); + IFC4X3_RC3_types[876] = new entity(strings[2544], false, 876, (entity*) IFC4X3_RC3_types[113]); + IFC4X3_RC3_types[885] = new entity(strings[2545], false, 885, (entity*) IFC4X3_RC3_types[781]); + IFC4X3_RC3_types[898] = new entity(strings[2546], true, 898, (entity*) IFC4X3_RC3_types[403]); + IFC4X3_RC3_types[899] = new entity(strings[2547], true, 899, (entity*) IFC4X3_RC3_types[404]); + IFC4X3_RC3_types[900] = new entity(strings[2548], false, 900, (entity*) IFC4X3_RC3_types[898]); + IFC4X3_RC3_types[901] = new entity(strings[2549], false, 901, (entity*) IFC4X3_RC3_types[899]); + IFC4X3_RC3_types[903] = new entity(strings[2550], false, 903, (entity*) IFC4X3_RC3_types[934]); + IFC4X3_RC3_types[969] = new entity(strings[2551], false, 969, (entity*) IFC4X3_RC3_types[446]); + IFC4X3_RC3_types[974] = new entity(strings[2552], false, 974, (entity*) IFC4X3_RC3_types[125]); + IFC4X3_RC3_types[983] = new entity(strings[2553], false, 983, (entity*) IFC4X3_RC3_types[490]); + IFC4X3_RC3_types[986] = new entity(strings[2554], false, 986, (entity*) IFC4X3_RC3_types[1128]); + IFC4X3_RC3_types[987] = new entity(strings[2555], false, 987, (entity*) IFC4X3_RC3_types[1067]); + IFC4X3_RC3_types[998] = new entity(strings[2556], false, 998, (entity*) IFC4X3_RC3_types[194]); + IFC4X3_RC3_types[1005] = new entity(strings[2557], false, 1005, (entity*) IFC4X3_RC3_types[125]); + IFC4X3_RC3_types[1013] = new entity(strings[2558], false, 1013, (entity*) IFC4X3_RC3_types[403]); + IFC4X3_RC3_types[1017] = new entity(strings[2559], false, 1017, (entity*) IFC4X3_RC3_types[404]); + IFC4X3_RC3_types[1015] = new entity(strings[2560], false, 1015, (entity*) IFC4X3_RC3_types[490]); + IFC4X3_RC3_types[1023] = new entity(strings[2561], false, 1023, (entity*) IFC4X3_RC3_types[1067]); + IFC4X3_RC3_types[1025] = new entity(strings[2562], false, 1025, (entity*) IFC4X3_RC3_types[1056]); + IFC4X3_RC3_types[1032] = new entity(strings[2563], false, 1032, (entity*) IFC4X3_RC3_types[125]); + IFC4X3_RC3_types[1036] = new entity(strings[2564], false, 1036, (entity*) IFC4X3_RC3_types[411]); + IFC4X3_RC3_types[1041] = new entity(strings[2565], false, 1041, (entity*) IFC4X3_RC3_types[520]); + IFC4X3_RC3_types[1046] = new entity(strings[2566], false, 1046, (entity*) IFC4X3_RC3_types[1056]); + IFC4X3_RC3_types[1049] = new entity(strings[2567], false, 1049, (entity*) IFC4X3_RC3_types[490]); + IFC4X3_RC3_types[1051] = new entity(strings[2568], false, 1051, (entity*) IFC4X3_RC3_types[1057]); + IFC4X3_RC3_types[1069] = new entity(strings[2569], false, 1069, (entity*) IFC4X3_RC3_types[490]); + IFC4X3_RC3_types[1073] = new entity(strings[2570], false, 1073, (entity*) IFC4X3_RC3_types[125]); + IFC4X3_RC3_types[1075] = new entity(strings[2571], false, 1075, (entity*) IFC4X3_RC3_types[125]); + IFC4X3_RC3_types[1078] = new entity(strings[2572], true, 1078, (entity*) IFC4X3_RC3_types[1079]); + IFC4X3_RC3_types[1082] = new entity(strings[2573], true, 1082, (entity*) IFC4X3_RC3_types[1091]); + IFC4X3_RC3_types[1084] = new entity(strings[2574], false, 1084, (entity*) IFC4X3_RC3_types[1078]); + IFC4X3_RC3_types[1086] = new entity(strings[2575], false, 1086, (entity*) IFC4X3_RC3_types[1082]); + IFC4X3_RC3_types[1087] = new entity(strings[2576], false, 1087, (entity*) IFC4X3_RC3_types[1106]); + IFC4X3_RC3_types[1089] = new entity(strings[2577], false, 1089, (entity*) IFC4X3_RC3_types[1087]); + IFC4X3_RC3_types[1090] = new entity(strings[2578], false, 1090, (entity*) IFC4X3_RC3_types[1111]); + IFC4X3_RC3_types[1092] = new entity(strings[2579], false, 1092, (entity*) IFC4X3_RC3_types[1084]); + IFC4X3_RC3_types[1096] = new entity(strings[2580], false, 1096, (entity*) IFC4X3_RC3_types[529]); + IFC4X3_RC3_types[1108] = new entity(strings[2581], false, 1108, (entity*) IFC4X3_RC3_types[1078]); + IFC4X3_RC3_types[1109] = new entity(strings[2582], false, 1109, (entity*) IFC4X3_RC3_types[1082]); + IFC4X3_RC3_types[1110] = new entity(strings[2583], false, 1110, (entity*) IFC4X3_RC3_types[1111]); + IFC4X3_RC3_types[1112] = new entity(strings[2584], false, 1112, (entity*) IFC4X3_RC3_types[529]); + IFC4X3_RC3_types[1113] = new entity(strings[2585], false, 1113, (entity*) IFC4X3_RC3_types[1078]); + IFC4X3_RC3_types[1115] = new entity(strings[2586], false, 1115, (entity*) IFC4X3_RC3_types[1082]); + IFC4X3_RC3_types[1123] = new entity(strings[2587], false, 1123, (entity*) IFC4X3_RC3_types[225]); + IFC4X3_RC3_types[1130] = new entity(strings[2588], false, 1130, (entity*) IFC4X3_RC3_types[458]); + IFC4X3_RC3_types[1150] = new entity(strings[2589], false, 1150, (entity*) IFC4X3_RC3_types[473]); + IFC4X3_RC3_types[1152] = new entity(strings[2590], false, 1152, (entity*) IFC4X3_RC3_types[529]); + IFC4X3_RC3_types[1153] = new entity(strings[2591], false, 1153, (entity*) IFC4X3_RC3_types[501]); + IFC4X3_RC3_types[1160] = new entity(strings[2592], false, 1160, (entity*) IFC4X3_RC3_types[488]); + IFC4X3_RC3_types[1171] = new entity(strings[2593], false, 1171, (entity*) IFC4X3_RC3_types[898]); + IFC4X3_RC3_types[1172] = new entity(strings[2594], false, 1172, (entity*) IFC4X3_RC3_types[898]); + IFC4X3_RC3_types[1173] = new entity(strings[2595], false, 1173, (entity*) IFC4X3_RC3_types[899]); + IFC4X3_RC3_types[1175] = new entity(strings[2596], false, 1175, (entity*) IFC4X3_RC3_types[898]); + IFC4X3_RC3_types[1176] = new entity(strings[2597], false, 1176, (entity*) IFC4X3_RC3_types[899]); + IFC4X3_RC3_types[1178] = new entity(strings[2598], false, 1178, (entity*) IFC4X3_RC3_types[899]); + IFC4X3_RC3_types[1220] = new entity(strings[2599], false, 1220, (entity*) IFC4X3_RC3_types[125]); + IFC4X3_RC3_types[1223] = new entity(strings[2600], false, 1223, (entity*) IFC4X3_RC3_types[411]); + IFC4X3_RC3_types[1227] = new entity(strings[2601], false, 1227, (entity*) IFC4X3_RC3_types[398]); + IFC4X3_RC3_types[1235] = new entity(strings[2602], false, 1235, (entity*) IFC4X3_RC3_types[100]); + IFC4X3_RC3_types[1240] = new entity(strings[2603], false, 1240, (entity*) IFC4X3_RC3_types[411]); + IFC4X3_RC3_types[1251] = new entity(strings[2604], false, 1251, (entity*) IFC4X3_RC3_types[411]); + IFC4X3_RC3_types[1259] = new entity(strings[2605], false, 1259, (entity*) IFC4X3_RC3_types[473]); + IFC4X3_RC3_types[1267] = new entity(strings[2606], false, 1267, (entity*) IFC4X3_RC3_types[403]); + IFC4X3_RC3_types[1268] = new entity(strings[2607], false, 1268, (entity*) IFC4X3_RC3_types[404]); + IFC4X3_RC3_types[1270] = new entity(strings[2608], false, 1270, (entity*) IFC4X3_RC3_types[403]); + IFC4X3_RC3_types[1271] = new entity(strings[2609], false, 1271, (entity*) IFC4X3_RC3_types[404]); + IFC4X3_RC3_types[1273] = new entity(strings[2610], false, 1273, (entity*) IFC4X3_RC3_types[100]); + IFC4X3_RC3_types[1274] = new entity(strings[2611], false, 1274, (entity*) IFC4X3_RC3_types[398]); + IFC4X3_RC3_types[1278] = new entity(strings[2612], false, 1278, (entity*) IFC4X3_RC3_types[520]); + IFC4X3_RC3_types[1276] = new entity(strings[2613], false, 1276, (entity*) IFC4X3_RC3_types[460]); + IFC4X3_RC3_types[1284] = new entity(strings[2614], false, 1284, (entity*) IFC4X3_RC3_types[125]); + IFC4X3_RC3_types[1290] = new entity(strings[2615], false, 1290, (entity*) IFC4X3_RC3_types[490]); + IFC4X3_RC3_types[1292] = new entity(strings[2616], false, 1292, (entity*) IFC4X3_RC3_types[520]); + IFC4X3_RC3_types[1302] = new entity(strings[2617], false, 1302, (entity*) IFC4X3_RC3_types[125]); + IFC4X3_RC3_types[1305] = new entity(strings[2618], false, 1305, (entity*) IFC4X3_RC3_types[230]); + IFC4X3_RC3_types[1307] = new entity(strings[2619], true, 1307, (entity*) IFC4X3_RC3_types[230]); + IFC4X3_RC3_types[1308] = new entity(strings[2620], false, 1308, (entity*) IFC4X3_RC3_types[1307]); + IFC4X3_RC3_types[1310] = new entity(strings[2621], false, 1310, (entity*) IFC4X3_RC3_types[1307]); + IFC4X3_RC3_types[1313] = new entity(strings[2622], false, 1313, (entity*) IFC4X3_RC3_types[1152]); + IFC4X3_RC3_types[276] = new select_type(strings[2623], 276, {IFC4X3_RC3_types[284],IFC4X3_RC3_types[286]}); + IFC4X3_RC3_types[279] = new select_type(strings[2624], 279, {IFC4X3_RC3_types[195],IFC4X3_RC3_types[734],IFC4X3_RC3_types[1128]}); + IFC4X3_RC3_types[280] = new select_type(strings[2625], 280, {IFC4X3_RC3_types[100],IFC4X3_RC3_types[369]}); + IFC4X3_RC3_types[560] = new select_type(strings[2626], 560, {IFC4X3_RC3_types[398],IFC4X3_RC3_types[1053]}); + IFC4X3_RC3_types[1055] = new select_type(strings[2627], 1055, {IFC4X3_RC3_types[529],IFC4X3_RC3_types[806]}); + IFC4X3_RC3_types[1080] = new select_type(strings[2628], 1080, {IFC4X3_RC3_types[398],IFC4X3_RC3_types[1091]}); + IFC4X3_RC3_types[2] = new entity(strings[2629], false, 2, (entity*) IFC4X3_RC3_types[230]); + IFC4X3_RC3_types[19] = new entity(strings[2630], false, 19, (entity*) IFC4X3_RC3_types[473]); + IFC4X3_RC3_types[21] = new entity(strings[2631], false, 21, (entity*) IFC4X3_RC3_types[490]); + IFC4X3_RC3_types[24] = new entity(strings[2632], false, 24, (entity*) IFC4X3_RC3_types[411]); + IFC4X3_RC3_types[30] = new entity(strings[2633], false, 30, (entity*) IFC4X3_RC3_types[607]); + IFC4X3_RC3_types[33] = new entity(strings[2634], false, 33, (entity*) IFC4X3_RC3_types[607]); + IFC4X3_RC3_types[37] = new entity(strings[2635], false, 37, (entity*) IFC4X3_RC3_types[607]); + IFC4X3_RC3_types[39] = new entity(strings[2636], false, 39, (entity*) IFC4X3_RC3_types[607]); + IFC4X3_RC3_types[62] = new entity(strings[2637], false, 62, (entity*) IFC4X3_RC3_types[529]); + IFC4X3_RC3_types[65] = new entity(strings[2638], false, 65, (entity*) IFC4X3_RC3_types[490]); + IFC4X3_RC3_types[108] = new entity(strings[2639], true, 108, (entity*) IFC4X3_RC3_types[100]); + IFC4X3_RC3_types[110] = new entity(strings[2640], false, 110, (entity*) IFC4X3_RC3_types[108]); + IFC4X3_RC3_types[74] = new entity(strings[2641], false, 74, (entity*) IFC4X3_RC3_types[125]); + IFC4X3_RC3_types[77] = new entity(strings[2642], false, 77, (entity*) IFC4X3_RC3_types[125]); + IFC4X3_RC3_types[86] = new entity(strings[2643], false, 86, (entity*) IFC4X3_RC3_types[411]); + IFC4X3_RC3_types[95] = new entity(strings[2644], false, 95, (entity*) IFC4X3_RC3_types[195]); + IFC4X3_RC3_types[105] = new entity(strings[2645], false, 105, (entity*) IFC4X3_RC3_types[446]); + IFC4X3_RC3_types[114] = new entity(strings[2646], false, 114, (entity*) IFC4X3_RC3_types[446]); + IFC4X3_RC3_types[115] = new entity(strings[2647], false, 115, (entity*) IFC4X3_RC3_types[403]); + IFC4X3_RC3_types[116] = new entity(strings[2648], false, 116, (entity*) IFC4X3_RC3_types[404]); + IFC4X3_RC3_types[119] = new entity(strings[2649], false, 119, (entity*) IFC4X3_RC3_types[125]); + IFC4X3_RC3_types[122] = new entity(strings[2650], false, 122, (entity*) IFC4X3_RC3_types[1152]); + IFC4X3_RC3_types[124] = new entity(strings[2651], false, 124, (entity*) IFC4X3_RC3_types[398]); + IFC4X3_RC3_types[126] = new entity(strings[2652], false, 126, (entity*) IFC4X3_RC3_types[1152]); + IFC4X3_RC3_types[129] = new entity(strings[2653], false, 129, (entity*) IFC4X3_RC3_types[411]); + IFC4X3_RC3_types[132] = new entity(strings[2654], false, 132, (entity*) IFC4X3_RC3_types[476]); + IFC4X3_RC3_types[135] = new entity(strings[2655], false, 135, (entity*) IFC4X3_RC3_types[486]); + IFC4X3_RC3_types[138] = new entity(strings[2656], false, 138, (entity*) IFC4X3_RC3_types[476]); + IFC4X3_RC3_types[141] = new entity(strings[2657], false, 141, (entity*) IFC4X3_RC3_types[486]); + IFC4X3_RC3_types[144] = new entity(strings[2658], false, 144, (entity*) IFC4X3_RC3_types[297]); + IFC4X3_RC3_types[159] = new entity(strings[2659], false, 159, (entity*) IFC4X3_RC3_types[411]); + IFC4X3_RC3_types[161] = new entity(strings[2660], false, 161, (entity*) IFC4X3_RC3_types[124]); + IFC4X3_RC3_types[164] = new entity(strings[2661], false, 164, (entity*) IFC4X3_RC3_types[205]); + IFC4X3_RC3_types[167] = new entity(strings[2662], false, 167, (entity*) IFC4X3_RC3_types[398]); + IFC4X3_RC3_types[176] = new entity(strings[2663], false, 176, (entity*) IFC4X3_RC3_types[411]); + IFC4X3_RC3_types[183] = new entity(strings[2664], false, 183, (entity*) IFC4X3_RC3_types[124]); + IFC4X3_RC3_types[184] = new entity(strings[2665], false, 184, (entity*) IFC4X3_RC3_types[183]); + IFC4X3_RC3_types[188] = new entity(strings[2666], false, 188, (entity*) IFC4X3_RC3_types[490]); + IFC4X3_RC3_types[200] = new entity(strings[2667], false, 200, (entity*) IFC4X3_RC3_types[484]); + IFC4X3_RC3_types[203] = new entity(strings[2668], false, 203, (entity*) IFC4X3_RC3_types[411]); + IFC4X3_RC3_types[216] = new entity(strings[2669], false, 216, (entity*) IFC4X3_RC3_types[225]); + IFC4X3_RC3_types[219] = new entity(strings[2670], false, 219, (entity*) IFC4X3_RC3_types[225]); + IFC4X3_RC3_types[222] = new entity(strings[2671], false, 222, (entity*) IFC4X3_RC3_types[225]); + IFC4X3_RC3_types[237] = new entity(strings[2672], false, 237, (entity*) IFC4X3_RC3_types[486]); + IFC4X3_RC3_types[240] = new entity(strings[2673], false, 240, (entity*) IFC4X3_RC3_types[411]); + IFC4X3_RC3_types[243] = new entity(strings[2674], false, 243, (entity*) IFC4X3_RC3_types[411]); + IFC4X3_RC3_types[255] = new entity(strings[2675], false, 255, (entity*) IFC4X3_RC3_types[124]); + IFC4X3_RC3_types[258] = new entity(strings[2676], false, 258, (entity*) IFC4X3_RC3_types[124]); + IFC4X3_RC3_types[269] = new entity(strings[2677], false, 269, (entity*) IFC4X3_RC3_types[124]); + IFC4X3_RC3_types[289] = new entity(strings[2678], false, 289, (entity*) IFC4X3_RC3_types[473]); + IFC4X3_RC3_types[296] = new entity(strings[2679], false, 296, (entity*) IFC4X3_RC3_types[124]); + IFC4X3_RC3_types[311] = new entity(strings[2680], false, 311, (entity*) IFC4X3_RC3_types[403]); + IFC4X3_RC3_types[312] = new entity(strings[2681], false, 312, (entity*) IFC4X3_RC3_types[404]); + IFC4X3_RC3_types[315] = new entity(strings[2682], false, 315, (entity*) IFC4X3_RC3_types[473]); + IFC4X3_RC3_types[318] = new entity(strings[2683], false, 318, (entity*) IFC4X3_RC3_types[326]); + IFC4X3_RC3_types[322] = new entity(strings[2684], true, 322, (entity*) IFC4X3_RC3_types[324]); + IFC4X3_RC3_types[323] = new entity(strings[2685], false, 323, (entity*) IFC4X3_RC3_types[398]); + IFC4X3_RC3_types[325] = new entity(strings[2686], false, 325, (entity*) IFC4X3_RC3_types[323]); + IFC4X3_RC3_types[327] = new entity(strings[2687], false, 327, (entity*) IFC4X3_RC3_types[780]); + IFC4X3_RC3_types[329] = new entity(strings[2688], false, 329, (entity*) IFC4X3_RC3_types[1152]); + IFC4X3_RC3_types[337] = new entity(strings[2689], false, 337, (entity*) IFC4X3_RC3_types[124]); + IFC4X3_RC3_types[342] = new entity(strings[2690], false, 342, (entity*) IFC4X3_RC3_types[337]); + IFC4X3_RC3_types[353] = new entity(strings[2691], false, 353, (entity*) IFC4X3_RC3_types[476]); + IFC4X3_RC3_types[356] = new entity(strings[2692], false, 356, (entity*) IFC4X3_RC3_types[486]); + IFC4X3_RC3_types[359] = new entity(strings[2693], false, 359, (entity*) IFC4X3_RC3_types[492]); + IFC4X3_RC3_types[363] = new entity(strings[2694], false, 363, (entity*) IFC4X3_RC3_types[460]); + IFC4X3_RC3_types[365] = new entity(strings[2695], false, 365, (entity*) IFC4X3_RC3_types[124]); + IFC4X3_RC3_types[366] = new entity(strings[2696], false, 366, (entity*) IFC4X3_RC3_types[365]); + IFC4X3_RC3_types[372] = new entity(strings[2697], false, 372, (entity*) IFC4X3_RC3_types[490]); + IFC4X3_RC3_types[379] = new entity(strings[2698], false, 379, (entity*) IFC4X3_RC3_types[473]); + IFC4X3_RC3_types[382] = new entity(strings[2699], false, 382, (entity*) IFC4X3_RC3_types[488]); + IFC4X3_RC3_types[385] = new entity(strings[2700], false, 385, (entity*) IFC4X3_RC3_types[492]); + IFC4X3_RC3_types[388] = new entity(strings[2701], false, 388, (entity*) IFC4X3_RC3_types[411]); + IFC4X3_RC3_types[391] = new entity(strings[2702], false, 391, (entity*) IFC4X3_RC3_types[411]); + IFC4X3_RC3_types[395] = new entity(strings[2703], false, 395, (entity*) IFC4X3_RC3_types[473]); + IFC4X3_RC3_types[410] = new entity(strings[2704], false, 410, (entity*) IFC4X3_RC3_types[325]); + IFC4X3_RC3_types[413] = new entity(strings[2705], false, 413, (entity*) IFC4X3_RC3_types[410]); + IFC4X3_RC3_types[416] = new entity(strings[2706], false, 416, (entity*) IFC4X3_RC3_types[410]); + IFC4X3_RC3_types[419] = new entity(strings[2707], false, 419, (entity*) IFC4X3_RC3_types[410]); + IFC4X3_RC3_types[434] = new entity(strings[2708], false, 434, (entity*) IFC4X3_RC3_types[436]); + IFC4X3_RC3_types[453] = new entity(strings[2709], false, 453, (entity*) IFC4X3_RC3_types[484]); + IFC4X3_RC3_types[466] = new entity(strings[2710], false, 466, (entity*) IFC4X3_RC3_types[492]); + IFC4X3_RC3_types[469] = new entity(strings[2711], false, 469, (entity*) IFC4X3_RC3_types[490]); + IFC4X3_RC3_types[472] = new entity(strings[2712], false, 472, (entity*) IFC4X3_RC3_types[325]); + IFC4X3_RC3_types[475] = new entity(strings[2713], false, 475, (entity*) IFC4X3_RC3_types[325]); + IFC4X3_RC3_types[478] = new entity(strings[2714], false, 478, (entity*) IFC4X3_RC3_types[322]); + IFC4X3_RC3_types[480] = new entity(strings[2715], false, 480, (entity*) IFC4X3_RC3_types[472]); + IFC4X3_RC3_types[483] = new entity(strings[2716], false, 483, (entity*) IFC4X3_RC3_types[325]); + IFC4X3_RC3_types[485] = new entity(strings[2717], false, 485, (entity*) IFC4X3_RC3_types[325]); + IFC4X3_RC3_types[487] = new entity(strings[2718], false, 487, (entity*) IFC4X3_RC3_types[325]); + IFC4X3_RC3_types[489] = new entity(strings[2719], false, 489, (entity*) IFC4X3_RC3_types[325]); + IFC4X3_RC3_types[491] = new entity(strings[2720], false, 491, (entity*) IFC4X3_RC3_types[325]); + IFC4X3_RC3_types[496] = new entity(strings[2721], false, 496, (entity*) IFC4X3_RC3_types[124]); + IFC4X3_RC3_types[518] = new entity(strings[2722], true, 518, (entity*) IFC4X3_RC3_types[519]); + IFC4X3_RC3_types[524] = new entity(strings[2723], false, 524, (entity*) IFC4X3_RC3_types[781]); + IFC4X3_RC3_types[532] = new entity(strings[2724], false, 532, (entity*) IFC4X3_RC3_types[410]); + IFC4X3_RC3_types[537] = new entity(strings[2725], false, 537, (entity*) IFC4X3_RC3_types[410]); + IFC4X3_RC3_types[557] = new entity(strings[2726], false, 557, (entity*) IFC4X3_RC3_types[491]); + IFC4X3_RC3_types[570] = new entity(strings[2727], false, 570, (entity*) IFC4X3_RC3_types[475]); + IFC4X3_RC3_types[573] = new entity(strings[2728], false, 573, (entity*) IFC4X3_RC3_types[124]); + IFC4X3_RC3_types[582] = new entity(strings[2729], false, 582, (entity*) IFC4X3_RC3_types[489]); + IFC4X3_RC3_types[596] = new entity(strings[2730], false, 596, (entity*) IFC4X3_RC3_types[489]); + IFC4X3_RC3_types[611] = new entity(strings[2731], false, 611, (entity*) IFC4X3_RC3_types[781]); + IFC4X3_RC3_types[615] = new entity(strings[2732], false, 615, (entity*) IFC4X3_RC3_types[489]); + IFC4X3_RC3_types[664] = new entity(strings[2733], false, 664, (entity*) IFC4X3_RC3_types[489]); + IFC4X3_RC3_types[667] = new entity(strings[2734], false, 667, (entity*) IFC4X3_RC3_types[124]); + IFC4X3_RC3_types[668] = new entity(strings[2735], false, 668, (entity*) IFC4X3_RC3_types[667]); + IFC4X3_RC3_types[674] = new entity(strings[2736], false, 674, (entity*) IFC4X3_RC3_types[489]); + IFC4X3_RC3_types[690] = new entity(strings[2737], false, 690, (entity*) IFC4X3_RC3_types[124]); + IFC4X3_RC3_types[693] = new entity(strings[2738], false, 693, (entity*) IFC4X3_RC3_types[410]); + IFC4X3_RC3_types[697] = new entity(strings[2739], false, 697, (entity*) IFC4X3_RC3_types[124]); + IFC4X3_RC3_types[724] = new entity(strings[2740], false, 724, (entity*) IFC4X3_RC3_types[95]); + IFC4X3_RC3_types[725] = new entity(strings[2741], false, 725, (entity*) IFC4X3_RC3_types[489]); + IFC4X3_RC3_types[732] = new entity(strings[2742], false, 732, (entity*) IFC4X3_RC3_types[124]); + IFC4X3_RC3_types[748] = new entity(strings[2743], false, 748, (entity*) IFC4X3_RC3_types[296]); + IFC4X3_RC3_types[752] = new entity(strings[2744], false, 752, (entity*) IFC4X3_RC3_types[475]); + IFC4X3_RC3_types[755] = new entity(strings[2745], false, 755, (entity*) IFC4X3_RC3_types[485]); + IFC4X3_RC3_types[766] = new entity(strings[2746], false, 766, (entity*) IFC4X3_RC3_types[124]); + IFC4X3_RC3_types[767] = new entity(strings[2747], false, 767, (entity*) IFC4X3_RC3_types[766]); + IFC4X3_RC3_types[841] = new entity(strings[2748], false, 841, (entity*) IFC4X3_RC3_types[472]); + IFC4X3_RC3_types[843] = new entity(strings[2749], false, 843, (entity*) IFC4X3_RC3_types[322]); + IFC4X3_RC3_types[848] = new entity(strings[2750], false, 848, (entity*) IFC4X3_RC3_types[483]); + IFC4X3_RC3_types[859] = new entity(strings[2751], false, 859, (entity*) IFC4X3_RC3_types[124]); + IFC4X3_RC3_types[860] = new entity(strings[2752], false, 860, (entity*) IFC4X3_RC3_types[124]); + IFC4X3_RC3_types[868] = new entity(strings[2753], false, 868, (entity*) IFC4X3_RC3_types[124]); + IFC4X3_RC3_types[869] = new entity(strings[2754], false, 869, (entity*) IFC4X3_RC3_types[124]); + IFC4X3_RC3_types[875] = new entity(strings[2755], false, 875, (entity*) IFC4X3_RC3_types[110]); + IFC4X3_RC3_types[889] = new entity(strings[2756], false, 889, (entity*) IFC4X3_RC3_types[365]); + IFC4X3_RC3_types[893] = new entity(strings[2757], false, 893, (entity*) IFC4X3_RC3_types[898]); + IFC4X3_RC3_types[896] = new entity(strings[2758], false, 896, (entity*) IFC4X3_RC3_types[899]); + IFC4X3_RC3_types[973] = new entity(strings[2759], false, 973, (entity*) IFC4X3_RC3_types[124]); + IFC4X3_RC3_types[982] = new entity(strings[2760], false, 982, (entity*) IFC4X3_RC3_types[489]); + IFC4X3_RC3_types[1001] = new entity(strings[2761], false, 1001, (entity*) IFC4X3_RC3_types[322]); + IFC4X3_RC3_types[1004] = new entity(strings[2762], false, 1004, (entity*) IFC4X3_RC3_types[124]); + IFC4X3_RC3_types[1014] = new entity(strings[2763], false, 1014, (entity*) IFC4X3_RC3_types[489]); + IFC4X3_RC3_types[1029] = new entity(strings[2764], false, 1029, (entity*) IFC4X3_RC3_types[124]); + IFC4X3_RC3_types[1030] = new entity(strings[2765], false, 1030, (entity*) IFC4X3_RC3_types[1029]); + IFC4X3_RC3_types[1031] = new entity(strings[2766], false, 1031, (entity*) IFC4X3_RC3_types[1029]); + IFC4X3_RC3_types[1035] = new entity(strings[2767], false, 1035, (entity*) IFC4X3_RC3_types[410]); + IFC4X3_RC3_types[1048] = new entity(strings[2768], false, 1048, (entity*) IFC4X3_RC3_types[489]); + IFC4X3_RC3_types[1068] = new entity(strings[2769], false, 1068, (entity*) IFC4X3_RC3_types[489]); + IFC4X3_RC3_types[1071] = new entity(strings[2770], false, 1071, (entity*) IFC4X3_RC3_types[124]); + IFC4X3_RC3_types[1072] = new entity(strings[2771], false, 1072, (entity*) IFC4X3_RC3_types[124]); + IFC4X3_RC3_types[1081] = new entity(strings[2772], false, 1081, (entity*) IFC4X3_RC3_types[1152]); + IFC4X3_RC3_types[1094] = new entity(strings[2773], false, 1094, (entity*) IFC4X3_RC3_types[1096]); + IFC4X3_RC3_types[1107] = new entity(strings[2774], false, 1107, (entity*) IFC4X3_RC3_types[1113]); + IFC4X3_RC3_types[1149] = new entity(strings[2775], false, 1149, (entity*) IFC4X3_RC3_types[472]); + IFC4X3_RC3_types[1159] = new entity(strings[2776], false, 1159, (entity*) IFC4X3_RC3_types[487]); + IFC4X3_RC3_types[1219] = new entity(strings[2777], false, 1219, (entity*) IFC4X3_RC3_types[124]); + IFC4X3_RC3_types[1222] = new entity(strings[2778], false, 1222, (entity*) IFC4X3_RC3_types[410]); + IFC4X3_RC3_types[1239] = new entity(strings[2779], false, 1239, (entity*) IFC4X3_RC3_types[410]); + IFC4X3_RC3_types[1248] = new entity(strings[2780], false, 1248, (entity*) IFC4X3_RC3_types[322]); + IFC4X3_RC3_types[1250] = new entity(strings[2781], false, 1250, (entity*) IFC4X3_RC3_types[410]); + IFC4X3_RC3_types[1258] = new entity(strings[2782], false, 1258, (entity*) IFC4X3_RC3_types[472]); + IFC4X3_RC3_types[1281] = new entity(strings[2783], false, 1281, (entity*) IFC4X3_RC3_types[124]); + IFC4X3_RC3_types[1282] = new entity(strings[2784], false, 1282, (entity*) IFC4X3_RC3_types[1281]); + IFC4X3_RC3_types[1283] = new entity(strings[2785], false, 1283, (entity*) IFC4X3_RC3_types[1281]); + IFC4X3_RC3_types[1289] = new entity(strings[2786], false, 1289, (entity*) IFC4X3_RC3_types[489]); + IFC4X3_RC3_types[1293] = new entity(strings[2787], false, 1293, (entity*) IFC4X3_RC3_types[124]); + IFC4X3_RC3_types[1298] = new entity(strings[2788], false, 1298, (entity*) IFC4X3_RC3_types[1293]); + IFC4X3_RC3_types[1047] = new select_type(strings[2789], 1047, {IFC4X3_RC3_types[434],IFC4X3_RC3_types[1046]}); + IFC4X3_RC3_types[10] = new entity(strings[2790], false, 10, (entity*) IFC4X3_RC3_types[322]); + IFC4X3_RC3_types[17] = new entity(strings[2791], false, 17, (entity*) IFC4X3_RC3_types[489]); + IFC4X3_RC3_types[18] = new entity(strings[2792], false, 18, (entity*) IFC4X3_RC3_types[472]); + IFC4X3_RC3_types[23] = new entity(strings[2793], false, 23, (entity*) IFC4X3_RC3_types[410]); + IFC4X3_RC3_types[27] = new entity(strings[2794], false, 27, (entity*) IFC4X3_RC3_types[322]); + IFC4X3_RC3_types[29] = new entity(strings[2795], false, 29, (entity*) IFC4X3_RC3_types[611]); + IFC4X3_RC3_types[64] = new entity(strings[2796], false, 64, (entity*) IFC4X3_RC3_types[489]); + IFC4X3_RC3_types[72] = new entity(strings[2797], false, 72, (entity*) IFC4X3_RC3_types[124]); + IFC4X3_RC3_types[73] = new entity(strings[2798], false, 73, (entity*) IFC4X3_RC3_types[72]); + IFC4X3_RC3_types[76] = new entity(strings[2799], false, 76, (entity*) IFC4X3_RC3_types[124]); + IFC4X3_RC3_types[85] = new entity(strings[2800], false, 85, (entity*) IFC4X3_RC3_types[410]); + IFC4X3_RC3_types[93] = new entity(strings[2801], false, 93, (entity*) IFC4X3_RC3_types[518]); + IFC4X3_RC3_types[118] = new entity(strings[2802], false, 118, (entity*) IFC4X3_RC3_types[124]); + IFC4X3_RC3_types[128] = new entity(strings[2803], false, 128, (entity*) IFC4X3_RC3_types[410]); + IFC4X3_RC3_types[131] = new entity(strings[2804], false, 131, (entity*) IFC4X3_RC3_types[475]); + IFC4X3_RC3_types[134] = new entity(strings[2805], false, 134, (entity*) IFC4X3_RC3_types[485]); + IFC4X3_RC3_types[137] = new entity(strings[2806], false, 137, (entity*) IFC4X3_RC3_types[475]); + IFC4X3_RC3_types[140] = new entity(strings[2807], false, 140, (entity*) IFC4X3_RC3_types[485]); + IFC4X3_RC3_types[143] = new entity(strings[2808], false, 143, (entity*) IFC4X3_RC3_types[296]); + IFC4X3_RC3_types[158] = new entity(strings[2809], false, 158, (entity*) IFC4X3_RC3_types[410]); + IFC4X3_RC3_types[175] = new entity(strings[2810], false, 175, (entity*) IFC4X3_RC3_types[410]); + IFC4X3_RC3_types[187] = new entity(strings[2811], false, 187, (entity*) IFC4X3_RC3_types[489]); + IFC4X3_RC3_types[199] = new entity(strings[2812], false, 199, (entity*) IFC4X3_RC3_types[483]); + IFC4X3_RC3_types[202] = new entity(strings[2813], false, 202, (entity*) IFC4X3_RC3_types[410]); + IFC4X3_RC3_types[232] = new entity(strings[2814], false, 232, (entity*) IFC4X3_RC3_types[322]); + IFC4X3_RC3_types[236] = new entity(strings[2815], false, 236, (entity*) IFC4X3_RC3_types[485]); + IFC4X3_RC3_types[239] = new entity(strings[2816], false, 239, (entity*) IFC4X3_RC3_types[410]); + IFC4X3_RC3_types[242] = new entity(strings[2817], false, 242, (entity*) IFC4X3_RC3_types[410]); + IFC4X3_RC3_types[288] = new entity(strings[2818], false, 288, (entity*) IFC4X3_RC3_types[472]); + IFC4X3_RC3_types[314] = new entity(strings[2819], false, 314, (entity*) IFC4X3_RC3_types[472]); + IFC4X3_RC3_types[317] = new entity(strings[2820], false, 317, (entity*) IFC4X3_RC3_types[325]); + IFC4X3_RC3_types[320] = new entity(strings[2821], false, 320, (entity*) IFC4X3_RC3_types[329]); + IFC4X3_RC3_types[321] = new entity(strings[2822], false, 321, (entity*) IFC4X3_RC3_types[323]); + IFC4X3_RC3_types[352] = new entity(strings[2823], false, 352, (entity*) IFC4X3_RC3_types[475]); + IFC4X3_RC3_types[355] = new entity(strings[2824], false, 355, (entity*) IFC4X3_RC3_types[485]); + IFC4X3_RC3_types[358] = new entity(strings[2825], false, 358, (entity*) IFC4X3_RC3_types[491]); + IFC4X3_RC3_types[371] = new entity(strings[2826], false, 371, (entity*) IFC4X3_RC3_types[489]); + IFC4X3_RC3_types[378] = new entity(strings[2827], false, 378, (entity*) IFC4X3_RC3_types[472]); + IFC4X3_RC3_types[381] = new entity(strings[2828], false, 381, (entity*) IFC4X3_RC3_types[487]); + IFC4X3_RC3_types[384] = new entity(strings[2829], false, 384, (entity*) IFC4X3_RC3_types[491]); + IFC4X3_RC3_types[387] = new entity(strings[2830], false, 387, (entity*) IFC4X3_RC3_types[410]); + IFC4X3_RC3_types[390] = new entity(strings[2831], false, 390, (entity*) IFC4X3_RC3_types[410]); + IFC4X3_RC3_types[394] = new entity(strings[2832], false, 394, (entity*) IFC4X3_RC3_types[472]); + IFC4X3_RC3_types[452] = new entity(strings[2833], false, 452, (entity*) IFC4X3_RC3_types[483]); + IFC4X3_RC3_types[465] = new entity(strings[2834], false, 465, (entity*) IFC4X3_RC3_types[491]); + IFC4X3_RC3_types[468] = new entity(strings[2835], false, 468, (entity*) IFC4X3_RC3_types[489]); + IFC4X3_RC3_types[477] = new entity(strings[2836], false, 477, (entity*) IFC4X3_RC3_types[321]); + IFC4X3_RC3_types[516] = new entity(strings[2837], false, 516, (entity*) IFC4X3_RC3_types[518]); + IFC4X3_RC3_types[517] = new entity(strings[2838], false, 517, (entity*) IFC4X3_RC3_types[518]); + IFC4X3_RC3_types[842] = new entity(strings[2839], false, 842, (entity*) IFC4X3_RC3_types[321]); + IFC4X3_RC3_types[1000] = new entity(strings[2840], false, 1000, (entity*) IFC4X3_RC3_types[321]); + IFC4X3_RC3_types[1247] = new entity(strings[2841], false, 1247, (entity*) IFC4X3_RC3_types[321]); + IFC4X3_RC3_types[9] = new entity(strings[2842], false, 9, (entity*) IFC4X3_RC3_types[321]); + IFC4X3_RC3_types[26] = new entity(strings[2843], false, 26, (entity*) IFC4X3_RC3_types[321]); + IFC4X3_RC3_types[231] = new entity(strings[2844], false, 231, (entity*) IFC4X3_RC3_types[321]); + ((entity*)IFC4X3_RC3_types[2])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[3]), true),new attribute(strings[2846], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[2847], new named_type(IFC4X3_RC3_types[1182]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[6])->set_attributes({new attribute(strings[2848], new named_type(IFC4X3_RC3_types[8]), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[7])->set_attributes({new attribute(strings[2849], new named_type(IFC4X3_RC3_types[972]), false),new attribute(strings[2850], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1182]), true)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[9])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[11]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[10])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[11]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[12])->set_attributes({new attribute(strings[2852], new named_type(IFC4X3_RC3_types[13]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1182]), true),new attribute(strings[2853], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false}); ((entity*)IFC4X3_RC3_types[14])->set_attributes({}, {false}); - ((entity*)IFC4X3_RC3_types[15])->set_attributes({new attribute(strings[2860], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[173])), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[15])->set_attributes({new attribute(strings[2854], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[173])), false)}, {false,false}); ((entity*)IFC4X3_RC3_types[16])->set_attributes({}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[17])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[22]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[18])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[20]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[19])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[20]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[21])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[22]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[23])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[25]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[24])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[25]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[26])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[28]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[27])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[28]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[29])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[38]), true)}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[30])->set_attributes({new attribute(strings[2861], new named_type(IFC4X3_RC3_types[785]), false)}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[31])->set_attributes({new attribute(strings[2862], new named_type(IFC4X3_RC3_types[589]), false),new attribute(strings[2863], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[2864], new named_type(IFC4X3_RC3_types[589]), false),new attribute(strings[2865], new named_type(IFC4X3_RC3_types[589]), true),new attribute(strings[2866], new named_type(IFC4X3_RC3_types[589]), false),new attribute(strings[2867], new named_type(IFC4X3_RC3_types[589]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[32]), false)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[33])->set_attributes({}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[34])->set_attributes({new attribute(strings[2868], new named_type(IFC4X3_RC3_types[147]), false),new attribute(strings[2869], new named_type(IFC4X3_RC3_types[766]), false),new attribute(strings[2870], new named_type(IFC4X3_RC3_types[589]), false),new attribute(strings[2871], new named_type(IFC4X3_RC3_types[589]), false),new attribute(strings[2872], new named_type(IFC4X3_RC3_types[701]), false),new attribute(strings[2873], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[35]), false)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[36])->set_attributes({new attribute(strings[2874], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[2875], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false}); - ((entity*)IFC4X3_RC3_types[37])->set_attributes({new attribute(strings[2876], new named_type(IFC4X3_RC3_types[36]), false)}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[17])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[22]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[18])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[20]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[19])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[20]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[21])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[22]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[23])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[25]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[24])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[25]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[26])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[28]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[27])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[28]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[29])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[38]), true)}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[30])->set_attributes({new attribute(strings[2855], new named_type(IFC4X3_RC3_types[783]), false)}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[31])->set_attributes({new attribute(strings[2856], new named_type(IFC4X3_RC3_types[588]), false),new attribute(strings[2857], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[2858], new named_type(IFC4X3_RC3_types[588]), false),new attribute(strings[2859], new named_type(IFC4X3_RC3_types[588]), true),new attribute(strings[2860], new named_type(IFC4X3_RC3_types[588]), false),new attribute(strings[2861], new named_type(IFC4X3_RC3_types[588]), true),new attribute(strings[2862], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[2845], new named_type(IFC4X3_RC3_types[32]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[33])->set_attributes({new attribute(strings[2856], new named_type(IFC4X3_RC3_types[588]), true)}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[34])->set_attributes({new attribute(strings[2863], new named_type(IFC4X3_RC3_types[147]), false),new attribute(strings[2864], new named_type(IFC4X3_RC3_types[764]), false),new attribute(strings[2865], new named_type(IFC4X3_RC3_types[588]), false),new attribute(strings[2866], new named_type(IFC4X3_RC3_types[588]), false),new attribute(strings[2867], new named_type(IFC4X3_RC3_types[700]), false),new attribute(strings[2868], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[2845], new named_type(IFC4X3_RC3_types[35]), false)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[36])->set_attributes({new attribute(strings[2869], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[2870], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false}); + ((entity*)IFC4X3_RC3_types[37])->set_attributes({new attribute(strings[2871], new named_type(IFC4X3_RC3_types[36]), false)}, {false,false,false,false,false,false,false,false}); ((entity*)IFC4X3_RC3_types[39])->set_attributes({}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[40])->set_attributes({new attribute(strings[2862], new named_type(IFC4X3_RC3_types[589]), false),new attribute(strings[2863], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[2877], new named_type(IFC4X3_RC3_types[589]), false),new attribute(strings[2878], new named_type(IFC4X3_RC3_types[876]), false),new attribute(strings[2879], new named_type(IFC4X3_RC3_types[876]), false),new attribute(strings[2880], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[41]), false)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[46])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[48]), true)}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[47])->set_attributes({new attribute(strings[2881], new named_type(IFC4X3_RC3_types[273]), false),new attribute(strings[2882], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[273])), true)}, {false,false}); - ((entity*)IFC4X3_RC3_types[49])->set_attributes({new attribute(strings[2883], new named_type(IFC4X3_RC3_types[722]), false),new attribute(strings[2884], new named_type(IFC4X3_RC3_types[578]), false),new attribute(strings[2885], new named_type(IFC4X3_RC3_types[578]), false),new attribute(strings[2886], new named_type(IFC4X3_RC3_types[541]), false)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[50])->set_attributes({new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[2857], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[2888], new named_type(IFC4X3_RC3_types[51]), true),new attribute(strings[2889], new named_type(IFC4X3_RC3_types[661]), true),new attribute(strings[2890], new named_type(IFC4X3_RC3_types[292]), true),new attribute(strings[2891], new named_type(IFC4X3_RC3_types[292]), true),new attribute(strings[2892], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[2893], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[2894], new named_type(IFC4X3_RC3_types[60]), true),new attribute(strings[2895], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[50])), true)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[52])->set_attributes({new attribute(strings[2896], new named_type(IFC4X3_RC3_types[541]), true),new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[2857], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[2897], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[2852], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[2898], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[2899], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[2900], new named_type(IFC4X3_RC3_types[8]), true),new attribute(strings[2901], new named_type(IFC4X3_RC3_types[8]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[53])->set_attributes({new attribute(strings[2902], new named_type(IFC4X3_RC3_types[52]), false),new attribute(strings[2903], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[52])), false)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[54])->set_attributes({new attribute(strings[2904], new named_type(IFC4X3_RC3_types[273]), false)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[55])->set_attributes({new attribute(strings[2905], new named_type(IFC4X3_RC3_types[100]), false)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[56])->set_attributes({new attribute(strings[2906], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[273])), false)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[62])->set_attributes({new attribute(strings[2907], new named_type(IFC4X3_RC3_types[541]), true),new attribute(strings[2908], new named_type(IFC4X3_RC3_types[253]), true),new attribute(strings[2909], new named_type(IFC4X3_RC3_types[253]), true),new attribute(strings[2910], new named_type(IFC4X3_RC3_types[253]), true),new attribute(strings[2911], new named_type(IFC4X3_RC3_types[8]), true),new attribute(strings[2912], new named_type(IFC4X3_RC3_types[8]), true),new attribute(strings[2913], new named_type(IFC4X3_RC3_types[743]), true),new attribute(strings[2914], new named_type(IFC4X3_RC3_types[292]), true),new attribute(strings[2915], new named_type(IFC4X3_RC3_types[253]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[63])->set_attributes({new attribute(strings[2916], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[2917], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[2918], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[2919], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[2920], new named_type(IFC4X3_RC3_types[701]), true),new attribute(strings[2921], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[2922], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[2923], new named_type(IFC4X3_RC3_types[701]), true),new attribute(strings[2924], new named_type(IFC4X3_RC3_types[701]), true),new attribute(strings[2925], new named_type(IFC4X3_RC3_types[766]), true),new attribute(strings[2926], new named_type(IFC4X3_RC3_types[701]), true),new attribute(strings[2927], new named_type(IFC4X3_RC3_types[766]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[64])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[66]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[65])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[66]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[67])->set_attributes({new attribute(strings[2928], new named_type(IFC4X3_RC3_types[307]), true)}, {false,false}); - ((entity*)IFC4X3_RC3_types[69])->set_attributes({new attribute(strings[2929], new named_type(IFC4X3_RC3_types[307]), true)}, {false,false}); - ((entity*)IFC4X3_RC3_types[70])->set_attributes({new attribute(strings[2928], new named_type(IFC4X3_RC3_types[307]), true),new attribute(strings[2929], new named_type(IFC4X3_RC3_types[307]), true)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[71])->set_attributes({new attribute(strings[2928], new named_type(IFC4X3_RC3_types[307]), true),new attribute(strings[2929], new named_type(IFC4X3_RC3_types[307]), true)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[108])->set_attributes({new attribute(strings[2930], new named_type(IFC4X3_RC3_types[556]), false),new attribute(strings[2931], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[147])), false),new attribute(strings[2932], new named_type(IFC4X3_RC3_types[109]), false),new attribute(strings[2933], new named_type(IFC4X3_RC3_types[621]), false),new attribute(strings[2934], new named_type(IFC4X3_RC3_types[621]), false)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[110])->set_attributes({new attribute(strings[2935], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[556])), false),new attribute(strings[2936], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[731])), false),new attribute(strings[2937], new named_type(IFC4X3_RC3_types[577]), false)}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[111])->set_attributes({new attribute(strings[2938], new named_type(IFC4X3_RC3_types[556]), false),new attribute(strings[2939], new named_type(IFC4X3_RC3_types[556]), false),new attribute(strings[2931], new aggregation_type(aggregation_type::list_type, 2, -1, new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[147]))), false),new attribute(strings[2940], new named_type(IFC4X3_RC3_types[112]), false),new attribute(strings[2941], new named_type(IFC4X3_RC3_types[621]), false),new attribute(strings[2942], new named_type(IFC4X3_RC3_types[621]), false),new attribute(strings[2934], new named_type(IFC4X3_RC3_types[621]), false)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[113])->set_attributes({new attribute(strings[2943], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[556])), false),new attribute(strings[2944], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[556])), false),new attribute(strings[2945], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[731])), false),new attribute(strings[2946], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[731])), false),new attribute(strings[2937], new named_type(IFC4X3_RC3_types[577]), false)}, {false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[72])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[75]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[40])->set_attributes({new attribute(strings[2856], new named_type(IFC4X3_RC3_types[588]), false),new attribute(strings[2857], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[2872], new named_type(IFC4X3_RC3_types[588]), false),new attribute(strings[2873], new named_type(IFC4X3_RC3_types[874]), false),new attribute(strings[2874], new named_type(IFC4X3_RC3_types[874]), false),new attribute(strings[2875], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[2845], new named_type(IFC4X3_RC3_types[41]), false)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[46])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[48]), true)}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[47])->set_attributes({new attribute(strings[2876], new named_type(IFC4X3_RC3_types[273]), false),new attribute(strings[2877], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[273])), true)}, {false,false}); + ((entity*)IFC4X3_RC3_types[49])->set_attributes({new attribute(strings[2878], new named_type(IFC4X3_RC3_types[721]), false),new attribute(strings[2879], new named_type(IFC4X3_RC3_types[577]), false),new attribute(strings[2880], new named_type(IFC4X3_RC3_types[577]), false),new attribute(strings[2881], new named_type(IFC4X3_RC3_types[540]), false)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[50])->set_attributes({new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1182]), true),new attribute(strings[2883], new named_type(IFC4X3_RC3_types[51]), true),new attribute(strings[2884], new named_type(IFC4X3_RC3_types[660]), true),new attribute(strings[2885], new named_type(IFC4X3_RC3_types[292]), true),new attribute(strings[2886], new named_type(IFC4X3_RC3_types[292]), true),new attribute(strings[2887], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[2888], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[2889], new named_type(IFC4X3_RC3_types[60]), true),new attribute(strings[2890], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[50])), true)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[52])->set_attributes({new attribute(strings[2891], new named_type(IFC4X3_RC3_types[540]), true),new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1182]), true),new attribute(strings[2892], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[2846], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[2893], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[2894], new named_type(IFC4X3_RC3_types[1182]), true),new attribute(strings[2895], new named_type(IFC4X3_RC3_types[8]), true),new attribute(strings[2896], new named_type(IFC4X3_RC3_types[8]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[53])->set_attributes({new attribute(strings[2897], new named_type(IFC4X3_RC3_types[52]), false),new attribute(strings[2898], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[52])), false)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[54])->set_attributes({new attribute(strings[2899], new named_type(IFC4X3_RC3_types[273]), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[55])->set_attributes({new attribute(strings[2900], new named_type(IFC4X3_RC3_types[100]), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[56])->set_attributes({new attribute(strings[2901], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[273])), false)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[62])->set_attributes({new attribute(strings[2902], new named_type(IFC4X3_RC3_types[540]), true),new attribute(strings[2903], new named_type(IFC4X3_RC3_types[253]), true),new attribute(strings[2904], new named_type(IFC4X3_RC3_types[253]), true),new attribute(strings[2905], new named_type(IFC4X3_RC3_types[253]), true),new attribute(strings[2906], new named_type(IFC4X3_RC3_types[8]), true),new attribute(strings[2907], new named_type(IFC4X3_RC3_types[8]), true),new attribute(strings[2908], new named_type(IFC4X3_RC3_types[741]), true),new attribute(strings[2909], new named_type(IFC4X3_RC3_types[292]), true),new attribute(strings[2910], new named_type(IFC4X3_RC3_types[253]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[63])->set_attributes({new attribute(strings[2911], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[2912], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[2913], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[2914], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[2915], new named_type(IFC4X3_RC3_types[700]), true),new attribute(strings[2916], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[2917], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[2918], new named_type(IFC4X3_RC3_types[700]), true),new attribute(strings[2919], new named_type(IFC4X3_RC3_types[700]), true),new attribute(strings[2920], new named_type(IFC4X3_RC3_types[764]), true),new attribute(strings[2921], new named_type(IFC4X3_RC3_types[700]), true),new attribute(strings[2922], new named_type(IFC4X3_RC3_types[764]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[64])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[66]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[65])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[66]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[67])->set_attributes({new attribute(strings[2923], new named_type(IFC4X3_RC3_types[307]), true)}, {false,false}); + ((entity*)IFC4X3_RC3_types[69])->set_attributes({new attribute(strings[2924], new named_type(IFC4X3_RC3_types[307]), true)}, {false,false}); + ((entity*)IFC4X3_RC3_types[70])->set_attributes({new attribute(strings[2923], new named_type(IFC4X3_RC3_types[307]), true),new attribute(strings[2924], new named_type(IFC4X3_RC3_types[307]), true)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[71])->set_attributes({new attribute(strings[2923], new named_type(IFC4X3_RC3_types[307]), true),new attribute(strings[2924], new named_type(IFC4X3_RC3_types[307]), true)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[108])->set_attributes({new attribute(strings[2925], new named_type(IFC4X3_RC3_types[555]), false),new attribute(strings[2926], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[147])), false),new attribute(strings[2927], new named_type(IFC4X3_RC3_types[109]), false),new attribute(strings[2928], new named_type(IFC4X3_RC3_types[620]), false),new attribute(strings[2929], new named_type(IFC4X3_RC3_types[620]), false)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[110])->set_attributes({new attribute(strings[2930], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[555])), false),new attribute(strings[2931], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[730])), false),new attribute(strings[2932], new named_type(IFC4X3_RC3_types[576]), false)}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[111])->set_attributes({new attribute(strings[2933], new named_type(IFC4X3_RC3_types[555]), false),new attribute(strings[2934], new named_type(IFC4X3_RC3_types[555]), false),new attribute(strings[2926], new aggregation_type(aggregation_type::list_type, 2, -1, new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[147]))), false),new attribute(strings[2935], new named_type(IFC4X3_RC3_types[112]), false),new attribute(strings[2936], new named_type(IFC4X3_RC3_types[620]), false),new attribute(strings[2937], new named_type(IFC4X3_RC3_types[620]), false),new attribute(strings[2929], new named_type(IFC4X3_RC3_types[620]), false)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[113])->set_attributes({new attribute(strings[2938], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[555])), false),new attribute(strings[2939], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[555])), false),new attribute(strings[2940], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[730])), false),new attribute(strings[2941], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[730])), false),new attribute(strings[2932], new named_type(IFC4X3_RC3_types[576]), false)}, {false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[72])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[75]), true)}, {false,false,false,false,false,false,false,false,false}); ((entity*)IFC4X3_RC3_types[73])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[74])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[75]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[76])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[79]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[77])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[79]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[83])->set_attributes({new attribute(strings[2947], new named_type(IFC4X3_RC3_types[541]), false),new attribute(strings[2948], new named_type(IFC4X3_RC3_types[82]), false)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[84])->set_attributes({new attribute(strings[2949], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[2950], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[2951], new named_type(IFC4X3_RC3_types[785]), false)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[85])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[87]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[86])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[87]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[74])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[75]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[76])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[79]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[77])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[79]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[83])->set_attributes({new attribute(strings[2942], new named_type(IFC4X3_RC3_types[540]), false),new attribute(strings[2943], new named_type(IFC4X3_RC3_types[82]), false)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[84])->set_attributes({new attribute(strings[2944], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[2945], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[2946], new named_type(IFC4X3_RC3_types[783]), false)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[85])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[87]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[86])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[87]), false)}, {false,false,false,false,false,false,false,false,false,false}); ((entity*)IFC4X3_RC3_types[89])->set_attributes({}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[92])->set_attributes({new attribute(strings[2952], new named_type(IFC4X3_RC3_types[91]), false),new attribute(strings[2953], new named_type(IFC4X3_RC3_types[90]), false),new attribute(strings[2954], new named_type(IFC4X3_RC3_types[90]), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[92])->set_attributes({new attribute(strings[2947], new named_type(IFC4X3_RC3_types[91]), false),new attribute(strings[2948], new named_type(IFC4X3_RC3_types[90]), false),new attribute(strings[2949], new named_type(IFC4X3_RC3_types[90]), false)}, {false,false,false}); ((entity*)IFC4X3_RC3_types[93])->set_attributes({}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[94])->set_attributes({new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), true)}, {false}); + ((entity*)IFC4X3_RC3_types[94])->set_attributes({new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), true)}, {false}); ((entity*)IFC4X3_RC3_types[95])->set_attributes({}, {false,false}); - ((entity*)IFC4X3_RC3_types[96])->set_attributes({new attribute(strings[2955], new named_type(IFC4X3_RC3_types[684]), true),new attribute(strings[2956], new named_type(IFC4X3_RC3_types[684]), true),new attribute(strings[2957], new named_type(IFC4X3_RC3_types[684]), true),new attribute(strings[2958], new named_type(IFC4X3_RC3_types[681]), true),new attribute(strings[2959], new named_type(IFC4X3_RC3_types[681]), true),new attribute(strings[2960], new named_type(IFC4X3_RC3_types[681]), true)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[97])->set_attributes({new attribute(strings[2961], new named_type(IFC4X3_RC3_types[683]), true),new attribute(strings[2962], new named_type(IFC4X3_RC3_types[683]), true),new attribute(strings[2963], new named_type(IFC4X3_RC3_types[683]), true)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[98])->set_attributes({new attribute(strings[2964], new named_type(IFC4X3_RC3_types[1228]), true),new attribute(strings[2965], new named_type(IFC4X3_RC3_types[1228]), true),new attribute(strings[2966], new named_type(IFC4X3_RC3_types[1228]), true),new attribute(strings[2967], new named_type(IFC4X3_RC3_types[982]), true),new attribute(strings[2968], new named_type(IFC4X3_RC3_types[982]), true),new attribute(strings[2969], new named_type(IFC4X3_RC3_types[982]), true)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[99])->set_attributes({new attribute(strings[2970], new named_type(IFC4X3_RC3_types[1290]), true)}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[96])->set_attributes({new attribute(strings[2950], new named_type(IFC4X3_RC3_types[683]), true),new attribute(strings[2951], new named_type(IFC4X3_RC3_types[683]), true),new attribute(strings[2952], new named_type(IFC4X3_RC3_types[683]), true),new attribute(strings[2953], new named_type(IFC4X3_RC3_types[680]), true),new attribute(strings[2954], new named_type(IFC4X3_RC3_types[680]), true),new attribute(strings[2955], new named_type(IFC4X3_RC3_types[680]), true)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[97])->set_attributes({new attribute(strings[2956], new named_type(IFC4X3_RC3_types[682]), true),new attribute(strings[2957], new named_type(IFC4X3_RC3_types[682]), true),new attribute(strings[2958], new named_type(IFC4X3_RC3_types[682]), true)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[98])->set_attributes({new attribute(strings[2959], new named_type(IFC4X3_RC3_types[1226]), true),new attribute(strings[2960], new named_type(IFC4X3_RC3_types[1226]), true),new attribute(strings[2961], new named_type(IFC4X3_RC3_types[1226]), true),new attribute(strings[2962], new named_type(IFC4X3_RC3_types[980]), true),new attribute(strings[2963], new named_type(IFC4X3_RC3_types[980]), true),new attribute(strings[2964], new named_type(IFC4X3_RC3_types[980]), true)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[99])->set_attributes({new attribute(strings[2965], new named_type(IFC4X3_RC3_types[1288]), true)}, {false,false,false,false,false,false,false,false}); ((entity*)IFC4X3_RC3_types[100])->set_attributes({}, {}); ((entity*)IFC4X3_RC3_types[101])->set_attributes({}, {}); - ((entity*)IFC4X3_RC3_types[102])->set_attributes({new attribute(strings[2971], new named_type(IFC4X3_RC3_types[147]), false),new attribute(strings[2972], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[2973], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[2974], new named_type(IFC4X3_RC3_types[785]), false)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[104])->set_attributes({new attribute(strings[2975], new named_type(IFC4X3_RC3_types[102]), false)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[105])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[107]), true)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[114])->set_attributes({new attribute(strings[2976], new named_type(IFC4X3_RC3_types[589]), true),new attribute(strings[2977], new named_type(IFC4X3_RC3_types[589]), true),new attribute(strings[2978], new named_type(IFC4X3_RC3_types[788]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[115])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[117]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[116])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[117]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[118])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[120]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[119])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[120]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[121])->set_attributes({new attribute(strings[2979], new named_type(IFC4X3_RC3_types[589]), true)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[122])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[123]), true),new attribute(strings[2980], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[102])->set_attributes({new attribute(strings[2966], new named_type(IFC4X3_RC3_types[147]), false),new attribute(strings[2967], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[2968], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[2969], new named_type(IFC4X3_RC3_types[783]), false)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[104])->set_attributes({new attribute(strings[2970], new named_type(IFC4X3_RC3_types[102]), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[105])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[107]), true)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[114])->set_attributes({new attribute(strings[2971], new named_type(IFC4X3_RC3_types[588]), true),new attribute(strings[2972], new named_type(IFC4X3_RC3_types[588]), true),new attribute(strings[2973], new named_type(IFC4X3_RC3_types[786]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[115])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[117]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[116])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[117]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[118])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[120]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[119])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[120]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[121])->set_attributes({new attribute(strings[2974], new named_type(IFC4X3_RC3_types[588]), true)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[122])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[123]), true),new attribute(strings[2975], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false,false,false}); ((entity*)IFC4X3_RC3_types[124])->set_attributes({}, {false,false,false,false,false,false,false,false}); ((entity*)IFC4X3_RC3_types[125])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[126])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[127]), true),new attribute(strings[2980], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[128])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[130]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[129])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[130]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[267])->set_attributes({new attribute(strings[2981], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[2982], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[2983], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[2984], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[2985], new named_type(IFC4X3_RC3_types[701]), true)}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[131])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[133]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[132])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[133]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[134])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[136]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[135])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[136]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[137])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[139]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[138])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[139]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[140])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[142]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[141])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[142]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[143])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[145]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[144])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[145]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[147])->set_attributes({new attribute(strings[2986], new aggregation_type(aggregation_type::list_type, 1, 3, new named_type(IFC4X3_RC3_types[589])), false)}, {false}); + ((entity*)IFC4X3_RC3_types[126])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[127]), true),new attribute(strings[2975], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[128])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[130]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[129])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[130]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[267])->set_attributes({new attribute(strings[2976], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[2977], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[2978], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[2979], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[2980], new named_type(IFC4X3_RC3_types[700]), true)}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[131])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[133]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[132])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[133]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[134])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[136]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[135])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[136]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[137])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[139]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[138])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[139]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[140])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[142]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[141])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[142]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[143])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[145]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[144])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[145]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[147])->set_attributes({new attribute(strings[2981], new aggregation_type(aggregation_type::list_type, 1, 3, new named_type(IFC4X3_RC3_types[588])), false)}, {false}); ((entity*)IFC4X3_RC3_types[148])->set_attributes({}, {}); - ((entity*)IFC4X3_RC3_types[149])->set_attributes({new attribute(strings[2987], new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 2, 2, new named_type(IFC4X3_RC3_types[589]))), false),new attribute(strings[2988], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[578])), true)}, {false,false}); - ((entity*)IFC4X3_RC3_types[150])->set_attributes({new attribute(strings[2987], new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 3, 3, new named_type(IFC4X3_RC3_types[589]))), false),new attribute(strings[2988], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[578])), true)}, {false,false}); - ((entity*)IFC4X3_RC3_types[151])->set_attributes({new attribute(strings[2989], new named_type(IFC4X3_RC3_types[307]), true),new attribute(strings[2990], new named_type(IFC4X3_RC3_types[307]), true),new attribute(strings[2991], new named_type(IFC4X3_RC3_types[147]), false),new attribute(strings[2992], new named_type(IFC4X3_RC3_types[879]), true)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[149])->set_attributes({new attribute(strings[2982], new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 2, 2, new named_type(IFC4X3_RC3_types[588]))), false),new attribute(strings[2983], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[577])), true)}, {false,false}); + ((entity*)IFC4X3_RC3_types[150])->set_attributes({new attribute(strings[2982], new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 3, 3, new named_type(IFC4X3_RC3_types[588]))), false),new attribute(strings[2983], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[577])), true)}, {false,false}); + ((entity*)IFC4X3_RC3_types[151])->set_attributes({new attribute(strings[2984], new named_type(IFC4X3_RC3_types[307]), true),new attribute(strings[2985], new named_type(IFC4X3_RC3_types[307]), true),new attribute(strings[2986], new named_type(IFC4X3_RC3_types[147]), false),new attribute(strings[2987], new named_type(IFC4X3_RC3_types[877]), true)}, {false,false,false,false}); ((entity*)IFC4X3_RC3_types[152])->set_attributes({}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[153])->set_attributes({new attribute(strings[2993], new named_type(IFC4X3_RC3_types[879]), true)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[154])->set_attributes({new attribute(strings[2994], new named_type(IFC4X3_RC3_types[307]), true)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[155])->set_attributes({new attribute(strings[2993], new named_type(IFC4X3_RC3_types[879]), true),new attribute(strings[2995], new named_type(IFC4X3_RC3_types[879]), true)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[156])->set_attributes({new attribute(strings[2996], new named_type(IFC4X3_RC3_types[785]), false)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[158])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[160]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[159])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[160]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[161])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[163]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[162])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[163]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[164])->set_attributes({new attribute(strings[2997], new named_type(IFC4X3_RC3_types[785]), false)}, {false,false}); - ((entity*)IFC4X3_RC3_types[165])->set_attributes({new attribute(strings[2983], new named_type(IFC4X3_RC3_types[785]), false)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[166])->set_attributes({new attribute(strings[2997], new named_type(IFC4X3_RC3_types[785]), false)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[153])->set_attributes({new attribute(strings[2988], new named_type(IFC4X3_RC3_types[877]), true)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[154])->set_attributes({new attribute(strings[2989], new named_type(IFC4X3_RC3_types[307]), true)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[155])->set_attributes({new attribute(strings[2988], new named_type(IFC4X3_RC3_types[877]), true),new attribute(strings[2990], new named_type(IFC4X3_RC3_types[877]), true)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[156])->set_attributes({new attribute(strings[2991], new named_type(IFC4X3_RC3_types[783]), false)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[158])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[160]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[159])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[160]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[161])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[163]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[162])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[163]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[164])->set_attributes({new attribute(strings[2992], new named_type(IFC4X3_RC3_types[783]), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[165])->set_attributes({new attribute(strings[2978], new named_type(IFC4X3_RC3_types[783]), false)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[166])->set_attributes({new attribute(strings[2992], new named_type(IFC4X3_RC3_types[783]), false)}, {false,false,false,false}); ((entity*)IFC4X3_RC3_types[167])->set_attributes({}, {false,false,false,false,false,false,false,false}); ((entity*)IFC4X3_RC3_types[168])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[169])->set_attributes({new attribute(strings[2998], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[2999], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3000], new named_type(IFC4X3_RC3_types[292]), true),new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), false),new attribute(strings[2857], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[3001], new named_type(IFC4X3_RC3_types[1257]), true),new attribute(strings[3002], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[541])), true)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[170])->set_attributes({new attribute(strings[3003], new named_type(IFC4X3_RC3_types[171]), true),new attribute(strings[2857], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[3004], new named_type(IFC4X3_RC3_types[541]), true)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[169])->set_attributes({new attribute(strings[2993], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[2994], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[2995], new named_type(IFC4X3_RC3_types[292]), true),new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), false),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1182]), true),new attribute(strings[2996], new named_type(IFC4X3_RC3_types[1255]), true),new attribute(strings[2997], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[540])), true)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[170])->set_attributes({new attribute(strings[2998], new named_type(IFC4X3_RC3_types[171]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1182]), true),new attribute(strings[2999], new named_type(IFC4X3_RC3_types[540]), true)}, {false,false,false,false,false,false}); ((entity*)IFC4X3_RC3_types[173])->set_attributes({}, {false}); - ((entity*)IFC4X3_RC3_types[174])->set_attributes({new attribute(strings[3005], new named_type(IFC4X3_RC3_types[589]), false)}, {false,false}); - ((entity*)IFC4X3_RC3_types[175])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[177]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[176])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[177]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[180])->set_attributes({new attribute(strings[3006], new named_type(IFC4X3_RC3_types[702]), false),new attribute(strings[3007], new named_type(IFC4X3_RC3_types[702]), false),new attribute(strings[3008], new named_type(IFC4X3_RC3_types[702]), false)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[181])->set_attributes({new attribute(strings[3009], new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 3, 3, new named_type(IFC4X3_RC3_types[702]))), false)}, {false}); - ((entity*)IFC4X3_RC3_types[182])->set_attributes({new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), true)}, {false}); - ((entity*)IFC4X3_RC3_types[183])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[186]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[174])->set_attributes({new attribute(strings[3000], new named_type(IFC4X3_RC3_types[588]), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[175])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[177]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[176])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[177]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[180])->set_attributes({new attribute(strings[3001], new named_type(IFC4X3_RC3_types[701]), false),new attribute(strings[3002], new named_type(IFC4X3_RC3_types[701]), false),new attribute(strings[3003], new named_type(IFC4X3_RC3_types[701]), false)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[181])->set_attributes({new attribute(strings[3004], new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 3, 3, new named_type(IFC4X3_RC3_types[701]))), false)}, {false}); + ((entity*)IFC4X3_RC3_types[182])->set_attributes({new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), true)}, {false}); + ((entity*)IFC4X3_RC3_types[183])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[186]), true)}, {false,false,false,false,false,false,false,false,false}); ((entity*)IFC4X3_RC3_types[184])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[185])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[186]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[187])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[189]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[188])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[189]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[191])->set_attributes({new attribute(strings[3010], new named_type(IFC4X3_RC3_types[541]), false),new attribute(strings[3011], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[824])), false)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[192])->set_attributes({new attribute(strings[3010], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3012], new named_type(IFC4X3_RC3_types[193]), true),new attribute(strings[3013], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[841])), true)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[194])->set_attributes({new attribute(strings[3014], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[999])), false),new attribute(strings[2934], new named_type(IFC4X3_RC3_types[621]), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[185])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[186]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[187])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[189]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[188])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[189]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[191])->set_attributes({new attribute(strings[3005], new named_type(IFC4X3_RC3_types[540]), false),new attribute(strings[3006], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[822])), false)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[192])->set_attributes({new attribute(strings[3005], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3007], new named_type(IFC4X3_RC3_types[193]), true),new attribute(strings[3008], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[839])), true)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[194])->set_attributes({new attribute(strings[3009], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[997])), false),new attribute(strings[2929], new named_type(IFC4X3_RC3_types[620]), false)}, {false,false}); ((entity*)IFC4X3_RC3_types[195])->set_attributes({}, {false,false}); - ((entity*)IFC4X3_RC3_types[196])->set_attributes({new attribute(strings[3015], new named_type(IFC4X3_RC3_types[88]), false),new attribute(strings[3016], new named_type(IFC4X3_RC3_types[273]), false)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[197])->set_attributes({new attribute(strings[3017], new aggregation_type(aggregation_type::set_type, 2, -1, new named_type(IFC4X3_RC3_types[813])), false),new attribute(strings[3018], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[199])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[201]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[200])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[201]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[202])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[204]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[203])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[204]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[205])->set_attributes({new attribute(strings[3019], new named_type(IFC4X3_RC3_types[68]), false)}, {false}); - ((entity*)IFC4X3_RC3_types[206])->set_attributes({new attribute(strings[3020], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[440])), false)}, {false}); - ((entity*)IFC4X3_RC3_types[207])->set_attributes({new attribute(strings[3021], new named_type(IFC4X3_RC3_types[280]), false),new attribute(strings[3022], new named_type(IFC4X3_RC3_types[280]), true)}, {false,false}); + ((entity*)IFC4X3_RC3_types[196])->set_attributes({new attribute(strings[3010], new named_type(IFC4X3_RC3_types[88]), false),new attribute(strings[3011], new named_type(IFC4X3_RC3_types[273]), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[197])->set_attributes({new attribute(strings[3012], new aggregation_type(aggregation_type::set_type, 2, -1, new named_type(IFC4X3_RC3_types[811])), false),new attribute(strings[3013], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[199])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[201]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[200])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[201]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[202])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[204]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[203])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[204]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[205])->set_attributes({new attribute(strings[3014], new named_type(IFC4X3_RC3_types[68]), false)}, {false}); + ((entity*)IFC4X3_RC3_types[206])->set_attributes({new attribute(strings[3015], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[439])), false)}, {false}); + ((entity*)IFC4X3_RC3_types[207])->set_attributes({new attribute(strings[3016], new named_type(IFC4X3_RC3_types[280]), false),new attribute(strings[3017], new named_type(IFC4X3_RC3_types[280]), true)}, {false,false}); ((entity*)IFC4X3_RC3_types[208])->set_attributes({}, {}); - ((entity*)IFC4X3_RC3_types[209])->set_attributes({new attribute(strings[3023], new named_type(IFC4X3_RC3_types[589]), true),new attribute(strings[3024], new named_type(IFC4X3_RC3_types[589]), true),new attribute(strings[3025], new named_type(IFC4X3_RC3_types[589]), true)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[210])->set_attributes({new attribute(strings[3026], new named_type(IFC4X3_RC3_types[776]), false),new attribute(strings[3027], new named_type(IFC4X3_RC3_types[776]), true)}, {false,false}); - ((entity*)IFC4X3_RC3_types[211])->set_attributes({new attribute(strings[3028], new named_type(IFC4X3_RC3_types[1136]), false),new attribute(strings[3029], new named_type(IFC4X3_RC3_types[1136]), true)}, {false,false}); - ((entity*)IFC4X3_RC3_types[213])->set_attributes({new attribute(strings[3030], new named_type(IFC4X3_RC3_types[1042]), false),new attribute(strings[3031], new named_type(IFC4X3_RC3_types[1042]), true)}, {false,false}); - ((entity*)IFC4X3_RC3_types[214])->set_attributes({new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), false),new attribute(strings[2857], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[3032], new named_type(IFC4X3_RC3_types[215]), false),new attribute(strings[3033], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3034], new named_type(IFC4X3_RC3_types[8]), true),new attribute(strings[3035], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3036], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[216])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[218]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[217])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[218]), false)}, {false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[219])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[221]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[220])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[221]), false)}, {false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[222])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[224]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[223])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[224]), false)}, {false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[225])->set_attributes({new attribute(strings[3037], new named_type(IFC4X3_RC3_types[966]), true),new attribute(strings[3038], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[50])), true),new attribute(strings[3039], new named_type(IFC4X3_RC3_types[748]), true)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[226])->set_attributes({new attribute(strings[3038], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[50])), true),new attribute(strings[3039], new named_type(IFC4X3_RC3_types[748]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[227])->set_attributes({new attribute(strings[3040], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[2980], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3041], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3042], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[957])), true),new attribute(strings[3043], new named_type(IFC4X3_RC3_types[1255]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[229])->set_attributes({new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), false)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[230])->set_attributes({new attribute(strings[2907], new named_type(IFC4X3_RC3_types[541]), true)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[231])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[233]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[232])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[233]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[234])->set_attributes({new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), false),new attribute(strings[3044], new named_type(IFC4X3_RC3_types[661]), false)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[235])->set_attributes({new attribute(strings[3045], new named_type(IFC4X3_RC3_types[879]), false)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[236])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[238]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[237])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[238]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[239])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[241]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[240])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[241]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[242])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[244]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[243])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[244]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[245])->set_attributes({new attribute(strings[3046], new named_type(IFC4X3_RC3_types[247]), false),new attribute(strings[3047], new named_type(IFC4X3_RC3_types[246]), false)}, {false,false}); - ((entity*)IFC4X3_RC3_types[246])->set_attributes({new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), false),new attribute(strings[2857], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[3048], new named_type(IFC4X3_RC3_types[541]), true),new attribute(strings[3049], new named_type(IFC4X3_RC3_types[541]), true)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[248])->set_attributes({new attribute(strings[3050], new named_type(IFC4X3_RC3_types[589]), false),new attribute(strings[3051], new named_type(IFC4X3_RC3_types[879]), false)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[249])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[250]), true),new attribute(strings[3052], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[253])), true),new attribute(strings[3053], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[748])), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[251])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[252]), true),new attribute(strings[2852], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3054], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3055], new named_type(IFC4X3_RC3_types[293]), true)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[209])->set_attributes({new attribute(strings[3018], new named_type(IFC4X3_RC3_types[588]), true),new attribute(strings[3019], new named_type(IFC4X3_RC3_types[588]), true),new attribute(strings[3020], new named_type(IFC4X3_RC3_types[588]), true)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[210])->set_attributes({new attribute(strings[3021], new named_type(IFC4X3_RC3_types[774]), false),new attribute(strings[3022], new named_type(IFC4X3_RC3_types[774]), true)}, {false,false}); + ((entity*)IFC4X3_RC3_types[211])->set_attributes({new attribute(strings[3023], new named_type(IFC4X3_RC3_types[1134]), false),new attribute(strings[3024], new named_type(IFC4X3_RC3_types[1134]), true)}, {false,false}); + ((entity*)IFC4X3_RC3_types[213])->set_attributes({new attribute(strings[3025], new named_type(IFC4X3_RC3_types[1040]), false),new attribute(strings[3026], new named_type(IFC4X3_RC3_types[1040]), true)}, {false,false}); + ((entity*)IFC4X3_RC3_types[214])->set_attributes({new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), false),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1182]), true),new attribute(strings[3027], new named_type(IFC4X3_RC3_types[215]), false),new attribute(strings[3028], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3029], new named_type(IFC4X3_RC3_types[8]), true),new attribute(strings[3030], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3031], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[216])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[218]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[217])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[218]), false)}, {false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[219])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[221]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[220])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[221]), false)}, {false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[222])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[224]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[223])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[224]), false)}, {false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[225])->set_attributes({new attribute(strings[3032], new named_type(IFC4X3_RC3_types[964]), true),new attribute(strings[3033], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[50])), true),new attribute(strings[3034], new named_type(IFC4X3_RC3_types[746]), true)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[226])->set_attributes({new attribute(strings[3033], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[50])), true),new attribute(strings[3034], new named_type(IFC4X3_RC3_types[746]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[227])->set_attributes({new attribute(strings[3035], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[2975], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3036], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3037], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[955])), true),new attribute(strings[3038], new named_type(IFC4X3_RC3_types[1253]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[229])->set_attributes({new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[230])->set_attributes({new attribute(strings[2902], new named_type(IFC4X3_RC3_types[540]), true)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[231])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[233]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[232])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[233]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[234])->set_attributes({new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), false),new attribute(strings[3039], new named_type(IFC4X3_RC3_types[660]), false)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[235])->set_attributes({new attribute(strings[3040], new named_type(IFC4X3_RC3_types[877]), false)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[236])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[238]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[237])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[238]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[239])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[241]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[240])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[241]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[242])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[244]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[243])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[244]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[245])->set_attributes({new attribute(strings[3041], new named_type(IFC4X3_RC3_types[247]), false),new attribute(strings[3042], new named_type(IFC4X3_RC3_types[246]), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[246])->set_attributes({new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), false),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1182]), true),new attribute(strings[3043], new named_type(IFC4X3_RC3_types[540]), true),new attribute(strings[3044], new named_type(IFC4X3_RC3_types[540]), true)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[248])->set_attributes({new attribute(strings[3045], new named_type(IFC4X3_RC3_types[588]), false),new attribute(strings[3046], new named_type(IFC4X3_RC3_types[877]), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[249])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[250]), true),new attribute(strings[3047], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[253])), true),new attribute(strings[3048], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[746])), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[251])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[252]), true),new attribute(strings[2846], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3049], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3050], new named_type(IFC4X3_RC3_types[293]), true)}, {false,false,false,false,false,false,false,false,false,false}); ((entity*)IFC4X3_RC3_types[253])->set_attributes({}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[255])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[257]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[256])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[257]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[258])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[260]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[259])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[260]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[261])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[263]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[262])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[263]), false)}, {false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[264])->set_attributes({new attribute(strings[3019], new named_type(IFC4X3_RC3_types[70]), false)}, {false}); - ((entity*)IFC4X3_RC3_types[266])->set_attributes({new attribute(strings[3056], new named_type(IFC4X3_RC3_types[265]), false)}, {false}); - ((entity*)IFC4X3_RC3_types[268])->set_attributes({new attribute(strings[3057], new named_type(IFC4X3_RC3_types[689]), false),new attribute(strings[3058], new named_type(IFC4X3_RC3_types[689]), false),new attribute(strings[3059], new named_type(IFC4X3_RC3_types[787]), false),new attribute(strings[3060], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3061], new named_type(IFC4X3_RC3_types[590]), true)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[269])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[271]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[270])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[271]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[255])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[257]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[256])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[257]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[258])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[260]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[259])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[260]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[261])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[263]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[262])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[263]), false)}, {false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[264])->set_attributes({new attribute(strings[3014], new named_type(IFC4X3_RC3_types[70]), false)}, {false}); + ((entity*)IFC4X3_RC3_types[266])->set_attributes({new attribute(strings[3051], new named_type(IFC4X3_RC3_types[265]), false)}, {false}); + ((entity*)IFC4X3_RC3_types[268])->set_attributes({new attribute(strings[3052], new named_type(IFC4X3_RC3_types[688]), false),new attribute(strings[3053], new named_type(IFC4X3_RC3_types[688]), false),new attribute(strings[3054], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[3055], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3056], new named_type(IFC4X3_RC3_types[589]), true)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[269])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[271]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[270])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[271]), false)}, {false,false,false,false,false,false,false,false,false,false}); ((entity*)IFC4X3_RC3_types[273])->set_attributes({}, {}); - ((entity*)IFC4X3_RC3_types[274])->set_attributes({new attribute(strings[3062], new named_type(IFC4X3_RC3_types[765]), false),new attribute(strings[2881], new named_type(IFC4X3_RC3_types[273]), false),new attribute(strings[2882], new aggregation_type(aggregation_type::set_type, 0, -1, new named_type(IFC4X3_RC3_types[273])), false)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[275])->set_attributes({new attribute(strings[3062], new named_type(IFC4X3_RC3_types[1129]), false),new attribute(strings[3063], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[95])), false),new attribute(strings[3064], new named_type(IFC4X3_RC3_types[88]), false)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[281])->set_attributes({new attribute(strings[3065], new named_type(IFC4X3_RC3_types[761]), false),new attribute(strings[3066], new named_type(IFC4X3_RC3_types[278]), false),new attribute(strings[2872], new named_type(IFC4X3_RC3_types[278]), false),new attribute(strings[3016], new named_type(IFC4X3_RC3_types[273]), false)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[282])->set_attributes({new attribute(strings[3067], new named_type(IFC4X3_RC3_types[276]), true),new attribute(strings[3068], new named_type(IFC4X3_RC3_types[1030]), true),new attribute(strings[3069], new named_type(IFC4X3_RC3_types[178]), true),new attribute(strings[3070], new named_type(IFC4X3_RC3_types[88]), true)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[283])->set_attributes({new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3071], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[285])), false)}, {false,false}); - ((entity*)IFC4X3_RC3_types[284])->set_attributes({new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3067], new named_type(IFC4X3_RC3_types[286]), false),new attribute(strings[3072], new named_type(IFC4X3_RC3_types[787]), false)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[285])->set_attributes({new attribute(strings[3073], new named_type(IFC4X3_RC3_types[589]), false),new attribute(strings[3074], new named_type(IFC4X3_RC3_types[785]), false)}, {false,false}); - ((entity*)IFC4X3_RC3_types[287])->set_attributes({new attribute(strings[2997], new named_type(IFC4X3_RC3_types[785]), false)}, {false,false}); - ((entity*)IFC4X3_RC3_types[288])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[290]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[289])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[290]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[274])->set_attributes({new attribute(strings[3057], new named_type(IFC4X3_RC3_types[763]), false),new attribute(strings[2876], new named_type(IFC4X3_RC3_types[273]), false),new attribute(strings[2877], new aggregation_type(aggregation_type::set_type, 0, -1, new named_type(IFC4X3_RC3_types[273])), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[275])->set_attributes({new attribute(strings[3057], new named_type(IFC4X3_RC3_types[1127]), false),new attribute(strings[3058], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[95])), false),new attribute(strings[3059], new named_type(IFC4X3_RC3_types[88]), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[281])->set_attributes({new attribute(strings[3060], new named_type(IFC4X3_RC3_types[759]), false),new attribute(strings[3061], new named_type(IFC4X3_RC3_types[278]), false),new attribute(strings[2867], new named_type(IFC4X3_RC3_types[278]), false),new attribute(strings[3011], new named_type(IFC4X3_RC3_types[273]), false)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[282])->set_attributes({new attribute(strings[3062], new named_type(IFC4X3_RC3_types[276]), true),new attribute(strings[3063], new named_type(IFC4X3_RC3_types[1028]), true),new attribute(strings[3064], new named_type(IFC4X3_RC3_types[178]), true),new attribute(strings[3065], new named_type(IFC4X3_RC3_types[88]), true)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[283])->set_attributes({new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3066], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[285])), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[284])->set_attributes({new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3062], new named_type(IFC4X3_RC3_types[286]), false),new attribute(strings[3067], new named_type(IFC4X3_RC3_types[785]), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[285])->set_attributes({new attribute(strings[3068], new named_type(IFC4X3_RC3_types[588]), false),new attribute(strings[3069], new named_type(IFC4X3_RC3_types[783]), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[287])->set_attributes({new attribute(strings[2992], new named_type(IFC4X3_RC3_types[783]), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[288])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[290]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[289])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[290]), false)}, {false,false,false,false,false,false,false,false,false,false}); ((entity*)IFC4X3_RC3_types[296])->set_attributes({}, {false,false,false,false,false,false,false,false}); ((entity*)IFC4X3_RC3_types[297])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[300])->set_attributes({new attribute(strings[3075], new named_type(IFC4X3_RC3_types[813]), false),new attribute(strings[2952], new named_type(IFC4X3_RC3_types[152]), false),new attribute(strings[3018], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[301])->set_attributes({new attribute(strings[3076], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[302])), false),new attribute(strings[3077], new named_type(IFC4X3_RC3_types[303]), false),new attribute(strings[3078], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[302])->set_attributes({new attribute(strings[3079], new named_type(IFC4X3_RC3_types[697]), false),new attribute(strings[3080], new simple_type(simple_type::integer_type), false)}, {false,false}); - ((entity*)IFC4X3_RC3_types[305])->set_attributes({new attribute(strings[3081], new simple_type(simple_type::integer_type), false),new attribute(strings[3082], new simple_type(simple_type::integer_type), false),new attribute(strings[3083], new simple_type(simple_type::integer_type), false),new attribute(strings[3084], new simple_type(simple_type::integer_type), false),new attribute(strings[3085], new simple_type(simple_type::integer_type), false),new attribute(strings[3086], new simple_type(simple_type::integer_type), false),new attribute(strings[3087], new simple_type(simple_type::integer_type), false)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[307])->set_attributes({new attribute(strings[3088], new aggregation_type(aggregation_type::list_type, 2, 3, new named_type(IFC4X3_RC3_types[879])), false)}, {false}); - ((entity*)IFC4X3_RC3_types[309])->set_attributes({new attribute(strings[3089], new named_type(IFC4X3_RC3_types[273]), false),new attribute(strings[3090], new named_type(IFC4X3_RC3_types[278]), true),new attribute(strings[3091], new named_type(IFC4X3_RC3_types[278]), true)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[310])->set_attributes({}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[311])->set_attributes({new attribute(strings[3089], new named_type(IFC4X3_RC3_types[273]), false),new attribute(strings[3092], new named_type(IFC4X3_RC3_types[773]), true),new attribute(strings[3093], new named_type(IFC4X3_RC3_types[773]), true)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[312])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[314]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[313])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[314]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[315])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[317]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[316])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[317]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[318])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[320]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[319])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[320]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[321])->set_attributes({}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[322])->set_attributes({}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[323])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[324])->set_attributes({}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[325])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[326])->set_attributes({}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[327])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[328])->set_attributes({new attribute(strings[3094], new named_type(IFC4X3_RC3_types[475]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[329]), true),new attribute(strings[3095], new named_type(IFC4X3_RC3_types[331]), true)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[330])->set_attributes({new attribute(strings[2980], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[331]), true)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[333])->set_attributes({new attribute(strings[2907], new named_type(IFC4X3_RC3_types[541]), false),new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), false),new attribute(strings[2857], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[3001], new named_type(IFC4X3_RC3_types[1257]), true),new attribute(strings[2858], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[3096], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[3097], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[3098], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3099], new named_type(IFC4X3_RC3_types[8]), true),new attribute(strings[3100], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[8])), true),new attribute(strings[3035], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3101], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3102], new named_type(IFC4X3_RC3_types[541]), true),new attribute(strings[3103], new named_type(IFC4X3_RC3_types[292]), true),new attribute(strings[3104], new named_type(IFC4X3_RC3_types[292]), true),new attribute(strings[3105], new named_type(IFC4X3_RC3_types[332]), true),new attribute(strings[2852], new named_type(IFC4X3_RC3_types[337]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[334])->set_attributes({new attribute(strings[3106], new named_type(IFC4X3_RC3_types[333]), false),new attribute(strings[3107], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[333])), false),new attribute(strings[3108], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[335])->set_attributes({new attribute(strings[2857], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[3109], new named_type(IFC4X3_RC3_types[333]), true)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[338])->set_attributes({new attribute(strings[3110], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3111], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[348]), true),new attribute(strings[3112], new named_type(IFC4X3_RC3_types[349]), true),new attribute(strings[3113], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[339])->set_attributes({new attribute(strings[3114], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3115], new named_type(IFC4X3_RC3_types[701]), true),new attribute(strings[3116], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3117], new named_type(IFC4X3_RC3_types[701]), true),new attribute(strings[3118], new named_type(IFC4X3_RC3_types[701]), true),new attribute(strings[3119], new named_type(IFC4X3_RC3_types[589]), true),new attribute(strings[3120], new named_type(IFC4X3_RC3_types[589]), true),new attribute(strings[3121], new named_type(IFC4X3_RC3_types[589]), true),new attribute(strings[3122], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3123], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3124], new named_type(IFC4X3_RC3_types[1009]), true),new attribute(strings[3125], new named_type(IFC4X3_RC3_types[589]), true),new attribute(strings[3126], new named_type(IFC4X3_RC3_types[589]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[342])->set_attributes({new attribute(strings[3127], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3128], new named_type(IFC4X3_RC3_types[340]), false),new attribute(strings[3129], new named_type(IFC4X3_RC3_types[702]), true),new attribute(strings[3130], new named_type(IFC4X3_RC3_types[341]), false),new attribute(strings[3124], new named_type(IFC4X3_RC3_types[1009]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[343])->set_attributes({}, {false,false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[344])->set_attributes({new attribute(strings[3112], new named_type(IFC4X3_RC3_types[346]), false),new attribute(strings[3131], new named_type(IFC4X3_RC3_types[345]), false),new attribute(strings[3132], new named_type(IFC4X3_RC3_types[88]), false),new attribute(strings[3133], new named_type(IFC4X3_RC3_types[88]), false)}, {false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[347])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[348]), false),new attribute(strings[3112], new named_type(IFC4X3_RC3_types[349]), false),new attribute(strings[3132], new named_type(IFC4X3_RC3_types[88]), true),new attribute(strings[3113], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[300])->set_attributes({new attribute(strings[3070], new named_type(IFC4X3_RC3_types[811]), false),new attribute(strings[2947], new named_type(IFC4X3_RC3_types[152]), false),new attribute(strings[3013], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[301])->set_attributes({new attribute(strings[3071], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[302])), false),new attribute(strings[3072], new named_type(IFC4X3_RC3_types[303]), false),new attribute(strings[3073], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[302])->set_attributes({new attribute(strings[3074], new named_type(IFC4X3_RC3_types[696]), false),new attribute(strings[3075], new simple_type(simple_type::integer_type), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[305])->set_attributes({new attribute(strings[3076], new simple_type(simple_type::integer_type), false),new attribute(strings[3077], new simple_type(simple_type::integer_type), false),new attribute(strings[3078], new simple_type(simple_type::integer_type), false),new attribute(strings[3079], new simple_type(simple_type::integer_type), false),new attribute(strings[3080], new simple_type(simple_type::integer_type), false),new attribute(strings[3081], new simple_type(simple_type::integer_type), false),new attribute(strings[3082], new simple_type(simple_type::integer_type), false)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[307])->set_attributes({new attribute(strings[3083], new aggregation_type(aggregation_type::list_type, 2, 3, new named_type(IFC4X3_RC3_types[877])), false)}, {false}); + ((entity*)IFC4X3_RC3_types[309])->set_attributes({new attribute(strings[3084], new named_type(IFC4X3_RC3_types[273]), false),new attribute(strings[3085], new named_type(IFC4X3_RC3_types[278]), true),new attribute(strings[3086], new named_type(IFC4X3_RC3_types[278]), true)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[310])->set_attributes({new attribute(strings[3084], new named_type(IFC4X3_RC3_types[273]), false),new attribute(strings[3087], new named_type(IFC4X3_RC3_types[771]), true),new attribute(strings[3088], new named_type(IFC4X3_RC3_types[771]), true)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[311])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[313]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[312])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[313]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[314])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[316]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[315])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[316]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[317])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[319]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[318])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[319]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[320])->set_attributes({}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[321])->set_attributes({}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[322])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[323])->set_attributes({}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[324])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[325])->set_attributes({}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[326])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[327])->set_attributes({new attribute(strings[3089], new named_type(IFC4X3_RC3_types[474]), true),new attribute(strings[2845], new named_type(IFC4X3_RC3_types[328]), true),new attribute(strings[3090], new named_type(IFC4X3_RC3_types[330]), true)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[329])->set_attributes({new attribute(strings[2975], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[2845], new named_type(IFC4X3_RC3_types[330]), true)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[332])->set_attributes({new attribute(strings[2902], new named_type(IFC4X3_RC3_types[540]), false),new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), false),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1182]), true),new attribute(strings[2996], new named_type(IFC4X3_RC3_types[1255]), true),new attribute(strings[2852], new named_type(IFC4X3_RC3_types[1182]), true),new attribute(strings[3091], new named_type(IFC4X3_RC3_types[1182]), true),new attribute(strings[3092], new named_type(IFC4X3_RC3_types[1182]), true),new attribute(strings[3093], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3094], new named_type(IFC4X3_RC3_types[8]), true),new attribute(strings[3095], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[8])), true),new attribute(strings[3030], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3096], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3097], new named_type(IFC4X3_RC3_types[540]), true),new attribute(strings[3098], new named_type(IFC4X3_RC3_types[292]), true),new attribute(strings[3099], new named_type(IFC4X3_RC3_types[292]), true),new attribute(strings[3100], new named_type(IFC4X3_RC3_types[331]), true),new attribute(strings[2846], new named_type(IFC4X3_RC3_types[336]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[333])->set_attributes({new attribute(strings[3101], new named_type(IFC4X3_RC3_types[332]), false),new attribute(strings[3102], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[332])), false),new attribute(strings[3103], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[334])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1182]), true),new attribute(strings[3104], new named_type(IFC4X3_RC3_types[332]), true)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[337])->set_attributes({new attribute(strings[3105], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3106], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[2845], new named_type(IFC4X3_RC3_types[347]), true),new attribute(strings[3107], new named_type(IFC4X3_RC3_types[348]), true),new attribute(strings[3108], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[338])->set_attributes({new attribute(strings[3109], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3110], new named_type(IFC4X3_RC3_types[700]), true),new attribute(strings[3111], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3112], new named_type(IFC4X3_RC3_types[700]), true),new attribute(strings[3113], new named_type(IFC4X3_RC3_types[700]), true),new attribute(strings[3114], new named_type(IFC4X3_RC3_types[588]), true),new attribute(strings[3115], new named_type(IFC4X3_RC3_types[588]), true),new attribute(strings[3116], new named_type(IFC4X3_RC3_types[588]), true),new attribute(strings[3117], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3118], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3119], new named_type(IFC4X3_RC3_types[1007]), true),new attribute(strings[3120], new named_type(IFC4X3_RC3_types[588]), true),new attribute(strings[3121], new named_type(IFC4X3_RC3_types[588]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[341])->set_attributes({new attribute(strings[3122], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3123], new named_type(IFC4X3_RC3_types[339]), false),new attribute(strings[3124], new named_type(IFC4X3_RC3_types[701]), true),new attribute(strings[3125], new named_type(IFC4X3_RC3_types[340]), false),new attribute(strings[3119], new named_type(IFC4X3_RC3_types[1007]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[342])->set_attributes({}, {false,false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[343])->set_attributes({new attribute(strings[3107], new named_type(IFC4X3_RC3_types[345]), false),new attribute(strings[3126], new named_type(IFC4X3_RC3_types[344]), false),new attribute(strings[3127], new named_type(IFC4X3_RC3_types[88]), false),new attribute(strings[3128], new named_type(IFC4X3_RC3_types[88]), false)}, {false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[346])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[347]), false),new attribute(strings[3107], new named_type(IFC4X3_RC3_types[348]), false),new attribute(strings[3127], new named_type(IFC4X3_RC3_types[88]), true),new attribute(strings[3108], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[350])->set_attributes({}, {false}); ((entity*)IFC4X3_RC3_types[351])->set_attributes({}, {false}); - ((entity*)IFC4X3_RC3_types[352])->set_attributes({}, {false}); - ((entity*)IFC4X3_RC3_types[353])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[355]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[354])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[355]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[356])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[358]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[357])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[358]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[359])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[361]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[360])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[361]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[364])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[365]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[366])->set_attributes({}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[367])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[368]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[369])->set_attributes({new attribute(strings[3134], new named_type(IFC4X3_RC3_types[1266]), false),new attribute(strings[3135], new named_type(IFC4X3_RC3_types[1266]), false)}, {false,false}); - ((entity*)IFC4X3_RC3_types[370])->set_attributes({new attribute(strings[3136], new named_type(IFC4X3_RC3_types[273]), false),new attribute(strings[3015], new named_type(IFC4X3_RC3_types[88]), false)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[371])->set_attributes({new attribute(strings[3137], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[724])), false)}, {false}); - ((entity*)IFC4X3_RC3_types[372])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[374]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[373])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[374]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[379])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[381]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[380])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[381]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[382])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[384]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[383])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[384]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[385])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[387]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[386])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[387]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[388])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[390]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[389])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[390]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[391])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[393]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[392])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[393]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[395])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[397]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[396])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[397]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[399])->set_attributes({new attribute(strings[3138], new named_type(IFC4X3_RC3_types[541]), true)}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[401])->set_attributes({new attribute(strings[3139], new named_type(IFC4X3_RC3_types[61]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[403]), true)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[402])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[403]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[404])->set_attributes({}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[405])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[407])->set_attributes({new attribute(strings[3140], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3141], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[748])), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[408])->set_attributes({new attribute(strings[3142], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[400])->set_attributes({new attribute(strings[3019], new named_type(IFC4X3_RC3_types[70]), false)}, {false}); - ((entity*)IFC4X3_RC3_types[409])->set_attributes({new attribute(strings[3143], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[3144], new named_type(IFC4X3_RC3_types[785]), false)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[410])->set_attributes({new attribute(strings[3143], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[3144], new named_type(IFC4X3_RC3_types[785]), false)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[411])->set_attributes({}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[412])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[414])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[416]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[415])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[416]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[417])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[419]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[418])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[419]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[420])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[422]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[421])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[422]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[423])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[427]), true),new attribute(strings[3145], new named_type(IFC4X3_RC3_types[425]), true),new attribute(strings[3146], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3147], new named_type(IFC4X3_RC3_types[424]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[424])->set_attributes({new attribute(strings[3148], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3149], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3150], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3151], new named_type(IFC4X3_RC3_types[293]), true)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[426])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[427]), false),new attribute(strings[3145], new named_type(IFC4X3_RC3_types[425]), false),new attribute(strings[3146], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[428])->set_attributes({new attribute(strings[2887], new named_type(IFC4X3_RC3_types[541]), true),new attribute(strings[2857], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[3152], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[824])), false)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[429])->set_attributes({}, {}); - ((entity*)IFC4X3_RC3_types[433])->set_attributes({new attribute(strings[3001], new named_type(IFC4X3_RC3_types[1257]), true),new attribute(strings[2907], new named_type(IFC4X3_RC3_types[541]), true),new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[434])->set_attributes({new attribute(strings[3153], new named_type(IFC4X3_RC3_types[433]), false),new attribute(strings[3154], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[964])), false)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[435])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[436]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[437])->set_attributes({}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[352])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[354]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[353])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[354]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[355])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[357]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[356])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[357]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[358])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[360]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[359])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[360]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[363])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[364]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[365])->set_attributes({}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[366])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[367]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[368])->set_attributes({new attribute(strings[3129], new named_type(IFC4X3_RC3_types[1264]), false),new attribute(strings[3130], new named_type(IFC4X3_RC3_types[1264]), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[369])->set_attributes({new attribute(strings[3131], new named_type(IFC4X3_RC3_types[273]), false),new attribute(strings[3010], new named_type(IFC4X3_RC3_types[88]), false)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[370])->set_attributes({new attribute(strings[3132], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[723])), false)}, {false}); + ((entity*)IFC4X3_RC3_types[371])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[373]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[372])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[373]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[378])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[380]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[379])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[380]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[381])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[383]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[382])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[383]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[384])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[386]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[385])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[386]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[387])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[389]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[388])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[389]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[390])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[392]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[391])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[392]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[394])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[396]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[395])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[396]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[398])->set_attributes({new attribute(strings[3133], new named_type(IFC4X3_RC3_types[540]), true)}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[400])->set_attributes({new attribute(strings[3134], new named_type(IFC4X3_RC3_types[61]), true),new attribute(strings[2845], new named_type(IFC4X3_RC3_types[402]), true)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[401])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[402]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[403])->set_attributes({}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[404])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[406])->set_attributes({new attribute(strings[3135], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3136], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[746])), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[407])->set_attributes({new attribute(strings[3137], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[399])->set_attributes({new attribute(strings[3014], new named_type(IFC4X3_RC3_types[70]), false)}, {false}); + ((entity*)IFC4X3_RC3_types[408])->set_attributes({new attribute(strings[3138], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[3139], new named_type(IFC4X3_RC3_types[783]), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[409])->set_attributes({new attribute(strings[3138], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[3139], new named_type(IFC4X3_RC3_types[783]), false)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[410])->set_attributes({}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[411])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[413])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[415]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[414])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[415]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[416])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[418]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[417])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[418]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[419])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[421]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[420])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[421]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[422])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[426]), true),new attribute(strings[3140], new named_type(IFC4X3_RC3_types[424]), true),new attribute(strings[3141], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3142], new named_type(IFC4X3_RC3_types[423]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[423])->set_attributes({new attribute(strings[3143], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3144], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3145], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3146], new named_type(IFC4X3_RC3_types[293]), true)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[425])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[426]), false),new attribute(strings[3140], new named_type(IFC4X3_RC3_types[424]), false),new attribute(strings[3141], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[427])->set_attributes({new attribute(strings[2882], new named_type(IFC4X3_RC3_types[540]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1182]), true),new attribute(strings[3147], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[822])), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[428])->set_attributes({}, {}); + ((entity*)IFC4X3_RC3_types[432])->set_attributes({new attribute(strings[2996], new named_type(IFC4X3_RC3_types[1255]), true),new attribute(strings[2902], new named_type(IFC4X3_RC3_types[540]), true),new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[433])->set_attributes({new attribute(strings[3148], new named_type(IFC4X3_RC3_types[432]), false),new attribute(strings[3149], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[962])), false)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[434])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[435]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[436])->set_attributes({}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[429])->set_attributes({}, {false,false,false}); ((entity*)IFC4X3_RC3_types[430])->set_attributes({}, {false,false,false}); ((entity*)IFC4X3_RC3_types[431])->set_attributes({}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[432])->set_attributes({}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[438])->set_attributes({new attribute(strings[3155], new named_type(IFC4X3_RC3_types[307]), false),new attribute(strings[2981], new named_type(IFC4X3_RC3_types[785]), false)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[439])->set_attributes({new attribute(strings[3156], new named_type(IFC4X3_RC3_types[813]), false)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[440])->set_attributes({new attribute(strings[3157], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[442])), false)}, {false}); - ((entity*)IFC4X3_RC3_types[441])->set_attributes({new attribute(strings[3158], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[206])), false)}, {false}); - ((entity*)IFC4X3_RC3_types[442])->set_attributes({new attribute(strings[3159], new named_type(IFC4X3_RC3_types[623]), false),new attribute(strings[3160], new named_type(IFC4X3_RC3_types[88]), false)}, {false,false}); - ((entity*)IFC4X3_RC3_types[443])->set_attributes({}, {false,false}); - ((entity*)IFC4X3_RC3_types[444])->set_attributes({new attribute(strings[3161], new named_type(IFC4X3_RC3_types[1129]), false),new attribute(strings[3015], new named_type(IFC4X3_RC3_types[88]), false)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[445])->set_attributes({}, {false}); - ((entity*)IFC4X3_RC3_types[446])->set_attributes({new attribute(strings[2860], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[173])), false)}, {false,false}); - ((entity*)IFC4X3_RC3_types[447])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[448])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[450]), false),new attribute(strings[3162], new named_type(IFC4X3_RC3_types[451]), false)}, {false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[452])->set_attributes({new attribute(strings[3163], new named_type(IFC4X3_RC3_types[500]), true),new attribute(strings[3164], new named_type(IFC4X3_RC3_types[500]), true),new attribute(strings[3165], new named_type(IFC4X3_RC3_types[500]), true),new attribute(strings[3166], new named_type(IFC4X3_RC3_types[500]), true),new attribute(strings[3167], new named_type(IFC4X3_RC3_types[500]), true),new attribute(strings[3168], new named_type(IFC4X3_RC3_types[500]), true)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[453])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[455]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[454])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[455]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[456])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[458]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[457])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[458]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[437])->set_attributes({new attribute(strings[3150], new named_type(IFC4X3_RC3_types[307]), false),new attribute(strings[2976], new named_type(IFC4X3_RC3_types[783]), false)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[438])->set_attributes({new attribute(strings[3151], new named_type(IFC4X3_RC3_types[811]), false)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[439])->set_attributes({new attribute(strings[3152], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[441])), false)}, {false}); + ((entity*)IFC4X3_RC3_types[440])->set_attributes({new attribute(strings[3153], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[206])), false)}, {false}); + ((entity*)IFC4X3_RC3_types[441])->set_attributes({new attribute(strings[3154], new named_type(IFC4X3_RC3_types[622]), false),new attribute(strings[3155], new named_type(IFC4X3_RC3_types[88]), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[442])->set_attributes({}, {false,false}); + ((entity*)IFC4X3_RC3_types[443])->set_attributes({new attribute(strings[3156], new named_type(IFC4X3_RC3_types[1127]), false),new attribute(strings[3010], new named_type(IFC4X3_RC3_types[88]), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[444])->set_attributes({}, {false}); + ((entity*)IFC4X3_RC3_types[445])->set_attributes({new attribute(strings[2854], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[173])), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[446])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[447])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[449]), false),new attribute(strings[3157], new named_type(IFC4X3_RC3_types[450]), false)}, {false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[451])->set_attributes({new attribute(strings[3158], new named_type(IFC4X3_RC3_types[499]), true),new attribute(strings[3159], new named_type(IFC4X3_RC3_types[499]), true),new attribute(strings[3160], new named_type(IFC4X3_RC3_types[499]), true),new attribute(strings[3161], new named_type(IFC4X3_RC3_types[499]), true),new attribute(strings[3162], new named_type(IFC4X3_RC3_types[499]), true),new attribute(strings[3163], new named_type(IFC4X3_RC3_types[499]), true)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[452])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[454]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[453])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[454]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[455])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[457]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[456])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[457]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[458])->set_attributes({}, {false,false,false,false,false,false,false,false}); ((entity*)IFC4X3_RC3_types[459])->set_attributes({}, {false,false,false,false,false,false,false,false}); ((entity*)IFC4X3_RC3_types[460])->set_attributes({}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[461])->set_attributes({}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[462])->set_attributes({new attribute(strings[3169], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[465])), false),new attribute(strings[3070], new named_type(IFC4X3_RC3_types[88]), true)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[463])->set_attributes({new attribute(strings[3170], new named_type(IFC4X3_RC3_types[282]), false),new attribute(strings[3171], new named_type(IFC4X3_RC3_types[532]), false),new attribute(strings[3172], new named_type(IFC4X3_RC3_types[147]), true),new attribute(strings[3173], new named_type(IFC4X3_RC3_types[147]), true),new attribute(strings[3174], new named_type(IFC4X3_RC3_types[766]), false)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[464])->set_attributes({new attribute(strings[3175], new aggregation_type(aggregation_type::list_type, 2, 2, new named_type(IFC4X3_RC3_types[1264])), false),new attribute(strings[3176], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[1122])), false),new attribute(strings[3177], new named_type(IFC4X3_RC3_types[787]), false)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[466])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[468]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[467])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[468]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[469])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[471]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[470])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[471]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[472])->set_attributes({new attribute(strings[3178], new named_type(IFC4X3_RC3_types[307]), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[473])->set_attributes({}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[474])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[476])->set_attributes({}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[477])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[478])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[480]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[479])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[480]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[481])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[483]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[482])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[483]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[484])->set_attributes({}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[485])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[486])->set_attributes({}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[487])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[488])->set_attributes({}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[489])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[490])->set_attributes({}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[491])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[492])->set_attributes({}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[493])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[497])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[499]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[498])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[499]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[502])->set_attributes({}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[503])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[504])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[506]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[505])->set_attributes({new attribute(strings[3139], new named_type(IFC4X3_RC3_types[61]), false),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[506]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[507])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[509]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[508])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[509]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[510])->set_attributes({}, {false}); - ((entity*)IFC4X3_RC3_types[512])->set_attributes({new attribute(strings[3179], new named_type(IFC4X3_RC3_types[306]), false),new attribute(strings[3180], new named_type(IFC4X3_RC3_types[879]), true),new attribute(strings[3181], new named_type(IFC4X3_RC3_types[68]), false),new attribute(strings[3182], new named_type(IFC4X3_RC3_types[307]), true)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[513])->set_attributes({}, {}); - ((entity*)IFC4X3_RC3_types[514])->set_attributes({new attribute(strings[3183], new named_type(IFC4X3_RC3_types[512]), false),new attribute(strings[3184], new named_type(IFC4X3_RC3_types[787]), true),new attribute(strings[3185], new named_type(IFC4X3_RC3_types[511]), false),new attribute(strings[3186], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,true,true,true,true,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[515])->set_attributes({new attribute(strings[3076], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[516])), false)}, {false}); + ((entity*)IFC4X3_RC3_types[461])->set_attributes({new attribute(strings[3164], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[464])), false),new attribute(strings[3065], new named_type(IFC4X3_RC3_types[88]), true)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[462])->set_attributes({new attribute(strings[3165], new named_type(IFC4X3_RC3_types[282]), false),new attribute(strings[3166], new named_type(IFC4X3_RC3_types[531]), false),new attribute(strings[3167], new named_type(IFC4X3_RC3_types[147]), true),new attribute(strings[3168], new named_type(IFC4X3_RC3_types[147]), true),new attribute(strings[3169], new named_type(IFC4X3_RC3_types[764]), false)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[463])->set_attributes({new attribute(strings[3170], new aggregation_type(aggregation_type::list_type, 2, 2, new named_type(IFC4X3_RC3_types[1262])), false),new attribute(strings[3171], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[1120])), false),new attribute(strings[3172], new named_type(IFC4X3_RC3_types[785]), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[465])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[467]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[466])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[467]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[468])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[470]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[469])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[470]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[471])->set_attributes({new attribute(strings[3173], new named_type(IFC4X3_RC3_types[307]), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[472])->set_attributes({}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[473])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[475])->set_attributes({}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[476])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[477])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[479]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[478])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[479]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[480])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[482]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[481])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[482]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[483])->set_attributes({}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[484])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[485])->set_attributes({}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[486])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[487])->set_attributes({}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[488])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[489])->set_attributes({}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[490])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[491])->set_attributes({}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[492])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[496])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[498]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[497])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[498]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[501])->set_attributes({}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[502])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[503])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[505]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[504])->set_attributes({new attribute(strings[3134], new named_type(IFC4X3_RC3_types[61]), false),new attribute(strings[2845], new named_type(IFC4X3_RC3_types[505]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[506])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[508]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[507])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[508]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[509])->set_attributes({}, {false}); + ((entity*)IFC4X3_RC3_types[511])->set_attributes({new attribute(strings[3174], new named_type(IFC4X3_RC3_types[306]), false),new attribute(strings[3175], new named_type(IFC4X3_RC3_types[877]), true),new attribute(strings[3176], new named_type(IFC4X3_RC3_types[68]), false),new attribute(strings[3177], new named_type(IFC4X3_RC3_types[307]), true)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[512])->set_attributes({}, {}); + ((entity*)IFC4X3_RC3_types[513])->set_attributes({new attribute(strings[3178], new named_type(IFC4X3_RC3_types[511]), false),new attribute(strings[3179], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3180], new named_type(IFC4X3_RC3_types[510]), false),new attribute(strings[3181], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,true,true,true,true,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[514])->set_attributes({new attribute(strings[3071], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[515])), false)}, {false}); + ((entity*)IFC4X3_RC3_types[516])->set_attributes({}, {false,false,false,false,false,false,false,false}); ((entity*)IFC4X3_RC3_types[517])->set_attributes({}, {false,false,false,false,false,false,false,false}); ((entity*)IFC4X3_RC3_types[518])->set_attributes({}, {false,false,false,false,false,false,false,false}); ((entity*)IFC4X3_RC3_types[519])->set_attributes({}, {false,false,false,false,false,false,false,false}); ((entity*)IFC4X3_RC3_types[520])->set_attributes({}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[521])->set_attributes({}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[524])->set_attributes({new attribute(strings[3187], new named_type(IFC4X3_RC3_types[100]), false),new attribute(strings[3188], new named_type(IFC4X3_RC3_types[761]), true)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[525])->set_attributes({new attribute(strings[3189], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[526])), false),new attribute(strings[3190], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[526])), false),new attribute(strings[3191], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[526])), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[529]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[526])->set_attributes({new attribute(strings[3192], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3193], new named_type(IFC4X3_RC3_types[273]), false),new attribute(strings[3015], new named_type(IFC4X3_RC3_types[88]), false)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[527])->set_attributes({new attribute(strings[3194], new named_type(IFC4X3_RC3_types[1277]), false),new attribute(strings[3195], new named_type(IFC4X3_RC3_types[528]), true)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[530])->set_attributes({}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[531])->set_attributes({new attribute(strings[3196], new named_type(IFC4X3_RC3_types[1129]), false),new attribute(strings[3197], new named_type(IFC4X3_RC3_types[88]), false)}, {false,false}); - ((entity*)IFC4X3_RC3_types[533])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[535]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[534])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[535]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[538])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[540]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[539])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[540]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[569])->set_attributes({new attribute(strings[3111], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[2917], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[2918], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[3198], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[3199], new named_type(IFC4X3_RC3_types[701]), true),new attribute(strings[3200], new named_type(IFC4X3_RC3_types[701]), true),new attribute(strings[3201], new named_type(IFC4X3_RC3_types[766]), true)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[543])->set_attributes({new attribute(strings[3202], new named_type(IFC4X3_RC3_types[1257]), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[544])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[547]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[545])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[547]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[548])->set_attributes({new attribute(strings[3203], new named_type(IFC4X3_RC3_types[88]), true)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[549])->set_attributes({new attribute(strings[3204], new named_type(IFC4X3_RC3_types[1182]), false),new attribute(strings[3205], new named_type(IFC4X3_RC3_types[702]), true),new attribute(strings[3206], new named_type(IFC4X3_RC3_types[181]), false),new attribute(strings[3207], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[784])), false)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[550])->set_attributes({new attribute(strings[3208], new named_type(IFC4X3_RC3_types[148]), false),new attribute(strings[3014], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1001])), true),new attribute(strings[2934], new named_type(IFC4X3_RC3_types[88]), true)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[551])->set_attributes({new attribute(strings[3209], new aggregation_type(aggregation_type::list_type, 3, -1, new named_type(IFC4X3_RC3_types[784])), false)}, {false}); - ((entity*)IFC4X3_RC3_types[552])->set_attributes({new attribute(strings[3210], new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 3, -1, new named_type(IFC4X3_RC3_types[784]))), false)}, {false,false}); - ((entity*)IFC4X3_RC3_types[553])->set_attributes({new attribute(strings[3204], new named_type(IFC4X3_RC3_types[1182]), false),new attribute(strings[3211], new named_type(IFC4X3_RC3_types[1201]), false)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[554])->set_attributes({new attribute(strings[3212], new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 3, 3, new named_type(IFC4X3_RC3_types[784]))), true)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[558])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[560]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[559])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[560]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[563])->set_attributes({}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[564])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[565]), true),new attribute(strings[3213], new named_type(IFC4X3_RC3_types[8]), true),new attribute(strings[3214], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[743])), true),new attribute(strings[3215], new named_type(IFC4X3_RC3_types[292]), true),new attribute(strings[2909], new named_type(IFC4X3_RC3_types[253]), true),new attribute(strings[2908], new named_type(IFC4X3_RC3_types[253]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[567])->set_attributes({new attribute(strings[3216], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[568])), false)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[568])->set_attributes({new attribute(strings[3217], new named_type(IFC4X3_RC3_types[293]), false),new attribute(strings[3218], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1259])), false)}, {false,false}); - ((entity*)IFC4X3_RC3_types[571])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[573]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[572])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[573]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[574])->set_attributes({new attribute(strings[3219], new named_type(IFC4X3_RC3_types[88]), false)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[575])->set_attributes({new attribute(strings[3219], new named_type(IFC4X3_RC3_types[88]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[624])->set_attributes({new attribute(strings[2981], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[2982], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[2996], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[3199], new named_type(IFC4X3_RC3_types[701]), true),new attribute(strings[3220], new named_type(IFC4X3_RC3_types[701]), true),new attribute(strings[3221], new named_type(IFC4X3_RC3_types[766]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[579])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[581]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[580])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[581]), false)}, {false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[582])->set_attributes({new attribute(strings[3222], new named_type(IFC4X3_RC3_types[1211]), false),new attribute(strings[3223], new named_type(IFC4X3_RC3_types[1165]), false)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[583])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[585]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[584])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[585]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[590])->set_attributes({new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), false),new attribute(strings[2884], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3224], new named_type(IFC4X3_RC3_types[8]), true),new attribute(strings[3225], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3001], new named_type(IFC4X3_RC3_types[1257]), true),new attribute(strings[2857], new named_type(IFC4X3_RC3_types[1184]), true)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[591])->set_attributes({new attribute(strings[2857], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[3226], new named_type(IFC4X3_RC3_types[586]), true),new attribute(strings[3227], new named_type(IFC4X3_RC3_types[590]), true)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[594])->set_attributes({new attribute(strings[3228], new named_type(IFC4X3_RC3_types[766]), false),new attribute(strings[3229], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[766])), false),new attribute(strings[3230], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[626])), false)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[597])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[599]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[598])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[599]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[600])->set_attributes({new attribute(strings[3231], new named_type(IFC4X3_RC3_types[593]), false),new attribute(strings[3232], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[594])), false)}, {false,false}); - ((entity*)IFC4X3_RC3_types[601])->set_attributes({new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3233], new named_type(IFC4X3_RC3_types[180]), false),new attribute(strings[3234], new named_type(IFC4X3_RC3_types[702]), true),new attribute(strings[3235], new named_type(IFC4X3_RC3_types[702]), true)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[602])->set_attributes({}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[603])->set_attributes({new attribute(strings[3160], new named_type(IFC4X3_RC3_types[307]), false)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[604])->set_attributes({new attribute(strings[3019], new named_type(IFC4X3_RC3_types[70]), false),new attribute(strings[3236], new named_type(IFC4X3_RC3_types[180]), true),new attribute(strings[3237], new named_type(IFC4X3_RC3_types[1207]), false),new attribute(strings[3238], new named_type(IFC4X3_RC3_types[625]), false),new attribute(strings[3239], new named_type(IFC4X3_RC3_types[596]), false),new attribute(strings[3240], new named_type(IFC4X3_RC3_types[595]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[605])->set_attributes({new attribute(strings[3019], new named_type(IFC4X3_RC3_types[147]), false),new attribute(strings[2997], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[3241], new named_type(IFC4X3_RC3_types[879]), false),new attribute(strings[3242], new named_type(IFC4X3_RC3_types[879]), false),new attribute(strings[3243], new named_type(IFC4X3_RC3_types[879]), false)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[606])->set_attributes({new attribute(strings[3160], new named_type(IFC4X3_RC3_types[307]), false),new attribute(strings[3244], new named_type(IFC4X3_RC3_types[879]), true),new attribute(strings[3245], new named_type(IFC4X3_RC3_types[786]), false),new attribute(strings[3246], new named_type(IFC4X3_RC3_types[786]), false)}, {false,false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[607])->set_attributes({new attribute(strings[3247], new named_type(IFC4X3_RC3_types[147]), false),new attribute(strings[3248], new named_type(IFC4X3_RC3_types[1264]), false)}, {false,false}); - ((entity*)IFC4X3_RC3_types[608])->set_attributes({}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[611])->set_attributes({new attribute(strings[3249], new named_type(IFC4X3_RC3_types[71]), false),new attribute(strings[3250], new named_type(IFC4X3_RC3_types[70]), true)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[612])->set_attributes({}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[616])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[618]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[617])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[618]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[620])->set_attributes({new attribute(strings[3249], new named_type(IFC4X3_RC3_types[68]), false)}, {false,false}); - ((entity*)IFC4X3_RC3_types[623])->set_attributes({}, {}); - ((entity*)IFC4X3_RC3_types[630])->set_attributes({new attribute(strings[3251], new named_type(IFC4X3_RC3_types[173]), false)}, {false}); - ((entity*)IFC4X3_RC3_types[631])->set_attributes({new attribute(strings[3252], new named_type(IFC4X3_RC3_types[589]), false),new attribute(strings[3253], new named_type(IFC4X3_RC3_types[589]), false),new attribute(strings[3254], new named_type(IFC4X3_RC3_types[589]), false),new attribute(strings[3255], new named_type(IFC4X3_RC3_types[879]), true),new attribute(strings[3256], new named_type(IFC4X3_RC3_types[879]), true),new attribute(strings[2992], new named_type(IFC4X3_RC3_types[879]), true),new attribute(strings[3257], new named_type(IFC4X3_RC3_types[879]), true),new attribute(strings[3258], new named_type(IFC4X3_RC3_types[879]), true)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[632])->set_attributes({new attribute(strings[3259], new named_type(IFC4X3_RC3_types[959]), false),new attribute(strings[3260], new named_type(IFC4X3_RC3_types[151]), false)}, {false,false}); - ((entity*)IFC4X3_RC3_types[633])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[634]), true)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[640])->set_attributes({new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), false),new attribute(strings[2857], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[2892], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[641])->set_attributes({new attribute(strings[3261], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[172])), false),new attribute(strings[3262], new named_type(IFC4X3_RC3_types[640]), false)}, {false,false}); - ((entity*)IFC4X3_RC3_types[642])->set_attributes({new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[2857], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[3263], new named_type(IFC4X3_RC3_types[640]), false),new attribute(strings[3264], new named_type(IFC4X3_RC3_types[702]), true),new attribute(strings[2892], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[643])->set_attributes({new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[2857], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[3265], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[642])), true)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[644])->set_attributes({}, {}); - ((entity*)IFC4X3_RC3_types[645])->set_attributes({new attribute(strings[3266], new named_type(IFC4X3_RC3_types[640]), false)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[646])->set_attributes({new attribute(strings[3263], new named_type(IFC4X3_RC3_types[640]), true),new attribute(strings[3267], new named_type(IFC4X3_RC3_types[701]), false),new attribute(strings[3268], new named_type(IFC4X3_RC3_types[621]), true),new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[2857], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[2892], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3269], new named_type(IFC4X3_RC3_types[556]), true)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[647])->set_attributes({new attribute(strings[3270], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[646])), false),new attribute(strings[3271], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[2857], new named_type(IFC4X3_RC3_types[1184]), true)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[648])->set_attributes({new attribute(strings[3272], new named_type(IFC4X3_RC3_types[647]), false),new attribute(strings[3273], new named_type(IFC4X3_RC3_types[588]), false),new attribute(strings[3274], new named_type(IFC4X3_RC3_types[308]), false),new attribute(strings[3275], new named_type(IFC4X3_RC3_types[589]), false),new attribute(strings[3276], new named_type(IFC4X3_RC3_types[785]), true)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[649])->set_attributes({new attribute(strings[3277], new named_type(IFC4X3_RC3_types[588]), false),new attribute(strings[3278], new aggregation_type(aggregation_type::array_type, 1, 2, new named_type(IFC4X3_RC3_types[589])), false)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[650])->set_attributes({new attribute(strings[3279], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[640])), false)}, {false}); - ((entity*)IFC4X3_RC3_types[651])->set_attributes({new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[2857], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[3263], new named_type(IFC4X3_RC3_types[640]), true),new attribute(strings[3280], new named_type(IFC4X3_RC3_types[813]), false),new attribute(strings[3269], new named_type(IFC4X3_RC3_types[556]), true),new attribute(strings[2892], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[652])->set_attributes({new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[2857], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[3281], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[651])), false),new attribute(strings[3282], new named_type(IFC4X3_RC3_types[197]), true)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[653])->set_attributes({new attribute(strings[3283], new named_type(IFC4X3_RC3_types[652]), false),new attribute(strings[3284], new named_type(IFC4X3_RC3_types[146]), true),new attribute(strings[3276], new named_type(IFC4X3_RC3_types[785]), true)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[654])->set_attributes({new attribute(strings[3285], new named_type(IFC4X3_RC3_types[652]), false),new attribute(strings[3286], new named_type(IFC4X3_RC3_types[146]), true)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[655])->set_attributes({new attribute(strings[3278], new aggregation_type(aggregation_type::array_type, 1, 2, new named_type(IFC4X3_RC3_types[589])), false)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[656])->set_attributes({new attribute(strings[3263], new named_type(IFC4X3_RC3_types[644]), false)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[657])->set_attributes({new attribute(strings[3287], new named_type(IFC4X3_RC3_types[640]), false),new attribute(strings[3288], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[640])), false),new attribute(strings[3289], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[659])->set_attributes({}, {}); - ((entity*)IFC4X3_RC3_types[661])->set_attributes({new attribute(strings[3290], new named_type(IFC4X3_RC3_types[1259]), false),new attribute(strings[3291], new named_type(IFC4X3_RC3_types[1248]), false)}, {false,false}); - ((entity*)IFC4X3_RC3_types[662])->set_attributes({new attribute(strings[3292], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3293], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[664]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[663])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[664]), false),new attribute(strings[3292], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3293], new named_type(IFC4X3_RC3_types[785]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[665])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[667]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[666])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[667]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[668])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[671]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[669])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[670])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[671]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[672])->set_attributes({new attribute(strings[3294], new named_type(IFC4X3_RC3_types[80]), false),new attribute(strings[3295], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3296], new named_type(IFC4X3_RC3_types[673]), true),new attribute(strings[3297], new named_type(IFC4X3_RC3_types[886]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[674])->set_attributes({}, {false,false,false,true,false}); - ((entity*)IFC4X3_RC3_types[675])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[677]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[676])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[677]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[689])->set_attributes({new attribute(strings[3298], new named_type(IFC4X3_RC3_types[578]), false)}, {false}); - ((entity*)IFC4X3_RC3_types[691])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[693]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[692])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[693]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[694])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[696]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[695])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[696]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[697])->set_attributes({new attribute(strings[3299], new named_type(IFC4X3_RC3_types[305]), false),new attribute(strings[3077], new named_type(IFC4X3_RC3_types[1256]), false)}, {false,false}); - ((entity*)IFC4X3_RC3_types[698])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[700]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[699])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[700]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[704])->set_attributes({new attribute(strings[3040], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[705])->set_attributes({}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[708])->set_attributes({new attribute(strings[3300], new named_type(IFC4X3_RC3_types[708]), true)}, {false}); - ((entity*)IFC4X3_RC3_types[706])->set_attributes({new attribute(strings[3301], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[214])), true),new attribute(strings[3302], new named_type(IFC4X3_RC3_types[622]), true),new attribute(strings[3303], new named_type(IFC4X3_RC3_types[707]), false),new attribute(strings[3304], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[711])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[712]), true)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[713])->set_attributes({new attribute(strings[3305], new named_type(IFC4X3_RC3_types[273]), false)}, {false}); - ((entity*)IFC4X3_RC3_types[714])->set_attributes({new attribute(strings[3306], new named_type(IFC4X3_RC3_types[589]), false),new attribute(strings[2934], new named_type(IFC4X3_RC3_types[621]), false)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[715])->set_attributes({new attribute(strings[3306], new named_type(IFC4X3_RC3_types[589]), false),new attribute(strings[2934], new named_type(IFC4X3_RC3_types[621]), false),new attribute(strings[2929], new named_type(IFC4X3_RC3_types[307]), false)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[716])->set_attributes({new attribute(strings[3278], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[773])), false),new attribute(strings[3138], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[717])->set_attributes({new attribute(strings[3307], new named_type(IFC4X3_RC3_types[88]), false),new attribute(strings[3308], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[701])), false),new attribute(strings[3309], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[766])), false),new attribute(strings[3310], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[578])), true)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[721])->set_attributes({}, {false}); - ((entity*)IFC4X3_RC3_types[718])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[719]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[720])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[722])->set_attributes({new attribute(strings[2907], new named_type(IFC4X3_RC3_types[541]), true),new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), false),new attribute(strings[2857], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[3311], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[7])), true),new attribute(strings[3312], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[12])), true)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[723])->set_attributes({new attribute(strings[3313], new named_type(IFC4X3_RC3_types[722]), false),new attribute(strings[3314], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[722])), false)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[724])->set_attributes({new attribute(strings[3315], new named_type(IFC4X3_RC3_types[369]), false),new attribute(strings[3160], new named_type(IFC4X3_RC3_types[88]), false)}, {true,true,false,false}); - ((entity*)IFC4X3_RC3_types[725])->set_attributes({}, {false,false}); - ((entity*)IFC4X3_RC3_types[726])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[728]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[727])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[728]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[729])->set_attributes({new attribute(strings[3316], new named_type(IFC4X3_RC3_types[744]), false),new attribute(strings[3317], new named_type(IFC4X3_RC3_types[49]), false),new attribute(strings[3318], new named_type(IFC4X3_RC3_types[1079]), true),new attribute(strings[3319], new named_type(IFC4X3_RC3_types[157]), true),new attribute(strings[3320], new named_type(IFC4X3_RC3_types[1216]), true),new attribute(strings[3321], new named_type(IFC4X3_RC3_types[744]), true),new attribute(strings[3322], new named_type(IFC4X3_RC3_types[49]), true),new attribute(strings[3323], new named_type(IFC4X3_RC3_types[1216]), false)}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[730])->set_attributes({new attribute(strings[3019], new named_type(IFC4X3_RC3_types[69]), true)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[732])->set_attributes({new attribute(strings[3137], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[724])), false)}, {false}); - ((entity*)IFC4X3_RC3_types[733])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[735]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[734])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[735]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[736])->set_attributes({new attribute(strings[3062], new named_type(IFC4X3_RC3_types[1129]), false),new attribute(strings[3324], new named_type(IFC4X3_RC3_types[273]), false)}, {false,false}); - ((entity*)IFC4X3_RC3_types[737])->set_attributes({new attribute(strings[3325], new named_type(IFC4X3_RC3_types[578]), false),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[738]), true)}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[740])->set_attributes({new attribute(strings[3112], new named_type(IFC4X3_RC3_types[739]), false),new attribute(strings[3130], new named_type(IFC4X3_RC3_types[1298]), false),new attribute(strings[3326], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3327], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3124], new named_type(IFC4X3_RC3_types[1009]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[741])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[742]), true),new attribute(strings[2852], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[2853], new named_type(IFC4X3_RC3_types[1184]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[743])->set_attributes({new attribute(strings[2907], new named_type(IFC4X3_RC3_types[541]), true),new attribute(strings[3328], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3329], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3330], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[578])), true),new attribute(strings[3331], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[578])), true),new attribute(strings[3332], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[578])), true),new attribute(strings[3311], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[7])), true),new attribute(strings[3312], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[12])), true)}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[744])->set_attributes({new attribute(strings[3333], new named_type(IFC4X3_RC3_types[743]), false),new attribute(strings[3334], new named_type(IFC4X3_RC3_types[722]), false),new attribute(strings[3311], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[7])), true)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[746])->set_attributes({new attribute(strings[3335], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[748])), false),new attribute(strings[3336], new named_type(IFC4X3_RC3_types[578]), false),new attribute(strings[3337], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3037], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[748])->set_attributes({new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), false),new attribute(strings[2857], new named_type(IFC4X3_RC3_types[1184]), true)}, {false,false}); - ((entity*)IFC4X3_RC3_types[749])->set_attributes({new attribute(strings[3079], new named_type(IFC4X3_RC3_types[697]), true)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[750])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[753]), true),new attribute(strings[3131], new named_type(IFC4X3_RC3_types[751]), true)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[752])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[753]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[754])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[756]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[755])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[756]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[757])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[759]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[758])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[759]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[760])->set_attributes({new attribute(strings[2982], new named_type(IFC4X3_RC3_types[556]), false),new attribute(strings[3338], new named_type(IFC4X3_RC3_types[556]), false),new attribute(strings[3339], new named_type(IFC4X3_RC3_types[556]), false),new attribute(strings[3340], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[82])), false)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[761])->set_attributes({new attribute(strings[3001], new named_type(IFC4X3_RC3_types[772]), false)}, {false}); - ((entity*)IFC4X3_RC3_types[762])->set_attributes({new attribute(strings[3065], new named_type(IFC4X3_RC3_types[68]), false)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[763])->set_attributes({new attribute(strings[3341], new named_type(IFC4X3_RC3_types[589]), false),new attribute(strings[3342], new named_type(IFC4X3_RC3_types[589]), false)}, {false,false}); - ((entity*)IFC4X3_RC3_types[765])->set_attributes({}, {false}); + ((entity*)IFC4X3_RC3_types[523])->set_attributes({new attribute(strings[3182], new named_type(IFC4X3_RC3_types[100]), false),new attribute(strings[3183], new named_type(IFC4X3_RC3_types[759]), true)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[524])->set_attributes({new attribute(strings[3184], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[525])), false),new attribute(strings[3185], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[525])), false),new attribute(strings[3186], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[525])), true),new attribute(strings[2845], new named_type(IFC4X3_RC3_types[528]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[525])->set_attributes({new attribute(strings[3187], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3188], new named_type(IFC4X3_RC3_types[273]), false),new attribute(strings[3010], new named_type(IFC4X3_RC3_types[88]), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[526])->set_attributes({new attribute(strings[3189], new named_type(IFC4X3_RC3_types[1275]), false),new attribute(strings[3190], new named_type(IFC4X3_RC3_types[527]), true)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[529])->set_attributes({}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[530])->set_attributes({new attribute(strings[3191], new named_type(IFC4X3_RC3_types[1127]), false),new attribute(strings[3192], new named_type(IFC4X3_RC3_types[88]), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[532])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[534]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[533])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[534]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[537])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[539]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[538])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[539]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[568])->set_attributes({new attribute(strings[3106], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[2912], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[2913], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[3193], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[3194], new named_type(IFC4X3_RC3_types[700]), true),new attribute(strings[3195], new named_type(IFC4X3_RC3_types[700]), true),new attribute(strings[3196], new named_type(IFC4X3_RC3_types[764]), true)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[542])->set_attributes({new attribute(strings[3197], new named_type(IFC4X3_RC3_types[1255]), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[543])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[546]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[544])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[546]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[547])->set_attributes({new attribute(strings[3198], new named_type(IFC4X3_RC3_types[88]), true)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[548])->set_attributes({new attribute(strings[3199], new named_type(IFC4X3_RC3_types[1180]), false),new attribute(strings[3200], new named_type(IFC4X3_RC3_types[701]), true),new attribute(strings[3201], new named_type(IFC4X3_RC3_types[181]), false),new attribute(strings[3202], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[782])), false)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[549])->set_attributes({new attribute(strings[3203], new named_type(IFC4X3_RC3_types[148]), false),new attribute(strings[3009], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[999])), true),new attribute(strings[2929], new named_type(IFC4X3_RC3_types[88]), true)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[550])->set_attributes({new attribute(strings[3204], new aggregation_type(aggregation_type::list_type, 3, -1, new named_type(IFC4X3_RC3_types[782])), false)}, {false}); + ((entity*)IFC4X3_RC3_types[551])->set_attributes({new attribute(strings[3205], new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 3, -1, new named_type(IFC4X3_RC3_types[782]))), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[552])->set_attributes({new attribute(strings[3199], new named_type(IFC4X3_RC3_types[1180]), false),new attribute(strings[3206], new named_type(IFC4X3_RC3_types[1199]), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[553])->set_attributes({new attribute(strings[3207], new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 3, 3, new named_type(IFC4X3_RC3_types[782]))), true)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[557])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[559]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[558])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[559]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[562])->set_attributes({}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[563])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[564]), true),new attribute(strings[3208], new named_type(IFC4X3_RC3_types[8]), true),new attribute(strings[3209], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[741])), true),new attribute(strings[3210], new named_type(IFC4X3_RC3_types[292]), true),new attribute(strings[2904], new named_type(IFC4X3_RC3_types[253]), true),new attribute(strings[2903], new named_type(IFC4X3_RC3_types[253]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[566])->set_attributes({new attribute(strings[3211], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[567])), false)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[567])->set_attributes({new attribute(strings[3212], new named_type(IFC4X3_RC3_types[293]), false),new attribute(strings[3213], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1257])), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[570])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[572]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[571])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[572]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[573])->set_attributes({new attribute(strings[3214], new named_type(IFC4X3_RC3_types[88]), false)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[574])->set_attributes({new attribute(strings[3214], new named_type(IFC4X3_RC3_types[88]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[623])->set_attributes({new attribute(strings[2976], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[2977], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[2991], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[3194], new named_type(IFC4X3_RC3_types[700]), true),new attribute(strings[3215], new named_type(IFC4X3_RC3_types[700]), true),new attribute(strings[3216], new named_type(IFC4X3_RC3_types[764]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[578])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[580]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[579])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[580]), false)}, {false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[581])->set_attributes({new attribute(strings[3217], new named_type(IFC4X3_RC3_types[1209]), false),new attribute(strings[3218], new named_type(IFC4X3_RC3_types[1163]), false)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[582])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[584]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[583])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[584]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[589])->set_attributes({new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), false),new attribute(strings[2879], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3219], new named_type(IFC4X3_RC3_types[8]), true),new attribute(strings[3220], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[2996], new named_type(IFC4X3_RC3_types[1255]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1182]), true)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[590])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1182]), true),new attribute(strings[3221], new named_type(IFC4X3_RC3_types[585]), true),new attribute(strings[3222], new named_type(IFC4X3_RC3_types[589]), true)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[593])->set_attributes({new attribute(strings[3223], new named_type(IFC4X3_RC3_types[764]), false),new attribute(strings[3224], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[764])), false),new attribute(strings[3225], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[625])), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[596])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[598]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[597])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[598]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[599])->set_attributes({new attribute(strings[3226], new named_type(IFC4X3_RC3_types[592]), false),new attribute(strings[3227], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[593])), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[600])->set_attributes({new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3228], new named_type(IFC4X3_RC3_types[180]), false),new attribute(strings[3229], new named_type(IFC4X3_RC3_types[701]), true),new attribute(strings[3230], new named_type(IFC4X3_RC3_types[701]), true)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[601])->set_attributes({}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[602])->set_attributes({new attribute(strings[3155], new named_type(IFC4X3_RC3_types[307]), false)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[603])->set_attributes({new attribute(strings[3014], new named_type(IFC4X3_RC3_types[70]), false),new attribute(strings[3231], new named_type(IFC4X3_RC3_types[180]), true),new attribute(strings[3232], new named_type(IFC4X3_RC3_types[1205]), false),new attribute(strings[3233], new named_type(IFC4X3_RC3_types[624]), false),new attribute(strings[3234], new named_type(IFC4X3_RC3_types[595]), false),new attribute(strings[3235], new named_type(IFC4X3_RC3_types[594]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[604])->set_attributes({new attribute(strings[3014], new named_type(IFC4X3_RC3_types[147]), false),new attribute(strings[2992], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[3236], new named_type(IFC4X3_RC3_types[877]), false),new attribute(strings[3237], new named_type(IFC4X3_RC3_types[877]), false),new attribute(strings[3238], new named_type(IFC4X3_RC3_types[877]), false)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[605])->set_attributes({new attribute(strings[3155], new named_type(IFC4X3_RC3_types[307]), false),new attribute(strings[3239], new named_type(IFC4X3_RC3_types[877]), true),new attribute(strings[3240], new named_type(IFC4X3_RC3_types[784]), false),new attribute(strings[3241], new named_type(IFC4X3_RC3_types[784]), false)}, {false,false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[606])->set_attributes({new attribute(strings[3242], new named_type(IFC4X3_RC3_types[147]), false),new attribute(strings[3243], new named_type(IFC4X3_RC3_types[1262]), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[607])->set_attributes({}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[610])->set_attributes({new attribute(strings[3244], new named_type(IFC4X3_RC3_types[71]), false),new attribute(strings[3245], new named_type(IFC4X3_RC3_types[70]), true)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[611])->set_attributes({}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[615])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[617]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[616])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[617]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[619])->set_attributes({new attribute(strings[3244], new named_type(IFC4X3_RC3_types[68]), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[622])->set_attributes({}, {}); + ((entity*)IFC4X3_RC3_types[629])->set_attributes({new attribute(strings[3246], new named_type(IFC4X3_RC3_types[173]), false)}, {false}); + ((entity*)IFC4X3_RC3_types[630])->set_attributes({new attribute(strings[3247], new named_type(IFC4X3_RC3_types[588]), false),new attribute(strings[3248], new named_type(IFC4X3_RC3_types[588]), false),new attribute(strings[3249], new named_type(IFC4X3_RC3_types[588]), false),new attribute(strings[3250], new named_type(IFC4X3_RC3_types[877]), true),new attribute(strings[3251], new named_type(IFC4X3_RC3_types[877]), true),new attribute(strings[2987], new named_type(IFC4X3_RC3_types[877]), true),new attribute(strings[3252], new named_type(IFC4X3_RC3_types[877]), true),new attribute(strings[3253], new named_type(IFC4X3_RC3_types[877]), true)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[631])->set_attributes({new attribute(strings[3254], new named_type(IFC4X3_RC3_types[957]), false),new attribute(strings[3255], new named_type(IFC4X3_RC3_types[151]), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[632])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[633]), true)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[639])->set_attributes({new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), false),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1182]), true),new attribute(strings[2887], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[640])->set_attributes({new attribute(strings[3256], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[172])), false),new attribute(strings[3257], new named_type(IFC4X3_RC3_types[639]), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[641])->set_attributes({new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1182]), true),new attribute(strings[3258], new named_type(IFC4X3_RC3_types[639]), false),new attribute(strings[3259], new named_type(IFC4X3_RC3_types[701]), true),new attribute(strings[2887], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[642])->set_attributes({new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1182]), true),new attribute(strings[3260], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[641])), true)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[643])->set_attributes({}, {}); + ((entity*)IFC4X3_RC3_types[644])->set_attributes({new attribute(strings[3261], new named_type(IFC4X3_RC3_types[639]), false)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[645])->set_attributes({new attribute(strings[3258], new named_type(IFC4X3_RC3_types[639]), true),new attribute(strings[3262], new named_type(IFC4X3_RC3_types[700]), false),new attribute(strings[3263], new named_type(IFC4X3_RC3_types[620]), true),new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1182]), true),new attribute(strings[2887], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3264], new named_type(IFC4X3_RC3_types[555]), true)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[646])->set_attributes({new attribute(strings[3265], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[645])), false),new attribute(strings[3266], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1182]), true)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[647])->set_attributes({new attribute(strings[3267], new named_type(IFC4X3_RC3_types[646]), false),new attribute(strings[3268], new named_type(IFC4X3_RC3_types[587]), false),new attribute(strings[3269], new named_type(IFC4X3_RC3_types[308]), false),new attribute(strings[3270], new named_type(IFC4X3_RC3_types[588]), false),new attribute(strings[3271], new named_type(IFC4X3_RC3_types[783]), true)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[648])->set_attributes({new attribute(strings[3272], new named_type(IFC4X3_RC3_types[587]), false),new attribute(strings[3273], new aggregation_type(aggregation_type::array_type, 1, 2, new named_type(IFC4X3_RC3_types[588])), false)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[649])->set_attributes({new attribute(strings[3274], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[639])), false)}, {false}); + ((entity*)IFC4X3_RC3_types[650])->set_attributes({new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1182]), true),new attribute(strings[3258], new named_type(IFC4X3_RC3_types[639]), true),new attribute(strings[3275], new named_type(IFC4X3_RC3_types[811]), false),new attribute(strings[3264], new named_type(IFC4X3_RC3_types[555]), true),new attribute(strings[2887], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[651])->set_attributes({new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1182]), true),new attribute(strings[3276], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[650])), false),new attribute(strings[3277], new named_type(IFC4X3_RC3_types[197]), true)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[652])->set_attributes({new attribute(strings[3278], new named_type(IFC4X3_RC3_types[651]), false),new attribute(strings[3279], new named_type(IFC4X3_RC3_types[146]), true),new attribute(strings[3271], new named_type(IFC4X3_RC3_types[783]), true)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[653])->set_attributes({new attribute(strings[3280], new named_type(IFC4X3_RC3_types[651]), false),new attribute(strings[3281], new named_type(IFC4X3_RC3_types[146]), true)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[654])->set_attributes({new attribute(strings[3273], new aggregation_type(aggregation_type::array_type, 1, 2, new named_type(IFC4X3_RC3_types[588])), false)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[655])->set_attributes({new attribute(strings[3258], new named_type(IFC4X3_RC3_types[643]), false)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[656])->set_attributes({new attribute(strings[3282], new named_type(IFC4X3_RC3_types[639]), false),new attribute(strings[3283], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[639])), false),new attribute(strings[3284], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[658])->set_attributes({}, {}); + ((entity*)IFC4X3_RC3_types[660])->set_attributes({new attribute(strings[3285], new named_type(IFC4X3_RC3_types[1257]), false),new attribute(strings[3286], new named_type(IFC4X3_RC3_types[1246]), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[661])->set_attributes({new attribute(strings[3287], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3288], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[2845], new named_type(IFC4X3_RC3_types[663]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[662])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[663]), false),new attribute(strings[3287], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3288], new named_type(IFC4X3_RC3_types[783]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[664])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[666]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[665])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[666]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[667])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[670]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[668])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[669])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[670]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[671])->set_attributes({new attribute(strings[3289], new named_type(IFC4X3_RC3_types[80]), false),new attribute(strings[3290], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3291], new named_type(IFC4X3_RC3_types[672]), true),new attribute(strings[3292], new named_type(IFC4X3_RC3_types[884]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[673])->set_attributes({}, {false,false,false,true,false}); + ((entity*)IFC4X3_RC3_types[674])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[676]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[675])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[676]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[688])->set_attributes({new attribute(strings[3293], new named_type(IFC4X3_RC3_types[577]), false)}, {false}); + ((entity*)IFC4X3_RC3_types[690])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[692]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[691])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[692]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[693])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[695]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[694])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[695]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[696])->set_attributes({new attribute(strings[3294], new named_type(IFC4X3_RC3_types[305]), false),new attribute(strings[3072], new named_type(IFC4X3_RC3_types[1254]), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[697])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[699]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[698])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[699]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[703])->set_attributes({new attribute(strings[3035], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[704])->set_attributes({}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[707])->set_attributes({new attribute(strings[3295], new named_type(IFC4X3_RC3_types[707]), true)}, {false}); + ((entity*)IFC4X3_RC3_types[705])->set_attributes({new attribute(strings[3296], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[214])), true),new attribute(strings[3297], new named_type(IFC4X3_RC3_types[621]), true),new attribute(strings[3298], new named_type(IFC4X3_RC3_types[706]), false),new attribute(strings[3299], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[710])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[711]), true)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[712])->set_attributes({new attribute(strings[3300], new named_type(IFC4X3_RC3_types[273]), false)}, {false}); + ((entity*)IFC4X3_RC3_types[713])->set_attributes({new attribute(strings[3301], new named_type(IFC4X3_RC3_types[588]), false),new attribute(strings[2929], new named_type(IFC4X3_RC3_types[620]), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[714])->set_attributes({new attribute(strings[3301], new named_type(IFC4X3_RC3_types[588]), false),new attribute(strings[2929], new named_type(IFC4X3_RC3_types[620]), false),new attribute(strings[2924], new named_type(IFC4X3_RC3_types[307]), false)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[715])->set_attributes({new attribute(strings[3273], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[771])), false),new attribute(strings[3133], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[716])->set_attributes({new attribute(strings[3302], new named_type(IFC4X3_RC3_types[88]), false),new attribute(strings[3303], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[700])), false),new attribute(strings[3304], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[764])), false),new attribute(strings[3305], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[577])), true)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[720])->set_attributes({}, {false}); + ((entity*)IFC4X3_RC3_types[717])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[718]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[719])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[721])->set_attributes({new attribute(strings[2902], new named_type(IFC4X3_RC3_types[540]), true),new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), false),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1182]), true),new attribute(strings[3306], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[7])), true),new attribute(strings[3307], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[12])), true)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[722])->set_attributes({new attribute(strings[3308], new named_type(IFC4X3_RC3_types[721]), false),new attribute(strings[3309], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[721])), false)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[723])->set_attributes({new attribute(strings[3310], new named_type(IFC4X3_RC3_types[368]), false),new attribute(strings[3155], new named_type(IFC4X3_RC3_types[88]), false)}, {true,true,false,false}); + ((entity*)IFC4X3_RC3_types[724])->set_attributes({}, {false,false}); + ((entity*)IFC4X3_RC3_types[725])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[727]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[726])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[727]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[728])->set_attributes({new attribute(strings[3311], new named_type(IFC4X3_RC3_types[742]), false),new attribute(strings[3312], new named_type(IFC4X3_RC3_types[49]), false),new attribute(strings[3313], new named_type(IFC4X3_RC3_types[1077]), true),new attribute(strings[3314], new named_type(IFC4X3_RC3_types[157]), true),new attribute(strings[3315], new named_type(IFC4X3_RC3_types[1214]), true),new attribute(strings[3316], new named_type(IFC4X3_RC3_types[742]), true),new attribute(strings[3317], new named_type(IFC4X3_RC3_types[49]), true),new attribute(strings[3318], new named_type(IFC4X3_RC3_types[1214]), false)}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[729])->set_attributes({new attribute(strings[3014], new named_type(IFC4X3_RC3_types[69]), true)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[731])->set_attributes({new attribute(strings[3132], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[723])), false)}, {false}); + ((entity*)IFC4X3_RC3_types[732])->set_attributes({new attribute(strings[3319], new named_type(IFC4X3_RC3_types[88]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[733])->set_attributes({new attribute(strings[3319], new named_type(IFC4X3_RC3_types[88]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[734])->set_attributes({new attribute(strings[3057], new named_type(IFC4X3_RC3_types[1127]), false),new attribute(strings[3320], new named_type(IFC4X3_RC3_types[273]), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[735])->set_attributes({new attribute(strings[3321], new named_type(IFC4X3_RC3_types[577]), false),new attribute(strings[2845], new named_type(IFC4X3_RC3_types[736]), true)}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[738])->set_attributes({new attribute(strings[3107], new named_type(IFC4X3_RC3_types[737]), false),new attribute(strings[3125], new named_type(IFC4X3_RC3_types[1296]), false),new attribute(strings[3322], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3323], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3119], new named_type(IFC4X3_RC3_types[1007]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[739])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[740]), true),new attribute(strings[2846], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[2847], new named_type(IFC4X3_RC3_types[1182]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[741])->set_attributes({new attribute(strings[2902], new named_type(IFC4X3_RC3_types[540]), true),new attribute(strings[3324], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3325], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3326], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[577])), true),new attribute(strings[3327], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[577])), true),new attribute(strings[3328], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[577])), true),new attribute(strings[3306], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[7])), true),new attribute(strings[3307], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[12])), true)}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[742])->set_attributes({new attribute(strings[3329], new named_type(IFC4X3_RC3_types[741]), false),new attribute(strings[3330], new named_type(IFC4X3_RC3_types[721]), false),new attribute(strings[3306], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[7])), true)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[744])->set_attributes({new attribute(strings[3331], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[746])), false),new attribute(strings[3332], new named_type(IFC4X3_RC3_types[577]), false),new attribute(strings[3333], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3032], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[746])->set_attributes({new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), false),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1182]), true)}, {false,false}); + ((entity*)IFC4X3_RC3_types[747])->set_attributes({new attribute(strings[3074], new named_type(IFC4X3_RC3_types[696]), true)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[748])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[751]), true),new attribute(strings[3126], new named_type(IFC4X3_RC3_types[749]), true)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[750])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[751]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[752])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[754]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[753])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[754]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[755])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[757]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[756])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[757]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[758])->set_attributes({new attribute(strings[2977], new named_type(IFC4X3_RC3_types[555]), false),new attribute(strings[3334], new named_type(IFC4X3_RC3_types[555]), false),new attribute(strings[3335], new named_type(IFC4X3_RC3_types[555]), false),new attribute(strings[3336], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[82])), false)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[759])->set_attributes({new attribute(strings[2996], new named_type(IFC4X3_RC3_types[770]), false)}, {false}); + ((entity*)IFC4X3_RC3_types[760])->set_attributes({new attribute(strings[3060], new named_type(IFC4X3_RC3_types[68]), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[761])->set_attributes({new attribute(strings[3337], new named_type(IFC4X3_RC3_types[588]), false),new attribute(strings[3338], new named_type(IFC4X3_RC3_types[588]), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[763])->set_attributes({}, {false}); + ((entity*)IFC4X3_RC3_types[765])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[766])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[769]), true)}, {false,false,false,false,false,false,false,false,false}); ((entity*)IFC4X3_RC3_types[767])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[768])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[771]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[769])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[770])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[771]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[772])->set_attributes({}, {}); - ((entity*)IFC4X3_RC3_types[773])->set_attributes({new attribute(strings[3343], new named_type(IFC4X3_RC3_types[278]), false),new attribute(strings[3344], new named_type(IFC4X3_RC3_types[589]), true),new attribute(strings[3345], new named_type(IFC4X3_RC3_types[589]), true),new attribute(strings[3346], new named_type(IFC4X3_RC3_types[589]), true),new attribute(strings[3305], new named_type(IFC4X3_RC3_types[273]), false)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[774])->set_attributes({new attribute(strings[3305], new named_type(IFC4X3_RC3_types[273]), false),new attribute(strings[3347], new named_type(IFC4X3_RC3_types[731]), false)}, {false,false}); - ((entity*)IFC4X3_RC3_types[775])->set_attributes({new attribute(strings[3062], new named_type(IFC4X3_RC3_types[1129]), false),new attribute(strings[3348], new named_type(IFC4X3_RC3_types[731]), false),new attribute(strings[3349], new named_type(IFC4X3_RC3_types[731]), false)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[780])->set_attributes({new attribute(strings[3350], new aggregation_type(aggregation_type::list_type, 3, -1, new named_type(IFC4X3_RC3_types[147])), false)}, {false}); - ((entity*)IFC4X3_RC3_types[777])->set_attributes({new attribute(strings[3019], new named_type(IFC4X3_RC3_types[70]), false),new attribute(strings[3351], new named_type(IFC4X3_RC3_types[100]), false)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[778])->set_attributes({new attribute(strings[3352], new named_type(IFC4X3_RC3_types[88]), true),new attribute(strings[3353], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[551])), false),new attribute(strings[3354], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[784])), true)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[779])->set_attributes({new attribute(strings[3208], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[147])), false)}, {false}); - ((entity*)IFC4X3_RC3_types[781])->set_attributes({new attribute(strings[3019], new named_type(IFC4X3_RC3_types[761]), false),new attribute(strings[3355], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[879])), true),new attribute(strings[3356], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[879])), true),new attribute(strings[3357], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[879])), true)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[782])->set_attributes({}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[783])->set_attributes({}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[788])->set_attributes({new attribute(strings[3358], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3359], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[578])), true),new attribute(strings[3360], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3361], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3362], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3363], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3364], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[790])->set_attributes({}, {false}); - ((entity*)IFC4X3_RC3_types[791])->set_attributes({}, {false}); - ((entity*)IFC4X3_RC3_types[792])->set_attributes({new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), false)}, {false}); - ((entity*)IFC4X3_RC3_types[793])->set_attributes({}, {}); - ((entity*)IFC4X3_RC3_types[794])->set_attributes({}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[795])->set_attributes({}, {false}); - ((entity*)IFC4X3_RC3_types[798])->set_attributes({}, {}); - ((entity*)IFC4X3_RC3_types[799])->set_attributes({new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), false),new attribute(strings[2857], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[3365], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[587])), false),new attribute(strings[2896], new named_type(IFC4X3_RC3_types[541]), true)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[800])->set_attributes({new attribute(strings[3366], new named_type(IFC4X3_RC3_types[621]), false),new attribute(strings[3367], new named_type(IFC4X3_RC3_types[621]), false),new attribute(strings[3368], new named_type(IFC4X3_RC3_types[621]), false),new attribute(strings[3369], new aggregation_type(aggregation_type::set_type, 0, -1, new named_type(IFC4X3_RC3_types[801])), false)}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[801])->set_attributes({new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), true)}, {false}); - ((entity*)IFC4X3_RC3_types[803])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[805]), true)}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[804])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[805]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[806])->set_attributes({new attribute(strings[2907], new named_type(IFC4X3_RC3_types[541]), true),new attribute(strings[2853], new named_type(IFC4X3_RC3_types[1184]), true)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[808])->set_attributes({new attribute(strings[3370], new named_type(IFC4X3_RC3_types[708]), true),new attribute(strings[3371], new named_type(IFC4X3_RC3_types[810]), true)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[809])->set_attributes({}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[810])->set_attributes({new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[2857], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[3372], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[956])), false)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[813])->set_attributes({new attribute(strings[3373], new named_type(IFC4X3_RC3_types[815]), false),new attribute(strings[3374], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false}); - ((entity*)IFC4X3_RC3_types[814])->set_attributes({new attribute(strings[3375], new named_type(IFC4X3_RC3_types[813]), false)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[816])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[821])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[822])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[823]), true),new attribute(strings[2852], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[2853], new named_type(IFC4X3_RC3_types[1184]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[817])->set_attributes({new attribute(strings[3376], new named_type(IFC4X3_RC3_types[541]), true),new attribute(strings[3377], new named_type(IFC4X3_RC3_types[541]), true),new attribute(strings[3378], new named_type(IFC4X3_RC3_types[697]), true)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[819])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[820]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[824])->set_attributes({new attribute(strings[2887], new named_type(IFC4X3_RC3_types[541]), false),new attribute(strings[2857], new named_type(IFC4X3_RC3_types[1184]), true)}, {false,false}); - ((entity*)IFC4X3_RC3_types[825])->set_attributes({}, {}); - ((entity*)IFC4X3_RC3_types[826])->set_attributes({new attribute(strings[3379], new named_type(IFC4X3_RC3_types[1259]), true),new attribute(strings[3380], new named_type(IFC4X3_RC3_types[1259]), true),new attribute(strings[3079], new named_type(IFC4X3_RC3_types[1248]), true),new attribute(strings[3381], new named_type(IFC4X3_RC3_types[1259]), true)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[827])->set_attributes({}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[828])->set_attributes({new attribute(strings[3382], new named_type(IFC4X3_RC3_types[824]), false),new attribute(strings[3383], new named_type(IFC4X3_RC3_types[824]), false),new attribute(strings[3289], new named_type(IFC4X3_RC3_types[1184]), true)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[829])->set_attributes({new attribute(strings[3384], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1259])), true),new attribute(strings[3385], new named_type(IFC4X3_RC3_types[830]), true)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[830])->set_attributes({new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), false),new attribute(strings[3384], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1259])), false),new attribute(strings[3079], new named_type(IFC4X3_RC3_types[1248]), true)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[831])->set_attributes({new attribute(strings[3218], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1259])), true),new attribute(strings[3079], new named_type(IFC4X3_RC3_types[1248]), true)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[832])->set_attributes({new attribute(strings[3010], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[3386], new named_type(IFC4X3_RC3_types[709]), true)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[833])->set_attributes({new attribute(strings[3011], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[824])), false)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[834])->set_attributes({}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[837])->set_attributes({new attribute(strings[3012], new named_type(IFC4X3_RC3_types[838]), true),new attribute(strings[3387], new named_type(IFC4X3_RC3_types[541]), true),new attribute(strings[3013], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[841])), false)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[839])->set_attributes({new attribute(strings[3388], new named_type(IFC4X3_RC3_types[1259]), true),new attribute(strings[3079], new named_type(IFC4X3_RC3_types[1248]), true)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[840])->set_attributes({new attribute(strings[3389], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1259])), true),new attribute(strings[3390], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1259])), true),new attribute(strings[3289], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[3391], new named_type(IFC4X3_RC3_types[1248]), true),new attribute(strings[3392], new named_type(IFC4X3_RC3_types[1248]), true),new attribute(strings[3393], new named_type(IFC4X3_RC3_types[277]), true)}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[841])->set_attributes({}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[842])->set_attributes({}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[843])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[848]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[844])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[846]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[845])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[846]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[847])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[848]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[849])->set_attributes({new attribute(strings[3394], new named_type(IFC4X3_RC3_types[710]), false),new attribute(strings[3138], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[850])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[852]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[851])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[852]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[853])->set_attributes({new attribute(strings[3395], new named_type(IFC4X3_RC3_types[59]), false),new attribute(strings[3396], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[854])->set_attributes({new attribute(strings[3397], new named_type(IFC4X3_RC3_types[254]), false),new attribute(strings[3396], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[855])->set_attributes({new attribute(strings[3398], new named_type(IFC4X3_RC3_types[589]), false),new attribute(strings[3396], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[856])->set_attributes({}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[857])->set_attributes({new attribute(strings[3399], new named_type(IFC4X3_RC3_types[1210]), false),new attribute(strings[3396], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[858])->set_attributes({new attribute(strings[3400], new named_type(IFC4X3_RC3_types[1281]), false),new attribute(strings[3396], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[859])->set_attributes({new attribute(strings[3401], new named_type(IFC4X3_RC3_types[638]), false),new attribute(strings[3396], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[861])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[866]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[865])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[866]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[862])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[864]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[863])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[864]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[867])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[869]), true)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[870])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[875]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[871])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[873]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[872])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[873]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[874])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[875]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[877])->set_attributes({new attribute(strings[3402], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[879])), false)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[878])->set_attributes({new attribute(strings[3402], new aggregation_type(aggregation_type::list_type, 2, -1, new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[879]))), false)}, {false,false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[880])->set_attributes({new attribute(strings[2983], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[3403], new named_type(IFC4X3_RC3_types[701]), true),new attribute(strings[3404], new named_type(IFC4X3_RC3_types[701]), true)}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[881])->set_attributes({new attribute(strings[2972], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[2973], new named_type(IFC4X3_RC3_types[785]), false)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[882])->set_attributes({new attribute(strings[2949], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[2950], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[3338], new named_type(IFC4X3_RC3_types[785]), false)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[883])->set_attributes({new attribute(strings[3062], new named_type(IFC4X3_RC3_types[1129]), false),new attribute(strings[3405], new named_type(IFC4X3_RC3_types[731]), false),new attribute(strings[3406], new named_type(IFC4X3_RC3_types[731]), false),new attribute(strings[3407], new named_type(IFC4X3_RC3_types[731]), false),new attribute(strings[3408], new named_type(IFC4X3_RC3_types[731]), false),new attribute(strings[3409], new named_type(IFC4X3_RC3_types[88]), false),new attribute(strings[3410], new named_type(IFC4X3_RC3_types[88]), false)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[884])->set_attributes({new attribute(strings[3411], new named_type(IFC4X3_RC3_types[885]), false),new attribute(strings[3412], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[294])), true),new attribute(strings[3413], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[295])), true),new attribute(strings[3414], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[690])), true),new attribute(strings[3019], new named_type(IFC4X3_RC3_types[556]), true),new attribute(strings[3415], new named_type(IFC4X3_RC3_types[556]), true),new attribute(strings[3416], new named_type(IFC4X3_RC3_types[556]), true),new attribute(strings[3417], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1212])), true)}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[886])->set_attributes({new attribute(strings[3418], new named_type(IFC4X3_RC3_types[541]), true),new attribute(strings[3419], new named_type(IFC4X3_RC3_types[541]), true),new attribute(strings[3420], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3421], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[556])), true),new attribute(strings[3422], new named_type(IFC4X3_RC3_types[886]), true)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[887])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[888]), true),new attribute(strings[3423], new named_type(IFC4X3_RC3_types[589]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[890])->set_attributes({new attribute(strings[3424], new named_type(IFC4X3_RC3_types[1210]), false),new attribute(strings[3216], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1215])), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[891])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[892]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[893])->set_attributes({new attribute(strings[3425], new named_type(IFC4X3_RC3_types[59]), false),new attribute(strings[3426], new named_type(IFC4X3_RC3_types[578]), false),new attribute(strings[3427], new named_type(IFC4X3_RC3_types[897]), true),new attribute(strings[3428], new named_type(IFC4X3_RC3_types[589]), true),new attribute(strings[3429], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3430], new named_type(IFC4X3_RC3_types[254]), true)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[894])->set_attributes({new attribute(strings[3431], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3432], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[997])), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[895])->set_attributes({new attribute(strings[3292], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3433], new named_type(IFC4X3_RC3_types[59]), true),new attribute(strings[3434], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[899]), true),new attribute(strings[3427], new named_type(IFC4X3_RC3_types[897]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[898])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[899]), false),new attribute(strings[3292], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3433], new named_type(IFC4X3_RC3_types[59]), true),new attribute(strings[3434], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3427], new named_type(IFC4X3_RC3_types[897]), true),new attribute(strings[3435], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3436], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[81])), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[900])->set_attributes({new attribute(strings[3426], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[901])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[902])->set_attributes({new attribute(strings[3437], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3438], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3439], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3440], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3441], new named_type(IFC4X3_RC3_types[59]), true),new attribute(strings[3442], new named_type(IFC4X3_RC3_types[59]), true),new attribute(strings[3443], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3444], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[904]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[903])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[904]), false),new attribute(strings[3437], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3438], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3439], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3440], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3441], new named_type(IFC4X3_RC3_types[59]), true),new attribute(strings[3442], new named_type(IFC4X3_RC3_types[59]), true),new attribute(strings[3443], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3444], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3435], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3436], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[81])), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[905])->set_attributes({new attribute(strings[3445], new named_type(IFC4X3_RC3_types[705]), false),new attribute(strings[3446], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[705])), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[906])->set_attributes({new attribute(strings[3446], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[705])), false),new attribute(strings[3447], new named_type(IFC4X3_RC3_types[710]), true)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[907])->set_attributes({new attribute(strings[3448], new named_type(IFC4X3_RC3_types[6]), false),new attribute(strings[3449], new named_type(IFC4X3_RC3_types[7]), true)}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[908])->set_attributes({new attribute(strings[3450], new named_type(IFC4X3_RC3_types[230]), false)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[909])->set_attributes({new attribute(strings[3451], new named_type(IFC4X3_RC3_types[530]), false)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[910])->set_attributes({new attribute(strings[3452], new named_type(IFC4X3_RC3_types[876]), false)}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[911])->set_attributes({new attribute(strings[3453], new named_type(IFC4X3_RC3_types[807]), false),new attribute(strings[3454], new named_type(IFC4X3_RC3_types[661]), true)}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[912])->set_attributes({new attribute(strings[3455], new named_type(IFC4X3_RC3_types[812]), false)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[913])->set_attributes({new attribute(strings[3456], new named_type(IFC4X3_RC3_types[965]), false)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[914])->set_attributes({new attribute(strings[3446], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[298])), false)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[915])->set_attributes({new attribute(strings[2902], new named_type(IFC4X3_RC3_types[52]), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[916])->set_attributes({new attribute(strings[3457], new named_type(IFC4X3_RC3_types[172]), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[917])->set_attributes({new attribute(strings[3458], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3459], new named_type(IFC4X3_RC3_types[214]), false)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[918])->set_attributes({new attribute(strings[3106], new named_type(IFC4X3_RC3_types[336]), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[919])->set_attributes({new attribute(strings[3460], new named_type(IFC4X3_RC3_types[592]), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[920])->set_attributes({new attribute(strings[3287], new named_type(IFC4X3_RC3_types[658]), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[921])->set_attributes({new attribute(strings[3461], new named_type(IFC4X3_RC3_types[813]), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[923])->set_attributes({}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[924])->set_attributes({new attribute(strings[3462], new named_type(IFC4X3_RC3_types[208]), true),new attribute(strings[3463], new named_type(IFC4X3_RC3_types[399]), false),new attribute(strings[3464], new named_type(IFC4X3_RC3_types[399]), false)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[925])->set_attributes({new attribute(strings[3465], new aggregation_type(aggregation_type::list_type, 0, -1, new named_type(IFC4X3_RC3_types[556])), false),new attribute(strings[3466], new aggregation_type(aggregation_type::list_type, 0, -1, new named_type(IFC4X3_RC3_types[556])), false),new attribute(strings[3467], new named_type(IFC4X3_RC3_types[212]), false),new attribute(strings[3468], new named_type(IFC4X3_RC3_types[212]), false)}, {false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[927])->set_attributes({new attribute(strings[3469], new named_type(IFC4X3_RC3_types[782]), false),new attribute(strings[3464], new named_type(IFC4X3_RC3_types[324]), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[926])->set_attributes({new attribute(strings[3469], new named_type(IFC4X3_RC3_types[782]), false),new attribute(strings[3470], new named_type(IFC4X3_RC3_types[782]), false),new attribute(strings[3471], new named_type(IFC4X3_RC3_types[399]), true)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[928])->set_attributes({new attribute(strings[3463], new named_type(IFC4X3_RC3_types[1082]), false),new attribute(strings[3472], new named_type(IFC4X3_RC3_types[1081]), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[929])->set_attributes({new attribute(strings[3473], new named_type(IFC4X3_RC3_types[1108]), false),new attribute(strings[3474], new named_type(IFC4X3_RC3_types[1084]), false),new attribute(strings[3475], new named_type(IFC4X3_RC3_types[94]), true),new attribute(strings[3476], new named_type(IFC4X3_RC3_types[1085]), true),new attribute(strings[3477], new named_type(IFC4X3_RC3_types[589]), true),new attribute(strings[3478], new named_type(IFC4X3_RC3_types[70]), true)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[930])->set_attributes({new attribute(strings[3479], new named_type(IFC4X3_RC3_types[208]), false)}, {false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[931])->set_attributes({new attribute(strings[3480], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[399])), false),new attribute(strings[3481], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[932])->set_attributes({new attribute(strings[3482], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[808])), false),new attribute(strings[3483], new named_type(IFC4X3_RC3_types[1055]), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[933])->set_attributes({new attribute(strings[3484], new named_type(IFC4X3_RC3_types[399]), false),new attribute(strings[3485], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[258])), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[934])->set_attributes({new attribute(strings[3486], new named_type(IFC4X3_RC3_types[1048]), false),new attribute(strings[3485], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[258])), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[935])->set_attributes({new attribute(strings[3487], new named_type(IFC4X3_RC3_types[227]), false),new attribute(strings[3488], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[298])), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[936])->set_attributes({}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[937])->set_attributes({}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[938])->set_attributes({new attribute(strings[3446], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[704])), false),new attribute(strings[3445], new named_type(IFC4X3_RC3_types[704]), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[939])->set_attributes({new attribute(strings[3446], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[705])), false),new attribute(strings[3489], new named_type(IFC4X3_RC3_types[835]), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[940])->set_attributes({new attribute(strings[3490], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[834])), false),new attribute(strings[3491], new named_type(IFC4X3_RC3_types[837]), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[941])->set_attributes({new attribute(strings[3446], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[704])), false),new attribute(strings[3492], new named_type(IFC4X3_RC3_types[1244]), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[942])->set_attributes({new attribute(strings[3493], new named_type(IFC4X3_RC3_types[718]), false),new attribute(strings[3494], new named_type(IFC4X3_RC3_types[399]), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[943])->set_attributes({new attribute(strings[3495], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[322])), false),new attribute(strings[3496], new named_type(IFC4X3_RC3_types[326]), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[944])->set_attributes({new attribute(strings[3463], new named_type(IFC4X3_RC3_types[561]), false),new attribute(strings[3464], new named_type(IFC4X3_RC3_types[561]), false),new attribute(strings[3497], new named_type(IFC4X3_RC3_types[208]), true),new attribute(strings[3498], new named_type(IFC4X3_RC3_types[541]), true),new attribute(strings[3499], new named_type(IFC4X3_RC3_types[621]), false)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[945])->set_attributes({new attribute(strings[3445], new named_type(IFC4X3_RC3_types[705]), false),new attribute(strings[3446], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[705])), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[946])->set_attributes({new attribute(strings[3500], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[3501], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[808])), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[947])->set_attributes({new attribute(strings[3463], new named_type(IFC4X3_RC3_types[399]), false),new attribute(strings[3502], new named_type(IFC4X3_RC3_types[460]), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[948])->set_attributes({new attribute(strings[3482], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[1057])), false),new attribute(strings[3483], new named_type(IFC4X3_RC3_types[1055]), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[949])->set_attributes({new attribute(strings[3453], new named_type(IFC4X3_RC3_types[806]), false),new attribute(strings[3503], new named_type(IFC4X3_RC3_types[806]), false),new attribute(strings[3504], new named_type(IFC4X3_RC3_types[582]), true),new attribute(strings[3505], new named_type(IFC4X3_RC3_types[1005]), true),new attribute(strings[3506], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[950])->set_attributes({new attribute(strings[3507], new named_type(IFC4X3_RC3_types[1154]), false),new attribute(strings[3508], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[1055])), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[951])->set_attributes({new attribute(strings[3486], new named_type(IFC4X3_RC3_types[1049]), false),new attribute(strings[3494], new named_type(IFC4X3_RC3_types[399]), false),new attribute(strings[3462], new named_type(IFC4X3_RC3_types[208]), true),new attribute(strings[3509], new named_type(IFC4X3_RC3_types[747]), false),new attribute(strings[3510], new named_type(IFC4X3_RC3_types[562]), false)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[952])->set_attributes({new attribute(strings[3511], new named_type(IFC4X3_RC3_types[952]), true)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[953])->set_attributes({new attribute(strings[3512], new named_type(IFC4X3_RC3_types[953]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[954])->set_attributes({new attribute(strings[3484], new named_type(IFC4X3_RC3_types[399]), false),new attribute(strings[3513], new named_type(IFC4X3_RC3_types[461]), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[922])->set_attributes({}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[955])->set_attributes({new attribute(strings[3514], new named_type(IFC4X3_RC3_types[731]), false)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[956])->set_attributes({new attribute(strings[3515], new named_type(IFC4X3_RC3_types[957]), false),new attribute(strings[3516], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3517], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3518], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[958])), false)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[957])->set_attributes({new attribute(strings[3519], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3520], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false}); - ((entity*)IFC4X3_RC3_types[958])->set_attributes({}, {}); - ((entity*)IFC4X3_RC3_types[959])->set_attributes({new attribute(strings[3521], new named_type(IFC4X3_RC3_types[68]), false),new attribute(strings[3522], new named_type(IFC4X3_RC3_types[956]), false)}, {false,false}); - ((entity*)IFC4X3_RC3_types[960])->set_attributes({new attribute(strings[2907], new named_type(IFC4X3_RC3_types[541]), true),new attribute(strings[2853], new named_type(IFC4X3_RC3_types[1184]), true)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[961])->set_attributes({new attribute(strings[3154], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[964])), false),new attribute(strings[2902], new named_type(IFC4X3_RC3_types[52]), false)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[962])->set_attributes({new attribute(strings[3459], new named_type(IFC4X3_RC3_types[214]), false),new attribute(strings[3154], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[964])), false)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[963])->set_attributes({new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[2857], new named_type(IFC4X3_RC3_types[1184]), true)}, {false,false}); - ((entity*)IFC4X3_RC3_types[966])->set_attributes({new attribute(strings[3523], new named_type(IFC4X3_RC3_types[362]), true),new attribute(strings[3524], new named_type(IFC4X3_RC3_types[787]), true),new attribute(strings[3525], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3526], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3527], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3528], new named_type(IFC4X3_RC3_types[362]), true),new attribute(strings[3529], new named_type(IFC4X3_RC3_types[88]), true),new attribute(strings[3530], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3531], new named_type(IFC4X3_RC3_types[362]), true),new attribute(strings[3532], new named_type(IFC4X3_RC3_types[787]), true),new attribute(strings[3533], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3534], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3535], new named_type(IFC4X3_RC3_types[362]), true),new attribute(strings[3536], new named_type(IFC4X3_RC3_types[787]), true),new attribute(strings[3537], new named_type(IFC4X3_RC3_types[787]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[967])->set_attributes({new attribute(strings[2928], new named_type(IFC4X3_RC3_types[67]), false),new attribute(strings[3538], new named_type(IFC4X3_RC3_types[766]), false)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[968])->set_attributes({new attribute(strings[3156], new named_type(IFC4X3_RC3_types[813]), false)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[969])->set_attributes({new attribute(strings[3338], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[3539], new named_type(IFC4X3_RC3_types[785]), false)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[970])->set_attributes({new attribute(strings[3338], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[2997], new named_type(IFC4X3_RC3_types[785]), false)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[971])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[973]), true)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[975])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[977]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[976])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[977]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[978])->set_attributes({new attribute(strings[3540], new named_type(IFC4X3_RC3_types[522]), false),new attribute(strings[3541], new named_type(IFC4X3_RC3_types[729]), true),new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[2857], new named_type(IFC4X3_RC3_types[1184]), true)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[983])->set_attributes({new attribute(strings[3542], new named_type(IFC4X3_RC3_types[785]), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1028])->set_attributes({new attribute(strings[3543], new named_type(IFC4X3_RC3_types[1026]), true),new attribute(strings[2887], new named_type(IFC4X3_RC3_types[1029]), false)}, {true,false,false,false}); - ((entity*)IFC4X3_RC3_types[984])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[986]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[985])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[986]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[987])->set_attributes({new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3544], new named_type(IFC4X3_RC3_types[291]), true),new attribute(strings[3545], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[988])->set_attributes({}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[989])->set_attributes({new attribute(strings[3546], new named_type(IFC4X3_RC3_types[589]), false),new attribute(strings[3547], new named_type(IFC4X3_RC3_types[589]), true),new attribute(strings[3051], new named_type(IFC4X3_RC3_types[879]), true)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[996])->set_attributes({new attribute(strings[3548], new named_type(IFC4X3_RC3_types[998]), false),new attribute(strings[3549], new named_type(IFC4X3_RC3_types[813]), false),new attribute(strings[3550], new named_type(IFC4X3_RC3_types[813]), true)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[997])->set_attributes({new attribute(strings[3551], new named_type(IFC4X3_RC3_types[589]), false),new attribute(strings[3552], new named_type(IFC4X3_RC3_types[589]), false),new attribute(strings[3553], new named_type(IFC4X3_RC3_types[589]), true),new attribute(strings[3554], new named_type(IFC4X3_RC3_types[896]), false),new attribute(strings[3555], new named_type(IFC4X3_RC3_types[996]), false),new attribute(strings[3556], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[893])), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[991])->set_attributes({new attribute(strings[3089], new named_type(IFC4X3_RC3_types[273]), false),new attribute(strings[3557], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[813])), false)}, {false,false}); - ((entity*)IFC4X3_RC3_types[992])->set_attributes({new attribute(strings[3558], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[71])), false),new attribute(strings[3203], new named_type(IFC4X3_RC3_types[88]), false)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[993])->set_attributes({new attribute(strings[3559], new named_type(IFC4X3_RC3_types[194]), false),new attribute(strings[3557], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[813])), false),new attribute(strings[3558], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[70])), false)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[994])->set_attributes({new attribute(strings[3089], new named_type(IFC4X3_RC3_types[273]), false),new attribute(strings[3558], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[773])), false),new attribute(strings[3557], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[813])), false),new attribute(strings[3203], new named_type(IFC4X3_RC3_types[88]), false)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[999])->set_attributes({new attribute(strings[3560], new named_type(IFC4X3_RC3_types[1227]), false)}, {false}); - ((entity*)IFC4X3_RC3_types[1000])->set_attributes({new attribute(strings[3187], new named_type(IFC4X3_RC3_types[100]), false),new attribute(strings[3188], new named_type(IFC4X3_RC3_types[761]), true)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1002])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1004]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1003])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1004]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1006])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1008]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1007])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1008]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1009])->set_attributes({new attribute(strings[3561], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1010])), false),new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[2857], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[3562], new named_type(IFC4X3_RC3_types[621]), false),new attribute(strings[3563], new named_type(IFC4X3_RC3_types[811]), true)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1010])->set_attributes({}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1011])->set_attributes({}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1014])->set_attributes({new attribute(strings[3564], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[1013])), false)}, {false}); - ((entity*)IFC4X3_RC3_types[1015])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1020]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1019])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1020]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1016])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1018]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1017])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1018]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1021])->set_attributes({}, {false,false}); - ((entity*)IFC4X3_RC3_types[1022])->set_attributes({new attribute(strings[3012], new named_type(IFC4X3_RC3_types[1023]), true),new attribute(strings[3565], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3566], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3567], new named_type(IFC4X3_RC3_types[830]), true),new attribute(strings[3568], new named_type(IFC4X3_RC3_types[1248]), true),new attribute(strings[3569], new named_type(IFC4X3_RC3_types[1248]), true),new attribute(strings[3289], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3570], new named_type(IFC4X3_RC3_types[1079]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1025])->set_attributes({new attribute(strings[3571], new named_type(IFC4X3_RC3_types[589]), false),new attribute(strings[3547], new named_type(IFC4X3_RC3_types[589]), false)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[1027])->set_attributes({new attribute(strings[3572], new named_type(IFC4X3_RC3_types[198]), true),new attribute(strings[3573], new named_type(IFC4X3_RC3_types[198]), true),new attribute(strings[3574], new named_type(IFC4X3_RC3_types[589]), true),new attribute(strings[3575], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3576], new named_type(IFC4X3_RC3_types[788]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1031])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1035]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1032])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1033])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1034])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1035]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1036])->set_attributes({new attribute(strings[3577], new named_type(IFC4X3_RC3_types[589]), true),new attribute(strings[3578], new named_type(IFC4X3_RC3_types[589]), true),new attribute(strings[3579], new named_type(IFC4X3_RC3_types[589]), true)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1037])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1039]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1038])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1039]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1041])->set_attributes({}, {}); - ((entity*)IFC4X3_RC3_types[1043])->set_attributes({}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1048])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1054]), true),new attribute(strings[3580], new named_type(IFC4X3_RC3_types[589]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1050])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1052]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1051])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1052]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1053])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1054]), false),new attribute(strings[2980], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1055])->set_attributes({new attribute(strings[2980], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1056])->set_attributes({new attribute(strings[3142], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1058])->set_attributes({new attribute(strings[3581], new named_type(IFC4X3_RC3_types[406]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1059])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1060])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1062]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1061])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1062]), false),new attribute(strings[2980], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1067])->set_attributes({new attribute(strings[2997], new named_type(IFC4X3_RC3_types[785]), false)}, {false,false}); - ((entity*)IFC4X3_RC3_types[1068])->set_attributes({new attribute(strings[2997], new named_type(IFC4X3_RC3_types[785]), false)}, {false,false}); - ((entity*)IFC4X3_RC3_types[1069])->set_attributes({new attribute(strings[3019], new named_type(IFC4X3_RC3_types[68]), true)}, {false}); - ((entity*)IFC4X3_RC3_types[1070])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1072]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1071])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1072]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1073])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1078]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1074])->set_attributes({new attribute(strings[3582], new named_type(IFC4X3_RC3_types[556]), true),new attribute(strings[3583], new named_type(IFC4X3_RC3_types[556]), true),new attribute(strings[3584], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3585], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1076]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1075])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1076]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1077])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1078]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1080])->set_attributes({new attribute(strings[3586], new named_type(IFC4X3_RC3_types[88]), true)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1081])->set_attributes({new attribute(strings[3587], new named_type(IFC4X3_RC3_types[1095]), false),new attribute(strings[3588], new named_type(IFC4X3_RC3_types[523]), false)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1083])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[43]), false),new attribute(strings[3589], new named_type(IFC4X3_RC3_types[70]), true),new attribute(strings[3590], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[1098])), true),new attribute(strings[3591], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[1114])), true),new attribute(strings[3592], new named_type(IFC4X3_RC3_types[708]), true)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1084])->set_attributes({new attribute(strings[3475], new named_type(IFC4X3_RC3_types[94]), true)}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1085])->set_attributes({new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), true)}, {false}); - ((entity*)IFC4X3_RC3_types[1086])->set_attributes({new attribute(strings[3593], new named_type(IFC4X3_RC3_types[818]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1087]), false)}, {false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1088])->set_attributes({new attribute(strings[2928], new named_type(IFC4X3_RC3_types[307]), false)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1089])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1090]), false),new attribute(strings[2928], new named_type(IFC4X3_RC3_types[307]), false)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1091])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1092])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1087]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1093])->set_attributes({}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1094])->set_attributes({}, {false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1095])->set_attributes({new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), true)}, {false}); - ((entity*)IFC4X3_RC3_types[1096])->set_attributes({new attribute(strings[3594], new aggregation_type(aggregation_type::list_type, 3, 3, new named_type(IFC4X3_RC3_types[876])), true)}, {false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1097])->set_attributes({new attribute(strings[3216], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1100])), false),new attribute(strings[3595], new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 1, 2, new named_type(IFC4X3_RC3_types[589]))), true)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[1098])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[619]), false),new attribute(strings[3596], new named_type(IFC4X3_RC3_types[5]), false),new attribute(strings[3597], new named_type(IFC4X3_RC3_types[4]), false),new attribute(strings[3598], new named_type(IFC4X3_RC3_types[876]), true),new attribute(strings[2858], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1099])->set_attributes({new attribute(strings[3599], new named_type(IFC4X3_RC3_types[609]), true),new attribute(strings[3600], new named_type(IFC4X3_RC3_types[609]), true),new attribute(strings[3601], new named_type(IFC4X3_RC3_types[609]), true),new attribute(strings[3602], new named_type(IFC4X3_RC3_types[610]), true),new attribute(strings[3603], new named_type(IFC4X3_RC3_types[610]), true),new attribute(strings[3604], new named_type(IFC4X3_RC3_types[610]), true)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1100])->set_attributes({}, {false}); - ((entity*)IFC4X3_RC3_types[1101])->set_attributes({new attribute(strings[3605], new named_type(IFC4X3_RC3_types[764]), true),new attribute(strings[3606], new named_type(IFC4X3_RC3_types[764]), true),new attribute(strings[3607], new named_type(IFC4X3_RC3_types[764]), true)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1102])->set_attributes({new attribute(strings[3608], new named_type(IFC4X3_RC3_types[589]), true),new attribute(strings[3609], new named_type(IFC4X3_RC3_types[589]), true),new attribute(strings[3610], new named_type(IFC4X3_RC3_types[589]), true),new attribute(strings[3611], new named_type(IFC4X3_RC3_types[766]), true),new attribute(strings[3612], new named_type(IFC4X3_RC3_types[766]), true),new attribute(strings[3613], new named_type(IFC4X3_RC3_types[766]), true)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1103])->set_attributes({new attribute(strings[3614], new named_type(IFC4X3_RC3_types[272]), true)}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1104])->set_attributes({new attribute(strings[3615], new named_type(IFC4X3_RC3_types[500]), true),new attribute(strings[3616], new named_type(IFC4X3_RC3_types[500]), true),new attribute(strings[3617], new named_type(IFC4X3_RC3_types[500]), true),new attribute(strings[3618], new named_type(IFC4X3_RC3_types[1220]), true),new attribute(strings[3619], new named_type(IFC4X3_RC3_types[1220]), true),new attribute(strings[3620], new named_type(IFC4X3_RC3_types[1220]), true)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1105])->set_attributes({new attribute(strings[3621], new named_type(IFC4X3_RC3_types[1289]), true)}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1106])->set_attributes({}, {false}); - ((entity*)IFC4X3_RC3_types[1107])->set_attributes({new attribute(strings[3622], new named_type(IFC4X3_RC3_types[1207]), true),new attribute(strings[3623], new named_type(IFC4X3_RC3_types[1207]), true),new attribute(strings[3624], new named_type(IFC4X3_RC3_types[1207]), true)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1108])->set_attributes({}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1109])->set_attributes({}, {false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1110])->set_attributes({}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1111])->set_attributes({new attribute(strings[3478], new named_type(IFC4X3_RC3_types[70]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1112])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1113])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1114])->set_attributes({new attribute(strings[3625], new named_type(IFC4X3_RC3_types[44]), false),new attribute(strings[3626], new named_type(IFC4X3_RC3_types[1098]), true),new attribute(strings[3627], new named_type(IFC4X3_RC3_types[88]), false)}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1115])->set_attributes({new attribute(strings[3593], new named_type(IFC4X3_RC3_types[818]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1116]), false)}, {false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1117])->set_attributes({}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1118])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1119]), false),new attribute(strings[2996], new named_type(IFC4X3_RC3_types[785]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1120])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1121])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1116]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1124])->set_attributes({}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1122])->set_attributes({new attribute(strings[3628], new named_type(IFC4X3_RC3_types[958]), true),new attribute(strings[3629], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[801])), false),new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[1123])->set_attributes({}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1125])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1127]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1126])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1127]), false)}, {false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1128])->set_attributes({new attribute(strings[3630], new named_type(IFC4X3_RC3_types[369]), false)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[1129])->set_attributes({}, {}); - ((entity*)IFC4X3_RC3_types[1130])->set_attributes({new attribute(strings[3631], new named_type(IFC4X3_RC3_types[273]), false),new attribute(strings[3632], new aggregation_type(aggregation_type::list_type, 1, 2, new named_type(IFC4X3_RC3_types[736])), false),new attribute(strings[3633], new named_type(IFC4X3_RC3_types[796]), false)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[1131])->set_attributes({new attribute(strings[3634], new named_type(IFC4X3_RC3_types[1129]), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1132])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1133]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1134])->set_attributes({new attribute(strings[3155], new named_type(IFC4X3_RC3_types[307]), false),new attribute(strings[2981], new named_type(IFC4X3_RC3_types[589]), false)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1135])->set_attributes({new attribute(strings[3635], new named_type(IFC4X3_RC3_types[67]), false)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[1137])->set_attributes({new attribute(strings[3636], new aggregation_type(aggregation_type::list_type, 2, 3, new named_type(IFC4X3_RC3_types[589])), true),new attribute(strings[3637], new aggregation_type(aggregation_type::list_type, 2, 3, new named_type(IFC4X3_RC3_types[589])), true),new attribute(strings[3638], new named_type(IFC4X3_RC3_types[876]), true)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1139])->set_attributes({new attribute(strings[3639], new named_type(IFC4X3_RC3_types[1138]), false),new attribute(strings[3629], new aggregation_type(aggregation_type::set_type, 1, 5, new named_type(IFC4X3_RC3_types[1140])), false)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[1141])->set_attributes({new attribute(strings[3640], new named_type(IFC4X3_RC3_types[180]), false),new attribute(strings[3641], new named_type(IFC4X3_RC3_types[180]), false),new attribute(strings[3642], new named_type(IFC4X3_RC3_types[180]), false),new attribute(strings[3643], new named_type(IFC4X3_RC3_types[180]), false)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1142])->set_attributes({new attribute(strings[3644], new named_type(IFC4X3_RC3_types[879]), true),new attribute(strings[3645], new named_type(IFC4X3_RC3_types[879]), true)}, {false,false}); - ((entity*)IFC4X3_RC3_types[1143])->set_attributes({new attribute(strings[3646], new named_type(IFC4X3_RC3_types[179]), true),new attribute(strings[3642], new named_type(IFC4X3_RC3_types[179]), true),new attribute(strings[3640], new named_type(IFC4X3_RC3_types[179]), true),new attribute(strings[3647], new named_type(IFC4X3_RC3_types[179]), true),new attribute(strings[3648], new named_type(IFC4X3_RC3_types[179]), true),new attribute(strings[3649], new named_type(IFC4X3_RC3_types[1065]), true),new attribute(strings[3650], new named_type(IFC4X3_RC3_types[889]), false)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1144])->set_attributes({new attribute(strings[3651], new named_type(IFC4X3_RC3_types[180]), false),new attribute(strings[3652], new named_type(IFC4X3_RC3_types[702]), true)}, {false,false}); - ((entity*)IFC4X3_RC3_types[1145])->set_attributes({new attribute(strings[3653], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1146])), false)}, {false}); - ((entity*)IFC4X3_RC3_types[1146])->set_attributes({new attribute(strings[3654], new named_type(IFC4X3_RC3_types[88]), false),new attribute(strings[3655], new named_type(IFC4X3_RC3_types[88]), false),new attribute(strings[3656], new named_type(IFC4X3_RC3_types[541]), true),new attribute(strings[3657], new named_type(IFC4X3_RC3_types[152]), true),new attribute(strings[3658], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[541])), true)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1147])->set_attributes({new attribute(strings[3659], new named_type(IFC4X3_RC3_types[813]), false),new attribute(strings[3019], new named_type(IFC4X3_RC3_types[70]), true)}, {false,false}); - ((entity*)IFC4X3_RC3_types[1148])->set_attributes({new attribute(strings[3089], new named_type(IFC4X3_RC3_types[273]), false),new attribute(strings[2997], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[3660], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3090], new named_type(IFC4X3_RC3_types[731]), true),new attribute(strings[3091], new named_type(IFC4X3_RC3_types[731]), true)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1149])->set_attributes({new attribute(strings[3199], new named_type(IFC4X3_RC3_types[785]), true)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1150])->set_attributes({new attribute(strings[3661], new named_type(IFC4X3_RC3_types[813]), false),new attribute(strings[3019], new named_type(IFC4X3_RC3_types[70]), true)}, {false,false}); - ((entity*)IFC4X3_RC3_types[1151])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1153]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1152])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1153]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1154])->set_attributes({}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1155])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1157]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1156])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1157]), true)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1240])->set_attributes({new attribute(strings[2981], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[3662], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[2918], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[3198], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[3199], new named_type(IFC4X3_RC3_types[701]), true),new attribute(strings[3200], new named_type(IFC4X3_RC3_types[701]), true),new attribute(strings[3663], new named_type(IFC4X3_RC3_types[701]), true),new attribute(strings[3664], new named_type(IFC4X3_RC3_types[766]), true),new attribute(strings[3201], new named_type(IFC4X3_RC3_types[766]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1158])->set_attributes({new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3665], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1160])), true),new attribute(strings[3666], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1159])), true)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[1159])->set_attributes({new attribute(strings[2896], new named_type(IFC4X3_RC3_types[541]), true),new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[2857], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[3079], new named_type(IFC4X3_RC3_types[1248]), true),new attribute(strings[3297], new named_type(IFC4X3_RC3_types[886]), true)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1160])->set_attributes({new attribute(strings[3667], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1259])), true),new attribute(strings[3668], new named_type(IFC4X3_RC3_types[88]), true)}, {false,false}); - ((entity*)IFC4X3_RC3_types[1161])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1163]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1162])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1163]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1164])->set_attributes({new attribute(strings[2852], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3669], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3670], new named_type(IFC4X3_RC3_types[88]), false),new attribute(strings[3269], new named_type(IFC4X3_RC3_types[556]), true),new attribute(strings[3671], new named_type(IFC4X3_RC3_types[1166]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1169]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1166])->set_attributes({new attribute(strings[3223], new named_type(IFC4X3_RC3_types[1165]), true),new attribute(strings[3672], new named_type(IFC4X3_RC3_types[362]), true),new attribute(strings[3525], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3526], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3673], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3674], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3675], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3676], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3677], new named_type(IFC4X3_RC3_types[362]), true),new attribute(strings[3678], new named_type(IFC4X3_RC3_types[362]), true),new attribute(strings[3679], new named_type(IFC4X3_RC3_types[88]), true),new attribute(strings[3530], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3680], new named_type(IFC4X3_RC3_types[362]), true),new attribute(strings[3533], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3534], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3681], new named_type(IFC4X3_RC3_types[362]), true),new attribute(strings[3537], new named_type(IFC4X3_RC3_types[787]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1167])->set_attributes({new attribute(strings[3682], new named_type(IFC4X3_RC3_types[884]), false)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1168])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1169]), false),new attribute(strings[3669], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1170])->set_attributes({new attribute(strings[3683], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[578])), true),new attribute(strings[3684], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[578])), true),new attribute(strings[3685], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3686], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[578])), true),new attribute(strings[3687], new named_type(IFC4X3_RC3_types[1257]), true),new attribute(strings[3688], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1257])), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1173])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1181]), true),new attribute(strings[3292], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3433], new named_type(IFC4X3_RC3_types[59]), true),new attribute(strings[3689], new named_type(IFC4X3_RC3_types[500]), true),new attribute(strings[3690], new named_type(IFC4X3_RC3_types[802]), true),new attribute(strings[3691], new named_type(IFC4X3_RC3_types[702]), true),new attribute(strings[3692], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3693], new named_type(IFC4X3_RC3_types[785]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1174])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1176]), true)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1175])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1176]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1177])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1179]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1178])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1179]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1180])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1181]), false),new attribute(strings[3292], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3433], new named_type(IFC4X3_RC3_types[59]), true),new attribute(strings[3694], new named_type(IFC4X3_RC3_types[785]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1182])->set_attributes({new attribute(strings[2986], new named_type(IFC4X3_RC3_types[150]), false)}, {false}); - ((entity*)IFC4X3_RC3_types[1183])->set_attributes({}, {}); - ((entity*)IFC4X3_RC3_types[1189])->set_attributes({new attribute(strings[3695], new named_type(IFC4X3_RC3_types[797]), false),new attribute(strings[3065], new named_type(IFC4X3_RC3_types[68]), false),new attribute(strings[3696], new named_type(IFC4X3_RC3_types[1191]), false)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[1190])->set_attributes({new attribute(strings[3697], new named_type(IFC4X3_RC3_types[763]), false),new attribute(strings[3698], new named_type(IFC4X3_RC3_types[103]), false)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1192])->set_attributes({new attribute(strings[3699], new named_type(IFC4X3_RC3_types[1194]), true),new attribute(strings[3700], new named_type(IFC4X3_RC3_types[1195]), true),new attribute(strings[3701], new named_type(IFC4X3_RC3_types[1188]), false),new attribute(strings[3070], new named_type(IFC4X3_RC3_types[88]), true)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1193])->set_attributes({new attribute(strings[3702], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1187])), false),new attribute(strings[3703], new named_type(IFC4X3_RC3_types[494]), true),new attribute(strings[3704], new named_type(IFC4X3_RC3_types[495]), true),new attribute(strings[3705], new named_type(IFC4X3_RC3_types[496]), true),new attribute(strings[3706], new named_type(IFC4X3_RC3_types[1030]), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1194])->set_attributes({new attribute(strings[3707], new named_type(IFC4X3_RC3_types[178]), false),new attribute(strings[3708], new named_type(IFC4X3_RC3_types[178]), true)}, {false,false}); - ((entity*)IFC4X3_RC3_types[1195])->set_attributes({new attribute(strings[3709], new named_type(IFC4X3_RC3_types[1030]), true),new attribute(strings[3710], new named_type(IFC4X3_RC3_types[1185]), true),new attribute(strings[3711], new named_type(IFC4X3_RC3_types[1186]), true),new attribute(strings[3712], new named_type(IFC4X3_RC3_types[1030]), true),new attribute(strings[3713], new named_type(IFC4X3_RC3_types[1030]), true),new attribute(strings[3714], new named_type(IFC4X3_RC3_types[1196]), true),new attribute(strings[3715], new named_type(IFC4X3_RC3_types[1030]), true)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1197])->set_attributes({new attribute(strings[3716], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1146])), false)}, {false}); - ((entity*)IFC4X3_RC3_types[1198])->set_attributes({new attribute(strings[3656], new named_type(IFC4X3_RC3_types[578]), false),new attribute(strings[3658], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[879])), true)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[1199])->set_attributes({new attribute(strings[3717], new aggregation_type(aggregation_type::list_type, 3, -1, new named_type(IFC4X3_RC3_types[1200])), false),new attribute(strings[3204], new named_type(IFC4X3_RC3_types[440]), false)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[1200])->set_attributes({new attribute(strings[2986], new aggregation_type(aggregation_type::list_type, 2, 2, new named_type(IFC4X3_RC3_types[731])), false)}, {false}); - ((entity*)IFC4X3_RC3_types[1201])->set_attributes({new attribute(strings[3718], new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 2, 2, new named_type(IFC4X3_RC3_types[731]))), false)}, {false}); - ((entity*)IFC4X3_RC3_types[1208])->set_attributes({new attribute(strings[3719], new named_type(IFC4X3_RC3_types[589]), false),new attribute(strings[3546], new named_type(IFC4X3_RC3_types[589]), true),new attribute(strings[3547], new named_type(IFC4X3_RC3_types[589]), true),new attribute(strings[3051], new named_type(IFC4X3_RC3_types[879]), true)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1212])->set_attributes({new attribute(strings[3720], new named_type(IFC4X3_RC3_types[1209]), false),new attribute(strings[3721], new named_type(IFC4X3_RC3_types[1209]), false)}, {false,false}); - ((entity*)IFC4X3_RC3_types[1213])->set_attributes({new attribute(strings[2887], new named_type(IFC4X3_RC3_types[578]), false),new attribute(strings[2857], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[3720], new named_type(IFC4X3_RC3_types[293]), false),new attribute(strings[3721], new named_type(IFC4X3_RC3_types[293]), false),new attribute(strings[3722], new named_type(IFC4X3_RC3_types[1214]), false),new attribute(strings[3544], new named_type(IFC4X3_RC3_types[291]), false),new attribute(strings[3545], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3079], new named_type(IFC4X3_RC3_types[1248]), true)}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1215])->set_attributes({new attribute(strings[3218], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1259])), false)}, {false}); - ((entity*)IFC4X3_RC3_types[1217])->set_attributes({}, {}); - ((entity*)IFC4X3_RC3_types[1218])->set_attributes({}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1219])->set_attributes({new attribute(strings[3723], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[3724], new named_type(IFC4X3_RC3_types[785]), false)}, {false,false,false}); - ((entity*)IFC4X3_RC3_types[1221])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1223]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1222])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1223]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1224])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1226]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1225])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1226]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1229])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1233]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1232])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1233]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1234])->set_attributes({new attribute(strings[3725], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[3726], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[2973], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[3727], new named_type(IFC4X3_RC3_types[589]), false)}, {false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1235])->set_attributes({new attribute(strings[3728], new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 3, 3, new named_type(IFC4X3_RC3_types[731]))), true),new attribute(strings[3352], new named_type(IFC4X3_RC3_types[88]), true),new attribute(strings[3209], new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 3, 3, new named_type(IFC4X3_RC3_types[784]))), false),new attribute(strings[3354], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[784])), true)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1236])->set_attributes({new attribute(strings[3729], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[556])), false)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1237])->set_attributes({new attribute(strings[3305], new named_type(IFC4X3_RC3_types[273]), false),new attribute(strings[3730], new aggregation_type(aggregation_type::set_type, 1, 2, new named_type(IFC4X3_RC3_types[1239])), false),new attribute(strings[3731], new aggregation_type(aggregation_type::set_type, 1, 2, new named_type(IFC4X3_RC3_types[1239])), false),new attribute(strings[3732], new named_type(IFC4X3_RC3_types[88]), false),new attribute(strings[3633], new named_type(IFC4X3_RC3_types[1238]), false)}, {false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1241])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1243]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1242])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1243]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1244])->set_attributes({new attribute(strings[3733], new named_type(IFC4X3_RC3_types[541]), true),new attribute(strings[3734], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[834])), true)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1245])->set_attributes({new attribute(strings[2907], new named_type(IFC4X3_RC3_types[541]), true),new attribute(strings[2853], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[3735], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1246])->set_attributes({new attribute(strings[3736], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[959])), true),new attribute(strings[3138], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1247])->set_attributes({new attribute(strings[2907], new named_type(IFC4X3_RC3_types[541]), true),new attribute(strings[2853], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[3737], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1258])->set_attributes({new attribute(strings[2981], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[3662], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[2918], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[3198], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[3199], new named_type(IFC4X3_RC3_types[701]), true),new attribute(strings[3220], new named_type(IFC4X3_RC3_types[701]), true),new attribute(strings[3201], new named_type(IFC4X3_RC3_types[766]), true)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1255])->set_attributes({new attribute(strings[3738], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[1248])), false)}, {false}); - ((entity*)IFC4X3_RC3_types[1249])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1251]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1250])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1251]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1252])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1254]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1253])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1254]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1260])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1262]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1261])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1262]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1264])->set_attributes({new attribute(strings[3160], new named_type(IFC4X3_RC3_types[307]), false),new attribute(strings[3739], new named_type(IFC4X3_RC3_types[589]), false)}, {false,false}); - ((entity*)IFC4X3_RC3_types[1266])->set_attributes({}, {}); - ((entity*)IFC4X3_RC3_types[1267])->set_attributes({new attribute(strings[3740], new named_type(IFC4X3_RC3_types[1266]), false)}, {false}); - ((entity*)IFC4X3_RC3_types[1268])->set_attributes({new attribute(strings[3741], new named_type(IFC4X3_RC3_types[772]), false)}, {false}); - ((entity*)IFC4X3_RC3_types[1269])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1271]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1270])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1271]), true)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1272])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1274]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1273])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1274]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1275])->set_attributes({new attribute(strings[3742], new named_type(IFC4X3_RC3_types[272]), false),new attribute(strings[3743], new named_type(IFC4X3_RC3_types[272]), false),new attribute(strings[3744], new named_type(IFC4X3_RC3_types[589]), false),new attribute(strings[2872], new named_type(IFC4X3_RC3_types[589]), false)}, {false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1276])->set_attributes({}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1277])->set_attributes({new attribute(strings[3745], new aggregation_type(aggregation_type::list_type, 2, 2, new named_type(IFC4X3_RC3_types[526])), false),new attribute(strings[3746], new aggregation_type(aggregation_type::list_type, 2, 3, new named_type(IFC4X3_RC3_types[589])), false)}, {false,false}); - ((entity*)IFC4X3_RC3_types[1280])->set_attributes({}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1278])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1279]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1283])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1287]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1284])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1285])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1286])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1287]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1291])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1293]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1292])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1293]), false)}, {false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1294])->set_attributes({}, {false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1295])->set_attributes({new attribute(strings[3110], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3111], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1305]), true),new attribute(strings[3747], new named_type(IFC4X3_RC3_types[1306]), true),new attribute(strings[3748], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1296])->set_attributes({new attribute(strings[3114], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3115], new named_type(IFC4X3_RC3_types[701]), true),new attribute(strings[3118], new named_type(IFC4X3_RC3_types[701]), true),new attribute(strings[3749], new named_type(IFC4X3_RC3_types[701]), true),new attribute(strings[3750], new named_type(IFC4X3_RC3_types[702]), true),new attribute(strings[3751], new named_type(IFC4X3_RC3_types[702]), true),new attribute(strings[3752], new named_type(IFC4X3_RC3_types[702]), true),new attribute(strings[3753], new named_type(IFC4X3_RC3_types[702]), true),new attribute(strings[3124], new named_type(IFC4X3_RC3_types[1009]), true),new attribute(strings[3120], new named_type(IFC4X3_RC3_types[589]), true),new attribute(strings[3125], new named_type(IFC4X3_RC3_types[589]), true),new attribute(strings[3126], new named_type(IFC4X3_RC3_types[589]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1299])->set_attributes({new attribute(strings[3112], new named_type(IFC4X3_RC3_types[1297]), false),new attribute(strings[3130], new named_type(IFC4X3_RC3_types[1298]), false),new attribute(strings[3326], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3327], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3124], new named_type(IFC4X3_RC3_types[1009]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1300])->set_attributes({}, {false,false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1301])->set_attributes({new attribute(strings[3131], new named_type(IFC4X3_RC3_types[1302]), false),new attribute(strings[3112], new named_type(IFC4X3_RC3_types[1303]), false),new attribute(strings[3132], new named_type(IFC4X3_RC3_types[88]), false),new attribute(strings[3133], new named_type(IFC4X3_RC3_types[88]), false)}, {false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1304])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1305]), false),new attribute(strings[3747], new named_type(IFC4X3_RC3_types[1306]), false),new attribute(strings[3132], new named_type(IFC4X3_RC3_types[88]), true),new attribute(strings[3748], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1307])->set_attributes({new attribute(strings[3754], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[1314])), true),new attribute(strings[3755], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[1314])), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1308]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1309])->set_attributes({new attribute(strings[3323], new named_type(IFC4X3_RC3_types[293]), false),new attribute(strings[3756], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[743])), true),new attribute(strings[2858], new named_type(IFC4X3_RC3_types[578]), true),new attribute(strings[3757], new named_type(IFC4X3_RC3_types[362]), true),new attribute(strings[3678], new named_type(IFC4X3_RC3_types[362]), true),new attribute(strings[3720], new named_type(IFC4X3_RC3_types[293]), false),new attribute(strings[3758], new named_type(IFC4X3_RC3_types[293]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1310])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1311]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1312])->set_attributes({new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1313]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1314])->set_attributes({new attribute(strings[3759], new named_type(IFC4X3_RC3_types[884]), true),new attribute(strings[3760], new named_type(IFC4X3_RC3_types[292]), true),new attribute(strings[3761], new named_type(IFC4X3_RC3_types[292]), true)}, {false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1316])->set_attributes({new attribute(strings[2981], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[3662], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[2918], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[3198], new named_type(IFC4X3_RC3_types[785]), false),new attribute(strings[3199], new named_type(IFC4X3_RC3_types[701]), true),new attribute(strings[3220], new named_type(IFC4X3_RC3_types[701]), true)}, {false,false,false,false,false,false,false,false,false}); - ((entity*)IFC4X3_RC3_types[1315])->set_attributes({new attribute(strings[2980], new named_type(IFC4X3_RC3_types[578]), true)}, {false,false,false,false,false,false}); - ((entity*) IFC4X3_RC3_types[6])->set_inverse_attributes({new inverse_attribute(strings[3762], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[907]), ((entity*) IFC4X3_RC3_types[907])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[7])->set_inverse_attributes({new inverse_attribute(strings[3763], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[434]), ((entity*) IFC4X3_RC3_types[434])->attributes()[1])}); - ((entity*) IFC4X3_RC3_types[12])->set_inverse_attributes({new inverse_attribute(strings[3764], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[743]), ((entity*) IFC4X3_RC3_types[743])->attributes()[7]),new inverse_attribute(strings[3765], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[722]), ((entity*) IFC4X3_RC3_types[722])->attributes()[4])}); - ((entity*) IFC4X3_RC3_types[46])->set_inverse_attributes({new inverse_attribute(strings[3766], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[932]), ((entity*) IFC4X3_RC3_types[932])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[50])->set_inverse_attributes({new inverse_attribute(strings[3763], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[434]), ((entity*) IFC4X3_RC3_types[434])->attributes()[1])}); - ((entity*) IFC4X3_RC3_types[52])->set_inverse_attributes({new inverse_attribute(strings[3767], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[434]), ((entity*) IFC4X3_RC3_types[434])->attributes()[1]),new inverse_attribute(strings[3768], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[915]), ((entity*) IFC4X3_RC3_types[915])->attributes()[0]),new inverse_attribute(strings[3769], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[961]), ((entity*) IFC4X3_RC3_types[961])->attributes()[1]),new inverse_attribute(strings[3770], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[53]), ((entity*) IFC4X3_RC3_types[53])->attributes()[1]),new inverse_attribute(strings[3771], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[53]), ((entity*) IFC4X3_RC3_types[53])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[169])->set_inverse_attributes({new inverse_attribute(strings[3772], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[916]), ((entity*) IFC4X3_RC3_types[916])->attributes()[0]),new inverse_attribute(strings[3773], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[170]), ((entity*) IFC4X3_RC3_types[170])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[170])->set_inverse_attributes({new inverse_attribute(strings[3774], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[916]), ((entity*) IFC4X3_RC3_types[916])->attributes()[0]),new inverse_attribute(strings[3773], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[170]), ((entity*) IFC4X3_RC3_types[170])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[214])->set_inverse_attributes({new inverse_attribute(strings[3767], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[434]), ((entity*) IFC4X3_RC3_types[434])->attributes()[1]),new inverse_attribute(strings[3775], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[962]), ((entity*) IFC4X3_RC3_types[962])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[227])->set_inverse_attributes({new inverse_attribute(strings[3776], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[939]), ((entity*) IFC4X3_RC3_types[939])->attributes()[0]),new inverse_attribute(strings[3777], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[935]), ((entity*) IFC4X3_RC3_types[935])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[229])->set_inverse_attributes({new inverse_attribute(strings[3763], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[434]), ((entity*) IFC4X3_RC3_types[434])->attributes()[1])}); - ((entity*) IFC4X3_RC3_types[230])->set_inverse_attributes({new inverse_attribute(strings[3778], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[908]), ((entity*) IFC4X3_RC3_types[908])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[234])->set_inverse_attributes({new inverse_attribute(strings[3763], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[434]), ((entity*) IFC4X3_RC3_types[434])->attributes()[1])}); - ((entity*) IFC4X3_RC3_types[246])->set_inverse_attributes({new inverse_attribute(strings[3779], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[245]), ((entity*) IFC4X3_RC3_types[245])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[258])->set_inverse_attributes({new inverse_attribute(strings[3780], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[934]), ((entity*) IFC4X3_RC3_types[934])->attributes()[1]),new inverse_attribute(strings[3781], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[933]), ((entity*) IFC4X3_RC3_types[933])->attributes()[1])}); - ((entity*) IFC4X3_RC3_types[322])->set_inverse_attributes({new inverse_attribute(strings[3782], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[943]), ((entity*) IFC4X3_RC3_types[943])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[324])->set_inverse_attributes({new inverse_attribute(strings[3783], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[927]), ((entity*) IFC4X3_RC3_types[927])->attributes()[1])}); - ((entity*) IFC4X3_RC3_types[326])->set_inverse_attributes({new inverse_attribute(strings[3784], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[943]), ((entity*) IFC4X3_RC3_types[943])->attributes()[1])}); - ((entity*) IFC4X3_RC3_types[333])->set_inverse_attributes({new inverse_attribute(strings[3785], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[918]), ((entity*) IFC4X3_RC3_types[918])->attributes()[0]),new inverse_attribute(strings[3786], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[335]), ((entity*) IFC4X3_RC3_types[335])->attributes()[1]),new inverse_attribute(strings[3787], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[334]), ((entity*) IFC4X3_RC3_types[334])->attributes()[1]),new inverse_attribute(strings[3788], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[334]), ((entity*) IFC4X3_RC3_types[334])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[335])->set_inverse_attributes({new inverse_attribute(strings[3789], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[918]), ((entity*) IFC4X3_RC3_types[918])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[399])->set_inverse_attributes({new inverse_attribute(strings[3790], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[942]), ((entity*) IFC4X3_RC3_types[942])->attributes()[1]),new inverse_attribute(strings[3791], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[924]), ((entity*) IFC4X3_RC3_types[924])->attributes()[1]),new inverse_attribute(strings[3792], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[944]), ((entity*) IFC4X3_RC3_types[944])->attributes()[1]),new inverse_attribute(strings[3793], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[944]), ((entity*) IFC4X3_RC3_types[944])->attributes()[0]),new inverse_attribute(strings[3794], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[947]), ((entity*) IFC4X3_RC3_types[947])->attributes()[0]),new inverse_attribute(strings[3795], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[954]), ((entity*) IFC4X3_RC3_types[954])->attributes()[0]),new inverse_attribute(strings[3796], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[931]), ((entity*) IFC4X3_RC3_types[931])->attributes()[0]),new inverse_attribute(strings[3797], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[951]), ((entity*) IFC4X3_RC3_types[951])->attributes()[1]),new inverse_attribute(strings[3798], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[924]), ((entity*) IFC4X3_RC3_types[924])->attributes()[2]),new inverse_attribute(strings[3766], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[932]), ((entity*) IFC4X3_RC3_types[932])->attributes()[0]),new inverse_attribute(strings[3799], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[933]), ((entity*) IFC4X3_RC3_types[933])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[433])->set_inverse_attributes({new inverse_attribute(strings[3800], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[434]), ((entity*) IFC4X3_RC3_types[434])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[435])->set_inverse_attributes({new inverse_attribute(strings[3801], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[951]), ((entity*) IFC4X3_RC3_types[951])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[440])->set_inverse_attributes({new inverse_attribute(strings[3802], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[1199]), ((entity*) IFC4X3_RC3_types[1199])->attributes()[1])}); - ((entity*) IFC4X3_RC3_types[460])->set_inverse_attributes({new inverse_attribute(strings[3803], inverse_attribute::unspecified_type, -1, -1, ((entity*) IFC4X3_RC3_types[947]), ((entity*) IFC4X3_RC3_types[947])->attributes()[1])}); - ((entity*) IFC4X3_RC3_types[461])->set_inverse_attributes({new inverse_attribute(strings[3804], inverse_attribute::unspecified_type, -1, -1, ((entity*) IFC4X3_RC3_types[954]), ((entity*) IFC4X3_RC3_types[954])->attributes()[1])}); - ((entity*) IFC4X3_RC3_types[512])->set_inverse_attributes({new inverse_attribute(strings[3805], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[514]), ((entity*) IFC4X3_RC3_types[514])->attributes()[0]),new inverse_attribute(strings[3779], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[245]), ((entity*) IFC4X3_RC3_types[245])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[526])->set_inverse_attributes({new inverse_attribute(strings[3806], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[525]), ((entity*) IFC4X3_RC3_types[525])->attributes()[2]),new inverse_attribute(strings[3807], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[525]), ((entity*) IFC4X3_RC3_types[525])->attributes()[1]),new inverse_attribute(strings[3808], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[525]), ((entity*) IFC4X3_RC3_types[525])->attributes()[0]),new inverse_attribute(strings[3809], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[1277]), ((entity*) IFC4X3_RC3_types[1277])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[530])->set_inverse_attributes({new inverse_attribute(strings[3810], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[909]), ((entity*) IFC4X3_RC3_types[909])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[551])->set_inverse_attributes({new inverse_attribute(strings[3811], inverse_attribute::set_type, 1, -1, ((entity*) IFC4X3_RC3_types[778]), ((entity*) IFC4X3_RC3_types[778])->attributes()[1])}); - ((entity*) IFC4X3_RC3_types[590])->set_inverse_attributes({new inverse_attribute(strings[3812], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[919]), ((entity*) IFC4X3_RC3_types[919])->attributes()[0]),new inverse_attribute(strings[3813], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[591]), ((entity*) IFC4X3_RC3_types[591])->attributes()[2])}); - ((entity*) IFC4X3_RC3_types[591])->set_inverse_attributes({new inverse_attribute(strings[3814], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[919]), ((entity*) IFC4X3_RC3_types[919])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[640])->set_inverse_attributes({new inverse_attribute(strings[3815], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[645]), ((entity*) IFC4X3_RC3_types[645])->attributes()[0]),new inverse_attribute(strings[3770], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[657]), ((entity*) IFC4X3_RC3_types[657])->attributes()[1]),new inverse_attribute(strings[3816], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[657]), ((entity*) IFC4X3_RC3_types[657])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[642])->set_inverse_attributes({new inverse_attribute(strings[3817], inverse_attribute::unspecified_type, -1, -1, ((entity*) IFC4X3_RC3_types[643]), ((entity*) IFC4X3_RC3_types[643])->attributes()[2])}); - ((entity*) IFC4X3_RC3_types[644])->set_inverse_attributes({new inverse_attribute(strings[3818], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[920]), ((entity*) IFC4X3_RC3_types[920])->attributes()[0]),new inverse_attribute(strings[3767], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[434]), ((entity*) IFC4X3_RC3_types[434])->attributes()[1]),new inverse_attribute(strings[3011], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[656]), ((entity*) IFC4X3_RC3_types[656])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[646])->set_inverse_attributes({new inverse_attribute(strings[3819], inverse_attribute::unspecified_type, -1, -1, ((entity*) IFC4X3_RC3_types[647]), ((entity*) IFC4X3_RC3_types[647])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[651])->set_inverse_attributes({new inverse_attribute(strings[3820], inverse_attribute::unspecified_type, -1, -1, ((entity*) IFC4X3_RC3_types[652]), ((entity*) IFC4X3_RC3_types[652])->attributes()[2])}); - ((entity*) IFC4X3_RC3_types[659])->set_inverse_attributes({new inverse_attribute(strings[3818], inverse_attribute::set_type, 1, -1, ((entity*) IFC4X3_RC3_types[920]), ((entity*) IFC4X3_RC3_types[920])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[704])->set_inverse_attributes({new inverse_attribute(strings[3821], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[938]), ((entity*) IFC4X3_RC3_types[938])->attributes()[0]),new inverse_attribute(strings[3777], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[938]), ((entity*) IFC4X3_RC3_types[938])->attributes()[1]),new inverse_attribute(strings[3822], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[941]), ((entity*) IFC4X3_RC3_types[941])->attributes()[0]),new inverse_attribute(strings[3776], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[939]), ((entity*) IFC4X3_RC3_types[939])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[705])->set_inverse_attributes({new inverse_attribute(strings[3823], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[906]), ((entity*) IFC4X3_RC3_types[906])->attributes()[0]),new inverse_attribute(strings[3824], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[945]), ((entity*) IFC4X3_RC3_types[945])->attributes()[1]),new inverse_attribute(strings[3825], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[945]), ((entity*) IFC4X3_RC3_types[945])->attributes()[0]),new inverse_attribute(strings[3826], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[935]), ((entity*) IFC4X3_RC3_types[935])->attributes()[1]),new inverse_attribute(strings[3827], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[905]), ((entity*) IFC4X3_RC3_types[905])->attributes()[0]),new inverse_attribute(strings[3828], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[905]), ((entity*) IFC4X3_RC3_types[905])->attributes()[1]),new inverse_attribute(strings[3829], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[914]), ((entity*) IFC4X3_RC3_types[914])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[708])->set_inverse_attributes({new inverse_attribute(strings[3830], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[808]), ((entity*) IFC4X3_RC3_types[808])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[718])->set_inverse_attributes({new inverse_attribute(strings[3831], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[942]), ((entity*) IFC4X3_RC3_types[942])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[722])->set_inverse_attributes({new inverse_attribute(strings[3832], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[723]), ((entity*) IFC4X3_RC3_types[723])->attributes()[1]),new inverse_attribute(strings[3771], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[723]), ((entity*) IFC4X3_RC3_types[723])->attributes()[0]),new inverse_attribute(strings[3833], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[744]), ((entity*) IFC4X3_RC3_types[744])->attributes()[1])}); - ((entity*) IFC4X3_RC3_types[743])->set_inverse_attributes({new inverse_attribute(strings[3834], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[744]), ((entity*) IFC4X3_RC3_types[744])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[748])->set_inverse_attributes({new inverse_attribute(strings[3767], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[434]), ((entity*) IFC4X3_RC3_types[434])->attributes()[1]),new inverse_attribute(strings[3835], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[746]), ((entity*) IFC4X3_RC3_types[746])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[782])->set_inverse_attributes({new inverse_attribute(strings[3836], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[927]), ((entity*) IFC4X3_RC3_types[927])->attributes()[0]),new inverse_attribute(strings[3798], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[926]), ((entity*) IFC4X3_RC3_types[926])->attributes()[1]),new inverse_attribute(strings[3791], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[926]), ((entity*) IFC4X3_RC3_types[926])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[783])->set_inverse_attributes({new inverse_attribute(strings[3766], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[932]), ((entity*) IFC4X3_RC3_types[932])->attributes()[0]),new inverse_attribute(strings[3837], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[946]), ((entity*) IFC4X3_RC3_types[946])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[806])->set_inverse_attributes({new inverse_attribute(strings[3838], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[949]), ((entity*) IFC4X3_RC3_types[949])->attributes()[0]),new inverse_attribute(strings[3839], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[949]), ((entity*) IFC4X3_RC3_types[949])->attributes()[1]),new inverse_attribute(strings[3840], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[911]), ((entity*) IFC4X3_RC3_types[911])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[808])->set_inverse_attributes({new inverse_attribute(strings[3841], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[912]), ((entity*) IFC4X3_RC3_types[912])->attributes()[0]),new inverse_attribute(strings[3842], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[946]), ((entity*) IFC4X3_RC3_types[946])->attributes()[1]),new inverse_attribute(strings[3843], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[948]), ((entity*) IFC4X3_RC3_types[948])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[809])->set_inverse_attributes({new inverse_attribute(strings[3844], inverse_attribute::set_type, 1, -1, ((entity*) IFC4X3_RC3_types[808]), ((entity*) IFC4X3_RC3_types[808])->attributes()[1]),new inverse_attribute(strings[3845], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[1009]), ((entity*) IFC4X3_RC3_types[1009])->attributes()[4])}); - ((entity*) IFC4X3_RC3_types[813])->set_inverse_attributes({new inverse_attribute(strings[3763], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[434]), ((entity*) IFC4X3_RC3_types[434])->attributes()[1]),new inverse_attribute(strings[3011], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[814]), ((entity*) IFC4X3_RC3_types[814])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[824])->set_inverse_attributes({new inverse_attribute(strings[3846], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[833]), ((entity*) IFC4X3_RC3_types[833])->attributes()[0]),new inverse_attribute(strings[3847], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[828]), ((entity*) IFC4X3_RC3_types[828])->attributes()[0]),new inverse_attribute(strings[3848], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[828]), ((entity*) IFC4X3_RC3_types[828])->attributes()[1]),new inverse_attribute(strings[3835], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[191]), ((entity*) IFC4X3_RC3_types[191])->attributes()[1]),new inverse_attribute(strings[3849], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[962]), ((entity*) IFC4X3_RC3_types[962])->attributes()[1]),new inverse_attribute(strings[3850], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[961]), ((entity*) IFC4X3_RC3_types[961])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[825])->set_inverse_attributes({new inverse_attribute(strings[3767], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[434]), ((entity*) IFC4X3_RC3_types[434])->attributes()[1])}); - ((entity*) IFC4X3_RC3_types[827])->set_inverse_attributes({new inverse_attribute(strings[3826], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[935]), ((entity*) IFC4X3_RC3_types[935])->attributes()[1]),new inverse_attribute(strings[3829], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[914]), ((entity*) IFC4X3_RC3_types[914])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[834])->set_inverse_attributes({new inverse_attribute(strings[3851], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[1244]), ((entity*) IFC4X3_RC3_types[1244])->attributes()[1]),new inverse_attribute(strings[3776], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[940]), ((entity*) IFC4X3_RC3_types[940])->attributes()[0]),new inverse_attribute(strings[3852], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[939]), ((entity*) IFC4X3_RC3_types[939])->attributes()[1])}); - ((entity*) IFC4X3_RC3_types[837])->set_inverse_attributes({new inverse_attribute(strings[3853], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[940]), ((entity*) IFC4X3_RC3_types[940])->attributes()[1])}); - ((entity*) IFC4X3_RC3_types[841])->set_inverse_attributes({new inverse_attribute(strings[3854], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[192]), ((entity*) IFC4X3_RC3_types[192])->attributes()[2]),new inverse_attribute(strings[3855], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[837]), ((entity*) IFC4X3_RC3_types[837])->attributes()[2])}); - ((entity*) IFC4X3_RC3_types[952])->set_inverse_attributes({new inverse_attribute(strings[2882], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[952]), ((entity*) IFC4X3_RC3_types[952])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[953])->set_inverse_attributes({new inverse_attribute(strings[3856], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[953]), ((entity*) IFC4X3_RC3_types[953])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[956])->set_inverse_attributes({new inverse_attribute(strings[3857], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[959]), ((entity*) IFC4X3_RC3_types[959])->attributes()[1]),new inverse_attribute(strings[3858], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[799]), ((entity*) IFC4X3_RC3_types[799])->attributes()[2]),new inverse_attribute(strings[3859], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[810]), ((entity*) IFC4X3_RC3_types[810])->attributes()[2])}); - ((entity*) IFC4X3_RC3_types[957])->set_inverse_attributes({new inverse_attribute(strings[3860], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[956]), ((entity*) IFC4X3_RC3_types[956])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[958])->set_inverse_attributes({new inverse_attribute(strings[3861], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[799]), ((entity*) IFC4X3_RC3_types[799])->attributes()[2]),new inverse_attribute(strings[3862], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[1122]), ((entity*) IFC4X3_RC3_types[1122])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[959])->set_inverse_attributes({new inverse_attribute(strings[3845], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[1009]), ((entity*) IFC4X3_RC3_types[1009])->attributes()[4]),new inverse_attribute(strings[3863], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[632]), ((entity*) IFC4X3_RC3_types[632])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[960])->set_inverse_attributes({new inverse_attribute(strings[3864], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[913]), ((entity*) IFC4X3_RC3_types[913])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[999])->set_inverse_attributes({new inverse_attribute(strings[3865], inverse_attribute::set_type, 1, -1, ((entity*) IFC4X3_RC3_types[194]), ((entity*) IFC4X3_RC3_types[194])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[1009])->set_inverse_attributes({new inverse_attribute(strings[3767], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[434]), ((entity*) IFC4X3_RC3_types[434])->attributes()[1])}); - ((entity*) IFC4X3_RC3_types[1010])->set_inverse_attributes({new inverse_attribute(strings[3866], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[1009]), ((entity*) IFC4X3_RC3_types[1009])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[1048])->set_inverse_attributes({new inverse_attribute(strings[3799], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[934]), ((entity*) IFC4X3_RC3_types[934])->attributes()[0]),new inverse_attribute(strings[3801], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[951]), ((entity*) IFC4X3_RC3_types[951])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[1055])->set_inverse_attributes({new inverse_attribute(strings[3867], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[932]), ((entity*) IFC4X3_RC3_types[932])->attributes()[1]),new inverse_attribute(strings[3868], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[950]), ((entity*) IFC4X3_RC3_types[950])->attributes()[1]),new inverse_attribute(strings[3869], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[948]), ((entity*) IFC4X3_RC3_types[948])->attributes()[1])}); - ((entity*) IFC4X3_RC3_types[1081])->set_inverse_attributes({new inverse_attribute(strings[3870], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[928]), ((entity*) IFC4X3_RC3_types[928])->attributes()[1])}); - ((entity*) IFC4X3_RC3_types[1084])->set_inverse_attributes({new inverse_attribute(strings[3871], inverse_attribute::set_type, 1, -1, ((entity*) IFC4X3_RC3_types[929]), ((entity*) IFC4X3_RC3_types[929])->attributes()[1])}); - ((entity*) IFC4X3_RC3_types[1093])->set_inverse_attributes({new inverse_attribute(strings[3872], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[928]), ((entity*) IFC4X3_RC3_types[928])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[1098])->set_inverse_attributes({new inverse_attribute(strings[3873], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[1114]), ((entity*) IFC4X3_RC3_types[1114])->attributes()[1]),new inverse_attribute(strings[3874], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[1083]), ((entity*) IFC4X3_RC3_types[1083])->attributes()[2])}); - ((entity*) IFC4X3_RC3_types[1108])->set_inverse_attributes({new inverse_attribute(strings[3875], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[929]), ((entity*) IFC4X3_RC3_types[929])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[1114])->set_inverse_attributes({new inverse_attribute(strings[3876], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[1083]), ((entity*) IFC4X3_RC3_types[1083])->attributes()[3])}); - ((entity*) IFC4X3_RC3_types[1146])->set_inverse_attributes({new inverse_attribute(strings[3877], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[1197]), ((entity*) IFC4X3_RC3_types[1197])->attributes()[0]),new inverse_attribute(strings[3878], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[1145]), ((entity*) IFC4X3_RC3_types[1145])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[1154])->set_inverse_attributes({new inverse_attribute(strings[3879], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[950]), ((entity*) IFC4X3_RC3_types[950])->attributes()[0]),new inverse_attribute(strings[3880], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[948]), ((entity*) IFC4X3_RC3_types[948])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[1182])->set_inverse_attributes({new inverse_attribute(strings[3881], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[549]), ((entity*) IFC4X3_RC3_types[549])->attributes()[0]),new inverse_attribute(strings[3882], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[553]), ((entity*) IFC4X3_RC3_types[553])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[1213])->set_inverse_attributes({new inverse_attribute(strings[3763], inverse_attribute::set_type, 1, -1, ((entity*) IFC4X3_RC3_types[434]), ((entity*) IFC4X3_RC3_types[434])->attributes()[1])}); - ((entity*) IFC4X3_RC3_types[1244])->set_inverse_attributes({new inverse_attribute(strings[3883], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[941]), ((entity*) IFC4X3_RC3_types[941])->attributes()[1])}); - ((entity*) IFC4X3_RC3_types[1245])->set_inverse_attributes({new inverse_attribute(strings[3840], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[911]), ((entity*) IFC4X3_RC3_types[911])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[1246])->set_inverse_attributes({new inverse_attribute(strings[3841], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[912]), ((entity*) IFC4X3_RC3_types[912])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[1247])->set_inverse_attributes({new inverse_attribute(strings[3864], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[913]), ((entity*) IFC4X3_RC3_types[913])->attributes()[0])}); - ((entity*) IFC4X3_RC3_types[230])->set_subtypes({((entity*) IFC4X3_RC3_types[2]),((entity*) IFC4X3_RC3_types[249]),((entity*) IFC4X3_RC3_types[251]),((entity*) IFC4X3_RC3_types[737]),((entity*) IFC4X3_RC3_types[741]),((entity*) IFC4X3_RC3_types[822]),((entity*) IFC4X3_RC3_types[1307]),((entity*) IFC4X3_RC3_types[1309])}); - ((entity*) IFC4X3_RC3_types[704])->set_subtypes({((entity*) IFC4X3_RC3_types[6]),((entity*) IFC4X3_RC3_types[230]),((entity*) IFC4X3_RC3_types[530]),((entity*) IFC4X3_RC3_types[806]),((entity*) IFC4X3_RC3_types[808]),((entity*) IFC4X3_RC3_types[960])}); - ((entity*) IFC4X3_RC3_types[322])->set_subtypes({((entity*) IFC4X3_RC3_types[9]),((entity*) IFC4X3_RC3_types[26]),((entity*) IFC4X3_RC3_types[231]),((entity*) IFC4X3_RC3_types[478]),((entity*) IFC4X3_RC3_types[844]),((entity*) IFC4X3_RC3_types[1002]),((entity*) IFC4X3_RC3_types[1249])}); - ((entity*) IFC4X3_RC3_types[323])->set_subtypes({((entity*) IFC4X3_RC3_types[10]),((entity*) IFC4X3_RC3_types[27]),((entity*) IFC4X3_RC3_types[232]),((entity*) IFC4X3_RC3_types[479]),((entity*) IFC4X3_RC3_types[845]),((entity*) IFC4X3_RC3_types[1003]),((entity*) IFC4X3_RC3_types[1250])}); - ((entity*) IFC4X3_RC3_types[630])->set_subtypes({((entity*) IFC4X3_RC3_types[14]),((entity*) IFC4X3_RC3_types[445])}); + ((entity*)IFC4X3_RC3_types[768])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[769]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[770])->set_attributes({}, {}); + ((entity*)IFC4X3_RC3_types[771])->set_attributes({new attribute(strings[3339], new named_type(IFC4X3_RC3_types[278]), false),new attribute(strings[3340], new named_type(IFC4X3_RC3_types[588]), true),new attribute(strings[3341], new named_type(IFC4X3_RC3_types[588]), true),new attribute(strings[3342], new named_type(IFC4X3_RC3_types[588]), true),new attribute(strings[3300], new named_type(IFC4X3_RC3_types[273]), false)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[772])->set_attributes({new attribute(strings[3300], new named_type(IFC4X3_RC3_types[273]), false),new attribute(strings[3343], new named_type(IFC4X3_RC3_types[730]), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[773])->set_attributes({new attribute(strings[3057], new named_type(IFC4X3_RC3_types[1127]), false),new attribute(strings[3344], new named_type(IFC4X3_RC3_types[730]), false),new attribute(strings[3345], new named_type(IFC4X3_RC3_types[730]), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[778])->set_attributes({new attribute(strings[3346], new aggregation_type(aggregation_type::list_type, 3, -1, new named_type(IFC4X3_RC3_types[147])), false)}, {false}); + ((entity*)IFC4X3_RC3_types[775])->set_attributes({new attribute(strings[3014], new named_type(IFC4X3_RC3_types[70]), false),new attribute(strings[3347], new named_type(IFC4X3_RC3_types[100]), false)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[776])->set_attributes({new attribute(strings[3348], new named_type(IFC4X3_RC3_types[88]), true),new attribute(strings[3349], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[550])), false),new attribute(strings[3350], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[782])), true)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[777])->set_attributes({new attribute(strings[3203], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[147])), false)}, {false}); + ((entity*)IFC4X3_RC3_types[779])->set_attributes({new attribute(strings[3014], new named_type(IFC4X3_RC3_types[759]), false),new attribute(strings[3351], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[877])), true),new attribute(strings[3352], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[877])), true),new attribute(strings[3353], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[877])), true)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[780])->set_attributes({}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[781])->set_attributes({}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[786])->set_attributes({new attribute(strings[3354], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3355], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[577])), true),new attribute(strings[3356], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3357], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3358], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3359], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3360], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[788])->set_attributes({}, {false}); + ((entity*)IFC4X3_RC3_types[789])->set_attributes({}, {false}); + ((entity*)IFC4X3_RC3_types[790])->set_attributes({new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), false)}, {false}); + ((entity*)IFC4X3_RC3_types[791])->set_attributes({}, {}); + ((entity*)IFC4X3_RC3_types[792])->set_attributes({}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[793])->set_attributes({}, {false}); + ((entity*)IFC4X3_RC3_types[796])->set_attributes({}, {}); + ((entity*)IFC4X3_RC3_types[797])->set_attributes({new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), false),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1182]), true),new attribute(strings[3361], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[586])), false),new attribute(strings[2891], new named_type(IFC4X3_RC3_types[540]), true)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[798])->set_attributes({new attribute(strings[3362], new named_type(IFC4X3_RC3_types[620]), false),new attribute(strings[3363], new named_type(IFC4X3_RC3_types[620]), false),new attribute(strings[3364], new named_type(IFC4X3_RC3_types[620]), false),new attribute(strings[3365], new aggregation_type(aggregation_type::set_type, 0, -1, new named_type(IFC4X3_RC3_types[799])), false)}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[799])->set_attributes({new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), true)}, {false}); + ((entity*)IFC4X3_RC3_types[801])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[803]), true)}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[802])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[803]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[804])->set_attributes({new attribute(strings[2902], new named_type(IFC4X3_RC3_types[540]), true),new attribute(strings[2847], new named_type(IFC4X3_RC3_types[1182]), true)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[806])->set_attributes({new attribute(strings[3366], new named_type(IFC4X3_RC3_types[707]), true),new attribute(strings[3367], new named_type(IFC4X3_RC3_types[808]), true)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[807])->set_attributes({}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[808])->set_attributes({new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1182]), true),new attribute(strings[3368], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[954])), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[811])->set_attributes({new attribute(strings[3369], new named_type(IFC4X3_RC3_types[813]), false),new attribute(strings[3370], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false}); + ((entity*)IFC4X3_RC3_types[812])->set_attributes({new attribute(strings[3371], new named_type(IFC4X3_RC3_types[811]), false)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[814])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[819])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[820])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[821]), true),new attribute(strings[2846], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[2847], new named_type(IFC4X3_RC3_types[1182]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[815])->set_attributes({new attribute(strings[3372], new named_type(IFC4X3_RC3_types[540]), true),new attribute(strings[3373], new named_type(IFC4X3_RC3_types[540]), true),new attribute(strings[3374], new named_type(IFC4X3_RC3_types[696]), true)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[817])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[818]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[822])->set_attributes({new attribute(strings[2882], new named_type(IFC4X3_RC3_types[540]), false),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1182]), true)}, {false,false}); + ((entity*)IFC4X3_RC3_types[823])->set_attributes({}, {}); + ((entity*)IFC4X3_RC3_types[824])->set_attributes({new attribute(strings[3375], new named_type(IFC4X3_RC3_types[1257]), true),new attribute(strings[3376], new named_type(IFC4X3_RC3_types[1257]), true),new attribute(strings[3074], new named_type(IFC4X3_RC3_types[1246]), true),new attribute(strings[3377], new named_type(IFC4X3_RC3_types[1257]), true)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[825])->set_attributes({}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[826])->set_attributes({new attribute(strings[3378], new named_type(IFC4X3_RC3_types[822]), false),new attribute(strings[3379], new named_type(IFC4X3_RC3_types[822]), false),new attribute(strings[3284], new named_type(IFC4X3_RC3_types[1182]), true)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[827])->set_attributes({new attribute(strings[3380], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1257])), true),new attribute(strings[3381], new named_type(IFC4X3_RC3_types[828]), true)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[828])->set_attributes({new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), false),new attribute(strings[3380], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1257])), false),new attribute(strings[3074], new named_type(IFC4X3_RC3_types[1246]), true)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[829])->set_attributes({new attribute(strings[3213], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1257])), true),new attribute(strings[3074], new named_type(IFC4X3_RC3_types[1246]), true)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[830])->set_attributes({new attribute(strings[3005], new named_type(IFC4X3_RC3_types[1182]), true),new attribute(strings[3382], new named_type(IFC4X3_RC3_types[708]), true)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[831])->set_attributes({new attribute(strings[3006], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[822])), false)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[832])->set_attributes({}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[835])->set_attributes({new attribute(strings[3007], new named_type(IFC4X3_RC3_types[836]), true),new attribute(strings[3383], new named_type(IFC4X3_RC3_types[540]), true),new attribute(strings[3008], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[839])), false)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[837])->set_attributes({new attribute(strings[3384], new named_type(IFC4X3_RC3_types[1257]), true),new attribute(strings[3074], new named_type(IFC4X3_RC3_types[1246]), true)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[838])->set_attributes({new attribute(strings[3385], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1257])), true),new attribute(strings[3386], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1257])), true),new attribute(strings[3284], new named_type(IFC4X3_RC3_types[1182]), true),new attribute(strings[3387], new named_type(IFC4X3_RC3_types[1246]), true),new attribute(strings[3388], new named_type(IFC4X3_RC3_types[1246]), true),new attribute(strings[3389], new named_type(IFC4X3_RC3_types[277]), true)}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[839])->set_attributes({}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[840])->set_attributes({}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[841])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[846]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[842])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[844]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[843])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[844]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[845])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[846]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[847])->set_attributes({new attribute(strings[3390], new named_type(IFC4X3_RC3_types[709]), false),new attribute(strings[3133], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[848])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[850]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[849])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[850]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[851])->set_attributes({new attribute(strings[3391], new named_type(IFC4X3_RC3_types[59]), false),new attribute(strings[3392], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[852])->set_attributes({new attribute(strings[3393], new named_type(IFC4X3_RC3_types[254]), false),new attribute(strings[3392], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[853])->set_attributes({new attribute(strings[3394], new named_type(IFC4X3_RC3_types[588]), false),new attribute(strings[3392], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[854])->set_attributes({}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[855])->set_attributes({new attribute(strings[3395], new named_type(IFC4X3_RC3_types[1208]), false),new attribute(strings[3392], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[856])->set_attributes({new attribute(strings[3396], new named_type(IFC4X3_RC3_types[1279]), false),new attribute(strings[3392], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[857])->set_attributes({new attribute(strings[3397], new named_type(IFC4X3_RC3_types[637]), false),new attribute(strings[3392], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[859])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[864]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[863])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[864]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[860])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[862]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[861])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[862]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[865])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[867]), true)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[868])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[873]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[869])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[871]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[870])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[871]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[872])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[873]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[875])->set_attributes({new attribute(strings[3398], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[877])), false)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[876])->set_attributes({new attribute(strings[3398], new aggregation_type(aggregation_type::list_type, 2, -1, new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[877]))), false)}, {false,false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[878])->set_attributes({new attribute(strings[2978], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[3399], new named_type(IFC4X3_RC3_types[700]), true),new attribute(strings[3400], new named_type(IFC4X3_RC3_types[700]), true)}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[879])->set_attributes({new attribute(strings[2967], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[2968], new named_type(IFC4X3_RC3_types[783]), false)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[880])->set_attributes({new attribute(strings[2944], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[2945], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[3334], new named_type(IFC4X3_RC3_types[783]), false)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[881])->set_attributes({new attribute(strings[3057], new named_type(IFC4X3_RC3_types[1127]), false),new attribute(strings[3401], new named_type(IFC4X3_RC3_types[730]), false),new attribute(strings[3402], new named_type(IFC4X3_RC3_types[730]), false),new attribute(strings[3403], new named_type(IFC4X3_RC3_types[730]), false),new attribute(strings[3404], new named_type(IFC4X3_RC3_types[730]), false),new attribute(strings[3405], new named_type(IFC4X3_RC3_types[88]), false),new attribute(strings[3406], new named_type(IFC4X3_RC3_types[88]), false)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[882])->set_attributes({new attribute(strings[3407], new named_type(IFC4X3_RC3_types[883]), false),new attribute(strings[3408], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[294])), true),new attribute(strings[3409], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[295])), true),new attribute(strings[3410], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[689])), true),new attribute(strings[3014], new named_type(IFC4X3_RC3_types[555]), true),new attribute(strings[3411], new named_type(IFC4X3_RC3_types[555]), true),new attribute(strings[3412], new named_type(IFC4X3_RC3_types[555]), true),new attribute(strings[3413], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1210])), true)}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[884])->set_attributes({new attribute(strings[3414], new named_type(IFC4X3_RC3_types[540]), true),new attribute(strings[3415], new named_type(IFC4X3_RC3_types[540]), true),new attribute(strings[3416], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3417], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[555])), true),new attribute(strings[3418], new named_type(IFC4X3_RC3_types[884]), true)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[885])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[886]), true),new attribute(strings[3419], new named_type(IFC4X3_RC3_types[588]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[888])->set_attributes({new attribute(strings[3420], new named_type(IFC4X3_RC3_types[1208]), false),new attribute(strings[3211], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1213])), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[889])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[890]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[891])->set_attributes({new attribute(strings[3421], new named_type(IFC4X3_RC3_types[59]), false),new attribute(strings[3422], new named_type(IFC4X3_RC3_types[577]), false),new attribute(strings[3423], new named_type(IFC4X3_RC3_types[895]), true),new attribute(strings[3424], new named_type(IFC4X3_RC3_types[588]), true),new attribute(strings[3425], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3426], new named_type(IFC4X3_RC3_types[254]), true)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[892])->set_attributes({new attribute(strings[3427], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3428], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[995])), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[893])->set_attributes({new attribute(strings[3287], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3429], new named_type(IFC4X3_RC3_types[59]), true),new attribute(strings[3430], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[2845], new named_type(IFC4X3_RC3_types[897]), true),new attribute(strings[3423], new named_type(IFC4X3_RC3_types[895]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[896])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[897]), false),new attribute(strings[3287], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3429], new named_type(IFC4X3_RC3_types[59]), true),new attribute(strings[3430], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3423], new named_type(IFC4X3_RC3_types[895]), true),new attribute(strings[3431], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3432], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[81])), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[898])->set_attributes({new attribute(strings[3422], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[899])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[900])->set_attributes({new attribute(strings[3433], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3434], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3435], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3436], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3437], new named_type(IFC4X3_RC3_types[59]), true),new attribute(strings[3438], new named_type(IFC4X3_RC3_types[59]), true),new attribute(strings[3439], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3440], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[2845], new named_type(IFC4X3_RC3_types[902]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[901])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[902]), false),new attribute(strings[3433], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3434], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3435], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3436], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3437], new named_type(IFC4X3_RC3_types[59]), true),new attribute(strings[3438], new named_type(IFC4X3_RC3_types[59]), true),new attribute(strings[3439], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3440], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3431], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3432], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[81])), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[903])->set_attributes({new attribute(strings[3441], new named_type(IFC4X3_RC3_types[704]), false),new attribute(strings[3442], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[704])), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[904])->set_attributes({new attribute(strings[3442], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[704])), false),new attribute(strings[3443], new named_type(IFC4X3_RC3_types[709]), true)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[905])->set_attributes({new attribute(strings[3444], new named_type(IFC4X3_RC3_types[6]), false),new attribute(strings[3445], new named_type(IFC4X3_RC3_types[7]), true)}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[906])->set_attributes({new attribute(strings[3446], new named_type(IFC4X3_RC3_types[230]), false)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[907])->set_attributes({new attribute(strings[3447], new named_type(IFC4X3_RC3_types[529]), false)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[908])->set_attributes({new attribute(strings[3448], new named_type(IFC4X3_RC3_types[874]), false)}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[909])->set_attributes({new attribute(strings[3449], new named_type(IFC4X3_RC3_types[805]), false),new attribute(strings[3450], new named_type(IFC4X3_RC3_types[660]), true)}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[910])->set_attributes({new attribute(strings[3451], new named_type(IFC4X3_RC3_types[810]), false)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[911])->set_attributes({new attribute(strings[3452], new named_type(IFC4X3_RC3_types[963]), false)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[912])->set_attributes({new attribute(strings[3442], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[298])), false)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[913])->set_attributes({new attribute(strings[2897], new named_type(IFC4X3_RC3_types[52]), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[914])->set_attributes({new attribute(strings[3453], new named_type(IFC4X3_RC3_types[172]), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[915])->set_attributes({new attribute(strings[3454], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3455], new named_type(IFC4X3_RC3_types[214]), false)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[916])->set_attributes({new attribute(strings[3101], new named_type(IFC4X3_RC3_types[335]), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[917])->set_attributes({new attribute(strings[3456], new named_type(IFC4X3_RC3_types[591]), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[918])->set_attributes({new attribute(strings[3282], new named_type(IFC4X3_RC3_types[657]), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[919])->set_attributes({new attribute(strings[3457], new named_type(IFC4X3_RC3_types[811]), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[921])->set_attributes({}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[922])->set_attributes({new attribute(strings[3458], new named_type(IFC4X3_RC3_types[208]), true),new attribute(strings[3459], new named_type(IFC4X3_RC3_types[398]), false),new attribute(strings[3460], new named_type(IFC4X3_RC3_types[398]), false)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[923])->set_attributes({new attribute(strings[3461], new aggregation_type(aggregation_type::list_type, 0, -1, new named_type(IFC4X3_RC3_types[555])), false),new attribute(strings[3462], new aggregation_type(aggregation_type::list_type, 0, -1, new named_type(IFC4X3_RC3_types[555])), false),new attribute(strings[3463], new named_type(IFC4X3_RC3_types[212]), false),new attribute(strings[3464], new named_type(IFC4X3_RC3_types[212]), false)}, {false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[925])->set_attributes({new attribute(strings[3465], new named_type(IFC4X3_RC3_types[780]), false),new attribute(strings[3460], new named_type(IFC4X3_RC3_types[323]), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[924])->set_attributes({new attribute(strings[3465], new named_type(IFC4X3_RC3_types[780]), false),new attribute(strings[3466], new named_type(IFC4X3_RC3_types[780]), false),new attribute(strings[3467], new named_type(IFC4X3_RC3_types[398]), true)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[926])->set_attributes({new attribute(strings[3459], new named_type(IFC4X3_RC3_types[1080]), false),new attribute(strings[3468], new named_type(IFC4X3_RC3_types[1079]), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[927])->set_attributes({new attribute(strings[3469], new named_type(IFC4X3_RC3_types[1106]), false),new attribute(strings[3470], new named_type(IFC4X3_RC3_types[1082]), false),new attribute(strings[3471], new named_type(IFC4X3_RC3_types[94]), true),new attribute(strings[3472], new named_type(IFC4X3_RC3_types[1083]), true),new attribute(strings[3473], new named_type(IFC4X3_RC3_types[588]), true),new attribute(strings[3474], new named_type(IFC4X3_RC3_types[70]), true)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[928])->set_attributes({new attribute(strings[3475], new named_type(IFC4X3_RC3_types[208]), false)}, {false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[929])->set_attributes({new attribute(strings[3476], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[398])), false),new attribute(strings[3477], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[930])->set_attributes({new attribute(strings[3478], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[806])), false),new attribute(strings[3479], new named_type(IFC4X3_RC3_types[1053]), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[931])->set_attributes({new attribute(strings[3480], new named_type(IFC4X3_RC3_types[398]), false),new attribute(strings[3481], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[258])), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[932])->set_attributes({new attribute(strings[3482], new named_type(IFC4X3_RC3_types[1046]), false),new attribute(strings[3481], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[258])), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[933])->set_attributes({new attribute(strings[3483], new named_type(IFC4X3_RC3_types[227]), false),new attribute(strings[3484], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[298])), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[934])->set_attributes({}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[935])->set_attributes({}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[936])->set_attributes({new attribute(strings[3442], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[703])), false),new attribute(strings[3441], new named_type(IFC4X3_RC3_types[703]), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[937])->set_attributes({new attribute(strings[3442], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[704])), false),new attribute(strings[3485], new named_type(IFC4X3_RC3_types[833]), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[938])->set_attributes({new attribute(strings[3486], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[832])), false),new attribute(strings[3487], new named_type(IFC4X3_RC3_types[835]), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[939])->set_attributes({new attribute(strings[3442], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[703])), false),new attribute(strings[3488], new named_type(IFC4X3_RC3_types[1242]), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[940])->set_attributes({new attribute(strings[3489], new named_type(IFC4X3_RC3_types[717]), false),new attribute(strings[3490], new named_type(IFC4X3_RC3_types[398]), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[941])->set_attributes({new attribute(strings[3491], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[321])), false),new attribute(strings[3492], new named_type(IFC4X3_RC3_types[325]), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[942])->set_attributes({new attribute(strings[3459], new named_type(IFC4X3_RC3_types[560]), false),new attribute(strings[3460], new named_type(IFC4X3_RC3_types[560]), false),new attribute(strings[3493], new named_type(IFC4X3_RC3_types[208]), true),new attribute(strings[3494], new named_type(IFC4X3_RC3_types[540]), true),new attribute(strings[3495], new named_type(IFC4X3_RC3_types[620]), false)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[943])->set_attributes({new attribute(strings[3441], new named_type(IFC4X3_RC3_types[704]), false),new attribute(strings[3442], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[704])), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[944])->set_attributes({new attribute(strings[3496], new named_type(IFC4X3_RC3_types[781]), false),new attribute(strings[3497], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[806])), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[945])->set_attributes({new attribute(strings[3459], new named_type(IFC4X3_RC3_types[398]), false),new attribute(strings[3498], new named_type(IFC4X3_RC3_types[459]), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[946])->set_attributes({new attribute(strings[3478], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[1055])), false),new attribute(strings[3479], new named_type(IFC4X3_RC3_types[1053]), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[947])->set_attributes({new attribute(strings[3449], new named_type(IFC4X3_RC3_types[804]), false),new attribute(strings[3499], new named_type(IFC4X3_RC3_types[804]), false),new attribute(strings[3500], new named_type(IFC4X3_RC3_types[581]), true),new attribute(strings[3501], new named_type(IFC4X3_RC3_types[1003]), true),new attribute(strings[3502], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[948])->set_attributes({new attribute(strings[3503], new named_type(IFC4X3_RC3_types[1152]), false),new attribute(strings[3504], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[1053])), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[949])->set_attributes({new attribute(strings[3482], new named_type(IFC4X3_RC3_types[1047]), false),new attribute(strings[3490], new named_type(IFC4X3_RC3_types[398]), false),new attribute(strings[3458], new named_type(IFC4X3_RC3_types[208]), true),new attribute(strings[3505], new named_type(IFC4X3_RC3_types[745]), false),new attribute(strings[3506], new named_type(IFC4X3_RC3_types[561]), false)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[950])->set_attributes({new attribute(strings[3507], new named_type(IFC4X3_RC3_types[950]), true)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[951])->set_attributes({new attribute(strings[3508], new named_type(IFC4X3_RC3_types[951]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[952])->set_attributes({new attribute(strings[3480], new named_type(IFC4X3_RC3_types[398]), false),new attribute(strings[3509], new named_type(IFC4X3_RC3_types[460]), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[920])->set_attributes({}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[953])->set_attributes({new attribute(strings[3510], new named_type(IFC4X3_RC3_types[730]), false)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[954])->set_attributes({new attribute(strings[3511], new named_type(IFC4X3_RC3_types[955]), false),new attribute(strings[3512], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3513], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3514], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[956])), false)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[955])->set_attributes({new attribute(strings[3515], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3516], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false}); + ((entity*)IFC4X3_RC3_types[956])->set_attributes({}, {}); + ((entity*)IFC4X3_RC3_types[957])->set_attributes({new attribute(strings[3517], new named_type(IFC4X3_RC3_types[68]), false),new attribute(strings[3518], new named_type(IFC4X3_RC3_types[954]), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[958])->set_attributes({new attribute(strings[2902], new named_type(IFC4X3_RC3_types[540]), true),new attribute(strings[2847], new named_type(IFC4X3_RC3_types[1182]), true)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[959])->set_attributes({new attribute(strings[3149], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[962])), false),new attribute(strings[2897], new named_type(IFC4X3_RC3_types[52]), false)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[960])->set_attributes({new attribute(strings[3455], new named_type(IFC4X3_RC3_types[214]), false),new attribute(strings[3149], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[962])), false)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[961])->set_attributes({new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1182]), true)}, {false,false}); + ((entity*)IFC4X3_RC3_types[964])->set_attributes({new attribute(strings[3519], new named_type(IFC4X3_RC3_types[361]), true),new attribute(strings[3520], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3521], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3522], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3523], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3524], new named_type(IFC4X3_RC3_types[361]), true),new attribute(strings[3525], new named_type(IFC4X3_RC3_types[88]), true),new attribute(strings[3526], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3527], new named_type(IFC4X3_RC3_types[361]), true),new attribute(strings[3528], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3529], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3530], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3531], new named_type(IFC4X3_RC3_types[361]), true),new attribute(strings[3532], new named_type(IFC4X3_RC3_types[785]), true),new attribute(strings[3533], new named_type(IFC4X3_RC3_types[785]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[965])->set_attributes({new attribute(strings[2923], new named_type(IFC4X3_RC3_types[67]), false),new attribute(strings[3534], new named_type(IFC4X3_RC3_types[764]), false)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[966])->set_attributes({new attribute(strings[3151], new named_type(IFC4X3_RC3_types[811]), false)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[967])->set_attributes({new attribute(strings[3334], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[3535], new named_type(IFC4X3_RC3_types[783]), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[968])->set_attributes({new attribute(strings[3334], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[2992], new named_type(IFC4X3_RC3_types[783]), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[969])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[971]), true)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[973])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[975]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[974])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[975]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[976])->set_attributes({new attribute(strings[3536], new named_type(IFC4X3_RC3_types[521]), false),new attribute(strings[3537], new named_type(IFC4X3_RC3_types[728]), true),new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1182]), true)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[981])->set_attributes({new attribute(strings[3538], new named_type(IFC4X3_RC3_types[783]), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1026])->set_attributes({new attribute(strings[3539], new named_type(IFC4X3_RC3_types[1024]), true),new attribute(strings[2882], new named_type(IFC4X3_RC3_types[1027]), false)}, {true,false,false,false}); + ((entity*)IFC4X3_RC3_types[982])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[984]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[983])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[984]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[985])->set_attributes({new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3540], new named_type(IFC4X3_RC3_types[291]), true),new attribute(strings[3541], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[986])->set_attributes({}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[987])->set_attributes({new attribute(strings[3542], new named_type(IFC4X3_RC3_types[588]), false),new attribute(strings[3543], new named_type(IFC4X3_RC3_types[588]), true),new attribute(strings[3046], new named_type(IFC4X3_RC3_types[877]), true)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[994])->set_attributes({new attribute(strings[3544], new named_type(IFC4X3_RC3_types[996]), false),new attribute(strings[3545], new named_type(IFC4X3_RC3_types[811]), false),new attribute(strings[3546], new named_type(IFC4X3_RC3_types[811]), true)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[995])->set_attributes({new attribute(strings[3547], new named_type(IFC4X3_RC3_types[588]), false),new attribute(strings[3548], new named_type(IFC4X3_RC3_types[588]), false),new attribute(strings[3549], new named_type(IFC4X3_RC3_types[588]), true),new attribute(strings[3550], new named_type(IFC4X3_RC3_types[894]), false),new attribute(strings[3551], new named_type(IFC4X3_RC3_types[994]), false),new attribute(strings[3552], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[891])), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[989])->set_attributes({new attribute(strings[3084], new named_type(IFC4X3_RC3_types[273]), false),new attribute(strings[3553], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[811])), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[990])->set_attributes({new attribute(strings[3554], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[278])), false),new attribute(strings[3198], new named_type(IFC4X3_RC3_types[88]), false)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[991])->set_attributes({new attribute(strings[3555], new named_type(IFC4X3_RC3_types[194]), false),new attribute(strings[3553], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[811])), false),new attribute(strings[3554], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[70])), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[992])->set_attributes({new attribute(strings[3084], new named_type(IFC4X3_RC3_types[273]), false),new attribute(strings[3554], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[771])), false),new attribute(strings[3553], new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC3_types[811])), false),new attribute(strings[3198], new named_type(IFC4X3_RC3_types[88]), false)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[997])->set_attributes({new attribute(strings[3556], new named_type(IFC4X3_RC3_types[1225]), false)}, {false}); + ((entity*)IFC4X3_RC3_types[998])->set_attributes({new attribute(strings[3182], new named_type(IFC4X3_RC3_types[100]), false),new attribute(strings[3183], new named_type(IFC4X3_RC3_types[759]), true)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1000])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1002]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1001])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1002]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1004])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1006]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1005])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1006]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1007])->set_attributes({new attribute(strings[3557], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1008])), false),new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1182]), true),new attribute(strings[3558], new named_type(IFC4X3_RC3_types[620]), false),new attribute(strings[3559], new named_type(IFC4X3_RC3_types[809]), true)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1008])->set_attributes({}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1009])->set_attributes({}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1012])->set_attributes({new attribute(strings[3560], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[1011])), false)}, {false}); + ((entity*)IFC4X3_RC3_types[1013])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1018]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1017])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1018]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1014])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1016]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1015])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1016]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1019])->set_attributes({}, {false,false}); + ((entity*)IFC4X3_RC3_types[1020])->set_attributes({new attribute(strings[3007], new named_type(IFC4X3_RC3_types[1021]), true),new attribute(strings[3561], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3562], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3563], new named_type(IFC4X3_RC3_types[828]), true),new attribute(strings[3564], new named_type(IFC4X3_RC3_types[1246]), true),new attribute(strings[3565], new named_type(IFC4X3_RC3_types[1246]), true),new attribute(strings[3284], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3566], new named_type(IFC4X3_RC3_types[1077]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1023])->set_attributes({new attribute(strings[3567], new named_type(IFC4X3_RC3_types[588]), false),new attribute(strings[3543], new named_type(IFC4X3_RC3_types[588]), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[1025])->set_attributes({new attribute(strings[3568], new named_type(IFC4X3_RC3_types[198]), true),new attribute(strings[3569], new named_type(IFC4X3_RC3_types[198]), true),new attribute(strings[3570], new named_type(IFC4X3_RC3_types[588]), true),new attribute(strings[3571], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3572], new named_type(IFC4X3_RC3_types[786]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1029])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1033]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1030])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1031])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1032])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1033]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1034])->set_attributes({new attribute(strings[3573], new named_type(IFC4X3_RC3_types[588]), true),new attribute(strings[3574], new named_type(IFC4X3_RC3_types[588]), true),new attribute(strings[3575], new named_type(IFC4X3_RC3_types[588]), true)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1035])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1037]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1036])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1037]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1039])->set_attributes({}, {}); + ((entity*)IFC4X3_RC3_types[1041])->set_attributes({}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1046])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1052]), true),new attribute(strings[3576], new named_type(IFC4X3_RC3_types[588]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1048])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1050]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1049])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1050]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1051])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1052]), false),new attribute(strings[2975], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1053])->set_attributes({new attribute(strings[2975], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1054])->set_attributes({new attribute(strings[3137], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1056])->set_attributes({new attribute(strings[3577], new named_type(IFC4X3_RC3_types[405]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1057])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1058])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1060]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1059])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1060]), false),new attribute(strings[2975], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1065])->set_attributes({new attribute(strings[2992], new named_type(IFC4X3_RC3_types[783]), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[1066])->set_attributes({new attribute(strings[2992], new named_type(IFC4X3_RC3_types[783]), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[1067])->set_attributes({new attribute(strings[3014], new named_type(IFC4X3_RC3_types[68]), true)}, {false}); + ((entity*)IFC4X3_RC3_types[1068])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1070]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1069])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1070]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1071])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1076]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1072])->set_attributes({new attribute(strings[3578], new named_type(IFC4X3_RC3_types[555]), true),new attribute(strings[3579], new named_type(IFC4X3_RC3_types[555]), true),new attribute(strings[3580], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3581], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1074]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1073])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1074]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1075])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1076]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1078])->set_attributes({new attribute(strings[3582], new named_type(IFC4X3_RC3_types[88]), true)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1079])->set_attributes({new attribute(strings[3583], new named_type(IFC4X3_RC3_types[1093]), false),new attribute(strings[3584], new named_type(IFC4X3_RC3_types[522]), false)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1081])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[43]), false),new attribute(strings[3585], new named_type(IFC4X3_RC3_types[70]), true),new attribute(strings[3586], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[1096])), true),new attribute(strings[3587], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[1112])), true),new attribute(strings[3588], new named_type(IFC4X3_RC3_types[707]), true)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1082])->set_attributes({new attribute(strings[3471], new named_type(IFC4X3_RC3_types[94]), true)}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1083])->set_attributes({new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), true)}, {false}); + ((entity*)IFC4X3_RC3_types[1084])->set_attributes({new attribute(strings[3589], new named_type(IFC4X3_RC3_types[816]), true),new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1085]), false)}, {false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1086])->set_attributes({new attribute(strings[2923], new named_type(IFC4X3_RC3_types[307]), false)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1087])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1088]), false),new attribute(strings[2923], new named_type(IFC4X3_RC3_types[307]), false)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1089])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1090])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1085]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1091])->set_attributes({}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1092])->set_attributes({}, {false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1093])->set_attributes({new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), true)}, {false}); + ((entity*)IFC4X3_RC3_types[1094])->set_attributes({new attribute(strings[3590], new aggregation_type(aggregation_type::list_type, 3, 3, new named_type(IFC4X3_RC3_types[874])), true)}, {false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1095])->set_attributes({new attribute(strings[3211], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1098])), false),new attribute(strings[3591], new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 1, 2, new named_type(IFC4X3_RC3_types[588]))), true)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[1096])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[618]), false),new attribute(strings[3592], new named_type(IFC4X3_RC3_types[5]), false),new attribute(strings[3593], new named_type(IFC4X3_RC3_types[4]), false),new attribute(strings[3594], new named_type(IFC4X3_RC3_types[874]), true),new attribute(strings[2852], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1097])->set_attributes({new attribute(strings[3595], new named_type(IFC4X3_RC3_types[608]), true),new attribute(strings[3596], new named_type(IFC4X3_RC3_types[608]), true),new attribute(strings[3597], new named_type(IFC4X3_RC3_types[608]), true),new attribute(strings[3598], new named_type(IFC4X3_RC3_types[609]), true),new attribute(strings[3599], new named_type(IFC4X3_RC3_types[609]), true),new attribute(strings[3600], new named_type(IFC4X3_RC3_types[609]), true)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1098])->set_attributes({}, {false}); + ((entity*)IFC4X3_RC3_types[1099])->set_attributes({new attribute(strings[3601], new named_type(IFC4X3_RC3_types[762]), true),new attribute(strings[3602], new named_type(IFC4X3_RC3_types[762]), true),new attribute(strings[3603], new named_type(IFC4X3_RC3_types[762]), true)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1100])->set_attributes({new attribute(strings[3604], new named_type(IFC4X3_RC3_types[588]), true),new attribute(strings[3605], new named_type(IFC4X3_RC3_types[588]), true),new attribute(strings[3606], new named_type(IFC4X3_RC3_types[588]), true),new attribute(strings[3607], new named_type(IFC4X3_RC3_types[764]), true),new attribute(strings[3608], new named_type(IFC4X3_RC3_types[764]), true),new attribute(strings[3609], new named_type(IFC4X3_RC3_types[764]), true)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1101])->set_attributes({new attribute(strings[3610], new named_type(IFC4X3_RC3_types[272]), true)}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1102])->set_attributes({new attribute(strings[3611], new named_type(IFC4X3_RC3_types[499]), true),new attribute(strings[3612], new named_type(IFC4X3_RC3_types[499]), true),new attribute(strings[3613], new named_type(IFC4X3_RC3_types[499]), true),new attribute(strings[3614], new named_type(IFC4X3_RC3_types[1218]), true),new attribute(strings[3615], new named_type(IFC4X3_RC3_types[1218]), true),new attribute(strings[3616], new named_type(IFC4X3_RC3_types[1218]), true)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1103])->set_attributes({new attribute(strings[3617], new named_type(IFC4X3_RC3_types[1287]), true)}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1104])->set_attributes({}, {false}); + ((entity*)IFC4X3_RC3_types[1105])->set_attributes({new attribute(strings[3618], new named_type(IFC4X3_RC3_types[1205]), true),new attribute(strings[3619], new named_type(IFC4X3_RC3_types[1205]), true),new attribute(strings[3620], new named_type(IFC4X3_RC3_types[1205]), true)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1106])->set_attributes({}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1107])->set_attributes({}, {false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1108])->set_attributes({}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1109])->set_attributes({new attribute(strings[3474], new named_type(IFC4X3_RC3_types[70]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1110])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1111])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1112])->set_attributes({new attribute(strings[3621], new named_type(IFC4X3_RC3_types[44]), false),new attribute(strings[3622], new named_type(IFC4X3_RC3_types[1096]), true),new attribute(strings[3623], new named_type(IFC4X3_RC3_types[88]), false)}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1113])->set_attributes({new attribute(strings[3589], new named_type(IFC4X3_RC3_types[816]), true),new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1114]), false)}, {false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1115])->set_attributes({}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1116])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1117]), false),new attribute(strings[2991], new named_type(IFC4X3_RC3_types[783]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1118])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1119])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1114]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1122])->set_attributes({}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1120])->set_attributes({new attribute(strings[3624], new named_type(IFC4X3_RC3_types[956]), true),new attribute(strings[3625], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[799])), false),new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[1121])->set_attributes({}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1123])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1125]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1124])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1125]), false)}, {false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1126])->set_attributes({new attribute(strings[3626], new named_type(IFC4X3_RC3_types[368]), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[1127])->set_attributes({}, {}); + ((entity*)IFC4X3_RC3_types[1128])->set_attributes({new attribute(strings[3627], new named_type(IFC4X3_RC3_types[273]), false),new attribute(strings[3628], new aggregation_type(aggregation_type::list_type, 1, 2, new named_type(IFC4X3_RC3_types[734])), false),new attribute(strings[3629], new named_type(IFC4X3_RC3_types[794]), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[1129])->set_attributes({new attribute(strings[3630], new named_type(IFC4X3_RC3_types[1127]), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1130])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1131]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1132])->set_attributes({new attribute(strings[3150], new named_type(IFC4X3_RC3_types[307]), false),new attribute(strings[2976], new named_type(IFC4X3_RC3_types[588]), false)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1133])->set_attributes({new attribute(strings[3631], new named_type(IFC4X3_RC3_types[67]), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[1135])->set_attributes({new attribute(strings[3632], new aggregation_type(aggregation_type::list_type, 2, 3, new named_type(IFC4X3_RC3_types[588])), true),new attribute(strings[3633], new aggregation_type(aggregation_type::list_type, 2, 3, new named_type(IFC4X3_RC3_types[588])), true),new attribute(strings[3634], new named_type(IFC4X3_RC3_types[874]), true)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1137])->set_attributes({new attribute(strings[3635], new named_type(IFC4X3_RC3_types[1136]), false),new attribute(strings[3625], new aggregation_type(aggregation_type::set_type, 1, 5, new named_type(IFC4X3_RC3_types[1138])), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[1139])->set_attributes({new attribute(strings[3636], new named_type(IFC4X3_RC3_types[180]), false),new attribute(strings[3637], new named_type(IFC4X3_RC3_types[180]), false),new attribute(strings[3638], new named_type(IFC4X3_RC3_types[180]), false),new attribute(strings[3639], new named_type(IFC4X3_RC3_types[180]), false)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1140])->set_attributes({new attribute(strings[3640], new named_type(IFC4X3_RC3_types[877]), true),new attribute(strings[3641], new named_type(IFC4X3_RC3_types[877]), true)}, {false,false}); + ((entity*)IFC4X3_RC3_types[1141])->set_attributes({new attribute(strings[3642], new named_type(IFC4X3_RC3_types[179]), true),new attribute(strings[3638], new named_type(IFC4X3_RC3_types[179]), true),new attribute(strings[3636], new named_type(IFC4X3_RC3_types[179]), true),new attribute(strings[3643], new named_type(IFC4X3_RC3_types[179]), true),new attribute(strings[3644], new named_type(IFC4X3_RC3_types[179]), true),new attribute(strings[3645], new named_type(IFC4X3_RC3_types[1063]), true),new attribute(strings[3646], new named_type(IFC4X3_RC3_types[887]), false)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1142])->set_attributes({new attribute(strings[3647], new named_type(IFC4X3_RC3_types[180]), false),new attribute(strings[3648], new named_type(IFC4X3_RC3_types[701]), true)}, {false,false}); + ((entity*)IFC4X3_RC3_types[1143])->set_attributes({new attribute(strings[3649], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1144])), false)}, {false}); + ((entity*)IFC4X3_RC3_types[1144])->set_attributes({new attribute(strings[3650], new named_type(IFC4X3_RC3_types[88]), false),new attribute(strings[3651], new named_type(IFC4X3_RC3_types[88]), false),new attribute(strings[3652], new named_type(IFC4X3_RC3_types[540]), true),new attribute(strings[3653], new named_type(IFC4X3_RC3_types[152]), true),new attribute(strings[3654], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[540])), true)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1145])->set_attributes({new attribute(strings[3655], new named_type(IFC4X3_RC3_types[811]), false),new attribute(strings[3014], new named_type(IFC4X3_RC3_types[70]), true)}, {false,false}); + ((entity*)IFC4X3_RC3_types[1146])->set_attributes({new attribute(strings[3084], new named_type(IFC4X3_RC3_types[273]), false),new attribute(strings[2992], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[3656], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3085], new named_type(IFC4X3_RC3_types[730]), true),new attribute(strings[3086], new named_type(IFC4X3_RC3_types[730]), true)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1147])->set_attributes({new attribute(strings[3194], new named_type(IFC4X3_RC3_types[783]), true)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1148])->set_attributes({new attribute(strings[3657], new named_type(IFC4X3_RC3_types[811]), false),new attribute(strings[3014], new named_type(IFC4X3_RC3_types[70]), true)}, {false,false}); + ((entity*)IFC4X3_RC3_types[1149])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1151]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1150])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1151]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1152])->set_attributes({}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1153])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1155]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1154])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1155]), true)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1238])->set_attributes({new attribute(strings[2976], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[3658], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[2913], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[3193], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[3194], new named_type(IFC4X3_RC3_types[700]), true),new attribute(strings[3195], new named_type(IFC4X3_RC3_types[700]), true),new attribute(strings[3659], new named_type(IFC4X3_RC3_types[700]), true),new attribute(strings[3660], new named_type(IFC4X3_RC3_types[764]), true),new attribute(strings[3196], new named_type(IFC4X3_RC3_types[764]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1156])->set_attributes({new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3661], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1158])), true),new attribute(strings[3662], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1157])), true)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[1157])->set_attributes({new attribute(strings[2891], new named_type(IFC4X3_RC3_types[540]), true),new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1182]), true),new attribute(strings[3074], new named_type(IFC4X3_RC3_types[1246]), true),new attribute(strings[3292], new named_type(IFC4X3_RC3_types[884]), true)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1158])->set_attributes({new attribute(strings[3663], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1257])), true),new attribute(strings[3664], new named_type(IFC4X3_RC3_types[88]), true)}, {false,false}); + ((entity*)IFC4X3_RC3_types[1159])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1161]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1160])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1161]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1162])->set_attributes({new attribute(strings[2846], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3665], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3666], new named_type(IFC4X3_RC3_types[88]), false),new attribute(strings[3264], new named_type(IFC4X3_RC3_types[555]), true),new attribute(strings[3667], new named_type(IFC4X3_RC3_types[1164]), true),new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1167]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1164])->set_attributes({new attribute(strings[3218], new named_type(IFC4X3_RC3_types[1163]), true),new attribute(strings[3668], new named_type(IFC4X3_RC3_types[361]), true),new attribute(strings[3521], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3522], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3669], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3670], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3671], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3672], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3673], new named_type(IFC4X3_RC3_types[361]), true),new attribute(strings[3674], new named_type(IFC4X3_RC3_types[361]), true),new attribute(strings[3675], new named_type(IFC4X3_RC3_types[88]), true),new attribute(strings[3526], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3676], new named_type(IFC4X3_RC3_types[361]), true),new attribute(strings[3529], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3530], new named_type(IFC4X3_RC3_types[293]), true),new attribute(strings[3677], new named_type(IFC4X3_RC3_types[361]), true),new attribute(strings[3533], new named_type(IFC4X3_RC3_types[785]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1165])->set_attributes({new attribute(strings[3678], new named_type(IFC4X3_RC3_types[882]), false)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1166])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1167]), false),new attribute(strings[3665], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1168])->set_attributes({new attribute(strings[3679], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[577])), true),new attribute(strings[3680], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[577])), true),new attribute(strings[3681], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3682], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[577])), true),new attribute(strings[3683], new named_type(IFC4X3_RC3_types[1255]), true),new attribute(strings[3684], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1255])), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1171])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1179]), true),new attribute(strings[3287], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3429], new named_type(IFC4X3_RC3_types[59]), true),new attribute(strings[3685], new named_type(IFC4X3_RC3_types[499]), true),new attribute(strings[3686], new named_type(IFC4X3_RC3_types[800]), true),new attribute(strings[3687], new named_type(IFC4X3_RC3_types[701]), true),new attribute(strings[3688], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3689], new named_type(IFC4X3_RC3_types[783]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1172])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1174]), true)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1173])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1174]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1175])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1177]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1176])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1177]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1178])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1179]), false),new attribute(strings[3287], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3429], new named_type(IFC4X3_RC3_types[59]), true),new attribute(strings[3690], new named_type(IFC4X3_RC3_types[783]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1180])->set_attributes({new attribute(strings[2981], new named_type(IFC4X3_RC3_types[150]), false)}, {false}); + ((entity*)IFC4X3_RC3_types[1181])->set_attributes({}, {}); + ((entity*)IFC4X3_RC3_types[1187])->set_attributes({new attribute(strings[3691], new named_type(IFC4X3_RC3_types[795]), false),new attribute(strings[3060], new named_type(IFC4X3_RC3_types[68]), false),new attribute(strings[3692], new named_type(IFC4X3_RC3_types[1189]), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[1188])->set_attributes({new attribute(strings[3693], new named_type(IFC4X3_RC3_types[761]), false),new attribute(strings[3694], new named_type(IFC4X3_RC3_types[103]), false)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1190])->set_attributes({new attribute(strings[3695], new named_type(IFC4X3_RC3_types[1192]), true),new attribute(strings[3696], new named_type(IFC4X3_RC3_types[1193]), true),new attribute(strings[3697], new named_type(IFC4X3_RC3_types[1186]), false),new attribute(strings[3065], new named_type(IFC4X3_RC3_types[88]), true)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1191])->set_attributes({new attribute(strings[3698], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1185])), false),new attribute(strings[3699], new named_type(IFC4X3_RC3_types[493]), true),new attribute(strings[3700], new named_type(IFC4X3_RC3_types[494]), true),new attribute(strings[3701], new named_type(IFC4X3_RC3_types[495]), true),new attribute(strings[3702], new named_type(IFC4X3_RC3_types[1028]), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1192])->set_attributes({new attribute(strings[3703], new named_type(IFC4X3_RC3_types[178]), false),new attribute(strings[3704], new named_type(IFC4X3_RC3_types[178]), true)}, {false,false}); + ((entity*)IFC4X3_RC3_types[1193])->set_attributes({new attribute(strings[3705], new named_type(IFC4X3_RC3_types[1028]), true),new attribute(strings[3706], new named_type(IFC4X3_RC3_types[1183]), true),new attribute(strings[3707], new named_type(IFC4X3_RC3_types[1184]), true),new attribute(strings[3708], new named_type(IFC4X3_RC3_types[1028]), true),new attribute(strings[3709], new named_type(IFC4X3_RC3_types[1028]), true),new attribute(strings[3710], new named_type(IFC4X3_RC3_types[1194]), true),new attribute(strings[3711], new named_type(IFC4X3_RC3_types[1028]), true)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1195])->set_attributes({new attribute(strings[3712], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1144])), false)}, {false}); + ((entity*)IFC4X3_RC3_types[1196])->set_attributes({new attribute(strings[3652], new named_type(IFC4X3_RC3_types[577]), false),new attribute(strings[3654], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[877])), true)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[1197])->set_attributes({new attribute(strings[3713], new aggregation_type(aggregation_type::list_type, 3, -1, new named_type(IFC4X3_RC3_types[1198])), false),new attribute(strings[3199], new named_type(IFC4X3_RC3_types[439]), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[1198])->set_attributes({new attribute(strings[2981], new aggregation_type(aggregation_type::list_type, 2, 2, new named_type(IFC4X3_RC3_types[730])), false)}, {false}); + ((entity*)IFC4X3_RC3_types[1199])->set_attributes({new attribute(strings[3714], new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 2, 2, new named_type(IFC4X3_RC3_types[730]))), false)}, {false}); + ((entity*)IFC4X3_RC3_types[1206])->set_attributes({new attribute(strings[3715], new named_type(IFC4X3_RC3_types[588]), false),new attribute(strings[3542], new named_type(IFC4X3_RC3_types[588]), true),new attribute(strings[3543], new named_type(IFC4X3_RC3_types[588]), true)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1210])->set_attributes({new attribute(strings[3716], new named_type(IFC4X3_RC3_types[1207]), false),new attribute(strings[3717], new named_type(IFC4X3_RC3_types[1207]), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[1211])->set_attributes({new attribute(strings[2882], new named_type(IFC4X3_RC3_types[577]), false),new attribute(strings[2851], new named_type(IFC4X3_RC3_types[1182]), true),new attribute(strings[3716], new named_type(IFC4X3_RC3_types[293]), false),new attribute(strings[3717], new named_type(IFC4X3_RC3_types[293]), false),new attribute(strings[3718], new named_type(IFC4X3_RC3_types[1212]), false),new attribute(strings[3540], new named_type(IFC4X3_RC3_types[291]), false),new attribute(strings[3541], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3074], new named_type(IFC4X3_RC3_types[1246]), true)}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1213])->set_attributes({new attribute(strings[3213], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[1257])), false)}, {false}); + ((entity*)IFC4X3_RC3_types[1215])->set_attributes({}, {}); + ((entity*)IFC4X3_RC3_types[1216])->set_attributes({}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1217])->set_attributes({new attribute(strings[3719], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[3720], new named_type(IFC4X3_RC3_types[783]), false)}, {false,false,false}); + ((entity*)IFC4X3_RC3_types[1219])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1221]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1220])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1221]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1222])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1224]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1223])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1224]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1227])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1231]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1230])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1231]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1232])->set_attributes({new attribute(strings[3721], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[3722], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[2968], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[3723], new named_type(IFC4X3_RC3_types[588]), false)}, {false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1233])->set_attributes({new attribute(strings[3724], new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 3, 3, new named_type(IFC4X3_RC3_types[730]))), true),new attribute(strings[3348], new named_type(IFC4X3_RC3_types[88]), true),new attribute(strings[3204], new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 3, 3, new named_type(IFC4X3_RC3_types[782]))), false),new attribute(strings[3350], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[782])), true)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1234])->set_attributes({new attribute(strings[3725], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[555])), false)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1235])->set_attributes({new attribute(strings[3300], new named_type(IFC4X3_RC3_types[273]), false),new attribute(strings[3726], new aggregation_type(aggregation_type::set_type, 1, 2, new named_type(IFC4X3_RC3_types[1237])), false),new attribute(strings[3727], new aggregation_type(aggregation_type::set_type, 1, 2, new named_type(IFC4X3_RC3_types[1237])), false),new attribute(strings[3728], new named_type(IFC4X3_RC3_types[88]), false),new attribute(strings[3629], new named_type(IFC4X3_RC3_types[1236]), false)}, {false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1239])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1241]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1240])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1241]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1242])->set_attributes({new attribute(strings[3729], new named_type(IFC4X3_RC3_types[540]), true),new attribute(strings[3730], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[832])), true)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1243])->set_attributes({new attribute(strings[2902], new named_type(IFC4X3_RC3_types[540]), true),new attribute(strings[2847], new named_type(IFC4X3_RC3_types[1182]), true),new attribute(strings[3731], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1244])->set_attributes({new attribute(strings[3732], new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X3_RC3_types[957])), true),new attribute(strings[3133], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1245])->set_attributes({new attribute(strings[2902], new named_type(IFC4X3_RC3_types[540]), true),new attribute(strings[2847], new named_type(IFC4X3_RC3_types[1182]), true),new attribute(strings[3733], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1256])->set_attributes({new attribute(strings[2976], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[3658], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[2913], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[3193], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[3194], new named_type(IFC4X3_RC3_types[700]), true),new attribute(strings[3215], new named_type(IFC4X3_RC3_types[700]), true),new attribute(strings[3196], new named_type(IFC4X3_RC3_types[764]), true)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1253])->set_attributes({new attribute(strings[3734], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[1246])), false)}, {false}); + ((entity*)IFC4X3_RC3_types[1247])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1249]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1248])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1249]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1250])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1252]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1251])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1252]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1258])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1260]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1259])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1260]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1262])->set_attributes({new attribute(strings[3155], new named_type(IFC4X3_RC3_types[307]), false),new attribute(strings[3735], new named_type(IFC4X3_RC3_types[588]), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[1264])->set_attributes({}, {}); + ((entity*)IFC4X3_RC3_types[1265])->set_attributes({new attribute(strings[3736], new named_type(IFC4X3_RC3_types[1264]), false)}, {false}); + ((entity*)IFC4X3_RC3_types[1266])->set_attributes({new attribute(strings[3737], new named_type(IFC4X3_RC3_types[770]), false)}, {false}); + ((entity*)IFC4X3_RC3_types[1267])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1269]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1268])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1269]), true)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1270])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1272]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1271])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1272]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1273])->set_attributes({new attribute(strings[3738], new named_type(IFC4X3_RC3_types[272]), false),new attribute(strings[3739], new named_type(IFC4X3_RC3_types[272]), false),new attribute(strings[3740], new named_type(IFC4X3_RC3_types[588]), false),new attribute(strings[2867], new named_type(IFC4X3_RC3_types[588]), false)}, {false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1274])->set_attributes({}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1275])->set_attributes({new attribute(strings[3741], new aggregation_type(aggregation_type::list_type, 2, 2, new named_type(IFC4X3_RC3_types[525])), false),new attribute(strings[3742], new aggregation_type(aggregation_type::list_type, 2, 3, new named_type(IFC4X3_RC3_types[588])), false)}, {false,false}); + ((entity*)IFC4X3_RC3_types[1278])->set_attributes({}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1276])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1277]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1281])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1285]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1282])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1283])->set_attributes({}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1284])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1285]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1289])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1291]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1290])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1291]), false)}, {false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1292])->set_attributes({}, {false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1293])->set_attributes({new attribute(strings[3105], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3106], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1303]), true),new attribute(strings[3743], new named_type(IFC4X3_RC3_types[1304]), true),new attribute(strings[3744], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1294])->set_attributes({new attribute(strings[3109], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3110], new named_type(IFC4X3_RC3_types[700]), true),new attribute(strings[3113], new named_type(IFC4X3_RC3_types[700]), true),new attribute(strings[3745], new named_type(IFC4X3_RC3_types[700]), true),new attribute(strings[3746], new named_type(IFC4X3_RC3_types[701]), true),new attribute(strings[3747], new named_type(IFC4X3_RC3_types[701]), true),new attribute(strings[3748], new named_type(IFC4X3_RC3_types[701]), true),new attribute(strings[3749], new named_type(IFC4X3_RC3_types[701]), true),new attribute(strings[3119], new named_type(IFC4X3_RC3_types[1007]), true),new attribute(strings[3115], new named_type(IFC4X3_RC3_types[588]), true),new attribute(strings[3120], new named_type(IFC4X3_RC3_types[588]), true),new attribute(strings[3121], new named_type(IFC4X3_RC3_types[588]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1297])->set_attributes({new attribute(strings[3107], new named_type(IFC4X3_RC3_types[1295]), false),new attribute(strings[3125], new named_type(IFC4X3_RC3_types[1296]), false),new attribute(strings[3322], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3323], new named_type(IFC4X3_RC3_types[783]), true),new attribute(strings[3119], new named_type(IFC4X3_RC3_types[1007]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1298])->set_attributes({}, {false,false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1299])->set_attributes({new attribute(strings[3126], new named_type(IFC4X3_RC3_types[1300]), false),new attribute(strings[3107], new named_type(IFC4X3_RC3_types[1301]), false),new attribute(strings[3127], new named_type(IFC4X3_RC3_types[88]), false),new attribute(strings[3128], new named_type(IFC4X3_RC3_types[88]), false)}, {false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1302])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1303]), false),new attribute(strings[3743], new named_type(IFC4X3_RC3_types[1304]), false),new attribute(strings[3127], new named_type(IFC4X3_RC3_types[88]), true),new attribute(strings[3744], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1305])->set_attributes({new attribute(strings[3750], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[1312])), true),new attribute(strings[3751], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[1312])), true),new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1306]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1307])->set_attributes({new attribute(strings[3318], new named_type(IFC4X3_RC3_types[293]), false),new attribute(strings[3752], new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC3_types[741])), true),new attribute(strings[2852], new named_type(IFC4X3_RC3_types[577]), true),new attribute(strings[3753], new named_type(IFC4X3_RC3_types[361]), true),new attribute(strings[3674], new named_type(IFC4X3_RC3_types[361]), true),new attribute(strings[3716], new named_type(IFC4X3_RC3_types[293]), false),new attribute(strings[3754], new named_type(IFC4X3_RC3_types[293]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1308])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1309]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1310])->set_attributes({new attribute(strings[2845], new named_type(IFC4X3_RC3_types[1311]), true)}, {false,false,false,false,false,false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1312])->set_attributes({new attribute(strings[3755], new named_type(IFC4X3_RC3_types[882]), true),new attribute(strings[3756], new named_type(IFC4X3_RC3_types[292]), true),new attribute(strings[3757], new named_type(IFC4X3_RC3_types[292]), true)}, {false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1314])->set_attributes({new attribute(strings[2976], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[3658], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[2913], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[3193], new named_type(IFC4X3_RC3_types[783]), false),new attribute(strings[3194], new named_type(IFC4X3_RC3_types[700]), true),new attribute(strings[3215], new named_type(IFC4X3_RC3_types[700]), true)}, {false,false,false,false,false,false,false,false,false}); + ((entity*)IFC4X3_RC3_types[1313])->set_attributes({new attribute(strings[2975], new named_type(IFC4X3_RC3_types[577]), true)}, {false,false,false,false,false,false}); + ((entity*) IFC4X3_RC3_types[6])->set_inverse_attributes({new inverse_attribute(strings[3758], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[905]), ((entity*) IFC4X3_RC3_types[905])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[7])->set_inverse_attributes({new inverse_attribute(strings[3759], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[433]), ((entity*) IFC4X3_RC3_types[433])->attributes()[1])}); + ((entity*) IFC4X3_RC3_types[12])->set_inverse_attributes({new inverse_attribute(strings[3760], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[741]), ((entity*) IFC4X3_RC3_types[741])->attributes()[7]),new inverse_attribute(strings[3761], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[721]), ((entity*) IFC4X3_RC3_types[721])->attributes()[4])}); + ((entity*) IFC4X3_RC3_types[46])->set_inverse_attributes({new inverse_attribute(strings[3762], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[930]), ((entity*) IFC4X3_RC3_types[930])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[50])->set_inverse_attributes({new inverse_attribute(strings[3759], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[433]), ((entity*) IFC4X3_RC3_types[433])->attributes()[1])}); + ((entity*) IFC4X3_RC3_types[52])->set_inverse_attributes({new inverse_attribute(strings[3763], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[433]), ((entity*) IFC4X3_RC3_types[433])->attributes()[1]),new inverse_attribute(strings[3764], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[913]), ((entity*) IFC4X3_RC3_types[913])->attributes()[0]),new inverse_attribute(strings[3765], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[959]), ((entity*) IFC4X3_RC3_types[959])->attributes()[1]),new inverse_attribute(strings[3766], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[53]), ((entity*) IFC4X3_RC3_types[53])->attributes()[1]),new inverse_attribute(strings[3767], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[53]), ((entity*) IFC4X3_RC3_types[53])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[169])->set_inverse_attributes({new inverse_attribute(strings[3768], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[914]), ((entity*) IFC4X3_RC3_types[914])->attributes()[0]),new inverse_attribute(strings[3769], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[170]), ((entity*) IFC4X3_RC3_types[170])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[170])->set_inverse_attributes({new inverse_attribute(strings[3770], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[914]), ((entity*) IFC4X3_RC3_types[914])->attributes()[0]),new inverse_attribute(strings[3769], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[170]), ((entity*) IFC4X3_RC3_types[170])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[214])->set_inverse_attributes({new inverse_attribute(strings[3763], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[433]), ((entity*) IFC4X3_RC3_types[433])->attributes()[1]),new inverse_attribute(strings[3771], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[960]), ((entity*) IFC4X3_RC3_types[960])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[227])->set_inverse_attributes({new inverse_attribute(strings[3772], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[937]), ((entity*) IFC4X3_RC3_types[937])->attributes()[0]),new inverse_attribute(strings[3773], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[933]), ((entity*) IFC4X3_RC3_types[933])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[229])->set_inverse_attributes({new inverse_attribute(strings[3759], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[433]), ((entity*) IFC4X3_RC3_types[433])->attributes()[1])}); + ((entity*) IFC4X3_RC3_types[230])->set_inverse_attributes({new inverse_attribute(strings[3774], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[906]), ((entity*) IFC4X3_RC3_types[906])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[234])->set_inverse_attributes({new inverse_attribute(strings[3759], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[433]), ((entity*) IFC4X3_RC3_types[433])->attributes()[1])}); + ((entity*) IFC4X3_RC3_types[246])->set_inverse_attributes({new inverse_attribute(strings[3775], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[245]), ((entity*) IFC4X3_RC3_types[245])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[258])->set_inverse_attributes({new inverse_attribute(strings[3776], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[932]), ((entity*) IFC4X3_RC3_types[932])->attributes()[1]),new inverse_attribute(strings[3777], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[931]), ((entity*) IFC4X3_RC3_types[931])->attributes()[1])}); + ((entity*) IFC4X3_RC3_types[321])->set_inverse_attributes({new inverse_attribute(strings[3778], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[941]), ((entity*) IFC4X3_RC3_types[941])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[323])->set_inverse_attributes({new inverse_attribute(strings[3779], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[925]), ((entity*) IFC4X3_RC3_types[925])->attributes()[1])}); + ((entity*) IFC4X3_RC3_types[325])->set_inverse_attributes({new inverse_attribute(strings[3780], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[941]), ((entity*) IFC4X3_RC3_types[941])->attributes()[1])}); + ((entity*) IFC4X3_RC3_types[332])->set_inverse_attributes({new inverse_attribute(strings[3781], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[916]), ((entity*) IFC4X3_RC3_types[916])->attributes()[0]),new inverse_attribute(strings[3782], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[334]), ((entity*) IFC4X3_RC3_types[334])->attributes()[1]),new inverse_attribute(strings[3783], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[333]), ((entity*) IFC4X3_RC3_types[333])->attributes()[1]),new inverse_attribute(strings[3784], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[333]), ((entity*) IFC4X3_RC3_types[333])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[334])->set_inverse_attributes({new inverse_attribute(strings[3785], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[916]), ((entity*) IFC4X3_RC3_types[916])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[398])->set_inverse_attributes({new inverse_attribute(strings[3786], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[940]), ((entity*) IFC4X3_RC3_types[940])->attributes()[1]),new inverse_attribute(strings[3787], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[922]), ((entity*) IFC4X3_RC3_types[922])->attributes()[1]),new inverse_attribute(strings[3788], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[942]), ((entity*) IFC4X3_RC3_types[942])->attributes()[1]),new inverse_attribute(strings[3789], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[942]), ((entity*) IFC4X3_RC3_types[942])->attributes()[0]),new inverse_attribute(strings[3790], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[945]), ((entity*) IFC4X3_RC3_types[945])->attributes()[0]),new inverse_attribute(strings[3791], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[952]), ((entity*) IFC4X3_RC3_types[952])->attributes()[0]),new inverse_attribute(strings[3792], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[929]), ((entity*) IFC4X3_RC3_types[929])->attributes()[0]),new inverse_attribute(strings[3793], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[949]), ((entity*) IFC4X3_RC3_types[949])->attributes()[1]),new inverse_attribute(strings[3794], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[922]), ((entity*) IFC4X3_RC3_types[922])->attributes()[2]),new inverse_attribute(strings[3762], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[930]), ((entity*) IFC4X3_RC3_types[930])->attributes()[0]),new inverse_attribute(strings[3795], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[931]), ((entity*) IFC4X3_RC3_types[931])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[432])->set_inverse_attributes({new inverse_attribute(strings[3796], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[433]), ((entity*) IFC4X3_RC3_types[433])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[434])->set_inverse_attributes({new inverse_attribute(strings[3797], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[949]), ((entity*) IFC4X3_RC3_types[949])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[439])->set_inverse_attributes({new inverse_attribute(strings[3798], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[1197]), ((entity*) IFC4X3_RC3_types[1197])->attributes()[1])}); + ((entity*) IFC4X3_RC3_types[459])->set_inverse_attributes({new inverse_attribute(strings[3799], inverse_attribute::unspecified_type, -1, -1, ((entity*) IFC4X3_RC3_types[945]), ((entity*) IFC4X3_RC3_types[945])->attributes()[1])}); + ((entity*) IFC4X3_RC3_types[460])->set_inverse_attributes({new inverse_attribute(strings[3800], inverse_attribute::unspecified_type, -1, -1, ((entity*) IFC4X3_RC3_types[952]), ((entity*) IFC4X3_RC3_types[952])->attributes()[1])}); + ((entity*) IFC4X3_RC3_types[511])->set_inverse_attributes({new inverse_attribute(strings[3801], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[513]), ((entity*) IFC4X3_RC3_types[513])->attributes()[0]),new inverse_attribute(strings[3775], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[245]), ((entity*) IFC4X3_RC3_types[245])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[525])->set_inverse_attributes({new inverse_attribute(strings[3802], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[524]), ((entity*) IFC4X3_RC3_types[524])->attributes()[2]),new inverse_attribute(strings[3803], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[524]), ((entity*) IFC4X3_RC3_types[524])->attributes()[1]),new inverse_attribute(strings[3804], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[524]), ((entity*) IFC4X3_RC3_types[524])->attributes()[0]),new inverse_attribute(strings[3805], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[1275]), ((entity*) IFC4X3_RC3_types[1275])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[529])->set_inverse_attributes({new inverse_attribute(strings[3806], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[907]), ((entity*) IFC4X3_RC3_types[907])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[550])->set_inverse_attributes({new inverse_attribute(strings[3807], inverse_attribute::set_type, 1, -1, ((entity*) IFC4X3_RC3_types[776]), ((entity*) IFC4X3_RC3_types[776])->attributes()[1])}); + ((entity*) IFC4X3_RC3_types[589])->set_inverse_attributes({new inverse_attribute(strings[3808], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[917]), ((entity*) IFC4X3_RC3_types[917])->attributes()[0]),new inverse_attribute(strings[3809], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[590]), ((entity*) IFC4X3_RC3_types[590])->attributes()[2])}); + ((entity*) IFC4X3_RC3_types[590])->set_inverse_attributes({new inverse_attribute(strings[3810], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[917]), ((entity*) IFC4X3_RC3_types[917])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[639])->set_inverse_attributes({new inverse_attribute(strings[3811], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[644]), ((entity*) IFC4X3_RC3_types[644])->attributes()[0]),new inverse_attribute(strings[3766], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[656]), ((entity*) IFC4X3_RC3_types[656])->attributes()[1]),new inverse_attribute(strings[3812], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[656]), ((entity*) IFC4X3_RC3_types[656])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[641])->set_inverse_attributes({new inverse_attribute(strings[3813], inverse_attribute::unspecified_type, -1, -1, ((entity*) IFC4X3_RC3_types[642]), ((entity*) IFC4X3_RC3_types[642])->attributes()[2])}); + ((entity*) IFC4X3_RC3_types[643])->set_inverse_attributes({new inverse_attribute(strings[3814], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[918]), ((entity*) IFC4X3_RC3_types[918])->attributes()[0]),new inverse_attribute(strings[3763], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[433]), ((entity*) IFC4X3_RC3_types[433])->attributes()[1]),new inverse_attribute(strings[3006], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[655]), ((entity*) IFC4X3_RC3_types[655])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[645])->set_inverse_attributes({new inverse_attribute(strings[3815], inverse_attribute::unspecified_type, -1, -1, ((entity*) IFC4X3_RC3_types[646]), ((entity*) IFC4X3_RC3_types[646])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[650])->set_inverse_attributes({new inverse_attribute(strings[3816], inverse_attribute::unspecified_type, -1, -1, ((entity*) IFC4X3_RC3_types[651]), ((entity*) IFC4X3_RC3_types[651])->attributes()[2])}); + ((entity*) IFC4X3_RC3_types[658])->set_inverse_attributes({new inverse_attribute(strings[3814], inverse_attribute::set_type, 1, -1, ((entity*) IFC4X3_RC3_types[918]), ((entity*) IFC4X3_RC3_types[918])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[703])->set_inverse_attributes({new inverse_attribute(strings[3817], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[936]), ((entity*) IFC4X3_RC3_types[936])->attributes()[0]),new inverse_attribute(strings[3773], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[936]), ((entity*) IFC4X3_RC3_types[936])->attributes()[1]),new inverse_attribute(strings[3818], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[939]), ((entity*) IFC4X3_RC3_types[939])->attributes()[0]),new inverse_attribute(strings[3772], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[937]), ((entity*) IFC4X3_RC3_types[937])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[704])->set_inverse_attributes({new inverse_attribute(strings[3819], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[904]), ((entity*) IFC4X3_RC3_types[904])->attributes()[0]),new inverse_attribute(strings[3820], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[943]), ((entity*) IFC4X3_RC3_types[943])->attributes()[1]),new inverse_attribute(strings[3821], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[943]), ((entity*) IFC4X3_RC3_types[943])->attributes()[0]),new inverse_attribute(strings[3822], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[933]), ((entity*) IFC4X3_RC3_types[933])->attributes()[1]),new inverse_attribute(strings[3823], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[903]), ((entity*) IFC4X3_RC3_types[903])->attributes()[0]),new inverse_attribute(strings[3824], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[903]), ((entity*) IFC4X3_RC3_types[903])->attributes()[1]),new inverse_attribute(strings[3825], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[912]), ((entity*) IFC4X3_RC3_types[912])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[707])->set_inverse_attributes({new inverse_attribute(strings[3826], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[806]), ((entity*) IFC4X3_RC3_types[806])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[717])->set_inverse_attributes({new inverse_attribute(strings[3827], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[940]), ((entity*) IFC4X3_RC3_types[940])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[721])->set_inverse_attributes({new inverse_attribute(strings[3828], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[722]), ((entity*) IFC4X3_RC3_types[722])->attributes()[1]),new inverse_attribute(strings[3767], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[722]), ((entity*) IFC4X3_RC3_types[722])->attributes()[0]),new inverse_attribute(strings[3829], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[742]), ((entity*) IFC4X3_RC3_types[742])->attributes()[1])}); + ((entity*) IFC4X3_RC3_types[741])->set_inverse_attributes({new inverse_attribute(strings[3830], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[742]), ((entity*) IFC4X3_RC3_types[742])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[746])->set_inverse_attributes({new inverse_attribute(strings[3763], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[433]), ((entity*) IFC4X3_RC3_types[433])->attributes()[1]),new inverse_attribute(strings[3831], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[744]), ((entity*) IFC4X3_RC3_types[744])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[780])->set_inverse_attributes({new inverse_attribute(strings[3832], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[925]), ((entity*) IFC4X3_RC3_types[925])->attributes()[0]),new inverse_attribute(strings[3794], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[924]), ((entity*) IFC4X3_RC3_types[924])->attributes()[1]),new inverse_attribute(strings[3787], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[924]), ((entity*) IFC4X3_RC3_types[924])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[781])->set_inverse_attributes({new inverse_attribute(strings[3762], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[930]), ((entity*) IFC4X3_RC3_types[930])->attributes()[0]),new inverse_attribute(strings[3833], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[944]), ((entity*) IFC4X3_RC3_types[944])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[804])->set_inverse_attributes({new inverse_attribute(strings[3834], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[947]), ((entity*) IFC4X3_RC3_types[947])->attributes()[0]),new inverse_attribute(strings[3835], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[947]), ((entity*) IFC4X3_RC3_types[947])->attributes()[1]),new inverse_attribute(strings[3836], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[909]), ((entity*) IFC4X3_RC3_types[909])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[806])->set_inverse_attributes({new inverse_attribute(strings[3837], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[910]), ((entity*) IFC4X3_RC3_types[910])->attributes()[0]),new inverse_attribute(strings[3838], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[944]), ((entity*) IFC4X3_RC3_types[944])->attributes()[1]),new inverse_attribute(strings[3839], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[946]), ((entity*) IFC4X3_RC3_types[946])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[807])->set_inverse_attributes({new inverse_attribute(strings[3840], inverse_attribute::set_type, 1, -1, ((entity*) IFC4X3_RC3_types[806]), ((entity*) IFC4X3_RC3_types[806])->attributes()[1]),new inverse_attribute(strings[3841], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[1007]), ((entity*) IFC4X3_RC3_types[1007])->attributes()[4])}); + ((entity*) IFC4X3_RC3_types[811])->set_inverse_attributes({new inverse_attribute(strings[3759], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[433]), ((entity*) IFC4X3_RC3_types[433])->attributes()[1]),new inverse_attribute(strings[3006], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[812]), ((entity*) IFC4X3_RC3_types[812])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[822])->set_inverse_attributes({new inverse_attribute(strings[3842], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[831]), ((entity*) IFC4X3_RC3_types[831])->attributes()[0]),new inverse_attribute(strings[3843], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[826]), ((entity*) IFC4X3_RC3_types[826])->attributes()[0]),new inverse_attribute(strings[3844], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[826]), ((entity*) IFC4X3_RC3_types[826])->attributes()[1]),new inverse_attribute(strings[3831], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[191]), ((entity*) IFC4X3_RC3_types[191])->attributes()[1]),new inverse_attribute(strings[3845], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[960]), ((entity*) IFC4X3_RC3_types[960])->attributes()[1]),new inverse_attribute(strings[3846], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[959]), ((entity*) IFC4X3_RC3_types[959])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[823])->set_inverse_attributes({new inverse_attribute(strings[3763], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[433]), ((entity*) IFC4X3_RC3_types[433])->attributes()[1])}); + ((entity*) IFC4X3_RC3_types[825])->set_inverse_attributes({new inverse_attribute(strings[3822], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[933]), ((entity*) IFC4X3_RC3_types[933])->attributes()[1]),new inverse_attribute(strings[3825], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[912]), ((entity*) IFC4X3_RC3_types[912])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[832])->set_inverse_attributes({new inverse_attribute(strings[3847], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[1242]), ((entity*) IFC4X3_RC3_types[1242])->attributes()[1]),new inverse_attribute(strings[3772], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[938]), ((entity*) IFC4X3_RC3_types[938])->attributes()[0]),new inverse_attribute(strings[3848], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[937]), ((entity*) IFC4X3_RC3_types[937])->attributes()[1])}); + ((entity*) IFC4X3_RC3_types[835])->set_inverse_attributes({new inverse_attribute(strings[3849], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[938]), ((entity*) IFC4X3_RC3_types[938])->attributes()[1])}); + ((entity*) IFC4X3_RC3_types[839])->set_inverse_attributes({new inverse_attribute(strings[3850], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[192]), ((entity*) IFC4X3_RC3_types[192])->attributes()[2]),new inverse_attribute(strings[3851], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[835]), ((entity*) IFC4X3_RC3_types[835])->attributes()[2])}); + ((entity*) IFC4X3_RC3_types[950])->set_inverse_attributes({new inverse_attribute(strings[2877], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[950]), ((entity*) IFC4X3_RC3_types[950])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[951])->set_inverse_attributes({new inverse_attribute(strings[3852], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[951]), ((entity*) IFC4X3_RC3_types[951])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[954])->set_inverse_attributes({new inverse_attribute(strings[3853], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[957]), ((entity*) IFC4X3_RC3_types[957])->attributes()[1]),new inverse_attribute(strings[3854], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[797]), ((entity*) IFC4X3_RC3_types[797])->attributes()[2]),new inverse_attribute(strings[3855], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[808]), ((entity*) IFC4X3_RC3_types[808])->attributes()[2])}); + ((entity*) IFC4X3_RC3_types[955])->set_inverse_attributes({new inverse_attribute(strings[3856], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[954]), ((entity*) IFC4X3_RC3_types[954])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[956])->set_inverse_attributes({new inverse_attribute(strings[3857], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[797]), ((entity*) IFC4X3_RC3_types[797])->attributes()[2]),new inverse_attribute(strings[3858], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[1120]), ((entity*) IFC4X3_RC3_types[1120])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[957])->set_inverse_attributes({new inverse_attribute(strings[3841], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[1007]), ((entity*) IFC4X3_RC3_types[1007])->attributes()[4]),new inverse_attribute(strings[3859], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[631]), ((entity*) IFC4X3_RC3_types[631])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[958])->set_inverse_attributes({new inverse_attribute(strings[3860], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[911]), ((entity*) IFC4X3_RC3_types[911])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[997])->set_inverse_attributes({new inverse_attribute(strings[3861], inverse_attribute::set_type, 1, -1, ((entity*) IFC4X3_RC3_types[194]), ((entity*) IFC4X3_RC3_types[194])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[1007])->set_inverse_attributes({new inverse_attribute(strings[3763], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[433]), ((entity*) IFC4X3_RC3_types[433])->attributes()[1])}); + ((entity*) IFC4X3_RC3_types[1008])->set_inverse_attributes({new inverse_attribute(strings[3862], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[1007]), ((entity*) IFC4X3_RC3_types[1007])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[1046])->set_inverse_attributes({new inverse_attribute(strings[3795], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[932]), ((entity*) IFC4X3_RC3_types[932])->attributes()[0]),new inverse_attribute(strings[3797], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[949]), ((entity*) IFC4X3_RC3_types[949])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[1053])->set_inverse_attributes({new inverse_attribute(strings[3863], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[930]), ((entity*) IFC4X3_RC3_types[930])->attributes()[1]),new inverse_attribute(strings[3864], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[948]), ((entity*) IFC4X3_RC3_types[948])->attributes()[1]),new inverse_attribute(strings[3865], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[946]), ((entity*) IFC4X3_RC3_types[946])->attributes()[1])}); + ((entity*) IFC4X3_RC3_types[1079])->set_inverse_attributes({new inverse_attribute(strings[3866], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[926]), ((entity*) IFC4X3_RC3_types[926])->attributes()[1])}); + ((entity*) IFC4X3_RC3_types[1082])->set_inverse_attributes({new inverse_attribute(strings[3867], inverse_attribute::set_type, 1, -1, ((entity*) IFC4X3_RC3_types[927]), ((entity*) IFC4X3_RC3_types[927])->attributes()[1])}); + ((entity*) IFC4X3_RC3_types[1091])->set_inverse_attributes({new inverse_attribute(strings[3868], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[926]), ((entity*) IFC4X3_RC3_types[926])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[1096])->set_inverse_attributes({new inverse_attribute(strings[3869], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[1112]), ((entity*) IFC4X3_RC3_types[1112])->attributes()[1]),new inverse_attribute(strings[3870], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[1081]), ((entity*) IFC4X3_RC3_types[1081])->attributes()[2])}); + ((entity*) IFC4X3_RC3_types[1106])->set_inverse_attributes({new inverse_attribute(strings[3871], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[927]), ((entity*) IFC4X3_RC3_types[927])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[1112])->set_inverse_attributes({new inverse_attribute(strings[3872], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[1081]), ((entity*) IFC4X3_RC3_types[1081])->attributes()[3])}); + ((entity*) IFC4X3_RC3_types[1144])->set_inverse_attributes({new inverse_attribute(strings[3873], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[1195]), ((entity*) IFC4X3_RC3_types[1195])->attributes()[0]),new inverse_attribute(strings[3874], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[1143]), ((entity*) IFC4X3_RC3_types[1143])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[1152])->set_inverse_attributes({new inverse_attribute(strings[3875], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[948]), ((entity*) IFC4X3_RC3_types[948])->attributes()[0]),new inverse_attribute(strings[3876], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[946]), ((entity*) IFC4X3_RC3_types[946])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[1180])->set_inverse_attributes({new inverse_attribute(strings[3877], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[548]), ((entity*) IFC4X3_RC3_types[548])->attributes()[0]),new inverse_attribute(strings[3878], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[552]), ((entity*) IFC4X3_RC3_types[552])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[1211])->set_inverse_attributes({new inverse_attribute(strings[3759], inverse_attribute::set_type, 1, -1, ((entity*) IFC4X3_RC3_types[433]), ((entity*) IFC4X3_RC3_types[433])->attributes()[1])}); + ((entity*) IFC4X3_RC3_types[1242])->set_inverse_attributes({new inverse_attribute(strings[3879], inverse_attribute::set_type, 0, 1, ((entity*) IFC4X3_RC3_types[939]), ((entity*) IFC4X3_RC3_types[939])->attributes()[1])}); + ((entity*) IFC4X3_RC3_types[1243])->set_inverse_attributes({new inverse_attribute(strings[3836], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[909]), ((entity*) IFC4X3_RC3_types[909])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[1244])->set_inverse_attributes({new inverse_attribute(strings[3837], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[910]), ((entity*) IFC4X3_RC3_types[910])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[1245])->set_inverse_attributes({new inverse_attribute(strings[3860], inverse_attribute::set_type, 0, -1, ((entity*) IFC4X3_RC3_types[911]), ((entity*) IFC4X3_RC3_types[911])->attributes()[0])}); + ((entity*) IFC4X3_RC3_types[230])->set_subtypes({((entity*) IFC4X3_RC3_types[2]),((entity*) IFC4X3_RC3_types[249]),((entity*) IFC4X3_RC3_types[251]),((entity*) IFC4X3_RC3_types[735]),((entity*) IFC4X3_RC3_types[739]),((entity*) IFC4X3_RC3_types[820]),((entity*) IFC4X3_RC3_types[1305]),((entity*) IFC4X3_RC3_types[1307])}); + ((entity*) IFC4X3_RC3_types[703])->set_subtypes({((entity*) IFC4X3_RC3_types[6]),((entity*) IFC4X3_RC3_types[230]),((entity*) IFC4X3_RC3_types[529]),((entity*) IFC4X3_RC3_types[804]),((entity*) IFC4X3_RC3_types[806]),((entity*) IFC4X3_RC3_types[958])}); + ((entity*) IFC4X3_RC3_types[321])->set_subtypes({((entity*) IFC4X3_RC3_types[9]),((entity*) IFC4X3_RC3_types[26]),((entity*) IFC4X3_RC3_types[231]),((entity*) IFC4X3_RC3_types[477]),((entity*) IFC4X3_RC3_types[842]),((entity*) IFC4X3_RC3_types[1000]),((entity*) IFC4X3_RC3_types[1247])}); + ((entity*) IFC4X3_RC3_types[322])->set_subtypes({((entity*) IFC4X3_RC3_types[10]),((entity*) IFC4X3_RC3_types[27]),((entity*) IFC4X3_RC3_types[232]),((entity*) IFC4X3_RC3_types[478]),((entity*) IFC4X3_RC3_types[843]),((entity*) IFC4X3_RC3_types[1001]),((entity*) IFC4X3_RC3_types[1248])}); + ((entity*) IFC4X3_RC3_types[629])->set_subtypes({((entity*) IFC4X3_RC3_types[14]),((entity*) IFC4X3_RC3_types[444])}); ((entity*) IFC4X3_RC3_types[14])->set_subtypes({((entity*) IFC4X3_RC3_types[15])}); - ((entity*) IFC4X3_RC3_types[444])->set_subtypes({((entity*) IFC4X3_RC3_types[16])}); - ((entity*) IFC4X3_RC3_types[490])->set_subtypes({((entity*) IFC4X3_RC3_types[17]),((entity*) IFC4X3_RC3_types[64]),((entity*) IFC4X3_RC3_types[187]),((entity*) IFC4X3_RC3_types[372]),((entity*) IFC4X3_RC3_types[469]),((entity*) IFC4X3_RC3_types[583]),((entity*) IFC4X3_RC3_types[597]),((entity*) IFC4X3_RC3_types[616]),((entity*) IFC4X3_RC3_types[665]),((entity*) IFC4X3_RC3_types[675]),((entity*) IFC4X3_RC3_types[726]),((entity*) IFC4X3_RC3_types[984]),((entity*) IFC4X3_RC3_types[1016]),((entity*) IFC4X3_RC3_types[1050]),((entity*) IFC4X3_RC3_types[1070]),((entity*) IFC4X3_RC3_types[1291])}); - ((entity*) IFC4X3_RC3_types[473])->set_subtypes({((entity*) IFC4X3_RC3_types[18]),((entity*) IFC4X3_RC3_types[288]),((entity*) IFC4X3_RC3_types[315]),((entity*) IFC4X3_RC3_types[379]),((entity*) IFC4X3_RC3_types[395]),((entity*) IFC4X3_RC3_types[481]),((entity*) IFC4X3_RC3_types[843]),((entity*) IFC4X3_RC3_types[1151]),((entity*) IFC4X3_RC3_types[1260])}); - ((entity*) IFC4X3_RC3_types[474])->set_subtypes({((entity*) IFC4X3_RC3_types[19]),((entity*) IFC4X3_RC3_types[289]),((entity*) IFC4X3_RC3_types[316]),((entity*) IFC4X3_RC3_types[380]),((entity*) IFC4X3_RC3_types[396]),((entity*) IFC4X3_RC3_types[482]),((entity*) IFC4X3_RC3_types[847]),((entity*) IFC4X3_RC3_types[1152]),((entity*) IFC4X3_RC3_types[1261])}); - ((entity*) IFC4X3_RC3_types[491])->set_subtypes({((entity*) IFC4X3_RC3_types[21]),((entity*) IFC4X3_RC3_types[65]),((entity*) IFC4X3_RC3_types[188]),((entity*) IFC4X3_RC3_types[373]),((entity*) IFC4X3_RC3_types[470]),((entity*) IFC4X3_RC3_types[584]),((entity*) IFC4X3_RC3_types[598]),((entity*) IFC4X3_RC3_types[617]),((entity*) IFC4X3_RC3_types[666]),((entity*) IFC4X3_RC3_types[676]),((entity*) IFC4X3_RC3_types[727]),((entity*) IFC4X3_RC3_types[985]),((entity*) IFC4X3_RC3_types[1017]),((entity*) IFC4X3_RC3_types[1051]),((entity*) IFC4X3_RC3_types[1071]),((entity*) IFC4X3_RC3_types[1292])}); - ((entity*) IFC4X3_RC3_types[411])->set_subtypes({((entity*) IFC4X3_RC3_types[23]),((entity*) IFC4X3_RC3_types[85]),((entity*) IFC4X3_RC3_types[128]),((entity*) IFC4X3_RC3_types[158]),((entity*) IFC4X3_RC3_types[175]),((entity*) IFC4X3_RC3_types[202]),((entity*) IFC4X3_RC3_types[239]),((entity*) IFC4X3_RC3_types[242]),((entity*) IFC4X3_RC3_types[388]),((entity*) IFC4X3_RC3_types[391]),((entity*) IFC4X3_RC3_types[414]),((entity*) IFC4X3_RC3_types[417]),((entity*) IFC4X3_RC3_types[420]),((entity*) IFC4X3_RC3_types[533]),((entity*) IFC4X3_RC3_types[538]),((entity*) IFC4X3_RC3_types[694]),((entity*) IFC4X3_RC3_types[1037]),((entity*) IFC4X3_RC3_types[1224]),((entity*) IFC4X3_RC3_types[1241]),((entity*) IFC4X3_RC3_types[1252])}); - ((entity*) IFC4X3_RC3_types[412])->set_subtypes({((entity*) IFC4X3_RC3_types[24]),((entity*) IFC4X3_RC3_types[86]),((entity*) IFC4X3_RC3_types[129]),((entity*) IFC4X3_RC3_types[159]),((entity*) IFC4X3_RC3_types[176]),((entity*) IFC4X3_RC3_types[203]),((entity*) IFC4X3_RC3_types[240]),((entity*) IFC4X3_RC3_types[243]),((entity*) IFC4X3_RC3_types[389]),((entity*) IFC4X3_RC3_types[392]),((entity*) IFC4X3_RC3_types[415]),((entity*) IFC4X3_RC3_types[418]),((entity*) IFC4X3_RC3_types[421]),((entity*) IFC4X3_RC3_types[534]),((entity*) IFC4X3_RC3_types[539]),((entity*) IFC4X3_RC3_types[695]),((entity*) IFC4X3_RC3_types[1038]),((entity*) IFC4X3_RC3_types[1225]),((entity*) IFC4X3_RC3_types[1242]),((entity*) IFC4X3_RC3_types[1253])}); - ((entity*) IFC4X3_RC3_types[612])->set_subtypes({((entity*) IFC4X3_RC3_types[29])}); - ((entity*) IFC4X3_RC3_types[608])->set_subtypes({((entity*) IFC4X3_RC3_types[30]),((entity*) IFC4X3_RC3_types[33]),((entity*) IFC4X3_RC3_types[37]),((entity*) IFC4X3_RC3_types[39])}); + ((entity*) IFC4X3_RC3_types[443])->set_subtypes({((entity*) IFC4X3_RC3_types[16])}); + ((entity*) IFC4X3_RC3_types[489])->set_subtypes({((entity*) IFC4X3_RC3_types[17]),((entity*) IFC4X3_RC3_types[64]),((entity*) IFC4X3_RC3_types[187]),((entity*) IFC4X3_RC3_types[371]),((entity*) IFC4X3_RC3_types[468]),((entity*) IFC4X3_RC3_types[582]),((entity*) IFC4X3_RC3_types[596]),((entity*) IFC4X3_RC3_types[615]),((entity*) IFC4X3_RC3_types[664]),((entity*) IFC4X3_RC3_types[674]),((entity*) IFC4X3_RC3_types[725]),((entity*) IFC4X3_RC3_types[982]),((entity*) IFC4X3_RC3_types[1014]),((entity*) IFC4X3_RC3_types[1048]),((entity*) IFC4X3_RC3_types[1068]),((entity*) IFC4X3_RC3_types[1289])}); + ((entity*) IFC4X3_RC3_types[472])->set_subtypes({((entity*) IFC4X3_RC3_types[18]),((entity*) IFC4X3_RC3_types[288]),((entity*) IFC4X3_RC3_types[314]),((entity*) IFC4X3_RC3_types[378]),((entity*) IFC4X3_RC3_types[394]),((entity*) IFC4X3_RC3_types[480]),((entity*) IFC4X3_RC3_types[841]),((entity*) IFC4X3_RC3_types[1149]),((entity*) IFC4X3_RC3_types[1258])}); + ((entity*) IFC4X3_RC3_types[473])->set_subtypes({((entity*) IFC4X3_RC3_types[19]),((entity*) IFC4X3_RC3_types[289]),((entity*) IFC4X3_RC3_types[315]),((entity*) IFC4X3_RC3_types[379]),((entity*) IFC4X3_RC3_types[395]),((entity*) IFC4X3_RC3_types[481]),((entity*) IFC4X3_RC3_types[845]),((entity*) IFC4X3_RC3_types[1150]),((entity*) IFC4X3_RC3_types[1259])}); + ((entity*) IFC4X3_RC3_types[490])->set_subtypes({((entity*) IFC4X3_RC3_types[21]),((entity*) IFC4X3_RC3_types[65]),((entity*) IFC4X3_RC3_types[188]),((entity*) IFC4X3_RC3_types[372]),((entity*) IFC4X3_RC3_types[469]),((entity*) IFC4X3_RC3_types[583]),((entity*) IFC4X3_RC3_types[597]),((entity*) IFC4X3_RC3_types[616]),((entity*) IFC4X3_RC3_types[665]),((entity*) IFC4X3_RC3_types[675]),((entity*) IFC4X3_RC3_types[726]),((entity*) IFC4X3_RC3_types[983]),((entity*) IFC4X3_RC3_types[1015]),((entity*) IFC4X3_RC3_types[1049]),((entity*) IFC4X3_RC3_types[1069]),((entity*) IFC4X3_RC3_types[1290])}); + ((entity*) IFC4X3_RC3_types[410])->set_subtypes({((entity*) IFC4X3_RC3_types[23]),((entity*) IFC4X3_RC3_types[85]),((entity*) IFC4X3_RC3_types[128]),((entity*) IFC4X3_RC3_types[158]),((entity*) IFC4X3_RC3_types[175]),((entity*) IFC4X3_RC3_types[202]),((entity*) IFC4X3_RC3_types[239]),((entity*) IFC4X3_RC3_types[242]),((entity*) IFC4X3_RC3_types[387]),((entity*) IFC4X3_RC3_types[390]),((entity*) IFC4X3_RC3_types[413]),((entity*) IFC4X3_RC3_types[416]),((entity*) IFC4X3_RC3_types[419]),((entity*) IFC4X3_RC3_types[532]),((entity*) IFC4X3_RC3_types[537]),((entity*) IFC4X3_RC3_types[693]),((entity*) IFC4X3_RC3_types[1035]),((entity*) IFC4X3_RC3_types[1222]),((entity*) IFC4X3_RC3_types[1239]),((entity*) IFC4X3_RC3_types[1250])}); + ((entity*) IFC4X3_RC3_types[411])->set_subtypes({((entity*) IFC4X3_RC3_types[24]),((entity*) IFC4X3_RC3_types[86]),((entity*) IFC4X3_RC3_types[129]),((entity*) IFC4X3_RC3_types[159]),((entity*) IFC4X3_RC3_types[176]),((entity*) IFC4X3_RC3_types[203]),((entity*) IFC4X3_RC3_types[240]),((entity*) IFC4X3_RC3_types[243]),((entity*) IFC4X3_RC3_types[388]),((entity*) IFC4X3_RC3_types[391]),((entity*) IFC4X3_RC3_types[414]),((entity*) IFC4X3_RC3_types[417]),((entity*) IFC4X3_RC3_types[420]),((entity*) IFC4X3_RC3_types[533]),((entity*) IFC4X3_RC3_types[538]),((entity*) IFC4X3_RC3_types[694]),((entity*) IFC4X3_RC3_types[1036]),((entity*) IFC4X3_RC3_types[1223]),((entity*) IFC4X3_RC3_types[1240]),((entity*) IFC4X3_RC3_types[1251])}); + ((entity*) IFC4X3_RC3_types[611])->set_subtypes({((entity*) IFC4X3_RC3_types[29])}); + ((entity*) IFC4X3_RC3_types[607])->set_subtypes({((entity*) IFC4X3_RC3_types[30]),((entity*) IFC4X3_RC3_types[33]),((entity*) IFC4X3_RC3_types[37]),((entity*) IFC4X3_RC3_types[39])}); ((entity*) IFC4X3_RC3_types[36])->set_subtypes({((entity*) IFC4X3_RC3_types[31]),((entity*) IFC4X3_RC3_types[34]),((entity*) IFC4X3_RC3_types[40])}); - ((entity*) IFC4X3_RC3_types[808])->set_subtypes({((entity*) IFC4X3_RC3_types[46]),((entity*) IFC4X3_RC3_types[399]),((entity*) IFC4X3_RC3_types[608]),((entity*) IFC4X3_RC3_types[782]),((entity*) IFC4X3_RC3_types[783]),((entity*) IFC4X3_RC3_types[849]),((entity*) IFC4X3_RC3_types[1055]),((entity*) IFC4X3_RC3_types[1081]),((entity*) IFC4X3_RC3_types[1093])}); - ((entity*) IFC4X3_RC3_types[513])->set_subtypes({((entity*) IFC4X3_RC3_types[47]),((entity*) IFC4X3_RC3_types[92]),((entity*) IFC4X3_RC3_types[102]),((entity*) IFC4X3_RC3_types[148]),((entity*) IFC4X3_RC3_types[151]),((entity*) IFC4X3_RC3_types[264]),((entity*) IFC4X3_RC3_types[273]),((entity*) IFC4X3_RC3_types[307]),((entity*) IFC4X3_RC3_types[441]),((entity*) IFC4X3_RC3_types[463]),((entity*) IFC4X3_RC3_types[464]),((entity*) IFC4X3_RC3_types[515]),((entity*) IFC4X3_RC3_types[531]),((entity*) IFC4X3_RC3_types[601]),((entity*) IFC4X3_RC3_types[761]),((entity*) IFC4X3_RC3_types[763]),((entity*) IFC4X3_RC3_types[772]),((entity*) IFC4X3_RC3_types[993]),((entity*) IFC4X3_RC3_types[999]),((entity*) IFC4X3_RC3_types[1014]),((entity*) IFC4X3_RC3_types[1041]),((entity*) IFC4X3_RC3_types[1129]),((entity*) IFC4X3_RC3_types[1183]),((entity*) IFC4X3_RC3_types[1189]),((entity*) IFC4X3_RC3_types[1264])}); - ((entity*) IFC4X3_RC3_types[963])->set_subtypes({((entity*) IFC4X3_RC3_types[53]),((entity*) IFC4X3_RC3_types[268]),((entity*) IFC4X3_RC3_types[334]),((entity*) IFC4X3_RC3_types[434]),((entity*) IFC4X3_RC3_types[657]),((entity*) IFC4X3_RC3_types[723]),((entity*) IFC4X3_RC3_types[828]),((entity*) IFC4X3_RC3_types[961]),((entity*) IFC4X3_RC3_types[962])}); - ((entity*) IFC4X3_RC3_types[813])->set_subtypes({((entity*) IFC4X3_RC3_types[54]),((entity*) IFC4X3_RC3_types[55]),((entity*) IFC4X3_RC3_types[197]),((entity*) IFC4X3_RC3_types[300]),((entity*) IFC4X3_RC3_types[717]),((entity*) IFC4X3_RC3_types[730])}); + ((entity*) IFC4X3_RC3_types[806])->set_subtypes({((entity*) IFC4X3_RC3_types[46]),((entity*) IFC4X3_RC3_types[398]),((entity*) IFC4X3_RC3_types[607]),((entity*) IFC4X3_RC3_types[780]),((entity*) IFC4X3_RC3_types[781]),((entity*) IFC4X3_RC3_types[847]),((entity*) IFC4X3_RC3_types[1053]),((entity*) IFC4X3_RC3_types[1079]),((entity*) IFC4X3_RC3_types[1091])}); + ((entity*) IFC4X3_RC3_types[512])->set_subtypes({((entity*) IFC4X3_RC3_types[47]),((entity*) IFC4X3_RC3_types[92]),((entity*) IFC4X3_RC3_types[102]),((entity*) IFC4X3_RC3_types[148]),((entity*) IFC4X3_RC3_types[151]),((entity*) IFC4X3_RC3_types[264]),((entity*) IFC4X3_RC3_types[273]),((entity*) IFC4X3_RC3_types[307]),((entity*) IFC4X3_RC3_types[440]),((entity*) IFC4X3_RC3_types[462]),((entity*) IFC4X3_RC3_types[463]),((entity*) IFC4X3_RC3_types[514]),((entity*) IFC4X3_RC3_types[530]),((entity*) IFC4X3_RC3_types[600]),((entity*) IFC4X3_RC3_types[759]),((entity*) IFC4X3_RC3_types[761]),((entity*) IFC4X3_RC3_types[770]),((entity*) IFC4X3_RC3_types[991]),((entity*) IFC4X3_RC3_types[997]),((entity*) IFC4X3_RC3_types[1012]),((entity*) IFC4X3_RC3_types[1039]),((entity*) IFC4X3_RC3_types[1127]),((entity*) IFC4X3_RC3_types[1181]),((entity*) IFC4X3_RC3_types[1187]),((entity*) IFC4X3_RC3_types[1262])}); + ((entity*) IFC4X3_RC3_types[961])->set_subtypes({((entity*) IFC4X3_RC3_types[53]),((entity*) IFC4X3_RC3_types[268]),((entity*) IFC4X3_RC3_types[333]),((entity*) IFC4X3_RC3_types[433]),((entity*) IFC4X3_RC3_types[656]),((entity*) IFC4X3_RC3_types[722]),((entity*) IFC4X3_RC3_types[826]),((entity*) IFC4X3_RC3_types[959]),((entity*) IFC4X3_RC3_types[960])}); + ((entity*) IFC4X3_RC3_types[811])->set_subtypes({((entity*) IFC4X3_RC3_types[54]),((entity*) IFC4X3_RC3_types[55]),((entity*) IFC4X3_RC3_types[197]),((entity*) IFC4X3_RC3_types[300]),((entity*) IFC4X3_RC3_types[716]),((entity*) IFC4X3_RC3_types[729])}); ((entity*) IFC4X3_RC3_types[54])->set_subtypes({((entity*) IFC4X3_RC3_types[56])}); - ((entity*) IFC4X3_RC3_types[530])->set_subtypes({((entity*) IFC4X3_RC3_types[62]),((entity*) IFC4X3_RC3_types[564]),((entity*) IFC4X3_RC3_types[1098]),((entity*) IFC4X3_RC3_types[1114]),((entity*) IFC4X3_RC3_types[1154])}); - ((entity*) IFC4X3_RC3_types[730])->set_subtypes({((entity*) IFC4X3_RC3_types[63]),((entity*) IFC4X3_RC3_types[267]),((entity*) IFC4X3_RC3_types[166]),((entity*) IFC4X3_RC3_types[410]),((entity*) IFC4X3_RC3_types[569]),((entity*) IFC4X3_RC3_types[624]),((entity*) IFC4X3_RC3_types[881]),((entity*) IFC4X3_RC3_types[1240]),((entity*) IFC4X3_RC3_types[1234]),((entity*) IFC4X3_RC3_types[1258]),((entity*) IFC4X3_RC3_types[1316])}); - ((entity*) IFC4X3_RC3_types[761])->set_subtypes({((entity*) IFC4X3_RC3_types[67]),((entity*) IFC4X3_RC3_types[69]),((entity*) IFC4X3_RC3_types[70]),((entity*) IFC4X3_RC3_types[71])}); - ((entity*) IFC4X3_RC3_types[100])->set_subtypes({((entity*) IFC4X3_RC3_types[108]),((entity*) IFC4X3_RC3_types[194]),((entity*) IFC4X3_RC3_types[550]),((entity*) IFC4X3_RC3_types[779]),((entity*) IFC4X3_RC3_types[1237]),((entity*) IFC4X3_RC3_types[1275])}); + ((entity*) IFC4X3_RC3_types[529])->set_subtypes({((entity*) IFC4X3_RC3_types[62]),((entity*) IFC4X3_RC3_types[563]),((entity*) IFC4X3_RC3_types[1096]),((entity*) IFC4X3_RC3_types[1112]),((entity*) IFC4X3_RC3_types[1152])}); + ((entity*) IFC4X3_RC3_types[729])->set_subtypes({((entity*) IFC4X3_RC3_types[63]),((entity*) IFC4X3_RC3_types[267]),((entity*) IFC4X3_RC3_types[166]),((entity*) IFC4X3_RC3_types[409]),((entity*) IFC4X3_RC3_types[568]),((entity*) IFC4X3_RC3_types[623]),((entity*) IFC4X3_RC3_types[879]),((entity*) IFC4X3_RC3_types[1238]),((entity*) IFC4X3_RC3_types[1232]),((entity*) IFC4X3_RC3_types[1256]),((entity*) IFC4X3_RC3_types[1314])}); + ((entity*) IFC4X3_RC3_types[759])->set_subtypes({((entity*) IFC4X3_RC3_types[67]),((entity*) IFC4X3_RC3_types[69]),((entity*) IFC4X3_RC3_types[70]),((entity*) IFC4X3_RC3_types[71])}); + ((entity*) IFC4X3_RC3_types[100])->set_subtypes({((entity*) IFC4X3_RC3_types[108]),((entity*) IFC4X3_RC3_types[194]),((entity*) IFC4X3_RC3_types[549]),((entity*) IFC4X3_RC3_types[777]),((entity*) IFC4X3_RC3_types[1235]),((entity*) IFC4X3_RC3_types[1273])}); ((entity*) IFC4X3_RC3_types[108])->set_subtypes({((entity*) IFC4X3_RC3_types[110])}); - ((entity*) IFC4X3_RC3_types[101])->set_subtypes({((entity*) IFC4X3_RC3_types[111]),((entity*) IFC4X3_RC3_types[274]),((entity*) IFC4X3_RC3_types[275]),((entity*) IFC4X3_RC3_types[883])}); + ((entity*) IFC4X3_RC3_types[101])->set_subtypes({((entity*) IFC4X3_RC3_types[111]),((entity*) IFC4X3_RC3_types[274]),((entity*) IFC4X3_RC3_types[275]),((entity*) IFC4X3_RC3_types[881])}); ((entity*) IFC4X3_RC3_types[111])->set_subtypes({((entity*) IFC4X3_RC3_types[113])}); - ((entity*) IFC4X3_RC3_types[124])->set_subtypes({((entity*) IFC4X3_RC3_types[72]),((entity*) IFC4X3_RC3_types[76]),((entity*) IFC4X3_RC3_types[118]),((entity*) IFC4X3_RC3_types[161]),((entity*) IFC4X3_RC3_types[183]),((entity*) IFC4X3_RC3_types[255]),((entity*) IFC4X3_RC3_types[258]),((entity*) IFC4X3_RC3_types[269]),((entity*) IFC4X3_RC3_types[296]),((entity*) IFC4X3_RC3_types[338]),((entity*) IFC4X3_RC3_types[366]),((entity*) IFC4X3_RC3_types[497]),((entity*) IFC4X3_RC3_types[574]),((entity*) IFC4X3_RC3_types[668]),((entity*) IFC4X3_RC3_types[691]),((entity*) IFC4X3_RC3_types[698]),((entity*) IFC4X3_RC3_types[733]),((entity*) IFC4X3_RC3_types[768]),((entity*) IFC4X3_RC3_types[861]),((entity*) IFC4X3_RC3_types[862]),((entity*) IFC4X3_RC3_types[870]),((entity*) IFC4X3_RC3_types[871]),((entity*) IFC4X3_RC3_types[975]),((entity*) IFC4X3_RC3_types[1006]),((entity*) IFC4X3_RC3_types[1031]),((entity*) IFC4X3_RC3_types[1073]),((entity*) IFC4X3_RC3_types[1074]),((entity*) IFC4X3_RC3_types[1221]),((entity*) IFC4X3_RC3_types[1283]),((entity*) IFC4X3_RC3_types[1295])}); + ((entity*) IFC4X3_RC3_types[124])->set_subtypes({((entity*) IFC4X3_RC3_types[72]),((entity*) IFC4X3_RC3_types[76]),((entity*) IFC4X3_RC3_types[118]),((entity*) IFC4X3_RC3_types[161]),((entity*) IFC4X3_RC3_types[183]),((entity*) IFC4X3_RC3_types[255]),((entity*) IFC4X3_RC3_types[258]),((entity*) IFC4X3_RC3_types[269]),((entity*) IFC4X3_RC3_types[296]),((entity*) IFC4X3_RC3_types[337]),((entity*) IFC4X3_RC3_types[365]),((entity*) IFC4X3_RC3_types[496]),((entity*) IFC4X3_RC3_types[573]),((entity*) IFC4X3_RC3_types[667]),((entity*) IFC4X3_RC3_types[690]),((entity*) IFC4X3_RC3_types[697]),((entity*) IFC4X3_RC3_types[732]),((entity*) IFC4X3_RC3_types[766]),((entity*) IFC4X3_RC3_types[859]),((entity*) IFC4X3_RC3_types[860]),((entity*) IFC4X3_RC3_types[868]),((entity*) IFC4X3_RC3_types[869]),((entity*) IFC4X3_RC3_types[973]),((entity*) IFC4X3_RC3_types[1004]),((entity*) IFC4X3_RC3_types[1029]),((entity*) IFC4X3_RC3_types[1071]),((entity*) IFC4X3_RC3_types[1072]),((entity*) IFC4X3_RC3_types[1219]),((entity*) IFC4X3_RC3_types[1281]),((entity*) IFC4X3_RC3_types[1293])}); ((entity*) IFC4X3_RC3_types[72])->set_subtypes({((entity*) IFC4X3_RC3_types[73])}); - ((entity*) IFC4X3_RC3_types[125])->set_subtypes({((entity*) IFC4X3_RC3_types[74]),((entity*) IFC4X3_RC3_types[77]),((entity*) IFC4X3_RC3_types[119]),((entity*) IFC4X3_RC3_types[162]),((entity*) IFC4X3_RC3_types[185]),((entity*) IFC4X3_RC3_types[256]),((entity*) IFC4X3_RC3_types[259]),((entity*) IFC4X3_RC3_types[270]),((entity*) IFC4X3_RC3_types[297]),((entity*) IFC4X3_RC3_types[347]),((entity*) IFC4X3_RC3_types[498]),((entity*) IFC4X3_RC3_types[575]),((entity*) IFC4X3_RC3_types[670]),((entity*) IFC4X3_RC3_types[692]),((entity*) IFC4X3_RC3_types[699]),((entity*) IFC4X3_RC3_types[734]),((entity*) IFC4X3_RC3_types[770]),((entity*) IFC4X3_RC3_types[865]),((entity*) IFC4X3_RC3_types[863]),((entity*) IFC4X3_RC3_types[872]),((entity*) IFC4X3_RC3_types[874]),((entity*) IFC4X3_RC3_types[976]),((entity*) IFC4X3_RC3_types[1007]),((entity*) IFC4X3_RC3_types[1034]),((entity*) IFC4X3_RC3_types[1075]),((entity*) IFC4X3_RC3_types[1077]),((entity*) IFC4X3_RC3_types[1222]),((entity*) IFC4X3_RC3_types[1286]),((entity*) IFC4X3_RC3_types[1304])}); - ((entity*) IFC4X3_RC3_types[1146])->set_subtypes({((entity*) IFC4X3_RC3_types[83]),((entity*) IFC4X3_RC3_types[543]),((entity*) IFC4X3_RC3_types[760])}); - ((entity*) IFC4X3_RC3_types[264])->set_subtypes({((entity*) IFC4X3_RC3_types[84]),((entity*) IFC4X3_RC3_types[882]),((entity*) IFC4X3_RC3_types[969]),((entity*) IFC4X3_RC3_types[970]),((entity*) IFC4X3_RC3_types[1067])}); + ((entity*) IFC4X3_RC3_types[125])->set_subtypes({((entity*) IFC4X3_RC3_types[74]),((entity*) IFC4X3_RC3_types[77]),((entity*) IFC4X3_RC3_types[119]),((entity*) IFC4X3_RC3_types[162]),((entity*) IFC4X3_RC3_types[185]),((entity*) IFC4X3_RC3_types[256]),((entity*) IFC4X3_RC3_types[259]),((entity*) IFC4X3_RC3_types[270]),((entity*) IFC4X3_RC3_types[297]),((entity*) IFC4X3_RC3_types[346]),((entity*) IFC4X3_RC3_types[497]),((entity*) IFC4X3_RC3_types[574]),((entity*) IFC4X3_RC3_types[669]),((entity*) IFC4X3_RC3_types[691]),((entity*) IFC4X3_RC3_types[698]),((entity*) IFC4X3_RC3_types[733]),((entity*) IFC4X3_RC3_types[768]),((entity*) IFC4X3_RC3_types[863]),((entity*) IFC4X3_RC3_types[861]),((entity*) IFC4X3_RC3_types[870]),((entity*) IFC4X3_RC3_types[872]),((entity*) IFC4X3_RC3_types[974]),((entity*) IFC4X3_RC3_types[1005]),((entity*) IFC4X3_RC3_types[1032]),((entity*) IFC4X3_RC3_types[1073]),((entity*) IFC4X3_RC3_types[1075]),((entity*) IFC4X3_RC3_types[1220]),((entity*) IFC4X3_RC3_types[1284]),((entity*) IFC4X3_RC3_types[1302])}); + ((entity*) IFC4X3_RC3_types[1144])->set_subtypes({((entity*) IFC4X3_RC3_types[83]),((entity*) IFC4X3_RC3_types[542]),((entity*) IFC4X3_RC3_types[758])}); + ((entity*) IFC4X3_RC3_types[264])->set_subtypes({((entity*) IFC4X3_RC3_types[84]),((entity*) IFC4X3_RC3_types[880]),((entity*) IFC4X3_RC3_types[967]),((entity*) IFC4X3_RC3_types[968]),((entity*) IFC4X3_RC3_types[1065])}); ((entity*) IFC4X3_RC3_types[92])->set_subtypes({((entity*) IFC4X3_RC3_types[89])}); - ((entity*) IFC4X3_RC3_types[519])->set_subtypes({((entity*) IFC4X3_RC3_types[93]),((entity*) IFC4X3_RC3_types[517]),((entity*) IFC4X3_RC3_types[518])}); + ((entity*) IFC4X3_RC3_types[518])->set_subtypes({((entity*) IFC4X3_RC3_types[93]),((entity*) IFC4X3_RC3_types[516]),((entity*) IFC4X3_RC3_types[517])}); ((entity*) IFC4X3_RC3_types[195])->set_subtypes({((entity*) IFC4X3_RC3_types[95])}); ((entity*) IFC4X3_RC3_types[94])->set_subtypes({((entity*) IFC4X3_RC3_types[96]),((entity*) IFC4X3_RC3_types[97]),((entity*) IFC4X3_RC3_types[98])}); ((entity*) IFC4X3_RC3_types[98])->set_subtypes({((entity*) IFC4X3_RC3_types[99])}); - ((entity*) IFC4X3_RC3_types[273])->set_subtypes({((entity*) IFC4X3_RC3_types[100]),((entity*) IFC4X3_RC3_types[205]),((entity*) IFC4X3_RC3_types[607]),((entity*) IFC4X3_RC3_types[713]),((entity*) IFC4X3_RC3_types[736]),((entity*) IFC4X3_RC3_types[781]),((entity*) IFC4X3_RC3_types[1069]),((entity*) IFC4X3_RC3_types[1130])}); - ((entity*) IFC4X3_RC3_types[1129])->set_subtypes({((entity*) IFC4X3_RC3_types[101]),((entity*) IFC4X3_RC3_types[400]),((entity*) IFC4X3_RC3_types[994]),((entity*) IFC4X3_RC3_types[1150])}); - ((entity*) IFC4X3_RC3_types[531])->set_subtypes({((entity*) IFC4X3_RC3_types[104]),((entity*) IFC4X3_RC3_types[777])}); - ((entity*) IFC4X3_RC3_types[447])->set_subtypes({((entity*) IFC4X3_RC3_types[105]),((entity*) IFC4X3_RC3_types[114]),((entity*) IFC4X3_RC3_types[633]),((entity*) IFC4X3_RC3_types[867]),((entity*) IFC4X3_RC3_types[971])}); - ((entity*) IFC4X3_RC3_types[404])->set_subtypes({((entity*) IFC4X3_RC3_types[115]),((entity*) IFC4X3_RC3_types[312]),((entity*) IFC4X3_RC3_types[456]),((entity*) IFC4X3_RC3_types[544]),((entity*) IFC4X3_RC3_types[662]),((entity*) IFC4X3_RC3_types[900]),((entity*) IFC4X3_RC3_types[1015]),((entity*) IFC4X3_RC3_types[1269]),((entity*) IFC4X3_RC3_types[1272])}); - ((entity*) IFC4X3_RC3_types[405])->set_subtypes({((entity*) IFC4X3_RC3_types[116]),((entity*) IFC4X3_RC3_types[313]),((entity*) IFC4X3_RC3_types[457]),((entity*) IFC4X3_RC3_types[545]),((entity*) IFC4X3_RC3_types[663]),((entity*) IFC4X3_RC3_types[901]),((entity*) IFC4X3_RC3_types[1019]),((entity*) IFC4X3_RC3_types[1270]),((entity*) IFC4X3_RC3_types[1273])}); - ((entity*) IFC4X3_RC3_types[1058])->set_subtypes({((entity*) IFC4X3_RC3_types[121]),((entity*) IFC4X3_RC3_types[447]),((entity*) IFC4X3_RC3_types[448]),((entity*) IFC4X3_RC3_types[1027]),((entity*) IFC4X3_RC3_types[1048])}); - ((entity*) IFC4X3_RC3_types[1154])->set_subtypes({((entity*) IFC4X3_RC3_types[122]),((entity*) IFC4X3_RC3_types[126]),((entity*) IFC4X3_RC3_types[330]),((entity*) IFC4X3_RC3_types[1083]),((entity*) IFC4X3_RC3_types[1315])}); - ((entity*) IFC4X3_RC3_types[399])->set_subtypes({((entity*) IFC4X3_RC3_types[124]),((entity*) IFC4X3_RC3_types[167]),((entity*) IFC4X3_RC3_types[324]),((entity*) IFC4X3_RC3_types[401]),((entity*) IFC4X3_RC3_types[404]),((entity*) IFC4X3_RC3_types[459]),((entity*) IFC4X3_RC3_types[502]),((entity*) IFC4X3_RC3_types[507]),((entity*) IFC4X3_RC3_types[520]),((entity*) IFC4X3_RC3_types[1229]),((entity*) IFC4X3_RC3_types[1276])}); - ((entity*) IFC4X3_RC3_types[408])->set_subtypes({((entity*) IFC4X3_RC3_types[125]),((entity*) IFC4X3_RC3_types[168]),((entity*) IFC4X3_RC3_types[325]),((entity*) IFC4X3_RC3_types[402]),((entity*) IFC4X3_RC3_types[405]),((entity*) IFC4X3_RC3_types[503]),((entity*) IFC4X3_RC3_types[508]),((entity*) IFC4X3_RC3_types[1232])}); - ((entity*) IFC4X3_RC3_types[476])->set_subtypes({((entity*) IFC4X3_RC3_types[131]),((entity*) IFC4X3_RC3_types[137]),((entity*) IFC4X3_RC3_types[353]),((entity*) IFC4X3_RC3_types[571]),((entity*) IFC4X3_RC3_types[754])}); - ((entity*) IFC4X3_RC3_types[477])->set_subtypes({((entity*) IFC4X3_RC3_types[132]),((entity*) IFC4X3_RC3_types[138]),((entity*) IFC4X3_RC3_types[354]),((entity*) IFC4X3_RC3_types[572]),((entity*) IFC4X3_RC3_types[755])}); - ((entity*) IFC4X3_RC3_types[486])->set_subtypes({((entity*) IFC4X3_RC3_types[134]),((entity*) IFC4X3_RC3_types[140]),((entity*) IFC4X3_RC3_types[236]),((entity*) IFC4X3_RC3_types[356]),((entity*) IFC4X3_RC3_types[757])}); - ((entity*) IFC4X3_RC3_types[487])->set_subtypes({((entity*) IFC4X3_RC3_types[135]),((entity*) IFC4X3_RC3_types[141]),((entity*) IFC4X3_RC3_types[237]),((entity*) IFC4X3_RC3_types[357]),((entity*) IFC4X3_RC3_types[758])}); - ((entity*) IFC4X3_RC3_types[296])->set_subtypes({((entity*) IFC4X3_RC3_types[143]),((entity*) IFC4X3_RC3_types[750])}); - ((entity*) IFC4X3_RC3_types[297])->set_subtypes({((entity*) IFC4X3_RC3_types[144]),((entity*) IFC4X3_RC3_types[752])}); - ((entity*) IFC4X3_RC3_types[772])->set_subtypes({((entity*) IFC4X3_RC3_types[147]),((entity*) IFC4X3_RC3_types[773]),((entity*) IFC4X3_RC3_types[774]),((entity*) IFC4X3_RC3_types[775])}); + ((entity*) IFC4X3_RC3_types[273])->set_subtypes({((entity*) IFC4X3_RC3_types[100]),((entity*) IFC4X3_RC3_types[205]),((entity*) IFC4X3_RC3_types[606]),((entity*) IFC4X3_RC3_types[712]),((entity*) IFC4X3_RC3_types[734]),((entity*) IFC4X3_RC3_types[779]),((entity*) IFC4X3_RC3_types[1067]),((entity*) IFC4X3_RC3_types[1128])}); + ((entity*) IFC4X3_RC3_types[1127])->set_subtypes({((entity*) IFC4X3_RC3_types[101]),((entity*) IFC4X3_RC3_types[399]),((entity*) IFC4X3_RC3_types[992]),((entity*) IFC4X3_RC3_types[1148])}); + ((entity*) IFC4X3_RC3_types[530])->set_subtypes({((entity*) IFC4X3_RC3_types[104]),((entity*) IFC4X3_RC3_types[775])}); + ((entity*) IFC4X3_RC3_types[446])->set_subtypes({((entity*) IFC4X3_RC3_types[105]),((entity*) IFC4X3_RC3_types[114]),((entity*) IFC4X3_RC3_types[632]),((entity*) IFC4X3_RC3_types[865]),((entity*) IFC4X3_RC3_types[969])}); + ((entity*) IFC4X3_RC3_types[403])->set_subtypes({((entity*) IFC4X3_RC3_types[115]),((entity*) IFC4X3_RC3_types[311]),((entity*) IFC4X3_RC3_types[455]),((entity*) IFC4X3_RC3_types[543]),((entity*) IFC4X3_RC3_types[661]),((entity*) IFC4X3_RC3_types[898]),((entity*) IFC4X3_RC3_types[1013]),((entity*) IFC4X3_RC3_types[1267]),((entity*) IFC4X3_RC3_types[1270])}); + ((entity*) IFC4X3_RC3_types[404])->set_subtypes({((entity*) IFC4X3_RC3_types[116]),((entity*) IFC4X3_RC3_types[312]),((entity*) IFC4X3_RC3_types[456]),((entity*) IFC4X3_RC3_types[544]),((entity*) IFC4X3_RC3_types[662]),((entity*) IFC4X3_RC3_types[899]),((entity*) IFC4X3_RC3_types[1017]),((entity*) IFC4X3_RC3_types[1268]),((entity*) IFC4X3_RC3_types[1271])}); + ((entity*) IFC4X3_RC3_types[1056])->set_subtypes({((entity*) IFC4X3_RC3_types[121]),((entity*) IFC4X3_RC3_types[446]),((entity*) IFC4X3_RC3_types[447]),((entity*) IFC4X3_RC3_types[1025]),((entity*) IFC4X3_RC3_types[1046])}); + ((entity*) IFC4X3_RC3_types[1152])->set_subtypes({((entity*) IFC4X3_RC3_types[122]),((entity*) IFC4X3_RC3_types[126]),((entity*) IFC4X3_RC3_types[329]),((entity*) IFC4X3_RC3_types[1081]),((entity*) IFC4X3_RC3_types[1313])}); + ((entity*) IFC4X3_RC3_types[398])->set_subtypes({((entity*) IFC4X3_RC3_types[124]),((entity*) IFC4X3_RC3_types[167]),((entity*) IFC4X3_RC3_types[323]),((entity*) IFC4X3_RC3_types[400]),((entity*) IFC4X3_RC3_types[403]),((entity*) IFC4X3_RC3_types[458]),((entity*) IFC4X3_RC3_types[501]),((entity*) IFC4X3_RC3_types[506]),((entity*) IFC4X3_RC3_types[519]),((entity*) IFC4X3_RC3_types[1227]),((entity*) IFC4X3_RC3_types[1274])}); + ((entity*) IFC4X3_RC3_types[407])->set_subtypes({((entity*) IFC4X3_RC3_types[125]),((entity*) IFC4X3_RC3_types[168]),((entity*) IFC4X3_RC3_types[324]),((entity*) IFC4X3_RC3_types[401]),((entity*) IFC4X3_RC3_types[404]),((entity*) IFC4X3_RC3_types[502]),((entity*) IFC4X3_RC3_types[507]),((entity*) IFC4X3_RC3_types[1230])}); + ((entity*) IFC4X3_RC3_types[475])->set_subtypes({((entity*) IFC4X3_RC3_types[131]),((entity*) IFC4X3_RC3_types[137]),((entity*) IFC4X3_RC3_types[352]),((entity*) IFC4X3_RC3_types[570]),((entity*) IFC4X3_RC3_types[752])}); + ((entity*) IFC4X3_RC3_types[476])->set_subtypes({((entity*) IFC4X3_RC3_types[132]),((entity*) IFC4X3_RC3_types[138]),((entity*) IFC4X3_RC3_types[353]),((entity*) IFC4X3_RC3_types[571]),((entity*) IFC4X3_RC3_types[753])}); + ((entity*) IFC4X3_RC3_types[485])->set_subtypes({((entity*) IFC4X3_RC3_types[134]),((entity*) IFC4X3_RC3_types[140]),((entity*) IFC4X3_RC3_types[236]),((entity*) IFC4X3_RC3_types[355]),((entity*) IFC4X3_RC3_types[755])}); + ((entity*) IFC4X3_RC3_types[486])->set_subtypes({((entity*) IFC4X3_RC3_types[135]),((entity*) IFC4X3_RC3_types[141]),((entity*) IFC4X3_RC3_types[237]),((entity*) IFC4X3_RC3_types[356]),((entity*) IFC4X3_RC3_types[756])}); + ((entity*) IFC4X3_RC3_types[296])->set_subtypes({((entity*) IFC4X3_RC3_types[143]),((entity*) IFC4X3_RC3_types[748])}); + ((entity*) IFC4X3_RC3_types[297])->set_subtypes({((entity*) IFC4X3_RC3_types[144]),((entity*) IFC4X3_RC3_types[750])}); + ((entity*) IFC4X3_RC3_types[770])->set_subtypes({((entity*) IFC4X3_RC3_types[147]),((entity*) IFC4X3_RC3_types[771]),((entity*) IFC4X3_RC3_types[772]),((entity*) IFC4X3_RC3_types[773])}); ((entity*) IFC4X3_RC3_types[148])->set_subtypes({((entity*) IFC4X3_RC3_types[149]),((entity*) IFC4X3_RC3_types[150])}); ((entity*) IFC4X3_RC3_types[151])->set_subtypes({((entity*) IFC4X3_RC3_types[152]),((entity*) IFC4X3_RC3_types[154])}); ((entity*) IFC4X3_RC3_types[152])->set_subtypes({((entity*) IFC4X3_RC3_types[153])}); ((entity*) IFC4X3_RC3_types[154])->set_subtypes({((entity*) IFC4X3_RC3_types[155])}); ((entity*) IFC4X3_RC3_types[55])->set_subtypes({((entity*) IFC4X3_RC3_types[156])}); - ((entity*) IFC4X3_RC3_types[205])->set_subtypes({((entity*) IFC4X3_RC3_types[164]),((entity*) IFC4X3_RC3_types[409])}); + ((entity*) IFC4X3_RC3_types[205])->set_subtypes({((entity*) IFC4X3_RC3_types[164]),((entity*) IFC4X3_RC3_types[408])}); ((entity*) IFC4X3_RC3_types[166])->set_subtypes({((entity*) IFC4X3_RC3_types[165])}); - ((entity*) IFC4X3_RC3_types[429])->set_subtypes({((entity*) IFC4X3_RC3_types[169]),((entity*) IFC4X3_RC3_types[333]),((entity*) IFC4X3_RC3_types[590])}); - ((entity*) IFC4X3_RC3_types[433])->set_subtypes({((entity*) IFC4X3_RC3_types[170]),((entity*) IFC4X3_RC3_types[335]),((entity*) IFC4X3_RC3_types[430]),((entity*) IFC4X3_RC3_types[431]),((entity*) IFC4X3_RC3_types[432]),((entity*) IFC4X3_RC3_types[591])}); - ((entity*) IFC4X3_RC3_types[206])->set_subtypes({((entity*) IFC4X3_RC3_types[173]),((entity*) IFC4X3_RC3_types[721])}); - ((entity*) IFC4X3_RC3_types[1069])->set_subtypes({((entity*) IFC4X3_RC3_types[174]),((entity*) IFC4X3_RC3_types[248]),((entity*) IFC4X3_RC3_types[989]),((entity*) IFC4X3_RC3_types[1025]),((entity*) IFC4X3_RC3_types[1208])}); + ((entity*) IFC4X3_RC3_types[428])->set_subtypes({((entity*) IFC4X3_RC3_types[169]),((entity*) IFC4X3_RC3_types[332]),((entity*) IFC4X3_RC3_types[589])}); + ((entity*) IFC4X3_RC3_types[432])->set_subtypes({((entity*) IFC4X3_RC3_types[170]),((entity*) IFC4X3_RC3_types[334]),((entity*) IFC4X3_RC3_types[429]),((entity*) IFC4X3_RC3_types[430]),((entity*) IFC4X3_RC3_types[431]),((entity*) IFC4X3_RC3_types[590])}); + ((entity*) IFC4X3_RC3_types[206])->set_subtypes({((entity*) IFC4X3_RC3_types[173]),((entity*) IFC4X3_RC3_types[720])}); + ((entity*) IFC4X3_RC3_types[1067])->set_subtypes({((entity*) IFC4X3_RC3_types[174]),((entity*) IFC4X3_RC3_types[248]),((entity*) IFC4X3_RC3_types[987]),((entity*) IFC4X3_RC3_types[1023]),((entity*) IFC4X3_RC3_types[1206])}); ((entity*) IFC4X3_RC3_types[182])->set_subtypes({((entity*) IFC4X3_RC3_types[180])}); - ((entity*) IFC4X3_RC3_types[798])->set_subtypes({((entity*) IFC4X3_RC3_types[181]),((entity*) IFC4X3_RC3_types[182]),((entity*) IFC4X3_RC3_types[283]),((entity*) IFC4X3_RC3_types[284]),((entity*) IFC4X3_RC3_types[285]),((entity*) IFC4X3_RC3_types[549]),((entity*) IFC4X3_RC3_types[792]),((entity*) IFC4X3_RC3_types[1141]),((entity*) IFC4X3_RC3_types[1142]),((entity*) IFC4X3_RC3_types[1144]),((entity*) IFC4X3_RC3_types[1145]),((entity*) IFC4X3_RC3_types[1146]),((entity*) IFC4X3_RC3_types[1194]),((entity*) IFC4X3_RC3_types[1195]),((entity*) IFC4X3_RC3_types[1197]),((entity*) IFC4X3_RC3_types[1200]),((entity*) IFC4X3_RC3_types[1201])}); + ((entity*) IFC4X3_RC3_types[796])->set_subtypes({((entity*) IFC4X3_RC3_types[181]),((entity*) IFC4X3_RC3_types[182]),((entity*) IFC4X3_RC3_types[283]),((entity*) IFC4X3_RC3_types[284]),((entity*) IFC4X3_RC3_types[285]),((entity*) IFC4X3_RC3_types[548]),((entity*) IFC4X3_RC3_types[790]),((entity*) IFC4X3_RC3_types[1139]),((entity*) IFC4X3_RC3_types[1140]),((entity*) IFC4X3_RC3_types[1142]),((entity*) IFC4X3_RC3_types[1143]),((entity*) IFC4X3_RC3_types[1144]),((entity*) IFC4X3_RC3_types[1192]),((entity*) IFC4X3_RC3_types[1193]),((entity*) IFC4X3_RC3_types[1195]),((entity*) IFC4X3_RC3_types[1198]),((entity*) IFC4X3_RC3_types[1199])}); ((entity*) IFC4X3_RC3_types[183])->set_subtypes({((entity*) IFC4X3_RC3_types[184])}); - ((entity*) IFC4X3_RC3_types[824])->set_subtypes({((entity*) IFC4X3_RC3_types[191]),((entity*) IFC4X3_RC3_types[1021])}); - ((entity*) IFC4X3_RC3_types[841])->set_subtypes({((entity*) IFC4X3_RC3_types[192]),((entity*) IFC4X3_RC3_types[1022])}); - ((entity*) IFC4X3_RC3_types[194])->set_subtypes({((entity*) IFC4X3_RC3_types[195]),((entity*) IFC4X3_RC3_types[524]),((entity*) IFC4X3_RC3_types[1000])}); - ((entity*) IFC4X3_RC3_types[999])->set_subtypes({((entity*) IFC4X3_RC3_types[196]),((entity*) IFC4X3_RC3_types[281])}); - ((entity*) IFC4X3_RC3_types[484])->set_subtypes({((entity*) IFC4X3_RC3_types[199]),((entity*) IFC4X3_RC3_types[453]),((entity*) IFC4X3_RC3_types[850])}); - ((entity*) IFC4X3_RC3_types[485])->set_subtypes({((entity*) IFC4X3_RC3_types[200]),((entity*) IFC4X3_RC3_types[454]),((entity*) IFC4X3_RC3_types[851])}); - ((entity*) IFC4X3_RC3_types[1217])->set_subtypes({((entity*) IFC4X3_RC3_types[206]),((entity*) IFC4X3_RC3_types[369]),((entity*) IFC4X3_RC3_types[440]),((entity*) IFC4X3_RC3_types[442]),((entity*) IFC4X3_RC3_types[623]),((entity*) IFC4X3_RC3_types[732]),((entity*) IFC4X3_RC3_types[1266])}); + ((entity*) IFC4X3_RC3_types[822])->set_subtypes({((entity*) IFC4X3_RC3_types[191]),((entity*) IFC4X3_RC3_types[1019])}); + ((entity*) IFC4X3_RC3_types[839])->set_subtypes({((entity*) IFC4X3_RC3_types[192]),((entity*) IFC4X3_RC3_types[1020])}); + ((entity*) IFC4X3_RC3_types[194])->set_subtypes({((entity*) IFC4X3_RC3_types[195]),((entity*) IFC4X3_RC3_types[523]),((entity*) IFC4X3_RC3_types[998])}); + ((entity*) IFC4X3_RC3_types[997])->set_subtypes({((entity*) IFC4X3_RC3_types[196]),((entity*) IFC4X3_RC3_types[281])}); + ((entity*) IFC4X3_RC3_types[483])->set_subtypes({((entity*) IFC4X3_RC3_types[199]),((entity*) IFC4X3_RC3_types[452]),((entity*) IFC4X3_RC3_types[848])}); + ((entity*) IFC4X3_RC3_types[484])->set_subtypes({((entity*) IFC4X3_RC3_types[200]),((entity*) IFC4X3_RC3_types[453]),((entity*) IFC4X3_RC3_types[849])}); + ((entity*) IFC4X3_RC3_types[1215])->set_subtypes({((entity*) IFC4X3_RC3_types[206]),((entity*) IFC4X3_RC3_types[368]),((entity*) IFC4X3_RC3_types[439]),((entity*) IFC4X3_RC3_types[441]),((entity*) IFC4X3_RC3_types[622]),((entity*) IFC4X3_RC3_types[731]),((entity*) IFC4X3_RC3_types[1264])}); ((entity*) IFC4X3_RC3_types[208])->set_subtypes({((entity*) IFC4X3_RC3_types[207]),((entity*) IFC4X3_RC3_types[210]),((entity*) IFC4X3_RC3_types[211]),((entity*) IFC4X3_RC3_types[213])}); ((entity*) IFC4X3_RC3_types[210])->set_subtypes({((entity*) IFC4X3_RC3_types[209])}); - ((entity*) IFC4X3_RC3_types[225])->set_subtypes({((entity*) IFC4X3_RC3_types[216]),((entity*) IFC4X3_RC3_types[219]),((entity*) IFC4X3_RC3_types[222]),((entity*) IFC4X3_RC3_types[261]),((entity*) IFC4X3_RC3_types[579]),((entity*) IFC4X3_RC3_types[1125])}); - ((entity*) IFC4X3_RC3_types[226])->set_subtypes({((entity*) IFC4X3_RC3_types[217]),((entity*) IFC4X3_RC3_types[220]),((entity*) IFC4X3_RC3_types[223]),((entity*) IFC4X3_RC3_types[262]),((entity*) IFC4X3_RC3_types[580]),((entity*) IFC4X3_RC3_types[1126])}); - ((entity*) IFC4X3_RC3_types[960])->set_subtypes({((entity*) IFC4X3_RC3_types[225])}); - ((entity*) IFC4X3_RC3_types[1247])->set_subtypes({((entity*) IFC4X3_RC3_types[226])}); - ((entity*) IFC4X3_RC3_types[705])->set_subtypes({((entity*) IFC4X3_RC3_types[227]),((entity*) IFC4X3_RC3_types[704]),((entity*) IFC4X3_RC3_types[1244])}); - ((entity*) IFC4X3_RC3_types[697])->set_subtypes({((entity*) IFC4X3_RC3_types[229]),((entity*) IFC4X3_RC3_types[234]),((entity*) IFC4X3_RC3_types[1028])}); + ((entity*) IFC4X3_RC3_types[225])->set_subtypes({((entity*) IFC4X3_RC3_types[216]),((entity*) IFC4X3_RC3_types[219]),((entity*) IFC4X3_RC3_types[222]),((entity*) IFC4X3_RC3_types[261]),((entity*) IFC4X3_RC3_types[578]),((entity*) IFC4X3_RC3_types[1123])}); + ((entity*) IFC4X3_RC3_types[226])->set_subtypes({((entity*) IFC4X3_RC3_types[217]),((entity*) IFC4X3_RC3_types[220]),((entity*) IFC4X3_RC3_types[223]),((entity*) IFC4X3_RC3_types[262]),((entity*) IFC4X3_RC3_types[579]),((entity*) IFC4X3_RC3_types[1124])}); + ((entity*) IFC4X3_RC3_types[958])->set_subtypes({((entity*) IFC4X3_RC3_types[225])}); + ((entity*) IFC4X3_RC3_types[1245])->set_subtypes({((entity*) IFC4X3_RC3_types[226])}); + ((entity*) IFC4X3_RC3_types[704])->set_subtypes({((entity*) IFC4X3_RC3_types[227]),((entity*) IFC4X3_RC3_types[703]),((entity*) IFC4X3_RC3_types[1242])}); + ((entity*) IFC4X3_RC3_types[696])->set_subtypes({((entity*) IFC4X3_RC3_types[229]),((entity*) IFC4X3_RC3_types[234]),((entity*) IFC4X3_RC3_types[1026])}); ((entity*) IFC4X3_RC3_types[234])->set_subtypes({((entity*) IFC4X3_RC3_types[235])}); ((entity*) IFC4X3_RC3_types[50])->set_subtypes({((entity*) IFC4X3_RC3_types[253])}); - ((entity*) IFC4X3_RC3_types[1041])->set_subtypes({((entity*) IFC4X3_RC3_types[266]),((entity*) IFC4X3_RC3_types[630]),((entity*) IFC4X3_RC3_types[991]),((entity*) IFC4X3_RC3_types[1147]),((entity*) IFC4X3_RC3_types[1148])}); - ((entity*) IFC4X3_RC3_types[801])->set_subtypes({((entity*) IFC4X3_RC3_types[282]),((entity*) IFC4X3_RC3_types[462]),((entity*) IFC4X3_RC3_types[1139]),((entity*) IFC4X3_RC3_types[1192])}); - ((entity*) IFC4X3_RC3_types[400])->set_subtypes({((entity*) IFC4X3_RC3_types[287]),((entity*) IFC4X3_RC3_types[765]),((entity*) IFC4X3_RC3_types[1068]),((entity*) IFC4X3_RC3_types[1219])}); - ((entity*) IFC4X3_RC3_types[1147])->set_subtypes({((entity*) IFC4X3_RC3_types[309]),((entity*) IFC4X3_RC3_types[311]),((entity*) IFC4X3_RC3_types[438]),((entity*) IFC4X3_RC3_types[967])}); - ((entity*) IFC4X3_RC3_types[472])->set_subtypes({((entity*) IFC4X3_RC3_types[310])}); + ((entity*) IFC4X3_RC3_types[1039])->set_subtypes({((entity*) IFC4X3_RC3_types[266]),((entity*) IFC4X3_RC3_types[629]),((entity*) IFC4X3_RC3_types[989]),((entity*) IFC4X3_RC3_types[1145]),((entity*) IFC4X3_RC3_types[1146])}); + ((entity*) IFC4X3_RC3_types[799])->set_subtypes({((entity*) IFC4X3_RC3_types[282]),((entity*) IFC4X3_RC3_types[461]),((entity*) IFC4X3_RC3_types[1137]),((entity*) IFC4X3_RC3_types[1190])}); + ((entity*) IFC4X3_RC3_types[399])->set_subtypes({((entity*) IFC4X3_RC3_types[287]),((entity*) IFC4X3_RC3_types[763]),((entity*) IFC4X3_RC3_types[1066]),((entity*) IFC4X3_RC3_types[1217])}); + ((entity*) IFC4X3_RC3_types[1145])->set_subtypes({((entity*) IFC4X3_RC3_types[309]),((entity*) IFC4X3_RC3_types[310]),((entity*) IFC4X3_RC3_types[437]),((entity*) IFC4X3_RC3_types[965])}); + ((entity*) IFC4X3_RC3_types[325])->set_subtypes({((entity*) IFC4X3_RC3_types[317]),((entity*) IFC4X3_RC3_types[410]),((entity*) IFC4X3_RC3_types[472]),((entity*) IFC4X3_RC3_types[475]),((entity*) IFC4X3_RC3_types[483]),((entity*) IFC4X3_RC3_types[485]),((entity*) IFC4X3_RC3_types[487]),((entity*) IFC4X3_RC3_types[489]),((entity*) IFC4X3_RC3_types[491])}); ((entity*) IFC4X3_RC3_types[326])->set_subtypes({((entity*) IFC4X3_RC3_types[318]),((entity*) IFC4X3_RC3_types[411]),((entity*) IFC4X3_RC3_types[473]),((entity*) IFC4X3_RC3_types[476]),((entity*) IFC4X3_RC3_types[484]),((entity*) IFC4X3_RC3_types[486]),((entity*) IFC4X3_RC3_types[488]),((entity*) IFC4X3_RC3_types[490]),((entity*) IFC4X3_RC3_types[492])}); - ((entity*) IFC4X3_RC3_types[327])->set_subtypes({((entity*) IFC4X3_RC3_types[319]),((entity*) IFC4X3_RC3_types[412]),((entity*) IFC4X3_RC3_types[474]),((entity*) IFC4X3_RC3_types[477]),((entity*) IFC4X3_RC3_types[485]),((entity*) IFC4X3_RC3_types[487]),((entity*) IFC4X3_RC3_types[489]),((entity*) IFC4X3_RC3_types[491]),((entity*) IFC4X3_RC3_types[493])}); - ((entity*) IFC4X3_RC3_types[330])->set_subtypes({((entity*) IFC4X3_RC3_types[321])}); + ((entity*) IFC4X3_RC3_types[329])->set_subtypes({((entity*) IFC4X3_RC3_types[320])}); + ((entity*) IFC4X3_RC3_types[323])->set_subtypes({((entity*) IFC4X3_RC3_types[321]),((entity*) IFC4X3_RC3_types[325])}); ((entity*) IFC4X3_RC3_types[324])->set_subtypes({((entity*) IFC4X3_RC3_types[322]),((entity*) IFC4X3_RC3_types[326])}); - ((entity*) IFC4X3_RC3_types[325])->set_subtypes({((entity*) IFC4X3_RC3_types[323]),((entity*) IFC4X3_RC3_types[327])}); - ((entity*) IFC4X3_RC3_types[782])->set_subtypes({((entity*) IFC4X3_RC3_types[328])}); - ((entity*) IFC4X3_RC3_types[794])->set_subtypes({((entity*) IFC4X3_RC3_types[339]),((entity*) IFC4X3_RC3_types[342]),((entity*) IFC4X3_RC3_types[740]),((entity*) IFC4X3_RC3_types[894]),((entity*) IFC4X3_RC3_types[1296]),((entity*) IFC4X3_RC3_types[1299])}); - ((entity*) IFC4X3_RC3_types[338])->set_subtypes({((entity*) IFC4X3_RC3_types[343])}); - ((entity*) IFC4X3_RC3_types[1246])->set_subtypes({((entity*) IFC4X3_RC3_types[344]),((entity*) IFC4X3_RC3_types[408]),((entity*) IFC4X3_RC3_types[1056]),((entity*) IFC4X3_RC3_types[1301])}); - ((entity*) IFC4X3_RC3_types[790])->set_subtypes({((entity*) IFC4X3_RC3_types[351])}); - ((entity*) IFC4X3_RC3_types[791])->set_subtypes({((entity*) IFC4X3_RC3_types[352])}); + ((entity*) IFC4X3_RC3_types[780])->set_subtypes({((entity*) IFC4X3_RC3_types[327])}); + ((entity*) IFC4X3_RC3_types[792])->set_subtypes({((entity*) IFC4X3_RC3_types[338]),((entity*) IFC4X3_RC3_types[341]),((entity*) IFC4X3_RC3_types[738]),((entity*) IFC4X3_RC3_types[892]),((entity*) IFC4X3_RC3_types[1294]),((entity*) IFC4X3_RC3_types[1297])}); + ((entity*) IFC4X3_RC3_types[337])->set_subtypes({((entity*) IFC4X3_RC3_types[342])}); + ((entity*) IFC4X3_RC3_types[1244])->set_subtypes({((entity*) IFC4X3_RC3_types[343]),((entity*) IFC4X3_RC3_types[407]),((entity*) IFC4X3_RC3_types[1054]),((entity*) IFC4X3_RC3_types[1299])}); + ((entity*) IFC4X3_RC3_types[788])->set_subtypes({((entity*) IFC4X3_RC3_types[350])}); + ((entity*) IFC4X3_RC3_types[789])->set_subtypes({((entity*) IFC4X3_RC3_types[351])}); + ((entity*) IFC4X3_RC3_types[491])->set_subtypes({((entity*) IFC4X3_RC3_types[358]),((entity*) IFC4X3_RC3_types[384]),((entity*) IFC4X3_RC3_types[465]),((entity*) IFC4X3_RC3_types[557])}); ((entity*) IFC4X3_RC3_types[492])->set_subtypes({((entity*) IFC4X3_RC3_types[359]),((entity*) IFC4X3_RC3_types[385]),((entity*) IFC4X3_RC3_types[466]),((entity*) IFC4X3_RC3_types[558])}); - ((entity*) IFC4X3_RC3_types[493])->set_subtypes({((entity*) IFC4X3_RC3_types[360]),((entity*) IFC4X3_RC3_types[386]),((entity*) IFC4X3_RC3_types[467]),((entity*) IFC4X3_RC3_types[559])}); - ((entity*) IFC4X3_RC3_types[461])->set_subtypes({((entity*) IFC4X3_RC3_types[364]),((entity*) IFC4X3_RC3_types[718]),((entity*) IFC4X3_RC3_types[1278])}); - ((entity*) IFC4X3_RC3_types[366])->set_subtypes({((entity*) IFC4X3_RC3_types[367]),((entity*) IFC4X3_RC3_types[891])}); - ((entity*) IFC4X3_RC3_types[369])->set_subtypes({((entity*) IFC4X3_RC3_types[370]),((entity*) IFC4X3_RC3_types[724]),((entity*) IFC4X3_RC3_types[1128])}); - ((entity*) IFC4X3_RC3_types[623])->set_subtypes({((entity*) IFC4X3_RC3_types[371]),((entity*) IFC4X3_RC3_types[780]),((entity*) IFC4X3_RC3_types[1267])}); - ((entity*) IFC4X3_RC3_types[488])->set_subtypes({((entity*) IFC4X3_RC3_types[382]),((entity*) IFC4X3_RC3_types[1161])}); - ((entity*) IFC4X3_RC3_types[489])->set_subtypes({((entity*) IFC4X3_RC3_types[383]),((entity*) IFC4X3_RC3_types[1162])}); - ((entity*) IFC4X3_RC3_types[856])->set_subtypes({((entity*) IFC4X3_RC3_types[407])}); - ((entity*) IFC4X3_RC3_types[806])->set_subtypes({((entity*) IFC4X3_RC3_types[423]),((entity*) IFC4X3_RC3_types[803]),((entity*) IFC4X3_RC3_types[1164])}); - ((entity*) IFC4X3_RC3_types[987])->set_subtypes({((entity*) IFC4X3_RC3_types[424]),((entity*) IFC4X3_RC3_types[582]),((entity*) IFC4X3_RC3_types[966]),((entity*) IFC4X3_RC3_types[1166]),((entity*) IFC4X3_RC3_types[1314])}); - ((entity*) IFC4X3_RC3_types[1245])->set_subtypes({((entity*) IFC4X3_RC3_types[426]),((entity*) IFC4X3_RC3_types[804]),((entity*) IFC4X3_RC3_types[1168])}); - ((entity*) IFC4X3_RC3_types[825])->set_subtypes({((entity*) IFC4X3_RC3_types[428]),((entity*) IFC4X3_RC3_types[793]),((entity*) IFC4X3_RC3_types[824]),((entity*) IFC4X3_RC3_types[830])}); - ((entity*) IFC4X3_RC3_types[437])->set_subtypes({((entity*) IFC4X3_RC3_types[435])}); - ((entity*) IFC4X3_RC3_types[1055])->set_subtypes({((entity*) IFC4X3_RC3_types[437]),((entity*) IFC4X3_RC3_types[1058]),((entity*) IFC4X3_RC3_types[1060])}); - ((entity*) IFC4X3_RC3_types[438])->set_subtypes({((entity*) IFC4X3_RC3_types[439])}); - ((entity*) IFC4X3_RC3_types[442])->set_subtypes({((entity*) IFC4X3_RC3_types[443])}); - ((entity*) IFC4X3_RC3_types[440])->set_subtypes({((entity*) IFC4X3_RC3_types[444])}); - ((entity*) IFC4X3_RC3_types[445])->set_subtypes({((entity*) IFC4X3_RC3_types[446])}); - ((entity*) IFC4X3_RC3_types[1085])->set_subtypes({((entity*) IFC4X3_RC3_types[452]),((entity*) IFC4X3_RC3_types[1036])}); - ((entity*) IFC4X3_RC3_types[459])->set_subtypes({((entity*) IFC4X3_RC3_types[460]),((entity*) IFC4X3_RC3_types[461]),((entity*) IFC4X3_RC3_types[1132])}); - ((entity*) IFC4X3_RC3_types[309])->set_subtypes({((entity*) IFC4X3_RC3_types[472]),((entity*) IFC4X3_RC3_types[1131])}); - ((entity*) IFC4X3_RC3_types[502])->set_subtypes({((entity*) IFC4X3_RC3_types[504]),((entity*) IFC4X3_RC3_types[1155])}); - ((entity*) IFC4X3_RC3_types[503])->set_subtypes({((entity*) IFC4X3_RC3_types[505]),((entity*) IFC4X3_RC3_types[1156])}); - ((entity*) IFC4X3_RC3_types[515])->set_subtypes({((entity*) IFC4X3_RC3_types[510])}); - ((entity*) IFC4X3_RC3_types[957])->set_subtypes({((entity*) IFC4X3_RC3_types[512])}); - ((entity*) IFC4X3_RC3_types[958])->set_subtypes({((entity*) IFC4X3_RC3_types[513]),((entity*) IFC4X3_RC3_types[632]),((entity*) IFC4X3_RC3_types[1122]),((entity*) IFC4X3_RC3_types[1217])}); - ((entity*) IFC4X3_RC3_types[512])->set_subtypes({((entity*) IFC4X3_RC3_types[514])}); - ((entity*) IFC4X3_RC3_types[520])->set_subtypes({((entity*) IFC4X3_RC3_types[519]),((entity*) IFC4X3_RC3_types[521])}); - ((entity*) IFC4X3_RC3_types[783])->set_subtypes({((entity*) IFC4X3_RC3_types[525]),((entity*) IFC4X3_RC3_types[612]),((entity*) IFC4X3_RC3_types[887])}); - ((entity*) IFC4X3_RC3_types[708])->set_subtypes({((entity*) IFC4X3_RC3_types[527]),((entity*) IFC4X3_RC3_types[611]),((entity*) IFC4X3_RC3_types[620])}); - ((entity*) IFC4X3_RC3_types[311])->set_subtypes({((entity*) IFC4X3_RC3_types[548])}); - ((entity*) IFC4X3_RC3_types[1183])->set_subtypes({((entity*) IFC4X3_RC3_types[551]),((entity*) IFC4X3_RC3_types[1182])}); - ((entity*) IFC4X3_RC3_types[551])->set_subtypes({((entity*) IFC4X3_RC3_types[552])}); - ((entity*) IFC4X3_RC3_types[1197])->set_subtypes({((entity*) IFC4X3_RC3_types[553]),((entity*) IFC4X3_RC3_types[1198]),((entity*) IFC4X3_RC3_types[1199])}); - ((entity*) IFC4X3_RC3_types[553])->set_subtypes({((entity*) IFC4X3_RC3_types[554])}); - ((entity*) IFC4X3_RC3_types[1130])->set_subtypes({((entity*) IFC4X3_RC3_types[563]),((entity*) IFC4X3_RC3_types[988])}); - ((entity*) IFC4X3_RC3_types[1213])->set_subtypes({((entity*) IFC4X3_RC3_types[567]),((entity*) IFC4X3_RC3_types[890])}); - ((entity*) IFC4X3_RC3_types[601])->set_subtypes({((entity*) IFC4X3_RC3_types[602]),((entity*) IFC4X3_RC3_types[603]),((entity*) IFC4X3_RC3_types[604]),((entity*) IFC4X3_RC3_types[605])}); - ((entity*) IFC4X3_RC3_types[605])->set_subtypes({((entity*) IFC4X3_RC3_types[606])}); - ((entity*) IFC4X3_RC3_types[245])->set_subtypes({((entity*) IFC4X3_RC3_types[631])}); - ((entity*) IFC4X3_RC3_types[644])->set_subtypes({((entity*) IFC4X3_RC3_types[640]),((entity*) IFC4X3_RC3_types[642]),((entity*) IFC4X3_RC3_types[643]),((entity*) IFC4X3_RC3_types[646]),((entity*) IFC4X3_RC3_types[647]),((entity*) IFC4X3_RC3_types[651]),((entity*) IFC4X3_RC3_types[652])}); - ((entity*) IFC4X3_RC3_types[810])->set_subtypes({((entity*) IFC4X3_RC3_types[645]),((entity*) IFC4X3_RC3_types[809])}); - ((entity*) IFC4X3_RC3_types[659])->set_subtypes({((entity*) IFC4X3_RC3_types[648]),((entity*) IFC4X3_RC3_types[653])}); - ((entity*) IFC4X3_RC3_types[646])->set_subtypes({((entity*) IFC4X3_RC3_types[649])}); - ((entity*) IFC4X3_RC3_types[653])->set_subtypes({((entity*) IFC4X3_RC3_types[654])}); - ((entity*) IFC4X3_RC3_types[651])->set_subtypes({((entity*) IFC4X3_RC3_types[655])}); - ((entity*) IFC4X3_RC3_types[428])->set_subtypes({((entity*) IFC4X3_RC3_types[656]),((entity*) IFC4X3_RC3_types[814])}); - ((entity*) IFC4X3_RC3_types[668])->set_subtypes({((entity*) IFC4X3_RC3_types[669])}); - ((entity*) IFC4X3_RC3_types[214])->set_subtypes({((entity*) IFC4X3_RC3_types[672]),((entity*) IFC4X3_RC3_types[706])}); - ((entity*) IFC4X3_RC3_types[300])->set_subtypes({((entity*) IFC4X3_RC3_types[674])}); - ((entity*) IFC4X3_RC3_types[978])->set_subtypes({((entity*) IFC4X3_RC3_types[705]),((entity*) IFC4X3_RC3_types[827]),((entity*) IFC4X3_RC3_types[922])}); - ((entity*) IFC4X3_RC3_types[6])->set_subtypes({((entity*) IFC4X3_RC3_types[711])}); - ((entity*) IFC4X3_RC3_types[713])->set_subtypes({((entity*) IFC4X3_RC3_types[714]),((entity*) IFC4X3_RC3_types[715]),((entity*) IFC4X3_RC3_types[716])}); - ((entity*) IFC4X3_RC3_types[718])->set_subtypes({((entity*) IFC4X3_RC3_types[720])}); - ((entity*) IFC4X3_RC3_types[95])->set_subtypes({((entity*) IFC4X3_RC3_types[725])}); - ((entity*) IFC4X3_RC3_types[748])->set_subtypes({((entity*) IFC4X3_RC3_types[746]),((entity*) IFC4X3_RC3_types[749])}); - ((entity*) IFC4X3_RC3_types[763])->set_subtypes({((entity*) IFC4X3_RC3_types[762])}); - ((entity*) IFC4X3_RC3_types[507])->set_subtypes({((entity*) IFC4X3_RC3_types[767])}); - ((entity*) IFC4X3_RC3_types[768])->set_subtypes({((entity*) IFC4X3_RC3_types[769])}); - ((entity*) IFC4X3_RC3_types[1182])->set_subtypes({((entity*) IFC4X3_RC3_types[778]),((entity*) IFC4X3_RC3_types[1235])}); - ((entity*) IFC4X3_RC3_types[12])->set_subtypes({((entity*) IFC4X3_RC3_types[788]),((entity*) IFC4X3_RC3_types[1170])}); - ((entity*) IFC4X3_RC3_types[792])->set_subtypes({((entity*) IFC4X3_RC3_types[790]),((entity*) IFC4X3_RC3_types[791]),((entity*) IFC4X3_RC3_types[795])}); - ((entity*) IFC4X3_RC3_types[834])->set_subtypes({((entity*) IFC4X3_RC3_types[794]),((entity*) IFC4X3_RC3_types[833]),((entity*) IFC4X3_RC3_types[856])}); - ((entity*) IFC4X3_RC3_types[799])->set_subtypes({((entity*) IFC4X3_RC3_types[800])}); - ((entity*) IFC4X3_RC3_types[227])->set_subtypes({((entity*) IFC4X3_RC3_types[816]),((entity*) IFC4X3_RC3_types[821])}); - ((entity*) IFC4X3_RC3_types[246])->set_subtypes({((entity*) IFC4X3_RC3_types[817])}); - ((entity*) IFC4X3_RC3_types[460])->set_subtypes({((entity*) IFC4X3_RC3_types[819])}); - ((entity*) IFC4X3_RC3_types[1021])->set_subtypes({((entity*) IFC4X3_RC3_types[826]),((entity*) IFC4X3_RC3_types[829]),((entity*) IFC4X3_RC3_types[831]),((entity*) IFC4X3_RC3_types[832]),((entity*) IFC4X3_RC3_types[839]),((entity*) IFC4X3_RC3_types[840])}); - ((entity*) IFC4X3_RC3_types[827])->set_subtypes({((entity*) IFC4X3_RC3_types[834]),((entity*) IFC4X3_RC3_types[842])}); - ((entity*) IFC4X3_RC3_types[842])->set_subtypes({((entity*) IFC4X3_RC3_types[837]),((entity*) IFC4X3_RC3_types[841])}); - ((entity*) IFC4X3_RC3_types[749])->set_subtypes({((entity*) IFC4X3_RC3_types[853]),((entity*) IFC4X3_RC3_types[854]),((entity*) IFC4X3_RC3_types[855]),((entity*) IFC4X3_RC3_types[857]),((entity*) IFC4X3_RC3_types[858]),((entity*) IFC4X3_RC3_types[859])}); - ((entity*) IFC4X3_RC3_types[110])->set_subtypes({((entity*) IFC4X3_RC3_types[877])}); - ((entity*) IFC4X3_RC3_types[113])->set_subtypes({((entity*) IFC4X3_RC3_types[878])}); - ((entity*) IFC4X3_RC3_types[881])->set_subtypes({((entity*) IFC4X3_RC3_types[880]),((entity*) IFC4X3_RC3_types[983])}); - ((entity*) IFC4X3_RC3_types[793])->set_subtypes({((entity*) IFC4X3_RC3_types[893]),((entity*) IFC4X3_RC3_types[996]),((entity*) IFC4X3_RC3_types[997])}); - ((entity*) IFC4X3_RC3_types[900])->set_subtypes({((entity*) IFC4X3_RC3_types[895]),((entity*) IFC4X3_RC3_types[902]),((entity*) IFC4X3_RC3_types[1173]),((entity*) IFC4X3_RC3_types[1174]),((entity*) IFC4X3_RC3_types[1177])}); - ((entity*) IFC4X3_RC3_types[901])->set_subtypes({((entity*) IFC4X3_RC3_types[898]),((entity*) IFC4X3_RC3_types[903]),((entity*) IFC4X3_RC3_types[1175]),((entity*) IFC4X3_RC3_types[1178]),((entity*) IFC4X3_RC3_types[1180])}); - ((entity*) IFC4X3_RC3_types[936])->set_subtypes({((entity*) IFC4X3_RC3_types[905]),((entity*) IFC4X3_RC3_types[945]),((entity*) IFC4X3_RC3_types[947]),((entity*) IFC4X3_RC3_types[954])}); - ((entity*) IFC4X3_RC3_types[922])->set_subtypes({((entity*) IFC4X3_RC3_types[906]),((entity*) IFC4X3_RC3_types[914]),((entity*) IFC4X3_RC3_types[923]),((entity*) IFC4X3_RC3_types[935]),((entity*) IFC4X3_RC3_types[936]),((entity*) IFC4X3_RC3_types[937])}); - ((entity*) IFC4X3_RC3_types[906])->set_subtypes({((entity*) IFC4X3_RC3_types[907]),((entity*) IFC4X3_RC3_types[908]),((entity*) IFC4X3_RC3_types[909]),((entity*) IFC4X3_RC3_types[911]),((entity*) IFC4X3_RC3_types[912]),((entity*) IFC4X3_RC3_types[913])}); - ((entity*) IFC4X3_RC3_types[909])->set_subtypes({((entity*) IFC4X3_RC3_types[910])}); - ((entity*) IFC4X3_RC3_types[914])->set_subtypes({((entity*) IFC4X3_RC3_types[915]),((entity*) IFC4X3_RC3_types[916]),((entity*) IFC4X3_RC3_types[917]),((entity*) IFC4X3_RC3_types[918]),((entity*) IFC4X3_RC3_types[919]),((entity*) IFC4X3_RC3_types[920]),((entity*) IFC4X3_RC3_types[921])}); - ((entity*) IFC4X3_RC3_types[923])->set_subtypes({((entity*) IFC4X3_RC3_types[924]),((entity*) IFC4X3_RC3_types[927]),((entity*) IFC4X3_RC3_types[926]),((entity*) IFC4X3_RC3_types[928]),((entity*) IFC4X3_RC3_types[929]),((entity*) IFC4X3_RC3_types[932]),((entity*) IFC4X3_RC3_types[933]),((entity*) IFC4X3_RC3_types[934]),((entity*) IFC4X3_RC3_types[942]),((entity*) IFC4X3_RC3_types[943]),((entity*) IFC4X3_RC3_types[944]),((entity*) IFC4X3_RC3_types[946]),((entity*) IFC4X3_RC3_types[948]),((entity*) IFC4X3_RC3_types[949]),((entity*) IFC4X3_RC3_types[950]),((entity*) IFC4X3_RC3_types[951])}); - ((entity*) IFC4X3_RC3_types[924])->set_subtypes({((entity*) IFC4X3_RC3_types[925]),((entity*) IFC4X3_RC3_types[931])}); - ((entity*) IFC4X3_RC3_types[929])->set_subtypes({((entity*) IFC4X3_RC3_types[930])}); - ((entity*) IFC4X3_RC3_types[937])->set_subtypes({((entity*) IFC4X3_RC3_types[938]),((entity*) IFC4X3_RC3_types[939]),((entity*) IFC4X3_RC3_types[940]),((entity*) IFC4X3_RC3_types[941])}); - ((entity*) IFC4X3_RC3_types[951])->set_subtypes({((entity*) IFC4X3_RC3_types[952])}); - ((entity*) IFC4X3_RC3_types[952])->set_subtypes({((entity*) IFC4X3_RC3_types[953])}); - ((entity*) IFC4X3_RC3_types[196])->set_subtypes({((entity*) IFC4X3_RC3_types[955])}); - ((entity*) IFC4X3_RC3_types[967])->set_subtypes({((entity*) IFC4X3_RC3_types[968])}); - ((entity*) IFC4X3_RC3_types[991])->set_subtypes({((entity*) IFC4X3_RC3_types[992])}); - ((entity*) IFC4X3_RC3_types[956])->set_subtypes({((entity*) IFC4X3_RC3_types[1010]),((entity*) IFC4X3_RC3_types[1124])}); - ((entity*) IFC4X3_RC3_types[1010])->set_subtypes({((entity*) IFC4X3_RC3_types[1011]),((entity*) IFC4X3_RC3_types[1218])}); - ((entity*) IFC4X3_RC3_types[1031])->set_subtypes({((entity*) IFC4X3_RC3_types[1032]),((entity*) IFC4X3_RC3_types[1033])}); - ((entity*) IFC4X3_RC3_types[521])->set_subtypes({((entity*) IFC4X3_RC3_types[1043]),((entity*) IFC4X3_RC3_types[1280]),((entity*) IFC4X3_RC3_types[1294])}); - ((entity*) IFC4X3_RC3_types[1059])->set_subtypes({((entity*) IFC4X3_RC3_types[1053])}); - ((entity*) IFC4X3_RC3_types[1056])->set_subtypes({((entity*) IFC4X3_RC3_types[1059]),((entity*) IFC4X3_RC3_types[1061])}); - ((entity*) IFC4X3_RC3_types[1081])->set_subtypes({((entity*) IFC4X3_RC3_types[1080]),((entity*) IFC4X3_RC3_types[1113])}); - ((entity*) IFC4X3_RC3_types[1093])->set_subtypes({((entity*) IFC4X3_RC3_types[1084]),((entity*) IFC4X3_RC3_types[1108])}); - ((entity*) IFC4X3_RC3_types[1080])->set_subtypes({((entity*) IFC4X3_RC3_types[1086]),((entity*) IFC4X3_RC3_types[1110]),((entity*) IFC4X3_RC3_types[1115])}); - ((entity*) IFC4X3_RC3_types[1084])->set_subtypes({((entity*) IFC4X3_RC3_types[1088]),((entity*) IFC4X3_RC3_types[1111]),((entity*) IFC4X3_RC3_types[1117])}); - ((entity*) IFC4X3_RC3_types[1108])->set_subtypes({((entity*) IFC4X3_RC3_types[1089]),((entity*) IFC4X3_RC3_types[1118])}); - ((entity*) IFC4X3_RC3_types[1089])->set_subtypes({((entity*) IFC4X3_RC3_types[1091])}); - ((entity*) IFC4X3_RC3_types[1113])->set_subtypes({((entity*) IFC4X3_RC3_types[1092]),((entity*) IFC4X3_RC3_types[1112]),((entity*) IFC4X3_RC3_types[1121])}); - ((entity*) IFC4X3_RC3_types[1086])->set_subtypes({((entity*) IFC4X3_RC3_types[1094])}); - ((entity*) IFC4X3_RC3_types[1098])->set_subtypes({((entity*) IFC4X3_RC3_types[1096])}); - ((entity*) IFC4X3_RC3_types[1095])->set_subtypes({((entity*) IFC4X3_RC3_types[1097]),((entity*) IFC4X3_RC3_types[1100])}); - ((entity*) IFC4X3_RC3_types[1106])->set_subtypes({((entity*) IFC4X3_RC3_types[1099]),((entity*) IFC4X3_RC3_types[1101]),((entity*) IFC4X3_RC3_types[1102]),((entity*) IFC4X3_RC3_types[1104]),((entity*) IFC4X3_RC3_types[1107])}); + ((entity*) IFC4X3_RC3_types[460])->set_subtypes({((entity*) IFC4X3_RC3_types[363]),((entity*) IFC4X3_RC3_types[717]),((entity*) IFC4X3_RC3_types[1276])}); + ((entity*) IFC4X3_RC3_types[365])->set_subtypes({((entity*) IFC4X3_RC3_types[366]),((entity*) IFC4X3_RC3_types[889])}); + ((entity*) IFC4X3_RC3_types[368])->set_subtypes({((entity*) IFC4X3_RC3_types[369]),((entity*) IFC4X3_RC3_types[723]),((entity*) IFC4X3_RC3_types[1126])}); + ((entity*) IFC4X3_RC3_types[622])->set_subtypes({((entity*) IFC4X3_RC3_types[370]),((entity*) IFC4X3_RC3_types[778]),((entity*) IFC4X3_RC3_types[1265])}); + ((entity*) IFC4X3_RC3_types[487])->set_subtypes({((entity*) IFC4X3_RC3_types[381]),((entity*) IFC4X3_RC3_types[1159])}); + ((entity*) IFC4X3_RC3_types[488])->set_subtypes({((entity*) IFC4X3_RC3_types[382]),((entity*) IFC4X3_RC3_types[1160])}); + ((entity*) IFC4X3_RC3_types[854])->set_subtypes({((entity*) IFC4X3_RC3_types[406])}); + ((entity*) IFC4X3_RC3_types[804])->set_subtypes({((entity*) IFC4X3_RC3_types[422]),((entity*) IFC4X3_RC3_types[801]),((entity*) IFC4X3_RC3_types[1162])}); + ((entity*) IFC4X3_RC3_types[985])->set_subtypes({((entity*) IFC4X3_RC3_types[423]),((entity*) IFC4X3_RC3_types[581]),((entity*) IFC4X3_RC3_types[964]),((entity*) IFC4X3_RC3_types[1164]),((entity*) IFC4X3_RC3_types[1312])}); + ((entity*) IFC4X3_RC3_types[1243])->set_subtypes({((entity*) IFC4X3_RC3_types[425]),((entity*) IFC4X3_RC3_types[802]),((entity*) IFC4X3_RC3_types[1166])}); + ((entity*) IFC4X3_RC3_types[823])->set_subtypes({((entity*) IFC4X3_RC3_types[427]),((entity*) IFC4X3_RC3_types[791]),((entity*) IFC4X3_RC3_types[822]),((entity*) IFC4X3_RC3_types[828])}); + ((entity*) IFC4X3_RC3_types[436])->set_subtypes({((entity*) IFC4X3_RC3_types[434])}); + ((entity*) IFC4X3_RC3_types[1053])->set_subtypes({((entity*) IFC4X3_RC3_types[436]),((entity*) IFC4X3_RC3_types[1056]),((entity*) IFC4X3_RC3_types[1058])}); + ((entity*) IFC4X3_RC3_types[437])->set_subtypes({((entity*) IFC4X3_RC3_types[438])}); + ((entity*) IFC4X3_RC3_types[441])->set_subtypes({((entity*) IFC4X3_RC3_types[442])}); + ((entity*) IFC4X3_RC3_types[439])->set_subtypes({((entity*) IFC4X3_RC3_types[443])}); + ((entity*) IFC4X3_RC3_types[444])->set_subtypes({((entity*) IFC4X3_RC3_types[445])}); + ((entity*) IFC4X3_RC3_types[1083])->set_subtypes({((entity*) IFC4X3_RC3_types[451]),((entity*) IFC4X3_RC3_types[1034])}); + ((entity*) IFC4X3_RC3_types[458])->set_subtypes({((entity*) IFC4X3_RC3_types[459]),((entity*) IFC4X3_RC3_types[460]),((entity*) IFC4X3_RC3_types[1130])}); + ((entity*) IFC4X3_RC3_types[309])->set_subtypes({((entity*) IFC4X3_RC3_types[471]),((entity*) IFC4X3_RC3_types[1129])}); + ((entity*) IFC4X3_RC3_types[501])->set_subtypes({((entity*) IFC4X3_RC3_types[503]),((entity*) IFC4X3_RC3_types[1153])}); + ((entity*) IFC4X3_RC3_types[502])->set_subtypes({((entity*) IFC4X3_RC3_types[504]),((entity*) IFC4X3_RC3_types[1154])}); + ((entity*) IFC4X3_RC3_types[514])->set_subtypes({((entity*) IFC4X3_RC3_types[509])}); + ((entity*) IFC4X3_RC3_types[955])->set_subtypes({((entity*) IFC4X3_RC3_types[511])}); + ((entity*) IFC4X3_RC3_types[956])->set_subtypes({((entity*) IFC4X3_RC3_types[512]),((entity*) IFC4X3_RC3_types[631]),((entity*) IFC4X3_RC3_types[1120]),((entity*) IFC4X3_RC3_types[1215])}); + ((entity*) IFC4X3_RC3_types[511])->set_subtypes({((entity*) IFC4X3_RC3_types[513])}); + ((entity*) IFC4X3_RC3_types[519])->set_subtypes({((entity*) IFC4X3_RC3_types[518]),((entity*) IFC4X3_RC3_types[520])}); + ((entity*) IFC4X3_RC3_types[781])->set_subtypes({((entity*) IFC4X3_RC3_types[524]),((entity*) IFC4X3_RC3_types[611]),((entity*) IFC4X3_RC3_types[885])}); + ((entity*) IFC4X3_RC3_types[707])->set_subtypes({((entity*) IFC4X3_RC3_types[526]),((entity*) IFC4X3_RC3_types[610]),((entity*) IFC4X3_RC3_types[619])}); + ((entity*) IFC4X3_RC3_types[310])->set_subtypes({((entity*) IFC4X3_RC3_types[547])}); + ((entity*) IFC4X3_RC3_types[1181])->set_subtypes({((entity*) IFC4X3_RC3_types[550]),((entity*) IFC4X3_RC3_types[1180])}); + ((entity*) IFC4X3_RC3_types[550])->set_subtypes({((entity*) IFC4X3_RC3_types[551])}); + ((entity*) IFC4X3_RC3_types[1195])->set_subtypes({((entity*) IFC4X3_RC3_types[552]),((entity*) IFC4X3_RC3_types[1196]),((entity*) IFC4X3_RC3_types[1197])}); + ((entity*) IFC4X3_RC3_types[552])->set_subtypes({((entity*) IFC4X3_RC3_types[553])}); + ((entity*) IFC4X3_RC3_types[1128])->set_subtypes({((entity*) IFC4X3_RC3_types[562]),((entity*) IFC4X3_RC3_types[986])}); + ((entity*) IFC4X3_RC3_types[1211])->set_subtypes({((entity*) IFC4X3_RC3_types[566]),((entity*) IFC4X3_RC3_types[888])}); + ((entity*) IFC4X3_RC3_types[600])->set_subtypes({((entity*) IFC4X3_RC3_types[601]),((entity*) IFC4X3_RC3_types[602]),((entity*) IFC4X3_RC3_types[603]),((entity*) IFC4X3_RC3_types[604])}); + ((entity*) IFC4X3_RC3_types[604])->set_subtypes({((entity*) IFC4X3_RC3_types[605])}); + ((entity*) IFC4X3_RC3_types[245])->set_subtypes({((entity*) IFC4X3_RC3_types[630])}); + ((entity*) IFC4X3_RC3_types[643])->set_subtypes({((entity*) IFC4X3_RC3_types[639]),((entity*) IFC4X3_RC3_types[641]),((entity*) IFC4X3_RC3_types[642]),((entity*) IFC4X3_RC3_types[645]),((entity*) IFC4X3_RC3_types[646]),((entity*) IFC4X3_RC3_types[650]),((entity*) IFC4X3_RC3_types[651])}); + ((entity*) IFC4X3_RC3_types[808])->set_subtypes({((entity*) IFC4X3_RC3_types[644]),((entity*) IFC4X3_RC3_types[807])}); + ((entity*) IFC4X3_RC3_types[658])->set_subtypes({((entity*) IFC4X3_RC3_types[647]),((entity*) IFC4X3_RC3_types[652])}); + ((entity*) IFC4X3_RC3_types[645])->set_subtypes({((entity*) IFC4X3_RC3_types[648])}); + ((entity*) IFC4X3_RC3_types[652])->set_subtypes({((entity*) IFC4X3_RC3_types[653])}); + ((entity*) IFC4X3_RC3_types[650])->set_subtypes({((entity*) IFC4X3_RC3_types[654])}); + ((entity*) IFC4X3_RC3_types[427])->set_subtypes({((entity*) IFC4X3_RC3_types[655]),((entity*) IFC4X3_RC3_types[812])}); + ((entity*) IFC4X3_RC3_types[667])->set_subtypes({((entity*) IFC4X3_RC3_types[668])}); + ((entity*) IFC4X3_RC3_types[214])->set_subtypes({((entity*) IFC4X3_RC3_types[671]),((entity*) IFC4X3_RC3_types[705])}); + ((entity*) IFC4X3_RC3_types[300])->set_subtypes({((entity*) IFC4X3_RC3_types[673])}); + ((entity*) IFC4X3_RC3_types[976])->set_subtypes({((entity*) IFC4X3_RC3_types[704]),((entity*) IFC4X3_RC3_types[825]),((entity*) IFC4X3_RC3_types[920])}); + ((entity*) IFC4X3_RC3_types[6])->set_subtypes({((entity*) IFC4X3_RC3_types[710])}); + ((entity*) IFC4X3_RC3_types[712])->set_subtypes({((entity*) IFC4X3_RC3_types[713]),((entity*) IFC4X3_RC3_types[714]),((entity*) IFC4X3_RC3_types[715])}); + ((entity*) IFC4X3_RC3_types[717])->set_subtypes({((entity*) IFC4X3_RC3_types[719])}); + ((entity*) IFC4X3_RC3_types[95])->set_subtypes({((entity*) IFC4X3_RC3_types[724])}); + ((entity*) IFC4X3_RC3_types[746])->set_subtypes({((entity*) IFC4X3_RC3_types[744]),((entity*) IFC4X3_RC3_types[747])}); + ((entity*) IFC4X3_RC3_types[761])->set_subtypes({((entity*) IFC4X3_RC3_types[760])}); + ((entity*) IFC4X3_RC3_types[506])->set_subtypes({((entity*) IFC4X3_RC3_types[765])}); + ((entity*) IFC4X3_RC3_types[766])->set_subtypes({((entity*) IFC4X3_RC3_types[767])}); + ((entity*) IFC4X3_RC3_types[1180])->set_subtypes({((entity*) IFC4X3_RC3_types[776]),((entity*) IFC4X3_RC3_types[1233])}); + ((entity*) IFC4X3_RC3_types[12])->set_subtypes({((entity*) IFC4X3_RC3_types[786]),((entity*) IFC4X3_RC3_types[1168])}); + ((entity*) IFC4X3_RC3_types[790])->set_subtypes({((entity*) IFC4X3_RC3_types[788]),((entity*) IFC4X3_RC3_types[789]),((entity*) IFC4X3_RC3_types[793])}); + ((entity*) IFC4X3_RC3_types[832])->set_subtypes({((entity*) IFC4X3_RC3_types[792]),((entity*) IFC4X3_RC3_types[831]),((entity*) IFC4X3_RC3_types[854])}); + ((entity*) IFC4X3_RC3_types[797])->set_subtypes({((entity*) IFC4X3_RC3_types[798])}); + ((entity*) IFC4X3_RC3_types[227])->set_subtypes({((entity*) IFC4X3_RC3_types[814]),((entity*) IFC4X3_RC3_types[819])}); + ((entity*) IFC4X3_RC3_types[246])->set_subtypes({((entity*) IFC4X3_RC3_types[815])}); + ((entity*) IFC4X3_RC3_types[459])->set_subtypes({((entity*) IFC4X3_RC3_types[817])}); + ((entity*) IFC4X3_RC3_types[1019])->set_subtypes({((entity*) IFC4X3_RC3_types[824]),((entity*) IFC4X3_RC3_types[827]),((entity*) IFC4X3_RC3_types[829]),((entity*) IFC4X3_RC3_types[830]),((entity*) IFC4X3_RC3_types[837]),((entity*) IFC4X3_RC3_types[838])}); + ((entity*) IFC4X3_RC3_types[825])->set_subtypes({((entity*) IFC4X3_RC3_types[832]),((entity*) IFC4X3_RC3_types[840])}); + ((entity*) IFC4X3_RC3_types[840])->set_subtypes({((entity*) IFC4X3_RC3_types[835]),((entity*) IFC4X3_RC3_types[839])}); + ((entity*) IFC4X3_RC3_types[747])->set_subtypes({((entity*) IFC4X3_RC3_types[851]),((entity*) IFC4X3_RC3_types[852]),((entity*) IFC4X3_RC3_types[853]),((entity*) IFC4X3_RC3_types[855]),((entity*) IFC4X3_RC3_types[856]),((entity*) IFC4X3_RC3_types[857])}); + ((entity*) IFC4X3_RC3_types[110])->set_subtypes({((entity*) IFC4X3_RC3_types[875])}); + ((entity*) IFC4X3_RC3_types[113])->set_subtypes({((entity*) IFC4X3_RC3_types[876])}); + ((entity*) IFC4X3_RC3_types[879])->set_subtypes({((entity*) IFC4X3_RC3_types[878]),((entity*) IFC4X3_RC3_types[981])}); + ((entity*) IFC4X3_RC3_types[791])->set_subtypes({((entity*) IFC4X3_RC3_types[891]),((entity*) IFC4X3_RC3_types[994]),((entity*) IFC4X3_RC3_types[995])}); + ((entity*) IFC4X3_RC3_types[898])->set_subtypes({((entity*) IFC4X3_RC3_types[893]),((entity*) IFC4X3_RC3_types[900]),((entity*) IFC4X3_RC3_types[1171]),((entity*) IFC4X3_RC3_types[1172]),((entity*) IFC4X3_RC3_types[1175])}); + ((entity*) IFC4X3_RC3_types[899])->set_subtypes({((entity*) IFC4X3_RC3_types[896]),((entity*) IFC4X3_RC3_types[901]),((entity*) IFC4X3_RC3_types[1173]),((entity*) IFC4X3_RC3_types[1176]),((entity*) IFC4X3_RC3_types[1178])}); + ((entity*) IFC4X3_RC3_types[934])->set_subtypes({((entity*) IFC4X3_RC3_types[903]),((entity*) IFC4X3_RC3_types[943]),((entity*) IFC4X3_RC3_types[945]),((entity*) IFC4X3_RC3_types[952])}); + ((entity*) IFC4X3_RC3_types[920])->set_subtypes({((entity*) IFC4X3_RC3_types[904]),((entity*) IFC4X3_RC3_types[912]),((entity*) IFC4X3_RC3_types[921]),((entity*) IFC4X3_RC3_types[933]),((entity*) IFC4X3_RC3_types[934]),((entity*) IFC4X3_RC3_types[935])}); + ((entity*) IFC4X3_RC3_types[904])->set_subtypes({((entity*) IFC4X3_RC3_types[905]),((entity*) IFC4X3_RC3_types[906]),((entity*) IFC4X3_RC3_types[907]),((entity*) IFC4X3_RC3_types[909]),((entity*) IFC4X3_RC3_types[910]),((entity*) IFC4X3_RC3_types[911])}); + ((entity*) IFC4X3_RC3_types[907])->set_subtypes({((entity*) IFC4X3_RC3_types[908])}); + ((entity*) IFC4X3_RC3_types[912])->set_subtypes({((entity*) IFC4X3_RC3_types[913]),((entity*) IFC4X3_RC3_types[914]),((entity*) IFC4X3_RC3_types[915]),((entity*) IFC4X3_RC3_types[916]),((entity*) IFC4X3_RC3_types[917]),((entity*) IFC4X3_RC3_types[918]),((entity*) IFC4X3_RC3_types[919])}); + ((entity*) IFC4X3_RC3_types[921])->set_subtypes({((entity*) IFC4X3_RC3_types[922]),((entity*) IFC4X3_RC3_types[925]),((entity*) IFC4X3_RC3_types[924]),((entity*) IFC4X3_RC3_types[926]),((entity*) IFC4X3_RC3_types[927]),((entity*) IFC4X3_RC3_types[930]),((entity*) IFC4X3_RC3_types[931]),((entity*) IFC4X3_RC3_types[932]),((entity*) IFC4X3_RC3_types[940]),((entity*) IFC4X3_RC3_types[941]),((entity*) IFC4X3_RC3_types[942]),((entity*) IFC4X3_RC3_types[944]),((entity*) IFC4X3_RC3_types[946]),((entity*) IFC4X3_RC3_types[947]),((entity*) IFC4X3_RC3_types[948]),((entity*) IFC4X3_RC3_types[949])}); + ((entity*) IFC4X3_RC3_types[922])->set_subtypes({((entity*) IFC4X3_RC3_types[923]),((entity*) IFC4X3_RC3_types[929])}); + ((entity*) IFC4X3_RC3_types[927])->set_subtypes({((entity*) IFC4X3_RC3_types[928])}); + ((entity*) IFC4X3_RC3_types[935])->set_subtypes({((entity*) IFC4X3_RC3_types[936]),((entity*) IFC4X3_RC3_types[937]),((entity*) IFC4X3_RC3_types[938]),((entity*) IFC4X3_RC3_types[939])}); + ((entity*) IFC4X3_RC3_types[949])->set_subtypes({((entity*) IFC4X3_RC3_types[950])}); + ((entity*) IFC4X3_RC3_types[950])->set_subtypes({((entity*) IFC4X3_RC3_types[951])}); + ((entity*) IFC4X3_RC3_types[196])->set_subtypes({((entity*) IFC4X3_RC3_types[953])}); + ((entity*) IFC4X3_RC3_types[965])->set_subtypes({((entity*) IFC4X3_RC3_types[966])}); + ((entity*) IFC4X3_RC3_types[989])->set_subtypes({((entity*) IFC4X3_RC3_types[990])}); + ((entity*) IFC4X3_RC3_types[954])->set_subtypes({((entity*) IFC4X3_RC3_types[1008]),((entity*) IFC4X3_RC3_types[1122])}); + ((entity*) IFC4X3_RC3_types[1008])->set_subtypes({((entity*) IFC4X3_RC3_types[1009]),((entity*) IFC4X3_RC3_types[1216])}); + ((entity*) IFC4X3_RC3_types[1029])->set_subtypes({((entity*) IFC4X3_RC3_types[1030]),((entity*) IFC4X3_RC3_types[1031])}); + ((entity*) IFC4X3_RC3_types[520])->set_subtypes({((entity*) IFC4X3_RC3_types[1041]),((entity*) IFC4X3_RC3_types[1278]),((entity*) IFC4X3_RC3_types[1292])}); + ((entity*) IFC4X3_RC3_types[1057])->set_subtypes({((entity*) IFC4X3_RC3_types[1051])}); + ((entity*) IFC4X3_RC3_types[1054])->set_subtypes({((entity*) IFC4X3_RC3_types[1057]),((entity*) IFC4X3_RC3_types[1059])}); + ((entity*) IFC4X3_RC3_types[1079])->set_subtypes({((entity*) IFC4X3_RC3_types[1078]),((entity*) IFC4X3_RC3_types[1111])}); + ((entity*) IFC4X3_RC3_types[1091])->set_subtypes({((entity*) IFC4X3_RC3_types[1082]),((entity*) IFC4X3_RC3_types[1106])}); + ((entity*) IFC4X3_RC3_types[1078])->set_subtypes({((entity*) IFC4X3_RC3_types[1084]),((entity*) IFC4X3_RC3_types[1108]),((entity*) IFC4X3_RC3_types[1113])}); + ((entity*) IFC4X3_RC3_types[1082])->set_subtypes({((entity*) IFC4X3_RC3_types[1086]),((entity*) IFC4X3_RC3_types[1109]),((entity*) IFC4X3_RC3_types[1115])}); + ((entity*) IFC4X3_RC3_types[1106])->set_subtypes({((entity*) IFC4X3_RC3_types[1087]),((entity*) IFC4X3_RC3_types[1116])}); + ((entity*) IFC4X3_RC3_types[1087])->set_subtypes({((entity*) IFC4X3_RC3_types[1089])}); + ((entity*) IFC4X3_RC3_types[1111])->set_subtypes({((entity*) IFC4X3_RC3_types[1090]),((entity*) IFC4X3_RC3_types[1110]),((entity*) IFC4X3_RC3_types[1119])}); + ((entity*) IFC4X3_RC3_types[1084])->set_subtypes({((entity*) IFC4X3_RC3_types[1092])}); + ((entity*) IFC4X3_RC3_types[1096])->set_subtypes({((entity*) IFC4X3_RC3_types[1094])}); + ((entity*) IFC4X3_RC3_types[1093])->set_subtypes({((entity*) IFC4X3_RC3_types[1095]),((entity*) IFC4X3_RC3_types[1098])}); + ((entity*) IFC4X3_RC3_types[1104])->set_subtypes({((entity*) IFC4X3_RC3_types[1097]),((entity*) IFC4X3_RC3_types[1099]),((entity*) IFC4X3_RC3_types[1100]),((entity*) IFC4X3_RC3_types[1102]),((entity*) IFC4X3_RC3_types[1105])}); + ((entity*) IFC4X3_RC3_types[1100])->set_subtypes({((entity*) IFC4X3_RC3_types[1101])}); ((entity*) IFC4X3_RC3_types[1102])->set_subtypes({((entity*) IFC4X3_RC3_types[1103])}); - ((entity*) IFC4X3_RC3_types[1104])->set_subtypes({((entity*) IFC4X3_RC3_types[1105])}); - ((entity*) IFC4X3_RC3_types[1100])->set_subtypes({((entity*) IFC4X3_RC3_types[1106]),((entity*) IFC4X3_RC3_types[1137])}); - ((entity*) IFC4X3_RC3_types[1115])->set_subtypes({((entity*) IFC4X3_RC3_types[1109])}); - ((entity*) IFC4X3_RC3_types[1118])->set_subtypes({((entity*) IFC4X3_RC3_types[1120])}); - ((entity*) IFC4X3_RC3_types[1124])->set_subtypes({((entity*) IFC4X3_RC3_types[1123])}); - ((entity*) IFC4X3_RC3_types[1150])->set_subtypes({((entity*) IFC4X3_RC3_types[1134]),((entity*) IFC4X3_RC3_types[1135])}); - ((entity*) IFC4X3_RC3_types[1144])->set_subtypes({((entity*) IFC4X3_RC3_types[1143])}); - ((entity*) IFC4X3_RC3_types[1148])->set_subtypes({((entity*) IFC4X3_RC3_types[1149])}); - ((entity*) IFC4X3_RC3_types[1166])->set_subtypes({((entity*) IFC4X3_RC3_types[1167])}); - ((entity*) IFC4X3_RC3_types[1189])->set_subtypes({((entity*) IFC4X3_RC3_types[1190])}); - ((entity*) IFC4X3_RC3_types[795])->set_subtypes({((entity*) IFC4X3_RC3_types[1193])}); - ((entity*) IFC4X3_RC3_types[1235])->set_subtypes({((entity*) IFC4X3_RC3_types[1236])}); - ((entity*) IFC4X3_RC3_types[1244])->set_subtypes({((entity*) IFC4X3_RC3_types[1245]),((entity*) IFC4X3_RC3_types[1246]),((entity*) IFC4X3_RC3_types[1247])}); - ((entity*) IFC4X3_RC3_types[1266])->set_subtypes({((entity*) IFC4X3_RC3_types[1268])}); - ((entity*) IFC4X3_RC3_types[1283])->set_subtypes({((entity*) IFC4X3_RC3_types[1284]),((entity*) IFC4X3_RC3_types[1285])}); - ((entity*) IFC4X3_RC3_types[1295])->set_subtypes({((entity*) IFC4X3_RC3_types[1300])}); - ((entity*) IFC4X3_RC3_types[1309])->set_subtypes({((entity*) IFC4X3_RC3_types[1310]),((entity*) IFC4X3_RC3_types[1312])}); - return new schema_definition(strings[3884], {IFC4X3_RC3_types[0],IFC4X3_RC3_types[1],IFC4X3_RC3_types[2],IFC4X3_RC3_types[3],IFC4X3_RC3_types[4],IFC4X3_RC3_types[5],IFC4X3_RC3_types[6],IFC4X3_RC3_types[7],IFC4X3_RC3_types[8],IFC4X3_RC3_types[9],IFC4X3_RC3_types[10],IFC4X3_RC3_types[11],IFC4X3_RC3_types[12],IFC4X3_RC3_types[13],IFC4X3_RC3_types[14],IFC4X3_RC3_types[15],IFC4X3_RC3_types[16],IFC4X3_RC3_types[17],IFC4X3_RC3_types[18],IFC4X3_RC3_types[19],IFC4X3_RC3_types[20],IFC4X3_RC3_types[21],IFC4X3_RC3_types[22],IFC4X3_RC3_types[23],IFC4X3_RC3_types[24],IFC4X3_RC3_types[25],IFC4X3_RC3_types[26],IFC4X3_RC3_types[27],IFC4X3_RC3_types[28],IFC4X3_RC3_types[29],IFC4X3_RC3_types[30],IFC4X3_RC3_types[31],IFC4X3_RC3_types[32],IFC4X3_RC3_types[33],IFC4X3_RC3_types[34],IFC4X3_RC3_types[35],IFC4X3_RC3_types[36],IFC4X3_RC3_types[37],IFC4X3_RC3_types[38],IFC4X3_RC3_types[39],IFC4X3_RC3_types[40],IFC4X3_RC3_types[41],IFC4X3_RC3_types[42],IFC4X3_RC3_types[43],IFC4X3_RC3_types[44],IFC4X3_RC3_types[45],IFC4X3_RC3_types[46],IFC4X3_RC3_types[47],IFC4X3_RC3_types[48],IFC4X3_RC3_types[49],IFC4X3_RC3_types[50],IFC4X3_RC3_types[51],IFC4X3_RC3_types[52],IFC4X3_RC3_types[53],IFC4X3_RC3_types[54],IFC4X3_RC3_types[55],IFC4X3_RC3_types[56],IFC4X3_RC3_types[57],IFC4X3_RC3_types[58],IFC4X3_RC3_types[59],IFC4X3_RC3_types[60],IFC4X3_RC3_types[61],IFC4X3_RC3_types[62],IFC4X3_RC3_types[63],IFC4X3_RC3_types[64],IFC4X3_RC3_types[65],IFC4X3_RC3_types[66],IFC4X3_RC3_types[67],IFC4X3_RC3_types[68],IFC4X3_RC3_types[69],IFC4X3_RC3_types[70],IFC4X3_RC3_types[71],IFC4X3_RC3_types[72],IFC4X3_RC3_types[73],IFC4X3_RC3_types[74],IFC4X3_RC3_types[75],IFC4X3_RC3_types[76],IFC4X3_RC3_types[77],IFC4X3_RC3_types[78],IFC4X3_RC3_types[79],IFC4X3_RC3_types[80],IFC4X3_RC3_types[81],IFC4X3_RC3_types[82],IFC4X3_RC3_types[83],IFC4X3_RC3_types[84],IFC4X3_RC3_types[85],IFC4X3_RC3_types[86],IFC4X3_RC3_types[87],IFC4X3_RC3_types[88],IFC4X3_RC3_types[89],IFC4X3_RC3_types[90],IFC4X3_RC3_types[91],IFC4X3_RC3_types[92],IFC4X3_RC3_types[93],IFC4X3_RC3_types[94],IFC4X3_RC3_types[95],IFC4X3_RC3_types[96],IFC4X3_RC3_types[97],IFC4X3_RC3_types[98],IFC4X3_RC3_types[99],IFC4X3_RC3_types[100],IFC4X3_RC3_types[101],IFC4X3_RC3_types[102],IFC4X3_RC3_types[103],IFC4X3_RC3_types[104],IFC4X3_RC3_types[105],IFC4X3_RC3_types[106],IFC4X3_RC3_types[107],IFC4X3_RC3_types[108],IFC4X3_RC3_types[109],IFC4X3_RC3_types[110],IFC4X3_RC3_types[111],IFC4X3_RC3_types[112],IFC4X3_RC3_types[113],IFC4X3_RC3_types[114],IFC4X3_RC3_types[115],IFC4X3_RC3_types[116],IFC4X3_RC3_types[117],IFC4X3_RC3_types[118],IFC4X3_RC3_types[119],IFC4X3_RC3_types[120],IFC4X3_RC3_types[121],IFC4X3_RC3_types[122],IFC4X3_RC3_types[123],IFC4X3_RC3_types[124],IFC4X3_RC3_types[125],IFC4X3_RC3_types[126],IFC4X3_RC3_types[127],IFC4X3_RC3_types[128],IFC4X3_RC3_types[129],IFC4X3_RC3_types[130],IFC4X3_RC3_types[131],IFC4X3_RC3_types[132],IFC4X3_RC3_types[133],IFC4X3_RC3_types[134],IFC4X3_RC3_types[135],IFC4X3_RC3_types[136],IFC4X3_RC3_types[137],IFC4X3_RC3_types[138],IFC4X3_RC3_types[139],IFC4X3_RC3_types[140],IFC4X3_RC3_types[141],IFC4X3_RC3_types[142],IFC4X3_RC3_types[143],IFC4X3_RC3_types[144],IFC4X3_RC3_types[145],IFC4X3_RC3_types[146],IFC4X3_RC3_types[147],IFC4X3_RC3_types[148],IFC4X3_RC3_types[149],IFC4X3_RC3_types[150],IFC4X3_RC3_types[151],IFC4X3_RC3_types[152],IFC4X3_RC3_types[153],IFC4X3_RC3_types[154],IFC4X3_RC3_types[155],IFC4X3_RC3_types[156],IFC4X3_RC3_types[157],IFC4X3_RC3_types[158],IFC4X3_RC3_types[159],IFC4X3_RC3_types[160],IFC4X3_RC3_types[161],IFC4X3_RC3_types[162],IFC4X3_RC3_types[163],IFC4X3_RC3_types[164],IFC4X3_RC3_types[165],IFC4X3_RC3_types[166],IFC4X3_RC3_types[167],IFC4X3_RC3_types[168],IFC4X3_RC3_types[169],IFC4X3_RC3_types[170],IFC4X3_RC3_types[171],IFC4X3_RC3_types[172],IFC4X3_RC3_types[173],IFC4X3_RC3_types[174],IFC4X3_RC3_types[175],IFC4X3_RC3_types[176],IFC4X3_RC3_types[177],IFC4X3_RC3_types[178],IFC4X3_RC3_types[179],IFC4X3_RC3_types[180],IFC4X3_RC3_types[181],IFC4X3_RC3_types[182],IFC4X3_RC3_types[183],IFC4X3_RC3_types[184],IFC4X3_RC3_types[185],IFC4X3_RC3_types[186],IFC4X3_RC3_types[187],IFC4X3_RC3_types[188],IFC4X3_RC3_types[189],IFC4X3_RC3_types[190],IFC4X3_RC3_types[191],IFC4X3_RC3_types[192],IFC4X3_RC3_types[193],IFC4X3_RC3_types[194],IFC4X3_RC3_types[195],IFC4X3_RC3_types[196],IFC4X3_RC3_types[197],IFC4X3_RC3_types[198],IFC4X3_RC3_types[199],IFC4X3_RC3_types[200],IFC4X3_RC3_types[201],IFC4X3_RC3_types[202],IFC4X3_RC3_types[203],IFC4X3_RC3_types[204],IFC4X3_RC3_types[205],IFC4X3_RC3_types[206],IFC4X3_RC3_types[207],IFC4X3_RC3_types[208],IFC4X3_RC3_types[209],IFC4X3_RC3_types[210],IFC4X3_RC3_types[211],IFC4X3_RC3_types[212],IFC4X3_RC3_types[213],IFC4X3_RC3_types[214],IFC4X3_RC3_types[215],IFC4X3_RC3_types[216],IFC4X3_RC3_types[217],IFC4X3_RC3_types[218],IFC4X3_RC3_types[219],IFC4X3_RC3_types[220],IFC4X3_RC3_types[221],IFC4X3_RC3_types[222],IFC4X3_RC3_types[223],IFC4X3_RC3_types[224],IFC4X3_RC3_types[225],IFC4X3_RC3_types[226],IFC4X3_RC3_types[227],IFC4X3_RC3_types[228],IFC4X3_RC3_types[229],IFC4X3_RC3_types[230],IFC4X3_RC3_types[231],IFC4X3_RC3_types[232],IFC4X3_RC3_types[233],IFC4X3_RC3_types[234],IFC4X3_RC3_types[235],IFC4X3_RC3_types[236],IFC4X3_RC3_types[237],IFC4X3_RC3_types[238],IFC4X3_RC3_types[239],IFC4X3_RC3_types[240],IFC4X3_RC3_types[241],IFC4X3_RC3_types[242],IFC4X3_RC3_types[243],IFC4X3_RC3_types[244],IFC4X3_RC3_types[245],IFC4X3_RC3_types[246],IFC4X3_RC3_types[247],IFC4X3_RC3_types[248],IFC4X3_RC3_types[249],IFC4X3_RC3_types[250],IFC4X3_RC3_types[251],IFC4X3_RC3_types[252],IFC4X3_RC3_types[253],IFC4X3_RC3_types[254],IFC4X3_RC3_types[255],IFC4X3_RC3_types[256],IFC4X3_RC3_types[257],IFC4X3_RC3_types[258],IFC4X3_RC3_types[259],IFC4X3_RC3_types[260],IFC4X3_RC3_types[261],IFC4X3_RC3_types[262],IFC4X3_RC3_types[263],IFC4X3_RC3_types[264],IFC4X3_RC3_types[265],IFC4X3_RC3_types[266],IFC4X3_RC3_types[267],IFC4X3_RC3_types[268],IFC4X3_RC3_types[269],IFC4X3_RC3_types[270],IFC4X3_RC3_types[271],IFC4X3_RC3_types[272],IFC4X3_RC3_types[273],IFC4X3_RC3_types[274],IFC4X3_RC3_types[275],IFC4X3_RC3_types[276],IFC4X3_RC3_types[277],IFC4X3_RC3_types[278],IFC4X3_RC3_types[279],IFC4X3_RC3_types[280],IFC4X3_RC3_types[281],IFC4X3_RC3_types[282],IFC4X3_RC3_types[283],IFC4X3_RC3_types[284],IFC4X3_RC3_types[285],IFC4X3_RC3_types[286],IFC4X3_RC3_types[287],IFC4X3_RC3_types[288],IFC4X3_RC3_types[289],IFC4X3_RC3_types[290],IFC4X3_RC3_types[291],IFC4X3_RC3_types[292],IFC4X3_RC3_types[293],IFC4X3_RC3_types[294],IFC4X3_RC3_types[295],IFC4X3_RC3_types[296],IFC4X3_RC3_types[297],IFC4X3_RC3_types[298],IFC4X3_RC3_types[299],IFC4X3_RC3_types[300],IFC4X3_RC3_types[301],IFC4X3_RC3_types[302],IFC4X3_RC3_types[303],IFC4X3_RC3_types[304],IFC4X3_RC3_types[305],IFC4X3_RC3_types[306],IFC4X3_RC3_types[307],IFC4X3_RC3_types[308],IFC4X3_RC3_types[309],IFC4X3_RC3_types[310],IFC4X3_RC3_types[311],IFC4X3_RC3_types[312],IFC4X3_RC3_types[313],IFC4X3_RC3_types[314],IFC4X3_RC3_types[315],IFC4X3_RC3_types[316],IFC4X3_RC3_types[317],IFC4X3_RC3_types[318],IFC4X3_RC3_types[319],IFC4X3_RC3_types[320],IFC4X3_RC3_types[321],IFC4X3_RC3_types[322],IFC4X3_RC3_types[323],IFC4X3_RC3_types[324],IFC4X3_RC3_types[325],IFC4X3_RC3_types[326],IFC4X3_RC3_types[327],IFC4X3_RC3_types[328],IFC4X3_RC3_types[329],IFC4X3_RC3_types[330],IFC4X3_RC3_types[331],IFC4X3_RC3_types[332],IFC4X3_RC3_types[333],IFC4X3_RC3_types[334],IFC4X3_RC3_types[335],IFC4X3_RC3_types[336],IFC4X3_RC3_types[337],IFC4X3_RC3_types[338],IFC4X3_RC3_types[339],IFC4X3_RC3_types[340],IFC4X3_RC3_types[341],IFC4X3_RC3_types[342],IFC4X3_RC3_types[343],IFC4X3_RC3_types[344],IFC4X3_RC3_types[345],IFC4X3_RC3_types[346],IFC4X3_RC3_types[347],IFC4X3_RC3_types[348],IFC4X3_RC3_types[349],IFC4X3_RC3_types[350],IFC4X3_RC3_types[351],IFC4X3_RC3_types[352],IFC4X3_RC3_types[353],IFC4X3_RC3_types[354],IFC4X3_RC3_types[355],IFC4X3_RC3_types[356],IFC4X3_RC3_types[357],IFC4X3_RC3_types[358],IFC4X3_RC3_types[359],IFC4X3_RC3_types[360],IFC4X3_RC3_types[361],IFC4X3_RC3_types[362],IFC4X3_RC3_types[363],IFC4X3_RC3_types[364],IFC4X3_RC3_types[365],IFC4X3_RC3_types[366],IFC4X3_RC3_types[367],IFC4X3_RC3_types[368],IFC4X3_RC3_types[369],IFC4X3_RC3_types[370],IFC4X3_RC3_types[371],IFC4X3_RC3_types[372],IFC4X3_RC3_types[373],IFC4X3_RC3_types[374],IFC4X3_RC3_types[375],IFC4X3_RC3_types[376],IFC4X3_RC3_types[377],IFC4X3_RC3_types[378],IFC4X3_RC3_types[379],IFC4X3_RC3_types[380],IFC4X3_RC3_types[381],IFC4X3_RC3_types[382],IFC4X3_RC3_types[383],IFC4X3_RC3_types[384],IFC4X3_RC3_types[385],IFC4X3_RC3_types[386],IFC4X3_RC3_types[387],IFC4X3_RC3_types[388],IFC4X3_RC3_types[389],IFC4X3_RC3_types[390],IFC4X3_RC3_types[391],IFC4X3_RC3_types[392],IFC4X3_RC3_types[393],IFC4X3_RC3_types[394],IFC4X3_RC3_types[395],IFC4X3_RC3_types[396],IFC4X3_RC3_types[397],IFC4X3_RC3_types[398],IFC4X3_RC3_types[399],IFC4X3_RC3_types[400],IFC4X3_RC3_types[401],IFC4X3_RC3_types[402],IFC4X3_RC3_types[403],IFC4X3_RC3_types[404],IFC4X3_RC3_types[405],IFC4X3_RC3_types[406],IFC4X3_RC3_types[407],IFC4X3_RC3_types[408],IFC4X3_RC3_types[409],IFC4X3_RC3_types[410],IFC4X3_RC3_types[411],IFC4X3_RC3_types[412],IFC4X3_RC3_types[413],IFC4X3_RC3_types[414],IFC4X3_RC3_types[415],IFC4X3_RC3_types[416],IFC4X3_RC3_types[417],IFC4X3_RC3_types[418],IFC4X3_RC3_types[419],IFC4X3_RC3_types[420],IFC4X3_RC3_types[421],IFC4X3_RC3_types[422],IFC4X3_RC3_types[423],IFC4X3_RC3_types[424],IFC4X3_RC3_types[425],IFC4X3_RC3_types[426],IFC4X3_RC3_types[427],IFC4X3_RC3_types[428],IFC4X3_RC3_types[429],IFC4X3_RC3_types[430],IFC4X3_RC3_types[431],IFC4X3_RC3_types[432],IFC4X3_RC3_types[433],IFC4X3_RC3_types[434],IFC4X3_RC3_types[435],IFC4X3_RC3_types[436],IFC4X3_RC3_types[437],IFC4X3_RC3_types[438],IFC4X3_RC3_types[439],IFC4X3_RC3_types[440],IFC4X3_RC3_types[441],IFC4X3_RC3_types[442],IFC4X3_RC3_types[443],IFC4X3_RC3_types[444],IFC4X3_RC3_types[445],IFC4X3_RC3_types[446],IFC4X3_RC3_types[447],IFC4X3_RC3_types[448],IFC4X3_RC3_types[449],IFC4X3_RC3_types[450],IFC4X3_RC3_types[451],IFC4X3_RC3_types[452],IFC4X3_RC3_types[453],IFC4X3_RC3_types[454],IFC4X3_RC3_types[455],IFC4X3_RC3_types[456],IFC4X3_RC3_types[457],IFC4X3_RC3_types[458],IFC4X3_RC3_types[459],IFC4X3_RC3_types[460],IFC4X3_RC3_types[461],IFC4X3_RC3_types[462],IFC4X3_RC3_types[463],IFC4X3_RC3_types[464],IFC4X3_RC3_types[465],IFC4X3_RC3_types[466],IFC4X3_RC3_types[467],IFC4X3_RC3_types[468],IFC4X3_RC3_types[469],IFC4X3_RC3_types[470],IFC4X3_RC3_types[471],IFC4X3_RC3_types[472],IFC4X3_RC3_types[473],IFC4X3_RC3_types[474],IFC4X3_RC3_types[475],IFC4X3_RC3_types[476],IFC4X3_RC3_types[477],IFC4X3_RC3_types[478],IFC4X3_RC3_types[479],IFC4X3_RC3_types[480],IFC4X3_RC3_types[481],IFC4X3_RC3_types[482],IFC4X3_RC3_types[483],IFC4X3_RC3_types[484],IFC4X3_RC3_types[485],IFC4X3_RC3_types[486],IFC4X3_RC3_types[487],IFC4X3_RC3_types[488],IFC4X3_RC3_types[489],IFC4X3_RC3_types[490],IFC4X3_RC3_types[491],IFC4X3_RC3_types[492],IFC4X3_RC3_types[493],IFC4X3_RC3_types[494],IFC4X3_RC3_types[495],IFC4X3_RC3_types[496],IFC4X3_RC3_types[497],IFC4X3_RC3_types[498],IFC4X3_RC3_types[499],IFC4X3_RC3_types[500],IFC4X3_RC3_types[501],IFC4X3_RC3_types[502],IFC4X3_RC3_types[503],IFC4X3_RC3_types[504],IFC4X3_RC3_types[505],IFC4X3_RC3_types[506],IFC4X3_RC3_types[507],IFC4X3_RC3_types[508],IFC4X3_RC3_types[509],IFC4X3_RC3_types[510],IFC4X3_RC3_types[511],IFC4X3_RC3_types[512],IFC4X3_RC3_types[513],IFC4X3_RC3_types[514],IFC4X3_RC3_types[515],IFC4X3_RC3_types[516],IFC4X3_RC3_types[517],IFC4X3_RC3_types[518],IFC4X3_RC3_types[519],IFC4X3_RC3_types[520],IFC4X3_RC3_types[521],IFC4X3_RC3_types[522],IFC4X3_RC3_types[523],IFC4X3_RC3_types[524],IFC4X3_RC3_types[525],IFC4X3_RC3_types[526],IFC4X3_RC3_types[527],IFC4X3_RC3_types[528],IFC4X3_RC3_types[529],IFC4X3_RC3_types[530],IFC4X3_RC3_types[531],IFC4X3_RC3_types[532],IFC4X3_RC3_types[533],IFC4X3_RC3_types[534],IFC4X3_RC3_types[535],IFC4X3_RC3_types[536],IFC4X3_RC3_types[537],IFC4X3_RC3_types[538],IFC4X3_RC3_types[539],IFC4X3_RC3_types[540],IFC4X3_RC3_types[541],IFC4X3_RC3_types[542],IFC4X3_RC3_types[543],IFC4X3_RC3_types[544],IFC4X3_RC3_types[545],IFC4X3_RC3_types[546],IFC4X3_RC3_types[547],IFC4X3_RC3_types[548],IFC4X3_RC3_types[549],IFC4X3_RC3_types[550],IFC4X3_RC3_types[551],IFC4X3_RC3_types[552],IFC4X3_RC3_types[553],IFC4X3_RC3_types[554],IFC4X3_RC3_types[555],IFC4X3_RC3_types[556],IFC4X3_RC3_types[557],IFC4X3_RC3_types[558],IFC4X3_RC3_types[559],IFC4X3_RC3_types[560],IFC4X3_RC3_types[561],IFC4X3_RC3_types[562],IFC4X3_RC3_types[563],IFC4X3_RC3_types[564],IFC4X3_RC3_types[565],IFC4X3_RC3_types[566],IFC4X3_RC3_types[567],IFC4X3_RC3_types[568],IFC4X3_RC3_types[569],IFC4X3_RC3_types[570],IFC4X3_RC3_types[571],IFC4X3_RC3_types[572],IFC4X3_RC3_types[573],IFC4X3_RC3_types[574],IFC4X3_RC3_types[575],IFC4X3_RC3_types[576],IFC4X3_RC3_types[577],IFC4X3_RC3_types[578],IFC4X3_RC3_types[579],IFC4X3_RC3_types[580],IFC4X3_RC3_types[581],IFC4X3_RC3_types[582],IFC4X3_RC3_types[583],IFC4X3_RC3_types[584],IFC4X3_RC3_types[585],IFC4X3_RC3_types[586],IFC4X3_RC3_types[587],IFC4X3_RC3_types[588],IFC4X3_RC3_types[589],IFC4X3_RC3_types[590],IFC4X3_RC3_types[591],IFC4X3_RC3_types[592],IFC4X3_RC3_types[593],IFC4X3_RC3_types[594],IFC4X3_RC3_types[595],IFC4X3_RC3_types[596],IFC4X3_RC3_types[597],IFC4X3_RC3_types[598],IFC4X3_RC3_types[599],IFC4X3_RC3_types[600],IFC4X3_RC3_types[601],IFC4X3_RC3_types[602],IFC4X3_RC3_types[603],IFC4X3_RC3_types[604],IFC4X3_RC3_types[605],IFC4X3_RC3_types[606],IFC4X3_RC3_types[607],IFC4X3_RC3_types[608],IFC4X3_RC3_types[609],IFC4X3_RC3_types[610],IFC4X3_RC3_types[611],IFC4X3_RC3_types[612],IFC4X3_RC3_types[613],IFC4X3_RC3_types[614],IFC4X3_RC3_types[615],IFC4X3_RC3_types[616],IFC4X3_RC3_types[617],IFC4X3_RC3_types[618],IFC4X3_RC3_types[619],IFC4X3_RC3_types[620],IFC4X3_RC3_types[621],IFC4X3_RC3_types[622],IFC4X3_RC3_types[623],IFC4X3_RC3_types[624],IFC4X3_RC3_types[625],IFC4X3_RC3_types[626],IFC4X3_RC3_types[627],IFC4X3_RC3_types[628],IFC4X3_RC3_types[629],IFC4X3_RC3_types[630],IFC4X3_RC3_types[631],IFC4X3_RC3_types[632],IFC4X3_RC3_types[633],IFC4X3_RC3_types[634],IFC4X3_RC3_types[635],IFC4X3_RC3_types[636],IFC4X3_RC3_types[637],IFC4X3_RC3_types[638],IFC4X3_RC3_types[639],IFC4X3_RC3_types[640],IFC4X3_RC3_types[641],IFC4X3_RC3_types[642],IFC4X3_RC3_types[643],IFC4X3_RC3_types[644],IFC4X3_RC3_types[645],IFC4X3_RC3_types[646],IFC4X3_RC3_types[647],IFC4X3_RC3_types[648],IFC4X3_RC3_types[649],IFC4X3_RC3_types[650],IFC4X3_RC3_types[651],IFC4X3_RC3_types[652],IFC4X3_RC3_types[653],IFC4X3_RC3_types[654],IFC4X3_RC3_types[655],IFC4X3_RC3_types[656],IFC4X3_RC3_types[657],IFC4X3_RC3_types[658],IFC4X3_RC3_types[659],IFC4X3_RC3_types[660],IFC4X3_RC3_types[661],IFC4X3_RC3_types[662],IFC4X3_RC3_types[663],IFC4X3_RC3_types[664],IFC4X3_RC3_types[665],IFC4X3_RC3_types[666],IFC4X3_RC3_types[667],IFC4X3_RC3_types[668],IFC4X3_RC3_types[669],IFC4X3_RC3_types[670],IFC4X3_RC3_types[671],IFC4X3_RC3_types[672],IFC4X3_RC3_types[673],IFC4X3_RC3_types[674],IFC4X3_RC3_types[675],IFC4X3_RC3_types[676],IFC4X3_RC3_types[677],IFC4X3_RC3_types[678],IFC4X3_RC3_types[679],IFC4X3_RC3_types[680],IFC4X3_RC3_types[681],IFC4X3_RC3_types[682],IFC4X3_RC3_types[683],IFC4X3_RC3_types[684],IFC4X3_RC3_types[685],IFC4X3_RC3_types[686],IFC4X3_RC3_types[687],IFC4X3_RC3_types[688],IFC4X3_RC3_types[689],IFC4X3_RC3_types[690],IFC4X3_RC3_types[691],IFC4X3_RC3_types[692],IFC4X3_RC3_types[693],IFC4X3_RC3_types[694],IFC4X3_RC3_types[695],IFC4X3_RC3_types[696],IFC4X3_RC3_types[697],IFC4X3_RC3_types[698],IFC4X3_RC3_types[699],IFC4X3_RC3_types[700],IFC4X3_RC3_types[701],IFC4X3_RC3_types[702],IFC4X3_RC3_types[703],IFC4X3_RC3_types[704],IFC4X3_RC3_types[705],IFC4X3_RC3_types[706],IFC4X3_RC3_types[707],IFC4X3_RC3_types[708],IFC4X3_RC3_types[709],IFC4X3_RC3_types[710],IFC4X3_RC3_types[711],IFC4X3_RC3_types[712],IFC4X3_RC3_types[713],IFC4X3_RC3_types[714],IFC4X3_RC3_types[715],IFC4X3_RC3_types[716],IFC4X3_RC3_types[717],IFC4X3_RC3_types[718],IFC4X3_RC3_types[719],IFC4X3_RC3_types[720],IFC4X3_RC3_types[721],IFC4X3_RC3_types[722],IFC4X3_RC3_types[723],IFC4X3_RC3_types[724],IFC4X3_RC3_types[725],IFC4X3_RC3_types[726],IFC4X3_RC3_types[727],IFC4X3_RC3_types[728],IFC4X3_RC3_types[729],IFC4X3_RC3_types[730],IFC4X3_RC3_types[731],IFC4X3_RC3_types[732],IFC4X3_RC3_types[733],IFC4X3_RC3_types[734],IFC4X3_RC3_types[735],IFC4X3_RC3_types[736],IFC4X3_RC3_types[737],IFC4X3_RC3_types[738],IFC4X3_RC3_types[739],IFC4X3_RC3_types[740],IFC4X3_RC3_types[741],IFC4X3_RC3_types[742],IFC4X3_RC3_types[743],IFC4X3_RC3_types[744],IFC4X3_RC3_types[745],IFC4X3_RC3_types[746],IFC4X3_RC3_types[747],IFC4X3_RC3_types[748],IFC4X3_RC3_types[749],IFC4X3_RC3_types[750],IFC4X3_RC3_types[751],IFC4X3_RC3_types[752],IFC4X3_RC3_types[753],IFC4X3_RC3_types[754],IFC4X3_RC3_types[755],IFC4X3_RC3_types[756],IFC4X3_RC3_types[757],IFC4X3_RC3_types[758],IFC4X3_RC3_types[759],IFC4X3_RC3_types[760],IFC4X3_RC3_types[761],IFC4X3_RC3_types[762],IFC4X3_RC3_types[763],IFC4X3_RC3_types[764],IFC4X3_RC3_types[765],IFC4X3_RC3_types[766],IFC4X3_RC3_types[767],IFC4X3_RC3_types[768],IFC4X3_RC3_types[769],IFC4X3_RC3_types[770],IFC4X3_RC3_types[771],IFC4X3_RC3_types[772],IFC4X3_RC3_types[773],IFC4X3_RC3_types[774],IFC4X3_RC3_types[775],IFC4X3_RC3_types[776],IFC4X3_RC3_types[777],IFC4X3_RC3_types[778],IFC4X3_RC3_types[779],IFC4X3_RC3_types[780],IFC4X3_RC3_types[781],IFC4X3_RC3_types[782],IFC4X3_RC3_types[783],IFC4X3_RC3_types[784],IFC4X3_RC3_types[785],IFC4X3_RC3_types[786],IFC4X3_RC3_types[787],IFC4X3_RC3_types[788],IFC4X3_RC3_types[789],IFC4X3_RC3_types[790],IFC4X3_RC3_types[791],IFC4X3_RC3_types[792],IFC4X3_RC3_types[793],IFC4X3_RC3_types[794],IFC4X3_RC3_types[795],IFC4X3_RC3_types[796],IFC4X3_RC3_types[797],IFC4X3_RC3_types[798],IFC4X3_RC3_types[799],IFC4X3_RC3_types[800],IFC4X3_RC3_types[801],IFC4X3_RC3_types[802],IFC4X3_RC3_types[803],IFC4X3_RC3_types[804],IFC4X3_RC3_types[805],IFC4X3_RC3_types[806],IFC4X3_RC3_types[807],IFC4X3_RC3_types[808],IFC4X3_RC3_types[809],IFC4X3_RC3_types[810],IFC4X3_RC3_types[811],IFC4X3_RC3_types[812],IFC4X3_RC3_types[813],IFC4X3_RC3_types[814],IFC4X3_RC3_types[815],IFC4X3_RC3_types[816],IFC4X3_RC3_types[817],IFC4X3_RC3_types[818],IFC4X3_RC3_types[819],IFC4X3_RC3_types[820],IFC4X3_RC3_types[821],IFC4X3_RC3_types[822],IFC4X3_RC3_types[823],IFC4X3_RC3_types[824],IFC4X3_RC3_types[825],IFC4X3_RC3_types[826],IFC4X3_RC3_types[827],IFC4X3_RC3_types[828],IFC4X3_RC3_types[829],IFC4X3_RC3_types[830],IFC4X3_RC3_types[831],IFC4X3_RC3_types[832],IFC4X3_RC3_types[833],IFC4X3_RC3_types[834],IFC4X3_RC3_types[835],IFC4X3_RC3_types[836],IFC4X3_RC3_types[837],IFC4X3_RC3_types[838],IFC4X3_RC3_types[839],IFC4X3_RC3_types[840],IFC4X3_RC3_types[841],IFC4X3_RC3_types[842],IFC4X3_RC3_types[843],IFC4X3_RC3_types[844],IFC4X3_RC3_types[845],IFC4X3_RC3_types[846],IFC4X3_RC3_types[847],IFC4X3_RC3_types[848],IFC4X3_RC3_types[849],IFC4X3_RC3_types[850],IFC4X3_RC3_types[851],IFC4X3_RC3_types[852],IFC4X3_RC3_types[853],IFC4X3_RC3_types[854],IFC4X3_RC3_types[855],IFC4X3_RC3_types[856],IFC4X3_RC3_types[857],IFC4X3_RC3_types[858],IFC4X3_RC3_types[859],IFC4X3_RC3_types[860],IFC4X3_RC3_types[861],IFC4X3_RC3_types[862],IFC4X3_RC3_types[863],IFC4X3_RC3_types[864],IFC4X3_RC3_types[865],IFC4X3_RC3_types[866],IFC4X3_RC3_types[867],IFC4X3_RC3_types[868],IFC4X3_RC3_types[869],IFC4X3_RC3_types[870],IFC4X3_RC3_types[871],IFC4X3_RC3_types[872],IFC4X3_RC3_types[873],IFC4X3_RC3_types[874],IFC4X3_RC3_types[875],IFC4X3_RC3_types[876],IFC4X3_RC3_types[877],IFC4X3_RC3_types[878],IFC4X3_RC3_types[879],IFC4X3_RC3_types[880],IFC4X3_RC3_types[881],IFC4X3_RC3_types[882],IFC4X3_RC3_types[883],IFC4X3_RC3_types[884],IFC4X3_RC3_types[885],IFC4X3_RC3_types[886],IFC4X3_RC3_types[887],IFC4X3_RC3_types[888],IFC4X3_RC3_types[889],IFC4X3_RC3_types[890],IFC4X3_RC3_types[891],IFC4X3_RC3_types[892],IFC4X3_RC3_types[893],IFC4X3_RC3_types[894],IFC4X3_RC3_types[895],IFC4X3_RC3_types[896],IFC4X3_RC3_types[897],IFC4X3_RC3_types[898],IFC4X3_RC3_types[899],IFC4X3_RC3_types[900],IFC4X3_RC3_types[901],IFC4X3_RC3_types[902],IFC4X3_RC3_types[903],IFC4X3_RC3_types[904],IFC4X3_RC3_types[905],IFC4X3_RC3_types[906],IFC4X3_RC3_types[907],IFC4X3_RC3_types[908],IFC4X3_RC3_types[909],IFC4X3_RC3_types[910],IFC4X3_RC3_types[911],IFC4X3_RC3_types[912],IFC4X3_RC3_types[913],IFC4X3_RC3_types[914],IFC4X3_RC3_types[915],IFC4X3_RC3_types[916],IFC4X3_RC3_types[917],IFC4X3_RC3_types[918],IFC4X3_RC3_types[919],IFC4X3_RC3_types[920],IFC4X3_RC3_types[921],IFC4X3_RC3_types[922],IFC4X3_RC3_types[923],IFC4X3_RC3_types[924],IFC4X3_RC3_types[925],IFC4X3_RC3_types[926],IFC4X3_RC3_types[927],IFC4X3_RC3_types[928],IFC4X3_RC3_types[929],IFC4X3_RC3_types[930],IFC4X3_RC3_types[931],IFC4X3_RC3_types[932],IFC4X3_RC3_types[933],IFC4X3_RC3_types[934],IFC4X3_RC3_types[935],IFC4X3_RC3_types[936],IFC4X3_RC3_types[937],IFC4X3_RC3_types[938],IFC4X3_RC3_types[939],IFC4X3_RC3_types[940],IFC4X3_RC3_types[941],IFC4X3_RC3_types[942],IFC4X3_RC3_types[943],IFC4X3_RC3_types[944],IFC4X3_RC3_types[945],IFC4X3_RC3_types[946],IFC4X3_RC3_types[947],IFC4X3_RC3_types[948],IFC4X3_RC3_types[949],IFC4X3_RC3_types[950],IFC4X3_RC3_types[951],IFC4X3_RC3_types[952],IFC4X3_RC3_types[953],IFC4X3_RC3_types[954],IFC4X3_RC3_types[955],IFC4X3_RC3_types[956],IFC4X3_RC3_types[957],IFC4X3_RC3_types[958],IFC4X3_RC3_types[959],IFC4X3_RC3_types[960],IFC4X3_RC3_types[961],IFC4X3_RC3_types[962],IFC4X3_RC3_types[963],IFC4X3_RC3_types[964],IFC4X3_RC3_types[965],IFC4X3_RC3_types[966],IFC4X3_RC3_types[967],IFC4X3_RC3_types[968],IFC4X3_RC3_types[969],IFC4X3_RC3_types[970],IFC4X3_RC3_types[971],IFC4X3_RC3_types[972],IFC4X3_RC3_types[973],IFC4X3_RC3_types[974],IFC4X3_RC3_types[975],IFC4X3_RC3_types[976],IFC4X3_RC3_types[977],IFC4X3_RC3_types[978],IFC4X3_RC3_types[979],IFC4X3_RC3_types[980],IFC4X3_RC3_types[981],IFC4X3_RC3_types[982],IFC4X3_RC3_types[983],IFC4X3_RC3_types[984],IFC4X3_RC3_types[985],IFC4X3_RC3_types[986],IFC4X3_RC3_types[987],IFC4X3_RC3_types[988],IFC4X3_RC3_types[989],IFC4X3_RC3_types[990],IFC4X3_RC3_types[991],IFC4X3_RC3_types[992],IFC4X3_RC3_types[993],IFC4X3_RC3_types[994],IFC4X3_RC3_types[995],IFC4X3_RC3_types[996],IFC4X3_RC3_types[997],IFC4X3_RC3_types[998],IFC4X3_RC3_types[999],IFC4X3_RC3_types[1000],IFC4X3_RC3_types[1001],IFC4X3_RC3_types[1002],IFC4X3_RC3_types[1003],IFC4X3_RC3_types[1004],IFC4X3_RC3_types[1005],IFC4X3_RC3_types[1006],IFC4X3_RC3_types[1007],IFC4X3_RC3_types[1008],IFC4X3_RC3_types[1009],IFC4X3_RC3_types[1010],IFC4X3_RC3_types[1011],IFC4X3_RC3_types[1012],IFC4X3_RC3_types[1013],IFC4X3_RC3_types[1014],IFC4X3_RC3_types[1015],IFC4X3_RC3_types[1016],IFC4X3_RC3_types[1017],IFC4X3_RC3_types[1018],IFC4X3_RC3_types[1019],IFC4X3_RC3_types[1020],IFC4X3_RC3_types[1021],IFC4X3_RC3_types[1022],IFC4X3_RC3_types[1023],IFC4X3_RC3_types[1024],IFC4X3_RC3_types[1025],IFC4X3_RC3_types[1026],IFC4X3_RC3_types[1027],IFC4X3_RC3_types[1028],IFC4X3_RC3_types[1029],IFC4X3_RC3_types[1030],IFC4X3_RC3_types[1031],IFC4X3_RC3_types[1032],IFC4X3_RC3_types[1033],IFC4X3_RC3_types[1034],IFC4X3_RC3_types[1035],IFC4X3_RC3_types[1036],IFC4X3_RC3_types[1037],IFC4X3_RC3_types[1038],IFC4X3_RC3_types[1039],IFC4X3_RC3_types[1040],IFC4X3_RC3_types[1041],IFC4X3_RC3_types[1042],IFC4X3_RC3_types[1043],IFC4X3_RC3_types[1044],IFC4X3_RC3_types[1045],IFC4X3_RC3_types[1046],IFC4X3_RC3_types[1047],IFC4X3_RC3_types[1048],IFC4X3_RC3_types[1049],IFC4X3_RC3_types[1050],IFC4X3_RC3_types[1051],IFC4X3_RC3_types[1052],IFC4X3_RC3_types[1053],IFC4X3_RC3_types[1054],IFC4X3_RC3_types[1055],IFC4X3_RC3_types[1056],IFC4X3_RC3_types[1057],IFC4X3_RC3_types[1058],IFC4X3_RC3_types[1059],IFC4X3_RC3_types[1060],IFC4X3_RC3_types[1061],IFC4X3_RC3_types[1062],IFC4X3_RC3_types[1063],IFC4X3_RC3_types[1064],IFC4X3_RC3_types[1065],IFC4X3_RC3_types[1066],IFC4X3_RC3_types[1067],IFC4X3_RC3_types[1068],IFC4X3_RC3_types[1069],IFC4X3_RC3_types[1070],IFC4X3_RC3_types[1071],IFC4X3_RC3_types[1072],IFC4X3_RC3_types[1073],IFC4X3_RC3_types[1074],IFC4X3_RC3_types[1075],IFC4X3_RC3_types[1076],IFC4X3_RC3_types[1077],IFC4X3_RC3_types[1078],IFC4X3_RC3_types[1079],IFC4X3_RC3_types[1080],IFC4X3_RC3_types[1081],IFC4X3_RC3_types[1082],IFC4X3_RC3_types[1083],IFC4X3_RC3_types[1084],IFC4X3_RC3_types[1085],IFC4X3_RC3_types[1086],IFC4X3_RC3_types[1087],IFC4X3_RC3_types[1088],IFC4X3_RC3_types[1089],IFC4X3_RC3_types[1090],IFC4X3_RC3_types[1091],IFC4X3_RC3_types[1092],IFC4X3_RC3_types[1093],IFC4X3_RC3_types[1094],IFC4X3_RC3_types[1095],IFC4X3_RC3_types[1096],IFC4X3_RC3_types[1097],IFC4X3_RC3_types[1098],IFC4X3_RC3_types[1099],IFC4X3_RC3_types[1100],IFC4X3_RC3_types[1101],IFC4X3_RC3_types[1102],IFC4X3_RC3_types[1103],IFC4X3_RC3_types[1104],IFC4X3_RC3_types[1105],IFC4X3_RC3_types[1106],IFC4X3_RC3_types[1107],IFC4X3_RC3_types[1108],IFC4X3_RC3_types[1109],IFC4X3_RC3_types[1110],IFC4X3_RC3_types[1111],IFC4X3_RC3_types[1112],IFC4X3_RC3_types[1113],IFC4X3_RC3_types[1114],IFC4X3_RC3_types[1115],IFC4X3_RC3_types[1116],IFC4X3_RC3_types[1117],IFC4X3_RC3_types[1118],IFC4X3_RC3_types[1119],IFC4X3_RC3_types[1120],IFC4X3_RC3_types[1121],IFC4X3_RC3_types[1122],IFC4X3_RC3_types[1123],IFC4X3_RC3_types[1124],IFC4X3_RC3_types[1125],IFC4X3_RC3_types[1126],IFC4X3_RC3_types[1127],IFC4X3_RC3_types[1128],IFC4X3_RC3_types[1129],IFC4X3_RC3_types[1130],IFC4X3_RC3_types[1131],IFC4X3_RC3_types[1132],IFC4X3_RC3_types[1133],IFC4X3_RC3_types[1134],IFC4X3_RC3_types[1135],IFC4X3_RC3_types[1136],IFC4X3_RC3_types[1137],IFC4X3_RC3_types[1138],IFC4X3_RC3_types[1139],IFC4X3_RC3_types[1140],IFC4X3_RC3_types[1141],IFC4X3_RC3_types[1142],IFC4X3_RC3_types[1143],IFC4X3_RC3_types[1144],IFC4X3_RC3_types[1145],IFC4X3_RC3_types[1146],IFC4X3_RC3_types[1147],IFC4X3_RC3_types[1148],IFC4X3_RC3_types[1149],IFC4X3_RC3_types[1150],IFC4X3_RC3_types[1151],IFC4X3_RC3_types[1152],IFC4X3_RC3_types[1153],IFC4X3_RC3_types[1154],IFC4X3_RC3_types[1155],IFC4X3_RC3_types[1156],IFC4X3_RC3_types[1157],IFC4X3_RC3_types[1158],IFC4X3_RC3_types[1159],IFC4X3_RC3_types[1160],IFC4X3_RC3_types[1161],IFC4X3_RC3_types[1162],IFC4X3_RC3_types[1163],IFC4X3_RC3_types[1164],IFC4X3_RC3_types[1165],IFC4X3_RC3_types[1166],IFC4X3_RC3_types[1167],IFC4X3_RC3_types[1168],IFC4X3_RC3_types[1169],IFC4X3_RC3_types[1170],IFC4X3_RC3_types[1171],IFC4X3_RC3_types[1172],IFC4X3_RC3_types[1173],IFC4X3_RC3_types[1174],IFC4X3_RC3_types[1175],IFC4X3_RC3_types[1176],IFC4X3_RC3_types[1177],IFC4X3_RC3_types[1178],IFC4X3_RC3_types[1179],IFC4X3_RC3_types[1180],IFC4X3_RC3_types[1181],IFC4X3_RC3_types[1182],IFC4X3_RC3_types[1183],IFC4X3_RC3_types[1184],IFC4X3_RC3_types[1185],IFC4X3_RC3_types[1186],IFC4X3_RC3_types[1187],IFC4X3_RC3_types[1188],IFC4X3_RC3_types[1189],IFC4X3_RC3_types[1190],IFC4X3_RC3_types[1191],IFC4X3_RC3_types[1192],IFC4X3_RC3_types[1193],IFC4X3_RC3_types[1194],IFC4X3_RC3_types[1195],IFC4X3_RC3_types[1196],IFC4X3_RC3_types[1197],IFC4X3_RC3_types[1198],IFC4X3_RC3_types[1199],IFC4X3_RC3_types[1200],IFC4X3_RC3_types[1201],IFC4X3_RC3_types[1202],IFC4X3_RC3_types[1203],IFC4X3_RC3_types[1204],IFC4X3_RC3_types[1205],IFC4X3_RC3_types[1206],IFC4X3_RC3_types[1207],IFC4X3_RC3_types[1208],IFC4X3_RC3_types[1209],IFC4X3_RC3_types[1210],IFC4X3_RC3_types[1211],IFC4X3_RC3_types[1212],IFC4X3_RC3_types[1213],IFC4X3_RC3_types[1214],IFC4X3_RC3_types[1215],IFC4X3_RC3_types[1216],IFC4X3_RC3_types[1217],IFC4X3_RC3_types[1218],IFC4X3_RC3_types[1219],IFC4X3_RC3_types[1220],IFC4X3_RC3_types[1221],IFC4X3_RC3_types[1222],IFC4X3_RC3_types[1223],IFC4X3_RC3_types[1224],IFC4X3_RC3_types[1225],IFC4X3_RC3_types[1226],IFC4X3_RC3_types[1227],IFC4X3_RC3_types[1228],IFC4X3_RC3_types[1229],IFC4X3_RC3_types[1230],IFC4X3_RC3_types[1231],IFC4X3_RC3_types[1232],IFC4X3_RC3_types[1233],IFC4X3_RC3_types[1234],IFC4X3_RC3_types[1235],IFC4X3_RC3_types[1236],IFC4X3_RC3_types[1237],IFC4X3_RC3_types[1238],IFC4X3_RC3_types[1239],IFC4X3_RC3_types[1240],IFC4X3_RC3_types[1241],IFC4X3_RC3_types[1242],IFC4X3_RC3_types[1243],IFC4X3_RC3_types[1244],IFC4X3_RC3_types[1245],IFC4X3_RC3_types[1246],IFC4X3_RC3_types[1247],IFC4X3_RC3_types[1248],IFC4X3_RC3_types[1249],IFC4X3_RC3_types[1250],IFC4X3_RC3_types[1251],IFC4X3_RC3_types[1252],IFC4X3_RC3_types[1253],IFC4X3_RC3_types[1254],IFC4X3_RC3_types[1255],IFC4X3_RC3_types[1256],IFC4X3_RC3_types[1257],IFC4X3_RC3_types[1258],IFC4X3_RC3_types[1259],IFC4X3_RC3_types[1260],IFC4X3_RC3_types[1261],IFC4X3_RC3_types[1262],IFC4X3_RC3_types[1263],IFC4X3_RC3_types[1264],IFC4X3_RC3_types[1265],IFC4X3_RC3_types[1266],IFC4X3_RC3_types[1267],IFC4X3_RC3_types[1268],IFC4X3_RC3_types[1269],IFC4X3_RC3_types[1270],IFC4X3_RC3_types[1271],IFC4X3_RC3_types[1272],IFC4X3_RC3_types[1273],IFC4X3_RC3_types[1274],IFC4X3_RC3_types[1275],IFC4X3_RC3_types[1276],IFC4X3_RC3_types[1277],IFC4X3_RC3_types[1278],IFC4X3_RC3_types[1279],IFC4X3_RC3_types[1280],IFC4X3_RC3_types[1281],IFC4X3_RC3_types[1282],IFC4X3_RC3_types[1283],IFC4X3_RC3_types[1284],IFC4X3_RC3_types[1285],IFC4X3_RC3_types[1286],IFC4X3_RC3_types[1287],IFC4X3_RC3_types[1288],IFC4X3_RC3_types[1289],IFC4X3_RC3_types[1290],IFC4X3_RC3_types[1291],IFC4X3_RC3_types[1292],IFC4X3_RC3_types[1293],IFC4X3_RC3_types[1294],IFC4X3_RC3_types[1295],IFC4X3_RC3_types[1296],IFC4X3_RC3_types[1297],IFC4X3_RC3_types[1298],IFC4X3_RC3_types[1299],IFC4X3_RC3_types[1300],IFC4X3_RC3_types[1301],IFC4X3_RC3_types[1302],IFC4X3_RC3_types[1303],IFC4X3_RC3_types[1304],IFC4X3_RC3_types[1305],IFC4X3_RC3_types[1306],IFC4X3_RC3_types[1307],IFC4X3_RC3_types[1308],IFC4X3_RC3_types[1309],IFC4X3_RC3_types[1310],IFC4X3_RC3_types[1311],IFC4X3_RC3_types[1312],IFC4X3_RC3_types[1313],IFC4X3_RC3_types[1314],IFC4X3_RC3_types[1315],IFC4X3_RC3_types[1316]}); + ((entity*) IFC4X3_RC3_types[1098])->set_subtypes({((entity*) IFC4X3_RC3_types[1104]),((entity*) IFC4X3_RC3_types[1135])}); + ((entity*) IFC4X3_RC3_types[1113])->set_subtypes({((entity*) IFC4X3_RC3_types[1107])}); + ((entity*) IFC4X3_RC3_types[1116])->set_subtypes({((entity*) IFC4X3_RC3_types[1118])}); + ((entity*) IFC4X3_RC3_types[1122])->set_subtypes({((entity*) IFC4X3_RC3_types[1121])}); + ((entity*) IFC4X3_RC3_types[1148])->set_subtypes({((entity*) IFC4X3_RC3_types[1132]),((entity*) IFC4X3_RC3_types[1133])}); + ((entity*) IFC4X3_RC3_types[1142])->set_subtypes({((entity*) IFC4X3_RC3_types[1141])}); + ((entity*) IFC4X3_RC3_types[1146])->set_subtypes({((entity*) IFC4X3_RC3_types[1147])}); + ((entity*) IFC4X3_RC3_types[1164])->set_subtypes({((entity*) IFC4X3_RC3_types[1165])}); + ((entity*) IFC4X3_RC3_types[1187])->set_subtypes({((entity*) IFC4X3_RC3_types[1188])}); + ((entity*) IFC4X3_RC3_types[793])->set_subtypes({((entity*) IFC4X3_RC3_types[1191])}); + ((entity*) IFC4X3_RC3_types[1233])->set_subtypes({((entity*) IFC4X3_RC3_types[1234])}); + ((entity*) IFC4X3_RC3_types[1242])->set_subtypes({((entity*) IFC4X3_RC3_types[1243]),((entity*) IFC4X3_RC3_types[1244]),((entity*) IFC4X3_RC3_types[1245])}); + ((entity*) IFC4X3_RC3_types[1264])->set_subtypes({((entity*) IFC4X3_RC3_types[1266])}); + ((entity*) IFC4X3_RC3_types[1281])->set_subtypes({((entity*) IFC4X3_RC3_types[1282]),((entity*) IFC4X3_RC3_types[1283])}); + ((entity*) IFC4X3_RC3_types[1293])->set_subtypes({((entity*) IFC4X3_RC3_types[1298])}); + ((entity*) IFC4X3_RC3_types[1307])->set_subtypes({((entity*) IFC4X3_RC3_types[1308]),((entity*) IFC4X3_RC3_types[1310])}); + return new schema_definition(strings[3880], {IFC4X3_RC3_types[0],IFC4X3_RC3_types[1],IFC4X3_RC3_types[2],IFC4X3_RC3_types[3],IFC4X3_RC3_types[4],IFC4X3_RC3_types[5],IFC4X3_RC3_types[6],IFC4X3_RC3_types[7],IFC4X3_RC3_types[8],IFC4X3_RC3_types[9],IFC4X3_RC3_types[10],IFC4X3_RC3_types[11],IFC4X3_RC3_types[12],IFC4X3_RC3_types[13],IFC4X3_RC3_types[14],IFC4X3_RC3_types[15],IFC4X3_RC3_types[16],IFC4X3_RC3_types[17],IFC4X3_RC3_types[18],IFC4X3_RC3_types[19],IFC4X3_RC3_types[20],IFC4X3_RC3_types[21],IFC4X3_RC3_types[22],IFC4X3_RC3_types[23],IFC4X3_RC3_types[24],IFC4X3_RC3_types[25],IFC4X3_RC3_types[26],IFC4X3_RC3_types[27],IFC4X3_RC3_types[28],IFC4X3_RC3_types[29],IFC4X3_RC3_types[30],IFC4X3_RC3_types[31],IFC4X3_RC3_types[32],IFC4X3_RC3_types[33],IFC4X3_RC3_types[34],IFC4X3_RC3_types[35],IFC4X3_RC3_types[36],IFC4X3_RC3_types[37],IFC4X3_RC3_types[38],IFC4X3_RC3_types[39],IFC4X3_RC3_types[40],IFC4X3_RC3_types[41],IFC4X3_RC3_types[42],IFC4X3_RC3_types[43],IFC4X3_RC3_types[44],IFC4X3_RC3_types[45],IFC4X3_RC3_types[46],IFC4X3_RC3_types[47],IFC4X3_RC3_types[48],IFC4X3_RC3_types[49],IFC4X3_RC3_types[50],IFC4X3_RC3_types[51],IFC4X3_RC3_types[52],IFC4X3_RC3_types[53],IFC4X3_RC3_types[54],IFC4X3_RC3_types[55],IFC4X3_RC3_types[56],IFC4X3_RC3_types[57],IFC4X3_RC3_types[58],IFC4X3_RC3_types[59],IFC4X3_RC3_types[60],IFC4X3_RC3_types[61],IFC4X3_RC3_types[62],IFC4X3_RC3_types[63],IFC4X3_RC3_types[64],IFC4X3_RC3_types[65],IFC4X3_RC3_types[66],IFC4X3_RC3_types[67],IFC4X3_RC3_types[68],IFC4X3_RC3_types[69],IFC4X3_RC3_types[70],IFC4X3_RC3_types[71],IFC4X3_RC3_types[72],IFC4X3_RC3_types[73],IFC4X3_RC3_types[74],IFC4X3_RC3_types[75],IFC4X3_RC3_types[76],IFC4X3_RC3_types[77],IFC4X3_RC3_types[78],IFC4X3_RC3_types[79],IFC4X3_RC3_types[80],IFC4X3_RC3_types[81],IFC4X3_RC3_types[82],IFC4X3_RC3_types[83],IFC4X3_RC3_types[84],IFC4X3_RC3_types[85],IFC4X3_RC3_types[86],IFC4X3_RC3_types[87],IFC4X3_RC3_types[88],IFC4X3_RC3_types[89],IFC4X3_RC3_types[90],IFC4X3_RC3_types[91],IFC4X3_RC3_types[92],IFC4X3_RC3_types[93],IFC4X3_RC3_types[94],IFC4X3_RC3_types[95],IFC4X3_RC3_types[96],IFC4X3_RC3_types[97],IFC4X3_RC3_types[98],IFC4X3_RC3_types[99],IFC4X3_RC3_types[100],IFC4X3_RC3_types[101],IFC4X3_RC3_types[102],IFC4X3_RC3_types[103],IFC4X3_RC3_types[104],IFC4X3_RC3_types[105],IFC4X3_RC3_types[106],IFC4X3_RC3_types[107],IFC4X3_RC3_types[108],IFC4X3_RC3_types[109],IFC4X3_RC3_types[110],IFC4X3_RC3_types[111],IFC4X3_RC3_types[112],IFC4X3_RC3_types[113],IFC4X3_RC3_types[114],IFC4X3_RC3_types[115],IFC4X3_RC3_types[116],IFC4X3_RC3_types[117],IFC4X3_RC3_types[118],IFC4X3_RC3_types[119],IFC4X3_RC3_types[120],IFC4X3_RC3_types[121],IFC4X3_RC3_types[122],IFC4X3_RC3_types[123],IFC4X3_RC3_types[124],IFC4X3_RC3_types[125],IFC4X3_RC3_types[126],IFC4X3_RC3_types[127],IFC4X3_RC3_types[128],IFC4X3_RC3_types[129],IFC4X3_RC3_types[130],IFC4X3_RC3_types[131],IFC4X3_RC3_types[132],IFC4X3_RC3_types[133],IFC4X3_RC3_types[134],IFC4X3_RC3_types[135],IFC4X3_RC3_types[136],IFC4X3_RC3_types[137],IFC4X3_RC3_types[138],IFC4X3_RC3_types[139],IFC4X3_RC3_types[140],IFC4X3_RC3_types[141],IFC4X3_RC3_types[142],IFC4X3_RC3_types[143],IFC4X3_RC3_types[144],IFC4X3_RC3_types[145],IFC4X3_RC3_types[146],IFC4X3_RC3_types[147],IFC4X3_RC3_types[148],IFC4X3_RC3_types[149],IFC4X3_RC3_types[150],IFC4X3_RC3_types[151],IFC4X3_RC3_types[152],IFC4X3_RC3_types[153],IFC4X3_RC3_types[154],IFC4X3_RC3_types[155],IFC4X3_RC3_types[156],IFC4X3_RC3_types[157],IFC4X3_RC3_types[158],IFC4X3_RC3_types[159],IFC4X3_RC3_types[160],IFC4X3_RC3_types[161],IFC4X3_RC3_types[162],IFC4X3_RC3_types[163],IFC4X3_RC3_types[164],IFC4X3_RC3_types[165],IFC4X3_RC3_types[166],IFC4X3_RC3_types[167],IFC4X3_RC3_types[168],IFC4X3_RC3_types[169],IFC4X3_RC3_types[170],IFC4X3_RC3_types[171],IFC4X3_RC3_types[172],IFC4X3_RC3_types[173],IFC4X3_RC3_types[174],IFC4X3_RC3_types[175],IFC4X3_RC3_types[176],IFC4X3_RC3_types[177],IFC4X3_RC3_types[178],IFC4X3_RC3_types[179],IFC4X3_RC3_types[180],IFC4X3_RC3_types[181],IFC4X3_RC3_types[182],IFC4X3_RC3_types[183],IFC4X3_RC3_types[184],IFC4X3_RC3_types[185],IFC4X3_RC3_types[186],IFC4X3_RC3_types[187],IFC4X3_RC3_types[188],IFC4X3_RC3_types[189],IFC4X3_RC3_types[190],IFC4X3_RC3_types[191],IFC4X3_RC3_types[192],IFC4X3_RC3_types[193],IFC4X3_RC3_types[194],IFC4X3_RC3_types[195],IFC4X3_RC3_types[196],IFC4X3_RC3_types[197],IFC4X3_RC3_types[198],IFC4X3_RC3_types[199],IFC4X3_RC3_types[200],IFC4X3_RC3_types[201],IFC4X3_RC3_types[202],IFC4X3_RC3_types[203],IFC4X3_RC3_types[204],IFC4X3_RC3_types[205],IFC4X3_RC3_types[206],IFC4X3_RC3_types[207],IFC4X3_RC3_types[208],IFC4X3_RC3_types[209],IFC4X3_RC3_types[210],IFC4X3_RC3_types[211],IFC4X3_RC3_types[212],IFC4X3_RC3_types[213],IFC4X3_RC3_types[214],IFC4X3_RC3_types[215],IFC4X3_RC3_types[216],IFC4X3_RC3_types[217],IFC4X3_RC3_types[218],IFC4X3_RC3_types[219],IFC4X3_RC3_types[220],IFC4X3_RC3_types[221],IFC4X3_RC3_types[222],IFC4X3_RC3_types[223],IFC4X3_RC3_types[224],IFC4X3_RC3_types[225],IFC4X3_RC3_types[226],IFC4X3_RC3_types[227],IFC4X3_RC3_types[228],IFC4X3_RC3_types[229],IFC4X3_RC3_types[230],IFC4X3_RC3_types[231],IFC4X3_RC3_types[232],IFC4X3_RC3_types[233],IFC4X3_RC3_types[234],IFC4X3_RC3_types[235],IFC4X3_RC3_types[236],IFC4X3_RC3_types[237],IFC4X3_RC3_types[238],IFC4X3_RC3_types[239],IFC4X3_RC3_types[240],IFC4X3_RC3_types[241],IFC4X3_RC3_types[242],IFC4X3_RC3_types[243],IFC4X3_RC3_types[244],IFC4X3_RC3_types[245],IFC4X3_RC3_types[246],IFC4X3_RC3_types[247],IFC4X3_RC3_types[248],IFC4X3_RC3_types[249],IFC4X3_RC3_types[250],IFC4X3_RC3_types[251],IFC4X3_RC3_types[252],IFC4X3_RC3_types[253],IFC4X3_RC3_types[254],IFC4X3_RC3_types[255],IFC4X3_RC3_types[256],IFC4X3_RC3_types[257],IFC4X3_RC3_types[258],IFC4X3_RC3_types[259],IFC4X3_RC3_types[260],IFC4X3_RC3_types[261],IFC4X3_RC3_types[262],IFC4X3_RC3_types[263],IFC4X3_RC3_types[264],IFC4X3_RC3_types[265],IFC4X3_RC3_types[266],IFC4X3_RC3_types[267],IFC4X3_RC3_types[268],IFC4X3_RC3_types[269],IFC4X3_RC3_types[270],IFC4X3_RC3_types[271],IFC4X3_RC3_types[272],IFC4X3_RC3_types[273],IFC4X3_RC3_types[274],IFC4X3_RC3_types[275],IFC4X3_RC3_types[276],IFC4X3_RC3_types[277],IFC4X3_RC3_types[278],IFC4X3_RC3_types[279],IFC4X3_RC3_types[280],IFC4X3_RC3_types[281],IFC4X3_RC3_types[282],IFC4X3_RC3_types[283],IFC4X3_RC3_types[284],IFC4X3_RC3_types[285],IFC4X3_RC3_types[286],IFC4X3_RC3_types[287],IFC4X3_RC3_types[288],IFC4X3_RC3_types[289],IFC4X3_RC3_types[290],IFC4X3_RC3_types[291],IFC4X3_RC3_types[292],IFC4X3_RC3_types[293],IFC4X3_RC3_types[294],IFC4X3_RC3_types[295],IFC4X3_RC3_types[296],IFC4X3_RC3_types[297],IFC4X3_RC3_types[298],IFC4X3_RC3_types[299],IFC4X3_RC3_types[300],IFC4X3_RC3_types[301],IFC4X3_RC3_types[302],IFC4X3_RC3_types[303],IFC4X3_RC3_types[304],IFC4X3_RC3_types[305],IFC4X3_RC3_types[306],IFC4X3_RC3_types[307],IFC4X3_RC3_types[308],IFC4X3_RC3_types[309],IFC4X3_RC3_types[310],IFC4X3_RC3_types[311],IFC4X3_RC3_types[312],IFC4X3_RC3_types[313],IFC4X3_RC3_types[314],IFC4X3_RC3_types[315],IFC4X3_RC3_types[316],IFC4X3_RC3_types[317],IFC4X3_RC3_types[318],IFC4X3_RC3_types[319],IFC4X3_RC3_types[320],IFC4X3_RC3_types[321],IFC4X3_RC3_types[322],IFC4X3_RC3_types[323],IFC4X3_RC3_types[324],IFC4X3_RC3_types[325],IFC4X3_RC3_types[326],IFC4X3_RC3_types[327],IFC4X3_RC3_types[328],IFC4X3_RC3_types[329],IFC4X3_RC3_types[330],IFC4X3_RC3_types[331],IFC4X3_RC3_types[332],IFC4X3_RC3_types[333],IFC4X3_RC3_types[334],IFC4X3_RC3_types[335],IFC4X3_RC3_types[336],IFC4X3_RC3_types[337],IFC4X3_RC3_types[338],IFC4X3_RC3_types[339],IFC4X3_RC3_types[340],IFC4X3_RC3_types[341],IFC4X3_RC3_types[342],IFC4X3_RC3_types[343],IFC4X3_RC3_types[344],IFC4X3_RC3_types[345],IFC4X3_RC3_types[346],IFC4X3_RC3_types[347],IFC4X3_RC3_types[348],IFC4X3_RC3_types[349],IFC4X3_RC3_types[350],IFC4X3_RC3_types[351],IFC4X3_RC3_types[352],IFC4X3_RC3_types[353],IFC4X3_RC3_types[354],IFC4X3_RC3_types[355],IFC4X3_RC3_types[356],IFC4X3_RC3_types[357],IFC4X3_RC3_types[358],IFC4X3_RC3_types[359],IFC4X3_RC3_types[360],IFC4X3_RC3_types[361],IFC4X3_RC3_types[362],IFC4X3_RC3_types[363],IFC4X3_RC3_types[364],IFC4X3_RC3_types[365],IFC4X3_RC3_types[366],IFC4X3_RC3_types[367],IFC4X3_RC3_types[368],IFC4X3_RC3_types[369],IFC4X3_RC3_types[370],IFC4X3_RC3_types[371],IFC4X3_RC3_types[372],IFC4X3_RC3_types[373],IFC4X3_RC3_types[374],IFC4X3_RC3_types[375],IFC4X3_RC3_types[376],IFC4X3_RC3_types[377],IFC4X3_RC3_types[378],IFC4X3_RC3_types[379],IFC4X3_RC3_types[380],IFC4X3_RC3_types[381],IFC4X3_RC3_types[382],IFC4X3_RC3_types[383],IFC4X3_RC3_types[384],IFC4X3_RC3_types[385],IFC4X3_RC3_types[386],IFC4X3_RC3_types[387],IFC4X3_RC3_types[388],IFC4X3_RC3_types[389],IFC4X3_RC3_types[390],IFC4X3_RC3_types[391],IFC4X3_RC3_types[392],IFC4X3_RC3_types[393],IFC4X3_RC3_types[394],IFC4X3_RC3_types[395],IFC4X3_RC3_types[396],IFC4X3_RC3_types[397],IFC4X3_RC3_types[398],IFC4X3_RC3_types[399],IFC4X3_RC3_types[400],IFC4X3_RC3_types[401],IFC4X3_RC3_types[402],IFC4X3_RC3_types[403],IFC4X3_RC3_types[404],IFC4X3_RC3_types[405],IFC4X3_RC3_types[406],IFC4X3_RC3_types[407],IFC4X3_RC3_types[408],IFC4X3_RC3_types[409],IFC4X3_RC3_types[410],IFC4X3_RC3_types[411],IFC4X3_RC3_types[412],IFC4X3_RC3_types[413],IFC4X3_RC3_types[414],IFC4X3_RC3_types[415],IFC4X3_RC3_types[416],IFC4X3_RC3_types[417],IFC4X3_RC3_types[418],IFC4X3_RC3_types[419],IFC4X3_RC3_types[420],IFC4X3_RC3_types[421],IFC4X3_RC3_types[422],IFC4X3_RC3_types[423],IFC4X3_RC3_types[424],IFC4X3_RC3_types[425],IFC4X3_RC3_types[426],IFC4X3_RC3_types[427],IFC4X3_RC3_types[428],IFC4X3_RC3_types[429],IFC4X3_RC3_types[430],IFC4X3_RC3_types[431],IFC4X3_RC3_types[432],IFC4X3_RC3_types[433],IFC4X3_RC3_types[434],IFC4X3_RC3_types[435],IFC4X3_RC3_types[436],IFC4X3_RC3_types[437],IFC4X3_RC3_types[438],IFC4X3_RC3_types[439],IFC4X3_RC3_types[440],IFC4X3_RC3_types[441],IFC4X3_RC3_types[442],IFC4X3_RC3_types[443],IFC4X3_RC3_types[444],IFC4X3_RC3_types[445],IFC4X3_RC3_types[446],IFC4X3_RC3_types[447],IFC4X3_RC3_types[448],IFC4X3_RC3_types[449],IFC4X3_RC3_types[450],IFC4X3_RC3_types[451],IFC4X3_RC3_types[452],IFC4X3_RC3_types[453],IFC4X3_RC3_types[454],IFC4X3_RC3_types[455],IFC4X3_RC3_types[456],IFC4X3_RC3_types[457],IFC4X3_RC3_types[458],IFC4X3_RC3_types[459],IFC4X3_RC3_types[460],IFC4X3_RC3_types[461],IFC4X3_RC3_types[462],IFC4X3_RC3_types[463],IFC4X3_RC3_types[464],IFC4X3_RC3_types[465],IFC4X3_RC3_types[466],IFC4X3_RC3_types[467],IFC4X3_RC3_types[468],IFC4X3_RC3_types[469],IFC4X3_RC3_types[470],IFC4X3_RC3_types[471],IFC4X3_RC3_types[472],IFC4X3_RC3_types[473],IFC4X3_RC3_types[474],IFC4X3_RC3_types[475],IFC4X3_RC3_types[476],IFC4X3_RC3_types[477],IFC4X3_RC3_types[478],IFC4X3_RC3_types[479],IFC4X3_RC3_types[480],IFC4X3_RC3_types[481],IFC4X3_RC3_types[482],IFC4X3_RC3_types[483],IFC4X3_RC3_types[484],IFC4X3_RC3_types[485],IFC4X3_RC3_types[486],IFC4X3_RC3_types[487],IFC4X3_RC3_types[488],IFC4X3_RC3_types[489],IFC4X3_RC3_types[490],IFC4X3_RC3_types[491],IFC4X3_RC3_types[492],IFC4X3_RC3_types[493],IFC4X3_RC3_types[494],IFC4X3_RC3_types[495],IFC4X3_RC3_types[496],IFC4X3_RC3_types[497],IFC4X3_RC3_types[498],IFC4X3_RC3_types[499],IFC4X3_RC3_types[500],IFC4X3_RC3_types[501],IFC4X3_RC3_types[502],IFC4X3_RC3_types[503],IFC4X3_RC3_types[504],IFC4X3_RC3_types[505],IFC4X3_RC3_types[506],IFC4X3_RC3_types[507],IFC4X3_RC3_types[508],IFC4X3_RC3_types[509],IFC4X3_RC3_types[510],IFC4X3_RC3_types[511],IFC4X3_RC3_types[512],IFC4X3_RC3_types[513],IFC4X3_RC3_types[514],IFC4X3_RC3_types[515],IFC4X3_RC3_types[516],IFC4X3_RC3_types[517],IFC4X3_RC3_types[518],IFC4X3_RC3_types[519],IFC4X3_RC3_types[520],IFC4X3_RC3_types[521],IFC4X3_RC3_types[522],IFC4X3_RC3_types[523],IFC4X3_RC3_types[524],IFC4X3_RC3_types[525],IFC4X3_RC3_types[526],IFC4X3_RC3_types[527],IFC4X3_RC3_types[528],IFC4X3_RC3_types[529],IFC4X3_RC3_types[530],IFC4X3_RC3_types[531],IFC4X3_RC3_types[532],IFC4X3_RC3_types[533],IFC4X3_RC3_types[534],IFC4X3_RC3_types[535],IFC4X3_RC3_types[536],IFC4X3_RC3_types[537],IFC4X3_RC3_types[538],IFC4X3_RC3_types[539],IFC4X3_RC3_types[540],IFC4X3_RC3_types[541],IFC4X3_RC3_types[542],IFC4X3_RC3_types[543],IFC4X3_RC3_types[544],IFC4X3_RC3_types[545],IFC4X3_RC3_types[546],IFC4X3_RC3_types[547],IFC4X3_RC3_types[548],IFC4X3_RC3_types[549],IFC4X3_RC3_types[550],IFC4X3_RC3_types[551],IFC4X3_RC3_types[552],IFC4X3_RC3_types[553],IFC4X3_RC3_types[554],IFC4X3_RC3_types[555],IFC4X3_RC3_types[556],IFC4X3_RC3_types[557],IFC4X3_RC3_types[558],IFC4X3_RC3_types[559],IFC4X3_RC3_types[560],IFC4X3_RC3_types[561],IFC4X3_RC3_types[562],IFC4X3_RC3_types[563],IFC4X3_RC3_types[564],IFC4X3_RC3_types[565],IFC4X3_RC3_types[566],IFC4X3_RC3_types[567],IFC4X3_RC3_types[568],IFC4X3_RC3_types[569],IFC4X3_RC3_types[570],IFC4X3_RC3_types[571],IFC4X3_RC3_types[572],IFC4X3_RC3_types[573],IFC4X3_RC3_types[574],IFC4X3_RC3_types[575],IFC4X3_RC3_types[576],IFC4X3_RC3_types[577],IFC4X3_RC3_types[578],IFC4X3_RC3_types[579],IFC4X3_RC3_types[580],IFC4X3_RC3_types[581],IFC4X3_RC3_types[582],IFC4X3_RC3_types[583],IFC4X3_RC3_types[584],IFC4X3_RC3_types[585],IFC4X3_RC3_types[586],IFC4X3_RC3_types[587],IFC4X3_RC3_types[588],IFC4X3_RC3_types[589],IFC4X3_RC3_types[590],IFC4X3_RC3_types[591],IFC4X3_RC3_types[592],IFC4X3_RC3_types[593],IFC4X3_RC3_types[594],IFC4X3_RC3_types[595],IFC4X3_RC3_types[596],IFC4X3_RC3_types[597],IFC4X3_RC3_types[598],IFC4X3_RC3_types[599],IFC4X3_RC3_types[600],IFC4X3_RC3_types[601],IFC4X3_RC3_types[602],IFC4X3_RC3_types[603],IFC4X3_RC3_types[604],IFC4X3_RC3_types[605],IFC4X3_RC3_types[606],IFC4X3_RC3_types[607],IFC4X3_RC3_types[608],IFC4X3_RC3_types[609],IFC4X3_RC3_types[610],IFC4X3_RC3_types[611],IFC4X3_RC3_types[612],IFC4X3_RC3_types[613],IFC4X3_RC3_types[614],IFC4X3_RC3_types[615],IFC4X3_RC3_types[616],IFC4X3_RC3_types[617],IFC4X3_RC3_types[618],IFC4X3_RC3_types[619],IFC4X3_RC3_types[620],IFC4X3_RC3_types[621],IFC4X3_RC3_types[622],IFC4X3_RC3_types[623],IFC4X3_RC3_types[624],IFC4X3_RC3_types[625],IFC4X3_RC3_types[626],IFC4X3_RC3_types[627],IFC4X3_RC3_types[628],IFC4X3_RC3_types[629],IFC4X3_RC3_types[630],IFC4X3_RC3_types[631],IFC4X3_RC3_types[632],IFC4X3_RC3_types[633],IFC4X3_RC3_types[634],IFC4X3_RC3_types[635],IFC4X3_RC3_types[636],IFC4X3_RC3_types[637],IFC4X3_RC3_types[638],IFC4X3_RC3_types[639],IFC4X3_RC3_types[640],IFC4X3_RC3_types[641],IFC4X3_RC3_types[642],IFC4X3_RC3_types[643],IFC4X3_RC3_types[644],IFC4X3_RC3_types[645],IFC4X3_RC3_types[646],IFC4X3_RC3_types[647],IFC4X3_RC3_types[648],IFC4X3_RC3_types[649],IFC4X3_RC3_types[650],IFC4X3_RC3_types[651],IFC4X3_RC3_types[652],IFC4X3_RC3_types[653],IFC4X3_RC3_types[654],IFC4X3_RC3_types[655],IFC4X3_RC3_types[656],IFC4X3_RC3_types[657],IFC4X3_RC3_types[658],IFC4X3_RC3_types[659],IFC4X3_RC3_types[660],IFC4X3_RC3_types[661],IFC4X3_RC3_types[662],IFC4X3_RC3_types[663],IFC4X3_RC3_types[664],IFC4X3_RC3_types[665],IFC4X3_RC3_types[666],IFC4X3_RC3_types[667],IFC4X3_RC3_types[668],IFC4X3_RC3_types[669],IFC4X3_RC3_types[670],IFC4X3_RC3_types[671],IFC4X3_RC3_types[672],IFC4X3_RC3_types[673],IFC4X3_RC3_types[674],IFC4X3_RC3_types[675],IFC4X3_RC3_types[676],IFC4X3_RC3_types[677],IFC4X3_RC3_types[678],IFC4X3_RC3_types[679],IFC4X3_RC3_types[680],IFC4X3_RC3_types[681],IFC4X3_RC3_types[682],IFC4X3_RC3_types[683],IFC4X3_RC3_types[684],IFC4X3_RC3_types[685],IFC4X3_RC3_types[686],IFC4X3_RC3_types[687],IFC4X3_RC3_types[688],IFC4X3_RC3_types[689],IFC4X3_RC3_types[690],IFC4X3_RC3_types[691],IFC4X3_RC3_types[692],IFC4X3_RC3_types[693],IFC4X3_RC3_types[694],IFC4X3_RC3_types[695],IFC4X3_RC3_types[696],IFC4X3_RC3_types[697],IFC4X3_RC3_types[698],IFC4X3_RC3_types[699],IFC4X3_RC3_types[700],IFC4X3_RC3_types[701],IFC4X3_RC3_types[702],IFC4X3_RC3_types[703],IFC4X3_RC3_types[704],IFC4X3_RC3_types[705],IFC4X3_RC3_types[706],IFC4X3_RC3_types[707],IFC4X3_RC3_types[708],IFC4X3_RC3_types[709],IFC4X3_RC3_types[710],IFC4X3_RC3_types[711],IFC4X3_RC3_types[712],IFC4X3_RC3_types[713],IFC4X3_RC3_types[714],IFC4X3_RC3_types[715],IFC4X3_RC3_types[716],IFC4X3_RC3_types[717],IFC4X3_RC3_types[718],IFC4X3_RC3_types[719],IFC4X3_RC3_types[720],IFC4X3_RC3_types[721],IFC4X3_RC3_types[722],IFC4X3_RC3_types[723],IFC4X3_RC3_types[724],IFC4X3_RC3_types[725],IFC4X3_RC3_types[726],IFC4X3_RC3_types[727],IFC4X3_RC3_types[728],IFC4X3_RC3_types[729],IFC4X3_RC3_types[730],IFC4X3_RC3_types[731],IFC4X3_RC3_types[732],IFC4X3_RC3_types[733],IFC4X3_RC3_types[734],IFC4X3_RC3_types[735],IFC4X3_RC3_types[736],IFC4X3_RC3_types[737],IFC4X3_RC3_types[738],IFC4X3_RC3_types[739],IFC4X3_RC3_types[740],IFC4X3_RC3_types[741],IFC4X3_RC3_types[742],IFC4X3_RC3_types[743],IFC4X3_RC3_types[744],IFC4X3_RC3_types[745],IFC4X3_RC3_types[746],IFC4X3_RC3_types[747],IFC4X3_RC3_types[748],IFC4X3_RC3_types[749],IFC4X3_RC3_types[750],IFC4X3_RC3_types[751],IFC4X3_RC3_types[752],IFC4X3_RC3_types[753],IFC4X3_RC3_types[754],IFC4X3_RC3_types[755],IFC4X3_RC3_types[756],IFC4X3_RC3_types[757],IFC4X3_RC3_types[758],IFC4X3_RC3_types[759],IFC4X3_RC3_types[760],IFC4X3_RC3_types[761],IFC4X3_RC3_types[762],IFC4X3_RC3_types[763],IFC4X3_RC3_types[764],IFC4X3_RC3_types[765],IFC4X3_RC3_types[766],IFC4X3_RC3_types[767],IFC4X3_RC3_types[768],IFC4X3_RC3_types[769],IFC4X3_RC3_types[770],IFC4X3_RC3_types[771],IFC4X3_RC3_types[772],IFC4X3_RC3_types[773],IFC4X3_RC3_types[774],IFC4X3_RC3_types[775],IFC4X3_RC3_types[776],IFC4X3_RC3_types[777],IFC4X3_RC3_types[778],IFC4X3_RC3_types[779],IFC4X3_RC3_types[780],IFC4X3_RC3_types[781],IFC4X3_RC3_types[782],IFC4X3_RC3_types[783],IFC4X3_RC3_types[784],IFC4X3_RC3_types[785],IFC4X3_RC3_types[786],IFC4X3_RC3_types[787],IFC4X3_RC3_types[788],IFC4X3_RC3_types[789],IFC4X3_RC3_types[790],IFC4X3_RC3_types[791],IFC4X3_RC3_types[792],IFC4X3_RC3_types[793],IFC4X3_RC3_types[794],IFC4X3_RC3_types[795],IFC4X3_RC3_types[796],IFC4X3_RC3_types[797],IFC4X3_RC3_types[798],IFC4X3_RC3_types[799],IFC4X3_RC3_types[800],IFC4X3_RC3_types[801],IFC4X3_RC3_types[802],IFC4X3_RC3_types[803],IFC4X3_RC3_types[804],IFC4X3_RC3_types[805],IFC4X3_RC3_types[806],IFC4X3_RC3_types[807],IFC4X3_RC3_types[808],IFC4X3_RC3_types[809],IFC4X3_RC3_types[810],IFC4X3_RC3_types[811],IFC4X3_RC3_types[812],IFC4X3_RC3_types[813],IFC4X3_RC3_types[814],IFC4X3_RC3_types[815],IFC4X3_RC3_types[816],IFC4X3_RC3_types[817],IFC4X3_RC3_types[818],IFC4X3_RC3_types[819],IFC4X3_RC3_types[820],IFC4X3_RC3_types[821],IFC4X3_RC3_types[822],IFC4X3_RC3_types[823],IFC4X3_RC3_types[824],IFC4X3_RC3_types[825],IFC4X3_RC3_types[826],IFC4X3_RC3_types[827],IFC4X3_RC3_types[828],IFC4X3_RC3_types[829],IFC4X3_RC3_types[830],IFC4X3_RC3_types[831],IFC4X3_RC3_types[832],IFC4X3_RC3_types[833],IFC4X3_RC3_types[834],IFC4X3_RC3_types[835],IFC4X3_RC3_types[836],IFC4X3_RC3_types[837],IFC4X3_RC3_types[838],IFC4X3_RC3_types[839],IFC4X3_RC3_types[840],IFC4X3_RC3_types[841],IFC4X3_RC3_types[842],IFC4X3_RC3_types[843],IFC4X3_RC3_types[844],IFC4X3_RC3_types[845],IFC4X3_RC3_types[846],IFC4X3_RC3_types[847],IFC4X3_RC3_types[848],IFC4X3_RC3_types[849],IFC4X3_RC3_types[850],IFC4X3_RC3_types[851],IFC4X3_RC3_types[852],IFC4X3_RC3_types[853],IFC4X3_RC3_types[854],IFC4X3_RC3_types[855],IFC4X3_RC3_types[856],IFC4X3_RC3_types[857],IFC4X3_RC3_types[858],IFC4X3_RC3_types[859],IFC4X3_RC3_types[860],IFC4X3_RC3_types[861],IFC4X3_RC3_types[862],IFC4X3_RC3_types[863],IFC4X3_RC3_types[864],IFC4X3_RC3_types[865],IFC4X3_RC3_types[866],IFC4X3_RC3_types[867],IFC4X3_RC3_types[868],IFC4X3_RC3_types[869],IFC4X3_RC3_types[870],IFC4X3_RC3_types[871],IFC4X3_RC3_types[872],IFC4X3_RC3_types[873],IFC4X3_RC3_types[874],IFC4X3_RC3_types[875],IFC4X3_RC3_types[876],IFC4X3_RC3_types[877],IFC4X3_RC3_types[878],IFC4X3_RC3_types[879],IFC4X3_RC3_types[880],IFC4X3_RC3_types[881],IFC4X3_RC3_types[882],IFC4X3_RC3_types[883],IFC4X3_RC3_types[884],IFC4X3_RC3_types[885],IFC4X3_RC3_types[886],IFC4X3_RC3_types[887],IFC4X3_RC3_types[888],IFC4X3_RC3_types[889],IFC4X3_RC3_types[890],IFC4X3_RC3_types[891],IFC4X3_RC3_types[892],IFC4X3_RC3_types[893],IFC4X3_RC3_types[894],IFC4X3_RC3_types[895],IFC4X3_RC3_types[896],IFC4X3_RC3_types[897],IFC4X3_RC3_types[898],IFC4X3_RC3_types[899],IFC4X3_RC3_types[900],IFC4X3_RC3_types[901],IFC4X3_RC3_types[902],IFC4X3_RC3_types[903],IFC4X3_RC3_types[904],IFC4X3_RC3_types[905],IFC4X3_RC3_types[906],IFC4X3_RC3_types[907],IFC4X3_RC3_types[908],IFC4X3_RC3_types[909],IFC4X3_RC3_types[910],IFC4X3_RC3_types[911],IFC4X3_RC3_types[912],IFC4X3_RC3_types[913],IFC4X3_RC3_types[914],IFC4X3_RC3_types[915],IFC4X3_RC3_types[916],IFC4X3_RC3_types[917],IFC4X3_RC3_types[918],IFC4X3_RC3_types[919],IFC4X3_RC3_types[920],IFC4X3_RC3_types[921],IFC4X3_RC3_types[922],IFC4X3_RC3_types[923],IFC4X3_RC3_types[924],IFC4X3_RC3_types[925],IFC4X3_RC3_types[926],IFC4X3_RC3_types[927],IFC4X3_RC3_types[928],IFC4X3_RC3_types[929],IFC4X3_RC3_types[930],IFC4X3_RC3_types[931],IFC4X3_RC3_types[932],IFC4X3_RC3_types[933],IFC4X3_RC3_types[934],IFC4X3_RC3_types[935],IFC4X3_RC3_types[936],IFC4X3_RC3_types[937],IFC4X3_RC3_types[938],IFC4X3_RC3_types[939],IFC4X3_RC3_types[940],IFC4X3_RC3_types[941],IFC4X3_RC3_types[942],IFC4X3_RC3_types[943],IFC4X3_RC3_types[944],IFC4X3_RC3_types[945],IFC4X3_RC3_types[946],IFC4X3_RC3_types[947],IFC4X3_RC3_types[948],IFC4X3_RC3_types[949],IFC4X3_RC3_types[950],IFC4X3_RC3_types[951],IFC4X3_RC3_types[952],IFC4X3_RC3_types[953],IFC4X3_RC3_types[954],IFC4X3_RC3_types[955],IFC4X3_RC3_types[956],IFC4X3_RC3_types[957],IFC4X3_RC3_types[958],IFC4X3_RC3_types[959],IFC4X3_RC3_types[960],IFC4X3_RC3_types[961],IFC4X3_RC3_types[962],IFC4X3_RC3_types[963],IFC4X3_RC3_types[964],IFC4X3_RC3_types[965],IFC4X3_RC3_types[966],IFC4X3_RC3_types[967],IFC4X3_RC3_types[968],IFC4X3_RC3_types[969],IFC4X3_RC3_types[970],IFC4X3_RC3_types[971],IFC4X3_RC3_types[972],IFC4X3_RC3_types[973],IFC4X3_RC3_types[974],IFC4X3_RC3_types[975],IFC4X3_RC3_types[976],IFC4X3_RC3_types[977],IFC4X3_RC3_types[978],IFC4X3_RC3_types[979],IFC4X3_RC3_types[980],IFC4X3_RC3_types[981],IFC4X3_RC3_types[982],IFC4X3_RC3_types[983],IFC4X3_RC3_types[984],IFC4X3_RC3_types[985],IFC4X3_RC3_types[986],IFC4X3_RC3_types[987],IFC4X3_RC3_types[988],IFC4X3_RC3_types[989],IFC4X3_RC3_types[990],IFC4X3_RC3_types[991],IFC4X3_RC3_types[992],IFC4X3_RC3_types[993],IFC4X3_RC3_types[994],IFC4X3_RC3_types[995],IFC4X3_RC3_types[996],IFC4X3_RC3_types[997],IFC4X3_RC3_types[998],IFC4X3_RC3_types[999],IFC4X3_RC3_types[1000],IFC4X3_RC3_types[1001],IFC4X3_RC3_types[1002],IFC4X3_RC3_types[1003],IFC4X3_RC3_types[1004],IFC4X3_RC3_types[1005],IFC4X3_RC3_types[1006],IFC4X3_RC3_types[1007],IFC4X3_RC3_types[1008],IFC4X3_RC3_types[1009],IFC4X3_RC3_types[1010],IFC4X3_RC3_types[1011],IFC4X3_RC3_types[1012],IFC4X3_RC3_types[1013],IFC4X3_RC3_types[1014],IFC4X3_RC3_types[1015],IFC4X3_RC3_types[1016],IFC4X3_RC3_types[1017],IFC4X3_RC3_types[1018],IFC4X3_RC3_types[1019],IFC4X3_RC3_types[1020],IFC4X3_RC3_types[1021],IFC4X3_RC3_types[1022],IFC4X3_RC3_types[1023],IFC4X3_RC3_types[1024],IFC4X3_RC3_types[1025],IFC4X3_RC3_types[1026],IFC4X3_RC3_types[1027],IFC4X3_RC3_types[1028],IFC4X3_RC3_types[1029],IFC4X3_RC3_types[1030],IFC4X3_RC3_types[1031],IFC4X3_RC3_types[1032],IFC4X3_RC3_types[1033],IFC4X3_RC3_types[1034],IFC4X3_RC3_types[1035],IFC4X3_RC3_types[1036],IFC4X3_RC3_types[1037],IFC4X3_RC3_types[1038],IFC4X3_RC3_types[1039],IFC4X3_RC3_types[1040],IFC4X3_RC3_types[1041],IFC4X3_RC3_types[1042],IFC4X3_RC3_types[1043],IFC4X3_RC3_types[1044],IFC4X3_RC3_types[1045],IFC4X3_RC3_types[1046],IFC4X3_RC3_types[1047],IFC4X3_RC3_types[1048],IFC4X3_RC3_types[1049],IFC4X3_RC3_types[1050],IFC4X3_RC3_types[1051],IFC4X3_RC3_types[1052],IFC4X3_RC3_types[1053],IFC4X3_RC3_types[1054],IFC4X3_RC3_types[1055],IFC4X3_RC3_types[1056],IFC4X3_RC3_types[1057],IFC4X3_RC3_types[1058],IFC4X3_RC3_types[1059],IFC4X3_RC3_types[1060],IFC4X3_RC3_types[1061],IFC4X3_RC3_types[1062],IFC4X3_RC3_types[1063],IFC4X3_RC3_types[1064],IFC4X3_RC3_types[1065],IFC4X3_RC3_types[1066],IFC4X3_RC3_types[1067],IFC4X3_RC3_types[1068],IFC4X3_RC3_types[1069],IFC4X3_RC3_types[1070],IFC4X3_RC3_types[1071],IFC4X3_RC3_types[1072],IFC4X3_RC3_types[1073],IFC4X3_RC3_types[1074],IFC4X3_RC3_types[1075],IFC4X3_RC3_types[1076],IFC4X3_RC3_types[1077],IFC4X3_RC3_types[1078],IFC4X3_RC3_types[1079],IFC4X3_RC3_types[1080],IFC4X3_RC3_types[1081],IFC4X3_RC3_types[1082],IFC4X3_RC3_types[1083],IFC4X3_RC3_types[1084],IFC4X3_RC3_types[1085],IFC4X3_RC3_types[1086],IFC4X3_RC3_types[1087],IFC4X3_RC3_types[1088],IFC4X3_RC3_types[1089],IFC4X3_RC3_types[1090],IFC4X3_RC3_types[1091],IFC4X3_RC3_types[1092],IFC4X3_RC3_types[1093],IFC4X3_RC3_types[1094],IFC4X3_RC3_types[1095],IFC4X3_RC3_types[1096],IFC4X3_RC3_types[1097],IFC4X3_RC3_types[1098],IFC4X3_RC3_types[1099],IFC4X3_RC3_types[1100],IFC4X3_RC3_types[1101],IFC4X3_RC3_types[1102],IFC4X3_RC3_types[1103],IFC4X3_RC3_types[1104],IFC4X3_RC3_types[1105],IFC4X3_RC3_types[1106],IFC4X3_RC3_types[1107],IFC4X3_RC3_types[1108],IFC4X3_RC3_types[1109],IFC4X3_RC3_types[1110],IFC4X3_RC3_types[1111],IFC4X3_RC3_types[1112],IFC4X3_RC3_types[1113],IFC4X3_RC3_types[1114],IFC4X3_RC3_types[1115],IFC4X3_RC3_types[1116],IFC4X3_RC3_types[1117],IFC4X3_RC3_types[1118],IFC4X3_RC3_types[1119],IFC4X3_RC3_types[1120],IFC4X3_RC3_types[1121],IFC4X3_RC3_types[1122],IFC4X3_RC3_types[1123],IFC4X3_RC3_types[1124],IFC4X3_RC3_types[1125],IFC4X3_RC3_types[1126],IFC4X3_RC3_types[1127],IFC4X3_RC3_types[1128],IFC4X3_RC3_types[1129],IFC4X3_RC3_types[1130],IFC4X3_RC3_types[1131],IFC4X3_RC3_types[1132],IFC4X3_RC3_types[1133],IFC4X3_RC3_types[1134],IFC4X3_RC3_types[1135],IFC4X3_RC3_types[1136],IFC4X3_RC3_types[1137],IFC4X3_RC3_types[1138],IFC4X3_RC3_types[1139],IFC4X3_RC3_types[1140],IFC4X3_RC3_types[1141],IFC4X3_RC3_types[1142],IFC4X3_RC3_types[1143],IFC4X3_RC3_types[1144],IFC4X3_RC3_types[1145],IFC4X3_RC3_types[1146],IFC4X3_RC3_types[1147],IFC4X3_RC3_types[1148],IFC4X3_RC3_types[1149],IFC4X3_RC3_types[1150],IFC4X3_RC3_types[1151],IFC4X3_RC3_types[1152],IFC4X3_RC3_types[1153],IFC4X3_RC3_types[1154],IFC4X3_RC3_types[1155],IFC4X3_RC3_types[1156],IFC4X3_RC3_types[1157],IFC4X3_RC3_types[1158],IFC4X3_RC3_types[1159],IFC4X3_RC3_types[1160],IFC4X3_RC3_types[1161],IFC4X3_RC3_types[1162],IFC4X3_RC3_types[1163],IFC4X3_RC3_types[1164],IFC4X3_RC3_types[1165],IFC4X3_RC3_types[1166],IFC4X3_RC3_types[1167],IFC4X3_RC3_types[1168],IFC4X3_RC3_types[1169],IFC4X3_RC3_types[1170],IFC4X3_RC3_types[1171],IFC4X3_RC3_types[1172],IFC4X3_RC3_types[1173],IFC4X3_RC3_types[1174],IFC4X3_RC3_types[1175],IFC4X3_RC3_types[1176],IFC4X3_RC3_types[1177],IFC4X3_RC3_types[1178],IFC4X3_RC3_types[1179],IFC4X3_RC3_types[1180],IFC4X3_RC3_types[1181],IFC4X3_RC3_types[1182],IFC4X3_RC3_types[1183],IFC4X3_RC3_types[1184],IFC4X3_RC3_types[1185],IFC4X3_RC3_types[1186],IFC4X3_RC3_types[1187],IFC4X3_RC3_types[1188],IFC4X3_RC3_types[1189],IFC4X3_RC3_types[1190],IFC4X3_RC3_types[1191],IFC4X3_RC3_types[1192],IFC4X3_RC3_types[1193],IFC4X3_RC3_types[1194],IFC4X3_RC3_types[1195],IFC4X3_RC3_types[1196],IFC4X3_RC3_types[1197],IFC4X3_RC3_types[1198],IFC4X3_RC3_types[1199],IFC4X3_RC3_types[1200],IFC4X3_RC3_types[1201],IFC4X3_RC3_types[1202],IFC4X3_RC3_types[1203],IFC4X3_RC3_types[1204],IFC4X3_RC3_types[1205],IFC4X3_RC3_types[1206],IFC4X3_RC3_types[1207],IFC4X3_RC3_types[1208],IFC4X3_RC3_types[1209],IFC4X3_RC3_types[1210],IFC4X3_RC3_types[1211],IFC4X3_RC3_types[1212],IFC4X3_RC3_types[1213],IFC4X3_RC3_types[1214],IFC4X3_RC3_types[1215],IFC4X3_RC3_types[1216],IFC4X3_RC3_types[1217],IFC4X3_RC3_types[1218],IFC4X3_RC3_types[1219],IFC4X3_RC3_types[1220],IFC4X3_RC3_types[1221],IFC4X3_RC3_types[1222],IFC4X3_RC3_types[1223],IFC4X3_RC3_types[1224],IFC4X3_RC3_types[1225],IFC4X3_RC3_types[1226],IFC4X3_RC3_types[1227],IFC4X3_RC3_types[1228],IFC4X3_RC3_types[1229],IFC4X3_RC3_types[1230],IFC4X3_RC3_types[1231],IFC4X3_RC3_types[1232],IFC4X3_RC3_types[1233],IFC4X3_RC3_types[1234],IFC4X3_RC3_types[1235],IFC4X3_RC3_types[1236],IFC4X3_RC3_types[1237],IFC4X3_RC3_types[1238],IFC4X3_RC3_types[1239],IFC4X3_RC3_types[1240],IFC4X3_RC3_types[1241],IFC4X3_RC3_types[1242],IFC4X3_RC3_types[1243],IFC4X3_RC3_types[1244],IFC4X3_RC3_types[1245],IFC4X3_RC3_types[1246],IFC4X3_RC3_types[1247],IFC4X3_RC3_types[1248],IFC4X3_RC3_types[1249],IFC4X3_RC3_types[1250],IFC4X3_RC3_types[1251],IFC4X3_RC3_types[1252],IFC4X3_RC3_types[1253],IFC4X3_RC3_types[1254],IFC4X3_RC3_types[1255],IFC4X3_RC3_types[1256],IFC4X3_RC3_types[1257],IFC4X3_RC3_types[1258],IFC4X3_RC3_types[1259],IFC4X3_RC3_types[1260],IFC4X3_RC3_types[1261],IFC4X3_RC3_types[1262],IFC4X3_RC3_types[1263],IFC4X3_RC3_types[1264],IFC4X3_RC3_types[1265],IFC4X3_RC3_types[1266],IFC4X3_RC3_types[1267],IFC4X3_RC3_types[1268],IFC4X3_RC3_types[1269],IFC4X3_RC3_types[1270],IFC4X3_RC3_types[1271],IFC4X3_RC3_types[1272],IFC4X3_RC3_types[1273],IFC4X3_RC3_types[1274],IFC4X3_RC3_types[1275],IFC4X3_RC3_types[1276],IFC4X3_RC3_types[1277],IFC4X3_RC3_types[1278],IFC4X3_RC3_types[1279],IFC4X3_RC3_types[1280],IFC4X3_RC3_types[1281],IFC4X3_RC3_types[1282],IFC4X3_RC3_types[1283],IFC4X3_RC3_types[1284],IFC4X3_RC3_types[1285],IFC4X3_RC3_types[1286],IFC4X3_RC3_types[1287],IFC4X3_RC3_types[1288],IFC4X3_RC3_types[1289],IFC4X3_RC3_types[1290],IFC4X3_RC3_types[1291],IFC4X3_RC3_types[1292],IFC4X3_RC3_types[1293],IFC4X3_RC3_types[1294],IFC4X3_RC3_types[1295],IFC4X3_RC3_types[1296],IFC4X3_RC3_types[1297],IFC4X3_RC3_types[1298],IFC4X3_RC3_types[1299],IFC4X3_RC3_types[1300],IFC4X3_RC3_types[1301],IFC4X3_RC3_types[1302],IFC4X3_RC3_types[1303],IFC4X3_RC3_types[1304],IFC4X3_RC3_types[1305],IFC4X3_RC3_types[1306],IFC4X3_RC3_types[1307],IFC4X3_RC3_types[1308],IFC4X3_RC3_types[1309],IFC4X3_RC3_types[1310],IFC4X3_RC3_types[1311],IFC4X3_RC3_types[1312],IFC4X3_RC3_types[1313],IFC4X3_RC3_types[1314]}); } static std::unique_ptr schema; diff --git a/src/ifcparse/schemas/Ifc4x3_rc3.cpp b/src/ifcparse/schemas/Ifc4x3_rc3.cpp index e2482b7c8b..d470582257 100644 --- a/src/ifcparse/schemas/Ifc4x3_rc3.cpp +++ b/src/ifcparse/schemas/Ifc4x3_rc3.cpp @@ -19,7 +19,7 @@ /******************************************************************************** * * - * This file has been generated from IFC4x3_RC2.exp. Do not make modifications * + * This file has been generated from IFC4x3_RC3.exp. Do not make modifications * * but instead modify the python script that has been used to generate this. * * * ********************************************************************************/ @@ -36,7 +36,7 @@ const char* const Ifc4x3_rc3::Identifier = "IFC4X3_RC3"; using namespace ifcopenshell; // External definitions -extern declaration* IFC4X3_RC3_types[1317]; +extern declaration* IFC4X3_RC3_types[1315]; // const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcActionRequestTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[3]); } @@ -44,7 +44,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcActionRequestTypeEnum::Clas /* Ifc4x3_rc3::IfcActionRequestTypeEnum::IfcActionRequestTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcActionRequestTypeEnum::IfcActionRequestTypeEnum(Value v) { @@ -73,7 +73,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcActionSourceTypeEnum::Class /* Ifc4x3_rc3::IfcActionSourceTypeEnum::IfcActionSourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcActionSourceTypeEnum::IfcActionSourceTypeEnum(Value v) { @@ -102,7 +102,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcActionTypeEnum::Class() { r /* Ifc4x3_rc3::IfcActionTypeEnum::IfcActionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcActionTypeEnum::IfcActionTypeEnum(Value v) { @@ -131,7 +131,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcActuatorTypeEnum::Class() { /* Ifc4x3_rc3::IfcActuatorTypeEnum::IfcActuatorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcActuatorTypeEnum::IfcActuatorTypeEnum(Value v) { @@ -160,7 +160,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcAddressTypeEnum::Class() { /* Ifc4x3_rc3::IfcAddressTypeEnum::IfcAddressTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcAddressTypeEnum::IfcAddressTypeEnum(Value v) { @@ -189,7 +189,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Cla /* Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum(Value v) { @@ -218,7 +218,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcAirTerminalTypeEnum::Class( /* Ifc4x3_rc3::IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum(Value v) { @@ -247,7 +247,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnu /* Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum(Value v) { @@ -276,7 +276,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcAlarmTypeEnum::Class() { re /* Ifc4x3_rc3::IfcAlarmTypeEnum::IfcAlarmTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcAlarmTypeEnum::IfcAlarmTypeEnum(Value v) { @@ -305,7 +305,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnu /* Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::IfcAlignmentCantSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::IfcAlignmentCantSegmentTypeEnum(Value v) { @@ -334,7 +334,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcAlignmentHorizontalSegmentT /* Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::IfcAlignmentHorizontalSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::IfcAlignmentHorizontalSegmentTypeEnum(Value v) { @@ -363,7 +363,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcAlignmentTypeEnum::Class() /* Ifc4x3_rc3::IfcAlignmentTypeEnum::IfcAlignmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcAlignmentTypeEnum::IfcAlignmentTypeEnum(Value v) { @@ -392,7 +392,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcAlignmentVerticalSegmentTyp /* Ifc4x3_rc3::IfcAlignmentVerticalSegmentTypeEnum::IfcAlignmentVerticalSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcAlignmentVerticalSegmentTypeEnum::IfcAlignmentVerticalSegmentTypeEnum(Value v) { @@ -421,7 +421,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcAnalysisModelTypeEnum::Clas /* Ifc4x3_rc3::IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum(Value v) { @@ -450,7 +450,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::Cla /* Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum(Value v) { @@ -479,7 +479,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcAnnotationTypeEnum::Class() /* Ifc4x3_rc3::IfcAnnotationTypeEnum::IfcAnnotationTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcAnnotationTypeEnum::IfcAnnotationTypeEnum(Value v) { @@ -508,7 +508,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcArithmeticOperatorEnum::Cla /* Ifc4x3_rc3::IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum(Value v) { @@ -537,7 +537,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcAssemblyPlaceEnum::Class() /* Ifc4x3_rc3::IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum(Value v) { @@ -566,7 +566,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnu /* Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum(Value v) { @@ -595,7 +595,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcBSplineCurveForm::Class() { /* Ifc4x3_rc3::IfcBSplineCurveForm::IfcBSplineCurveForm(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcBSplineCurveForm::IfcBSplineCurveForm(Value v) { @@ -624,7 +624,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcBSplineSurfaceForm::Class() /* Ifc4x3_rc3::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm(Value v) { @@ -653,7 +653,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcBeamTypeEnum::Class() { ret /* Ifc4x3_rc3::IfcBeamTypeEnum::IfcBeamTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcBeamTypeEnum::IfcBeamTypeEnum(Value v) { @@ -682,7 +682,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcBearingTypeDisplacementEnum /* Ifc4x3_rc3::IfcBearingTypeDisplacementEnum::IfcBearingTypeDisplacementEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcBearingTypeDisplacementEnum::IfcBearingTypeDisplacementEnum(Value v) { @@ -711,7 +711,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcBearingTypeEnum::Class() { /* Ifc4x3_rc3::IfcBearingTypeEnum::IfcBearingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcBearingTypeEnum::IfcBearingTypeEnum(Value v) { @@ -740,7 +740,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcBenchmarkEnum::Class() { re /* Ifc4x3_rc3::IfcBenchmarkEnum::IfcBenchmarkEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcBenchmarkEnum::IfcBenchmarkEnum(Value v) { @@ -769,7 +769,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcBoilerTypeEnum::Class() { r /* Ifc4x3_rc3::IfcBoilerTypeEnum::IfcBoilerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcBoilerTypeEnum::IfcBoilerTypeEnum(Value v) { @@ -798,7 +798,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcBooleanOperator::Class() { /* Ifc4x3_rc3::IfcBooleanOperator::IfcBooleanOperator(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcBooleanOperator::IfcBooleanOperator(Value v) { @@ -827,7 +827,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcBridgePartTypeEnum::Class() /* Ifc4x3_rc3::IfcBridgePartTypeEnum::IfcBridgePartTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcBridgePartTypeEnum::IfcBridgePartTypeEnum(Value v) { @@ -856,7 +856,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcBridgeTypeEnum::Class() { r /* Ifc4x3_rc3::IfcBridgeTypeEnum::IfcBridgeTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcBridgeTypeEnum::IfcBridgeTypeEnum(Value v) { @@ -885,7 +885,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcBuildingElementPartTypeEnum /* Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum(Value v) { @@ -914,7 +914,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcBuildingElementProxyTypeEnu /* Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum(Value v) { @@ -943,7 +943,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcBuildingSystemTypeEnum::Cla /* Ifc4x3_rc3::IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum(Value v) { @@ -972,7 +972,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcBuiltSystemTypeEnum::Class( /* Ifc4x3_rc3::IfcBuiltSystemTypeEnum::IfcBuiltSystemTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcBuiltSystemTypeEnum::IfcBuiltSystemTypeEnum(Value v) { @@ -1001,7 +1001,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcBurnerTypeEnum::Class() { r /* Ifc4x3_rc3::IfcBurnerTypeEnum::IfcBurnerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcBurnerTypeEnum::IfcBurnerTypeEnum(Value v) { @@ -1030,7 +1030,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum /* Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum(Value v) { @@ -1059,7 +1059,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum /* Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum(Value v) { @@ -1088,7 +1088,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcCableFittingTypeEnum::Class /* Ifc4x3_rc3::IfcCableFittingTypeEnum::IfcCableFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcCableFittingTypeEnum::IfcCableFittingTypeEnum(Value v) { @@ -1117,7 +1117,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcCableSegmentTypeEnum::Class /* Ifc4x3_rc3::IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum(Value v) { @@ -1146,7 +1146,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcCaissonFoundationTypeEnum:: /* Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::IfcCaissonFoundationTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::IfcCaissonFoundationTypeEnum(Value v) { @@ -1175,7 +1175,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcChangeActionEnum::Class() { /* Ifc4x3_rc3::IfcChangeActionEnum::IfcChangeActionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcChangeActionEnum::IfcChangeActionEnum(Value v) { @@ -1204,7 +1204,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcChillerTypeEnum::Class() { /* Ifc4x3_rc3::IfcChillerTypeEnum::IfcChillerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcChillerTypeEnum::IfcChillerTypeEnum(Value v) { @@ -1233,7 +1233,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcChimneyTypeEnum::Class() { /* Ifc4x3_rc3::IfcChimneyTypeEnum::IfcChimneyTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcChimneyTypeEnum::IfcChimneyTypeEnum(Value v) { @@ -1262,7 +1262,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcCoilTypeEnum::Class() { ret /* Ifc4x3_rc3::IfcCoilTypeEnum::IfcCoilTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcCoilTypeEnum::IfcCoilTypeEnum(Value v) { @@ -1291,7 +1291,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcColumnTypeEnum::Class() { r /* Ifc4x3_rc3::IfcColumnTypeEnum::IfcColumnTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcColumnTypeEnum::IfcColumnTypeEnum(Value v) { @@ -1320,7 +1320,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcCommunicationsApplianceType /* Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum(Value v) { @@ -1349,7 +1349,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcComplexPropertyTemplateType /* Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum(Value v) { @@ -1378,7 +1378,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcCompressorTypeEnum::Class() /* Ifc4x3_rc3::IfcCompressorTypeEnum::IfcCompressorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcCompressorTypeEnum::IfcCompressorTypeEnum(Value v) { @@ -1407,7 +1407,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcCondenserTypeEnum::Class() /* Ifc4x3_rc3::IfcCondenserTypeEnum::IfcCondenserTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcCondenserTypeEnum::IfcCondenserTypeEnum(Value v) { @@ -1436,7 +1436,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcConnectionTypeEnum::Class() /* Ifc4x3_rc3::IfcConnectionTypeEnum::IfcConnectionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcConnectionTypeEnum::IfcConnectionTypeEnum(Value v) { @@ -1465,7 +1465,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcConstraintEnum::Class() { r /* Ifc4x3_rc3::IfcConstraintEnum::IfcConstraintEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcConstraintEnum::IfcConstraintEnum(Value v) { @@ -1494,7 +1494,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcConstructionEquipmentResour /* Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum(Value v) { @@ -1523,7 +1523,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcConstructionMaterialResourc /* Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum(Value v) { @@ -1552,7 +1552,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcConstructionProductResource /* Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum(Value v) { @@ -1581,7 +1581,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcControllerTypeEnum::Class() /* Ifc4x3_rc3::IfcControllerTypeEnum::IfcControllerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcControllerTypeEnum::IfcControllerTypeEnum(Value v) { @@ -1610,7 +1610,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Cl /* Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::IfcConveyorSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::IfcConveyorSegmentTypeEnum(Value v) { @@ -1639,7 +1639,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcCooledBeamTypeEnum::Class() /* Ifc4x3_rc3::IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum(Value v) { @@ -1668,7 +1668,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Class /* Ifc4x3_rc3::IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum(Value v) { @@ -1697,7 +1697,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcCostItemTypeEnum::Class() { /* Ifc4x3_rc3::IfcCostItemTypeEnum::IfcCostItemTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcCostItemTypeEnum::IfcCostItemTypeEnum(Value v) { @@ -1726,7 +1726,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcCostScheduleTypeEnum::Class /* Ifc4x3_rc3::IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum(Value v) { @@ -1755,7 +1755,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcCourseTypeEnum::Class() { r /* Ifc4x3_rc3::IfcCourseTypeEnum::IfcCourseTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcCourseTypeEnum::IfcCourseTypeEnum(Value v) { @@ -1784,7 +1784,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcCoveringTypeEnum::Class() { /* Ifc4x3_rc3::IfcCoveringTypeEnum::IfcCoveringTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcCoveringTypeEnum::IfcCoveringTypeEnum(Value v) { @@ -1813,7 +1813,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcCrewResourceTypeEnum::Class /* Ifc4x3_rc3::IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum(Value v) { @@ -1842,7 +1842,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcCurtainWallTypeEnum::Class( /* Ifc4x3_rc3::IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum(Value v) { @@ -1871,7 +1871,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcCurveInterpolationEnum::Cla /* Ifc4x3_rc3::IfcCurveInterpolationEnum::IfcCurveInterpolationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcCurveInterpolationEnum::IfcCurveInterpolationEnum(Value v) { @@ -1900,7 +1900,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDamperTypeEnum::Class() { r /* Ifc4x3_rc3::IfcDamperTypeEnum::IfcDamperTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcDamperTypeEnum::IfcDamperTypeEnum(Value v) { @@ -1929,7 +1929,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDataOriginEnum::Class() { r /* Ifc4x3_rc3::IfcDataOriginEnum::IfcDataOriginEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcDataOriginEnum::IfcDataOriginEnum(Value v) { @@ -1958,7 +1958,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDerivedUnitEnum::Class() { /* Ifc4x3_rc3::IfcDerivedUnitEnum::IfcDerivedUnitEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcDerivedUnitEnum::IfcDerivedUnitEnum(Value v) { @@ -1987,7 +1987,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDirectionSenseEnum::Class() /* Ifc4x3_rc3::IfcDirectionSenseEnum::IfcDirectionSenseEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcDirectionSenseEnum::IfcDirectionSenseEnum(Value v) { @@ -2011,12 +2011,12 @@ Ifc4x3_rc3::IfcDirectionSenseEnum::operator Ifc4x3_rc3::IfcDirectionSenseEnum::V return (Ifc4x3_rc3::IfcDirectionSenseEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[314]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[314]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[313]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[313]); } /* Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum(Value v) { @@ -2040,12 +2040,12 @@ Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::operator Ifc4x3_rc3::IfcDiscreteAccess return (Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDistributionBoardTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[317]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[317]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDistributionBoardTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[316]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[316]); } /* Ifc4x3_rc3::IfcDistributionBoardTypeEnum::IfcDistributionBoardTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcDistributionBoardTypeEnum::IfcDistributionBoardTypeEnum(Value v) { @@ -2069,12 +2069,12 @@ Ifc4x3_rc3::IfcDistributionBoardTypeEnum::operator Ifc4x3_rc3::IfcDistributionBo return (Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[320]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[320]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[319]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[319]); } /* Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum(Value v) { @@ -2098,12 +2098,12 @@ Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::operator Ifc4x3_rc3::IfcDistr return (Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDistributionPortTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[329]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDistributionPortTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[329]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDistributionPortTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[328]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDistributionPortTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[328]); } /* Ifc4x3_rc3::IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum(Value v) { @@ -2127,12 +2127,12 @@ Ifc4x3_rc3::IfcDistributionPortTypeEnum::operator Ifc4x3_rc3::IfcDistributionPor return (Ifc4x3_rc3::IfcDistributionPortTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDistributionSystemEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[331]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDistributionSystemEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[331]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDistributionSystemEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[330]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDistributionSystemEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[330]); } /* Ifc4x3_rc3::IfcDistributionSystemEnum::IfcDistributionSystemEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcDistributionSystemEnum::IfcDistributionSystemEnum(Value v) { @@ -2156,12 +2156,12 @@ Ifc4x3_rc3::IfcDistributionSystemEnum::operator Ifc4x3_rc3::IfcDistributionSyste return (Ifc4x3_rc3::IfcDistributionSystemEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDocumentConfidentialityEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[332]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDocumentConfidentialityEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[332]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDocumentConfidentialityEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[331]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDocumentConfidentialityEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[331]); } /* Ifc4x3_rc3::IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum(Value v) { @@ -2185,12 +2185,12 @@ Ifc4x3_rc3::IfcDocumentConfidentialityEnum::operator Ifc4x3_rc3::IfcDocumentConf return (Ifc4x3_rc3::IfcDocumentConfidentialityEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDocumentStatusEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[337]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDocumentStatusEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[337]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDocumentStatusEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[336]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDocumentStatusEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[336]); } /* Ifc4x3_rc3::IfcDocumentStatusEnum::IfcDocumentStatusEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcDocumentStatusEnum::IfcDocumentStatusEnum(Value v) { @@ -2214,12 +2214,12 @@ Ifc4x3_rc3::IfcDocumentStatusEnum::operator Ifc4x3_rc3::IfcDocumentStatusEnum::V return (Ifc4x3_rc3::IfcDocumentStatusEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDoorPanelOperationEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[340]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDoorPanelOperationEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[340]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDoorPanelOperationEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[339]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDoorPanelOperationEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[339]); } /* Ifc4x3_rc3::IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum(Value v) { @@ -2243,12 +2243,12 @@ Ifc4x3_rc3::IfcDoorPanelOperationEnum::operator Ifc4x3_rc3::IfcDoorPanelOperatio return (Ifc4x3_rc3::IfcDoorPanelOperationEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDoorPanelPositionEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[341]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDoorPanelPositionEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[341]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDoorPanelPositionEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[340]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDoorPanelPositionEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[340]); } /* Ifc4x3_rc3::IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum(Value v) { @@ -2272,12 +2272,12 @@ Ifc4x3_rc3::IfcDoorPanelPositionEnum::operator Ifc4x3_rc3::IfcDoorPanelPositionE return (Ifc4x3_rc3::IfcDoorPanelPositionEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDoorStyleConstructionEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[345]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDoorStyleConstructionEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[345]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDoorStyleConstructionEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[344]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDoorStyleConstructionEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[344]); } /* Ifc4x3_rc3::IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum(Value v) { @@ -2301,12 +2301,12 @@ Ifc4x3_rc3::IfcDoorStyleConstructionEnum::operator Ifc4x3_rc3::IfcDoorStyleConst return (Ifc4x3_rc3::IfcDoorStyleConstructionEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDoorStyleOperationEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[346]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDoorStyleOperationEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[346]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDoorStyleOperationEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[345]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDoorStyleOperationEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[345]); } /* Ifc4x3_rc3::IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum(Value v) { @@ -2330,12 +2330,12 @@ Ifc4x3_rc3::IfcDoorStyleOperationEnum::operator Ifc4x3_rc3::IfcDoorStyleOperatio return (Ifc4x3_rc3::IfcDoorStyleOperationEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDoorTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[348]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDoorTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[348]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDoorTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[347]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDoorTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[347]); } /* Ifc4x3_rc3::IfcDoorTypeEnum::IfcDoorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcDoorTypeEnum::IfcDoorTypeEnum(Value v) { @@ -2359,12 +2359,12 @@ Ifc4x3_rc3::IfcDoorTypeEnum::operator Ifc4x3_rc3::IfcDoorTypeEnum::Value() const return (Ifc4x3_rc3::IfcDoorTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDoorTypeOperationEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[349]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDoorTypeOperationEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[349]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDoorTypeOperationEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[348]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDoorTypeOperationEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[348]); } /* Ifc4x3_rc3::IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum(Value v) { @@ -2388,12 +2388,12 @@ Ifc4x3_rc3::IfcDoorTypeOperationEnum::operator Ifc4x3_rc3::IfcDoorTypeOperationE return (Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDuctFittingTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[355]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDuctFittingTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[355]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDuctFittingTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[354]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDuctFittingTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[354]); } /* Ifc4x3_rc3::IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum(Value v) { @@ -2417,12 +2417,12 @@ Ifc4x3_rc3::IfcDuctFittingTypeEnum::operator Ifc4x3_rc3::IfcDuctFittingTypeEnum: return (Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDuctSegmentTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[358]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[358]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDuctSegmentTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[357]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[357]); } /* Ifc4x3_rc3::IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum(Value v) { @@ -2446,12 +2446,12 @@ Ifc4x3_rc3::IfcDuctSegmentTypeEnum::operator Ifc4x3_rc3::IfcDuctSegmentTypeEnum: return (Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDuctSilencerTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[361]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[361]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDuctSilencerTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[360]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[360]); } /* Ifc4x3_rc3::IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum(Value v) { @@ -2475,12 +2475,12 @@ Ifc4x3_rc3::IfcDuctSilencerTypeEnum::operator Ifc4x3_rc3::IfcDuctSilencerTypeEnu return (Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcEarthworksCutTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[365]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcEarthworksCutTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[365]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcEarthworksCutTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[364]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcEarthworksCutTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[364]); } /* Ifc4x3_rc3::IfcEarthworksCutTypeEnum::IfcEarthworksCutTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcEarthworksCutTypeEnum::IfcEarthworksCutTypeEnum(Value v) { @@ -2504,12 +2504,12 @@ Ifc4x3_rc3::IfcEarthworksCutTypeEnum::operator Ifc4x3_rc3::IfcEarthworksCutTypeE return (Ifc4x3_rc3::IfcEarthworksCutTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcEarthworksFillTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[368]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[368]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcEarthworksFillTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[367]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[367]); } /* Ifc4x3_rc3::IfcEarthworksFillTypeEnum::IfcEarthworksFillTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcEarthworksFillTypeEnum::IfcEarthworksFillTypeEnum(Value v) { @@ -2533,12 +2533,12 @@ Ifc4x3_rc3::IfcEarthworksFillTypeEnum::operator Ifc4x3_rc3::IfcEarthworksFillTyp return (Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElectricApplianceTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[374]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[374]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElectricApplianceTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[373]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[373]); } /* Ifc4x3_rc3::IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum(Value v) { @@ -2562,12 +2562,12 @@ Ifc4x3_rc3::IfcElectricApplianceTypeEnum::operator Ifc4x3_rc3::IfcElectricApplia return (Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[381]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[381]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[380]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[380]); } /* Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum(Value v) { @@ -2591,12 +2591,12 @@ Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::operator Ifc4x3_rc3::IfcElectr return (Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[384]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[384]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[383]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[383]); } /* Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum(Value v) { @@ -2620,12 +2620,12 @@ Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::operator Ifc4x3_rc3::IfcElectr return (Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[387]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[387]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[386]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[386]); } /* Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::IfcElectricFlowTreatmentDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::IfcElectricFlowTreatmentDeviceTypeEnum(Value v) { @@ -2649,12 +2649,12 @@ Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::operator Ifc4x3_rc3::IfcElec return (Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[390]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[390]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[389]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[389]); } /* Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum(Value v) { @@ -2678,12 +2678,12 @@ Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::operator Ifc4x3_rc3::IfcElectricGenera return (Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElectricMotorTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[393]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElectricMotorTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[393]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElectricMotorTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[392]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElectricMotorTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[392]); } /* Ifc4x3_rc3::IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum(Value v) { @@ -2707,12 +2707,12 @@ Ifc4x3_rc3::IfcElectricMotorTypeEnum::operator Ifc4x3_rc3::IfcElectricMotorTypeE return (Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[397]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[397]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[396]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[396]); } /* Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum(Value v) { @@ -2736,12 +2736,12 @@ Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::operator Ifc4x3_rc3::IfcElectricTime return (Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElementAssemblyTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[403]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[403]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElementAssemblyTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[402]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[402]); } /* Ifc4x3_rc3::IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum(Value v) { @@ -2765,12 +2765,12 @@ Ifc4x3_rc3::IfcElementAssemblyTypeEnum::operator Ifc4x3_rc3::IfcElementAssemblyT return (Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElementCompositionEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[406]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElementCompositionEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[406]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElementCompositionEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[405]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcElementCompositionEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[405]); } /* Ifc4x3_rc3::IfcElementCompositionEnum::IfcElementCompositionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcElementCompositionEnum::IfcElementCompositionEnum(Value v) { @@ -2794,12 +2794,12 @@ Ifc4x3_rc3::IfcElementCompositionEnum::operator Ifc4x3_rc3::IfcElementCompositio return (Ifc4x3_rc3::IfcElementCompositionEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcEngineTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[416]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcEngineTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[416]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcEngineTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[415]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcEngineTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[415]); } /* Ifc4x3_rc3::IfcEngineTypeEnum::IfcEngineTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcEngineTypeEnum::IfcEngineTypeEnum(Value v) { @@ -2823,12 +2823,12 @@ Ifc4x3_rc3::IfcEngineTypeEnum::operator Ifc4x3_rc3::IfcEngineTypeEnum::Value() c return (Ifc4x3_rc3::IfcEngineTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[419]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[419]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[418]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[418]); } /* Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum(Value v) { @@ -2852,12 +2852,12 @@ Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::operator Ifc4x3_rc3::IfcEvaporativeCoo return (Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcEvaporatorTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[422]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcEvaporatorTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[422]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcEvaporatorTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[421]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcEvaporatorTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[421]); } /* Ifc4x3_rc3::IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum(Value v) { @@ -2881,12 +2881,12 @@ Ifc4x3_rc3::IfcEvaporatorTypeEnum::operator Ifc4x3_rc3::IfcEvaporatorTypeEnum::V return (Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcEventTriggerTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[425]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcEventTriggerTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[425]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcEventTriggerTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[424]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcEventTriggerTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[424]); } /* Ifc4x3_rc3::IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum(Value v) { @@ -2910,12 +2910,12 @@ Ifc4x3_rc3::IfcEventTriggerTypeEnum::operator Ifc4x3_rc3::IfcEventTriggerTypeEnu return (Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcEventTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[427]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcEventTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[427]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcEventTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[426]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcEventTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[426]); } /* Ifc4x3_rc3::IfcEventTypeEnum::IfcEventTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcEventTypeEnum::IfcEventTypeEnum(Value v) { @@ -2939,12 +2939,12 @@ Ifc4x3_rc3::IfcEventTypeEnum::operator Ifc4x3_rc3::IfcEventTypeEnum::Value() con return (Ifc4x3_rc3::IfcEventTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[436]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[436]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[435]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[435]); } /* Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum(Value v) { @@ -2968,12 +2968,12 @@ Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::operator Ifc4x3_rc3::IfcExternalS return (Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFacilityPartCommonTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[449]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFacilityPartCommonTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[449]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFacilityPartCommonTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[448]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFacilityPartCommonTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[448]); } /* Ifc4x3_rc3::IfcFacilityPartCommonTypeEnum::IfcFacilityPartCommonTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcFacilityPartCommonTypeEnum::IfcFacilityPartCommonTypeEnum(Value v) { @@ -2997,12 +2997,12 @@ Ifc4x3_rc3::IfcFacilityPartCommonTypeEnum::operator Ifc4x3_rc3::IfcFacilityPartC return (Ifc4x3_rc3::IfcFacilityPartCommonTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFacilityUsageEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[451]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFacilityUsageEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[451]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFacilityUsageEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[450]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFacilityUsageEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[450]); } /* Ifc4x3_rc3::IfcFacilityUsageEnum::IfcFacilityUsageEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcFacilityUsageEnum::IfcFacilityUsageEnum(Value v) { @@ -3026,12 +3026,12 @@ Ifc4x3_rc3::IfcFacilityUsageEnum::operator Ifc4x3_rc3::IfcFacilityUsageEnum::Val return (Ifc4x3_rc3::IfcFacilityUsageEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFanTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[455]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFanTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[455]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFanTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[454]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFanTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[454]); } /* Ifc4x3_rc3::IfcFanTypeEnum::IfcFanTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcFanTypeEnum::IfcFanTypeEnum(Value v) { @@ -3055,12 +3055,12 @@ Ifc4x3_rc3::IfcFanTypeEnum::operator Ifc4x3_rc3::IfcFanTypeEnum::Value() const { return (Ifc4x3_rc3::IfcFanTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFastenerTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[458]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFastenerTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[458]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFastenerTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[457]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFastenerTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[457]); } /* Ifc4x3_rc3::IfcFastenerTypeEnum::IfcFastenerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcFastenerTypeEnum::IfcFastenerTypeEnum(Value v) { @@ -3084,12 +3084,12 @@ Ifc4x3_rc3::IfcFastenerTypeEnum::operator Ifc4x3_rc3::IfcFastenerTypeEnum::Value return (Ifc4x3_rc3::IfcFastenerTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFilterTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[468]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFilterTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[468]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFilterTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[467]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFilterTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[467]); } /* Ifc4x3_rc3::IfcFilterTypeEnum::IfcFilterTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcFilterTypeEnum::IfcFilterTypeEnum(Value v) { @@ -3113,12 +3113,12 @@ Ifc4x3_rc3::IfcFilterTypeEnum::operator Ifc4x3_rc3::IfcFilterTypeEnum::Value() c return (Ifc4x3_rc3::IfcFilterTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[471]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[471]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[470]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[470]); } /* Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum(Value v) { @@ -3142,12 +3142,12 @@ Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::operator Ifc4x3_rc3::IfcFireSupp return (Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFlowDirectionEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[475]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFlowDirectionEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[475]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFlowDirectionEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[474]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFlowDirectionEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[474]); } /* Ifc4x3_rc3::IfcFlowDirectionEnum::IfcFlowDirectionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcFlowDirectionEnum::IfcFlowDirectionEnum(Value v) { @@ -3171,12 +3171,12 @@ Ifc4x3_rc3::IfcFlowDirectionEnum::operator Ifc4x3_rc3::IfcFlowDirectionEnum::Val return (Ifc4x3_rc3::IfcFlowDirectionEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[480]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[480]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[479]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[479]); } /* Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum(Value v) { @@ -3200,12 +3200,12 @@ Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::operator Ifc4x3_rc3::IfcFlowInstrumentTyp return (Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFlowMeterTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[483]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFlowMeterTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[483]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFlowMeterTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[482]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFlowMeterTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[482]); } /* Ifc4x3_rc3::IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum(Value v) { @@ -3229,12 +3229,12 @@ Ifc4x3_rc3::IfcFlowMeterTypeEnum::operator Ifc4x3_rc3::IfcFlowMeterTypeEnum::Val return (Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFootingTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[499]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFootingTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[499]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFootingTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[498]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFootingTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[498]); } /* Ifc4x3_rc3::IfcFootingTypeEnum::IfcFootingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcFootingTypeEnum::IfcFootingTypeEnum(Value v) { @@ -3258,12 +3258,12 @@ Ifc4x3_rc3::IfcFootingTypeEnum::operator Ifc4x3_rc3::IfcFootingTypeEnum::Value() return (Ifc4x3_rc3::IfcFootingTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFurnitureTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[506]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFurnitureTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[506]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFurnitureTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[505]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcFurnitureTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[505]); } /* Ifc4x3_rc3::IfcFurnitureTypeEnum::IfcFurnitureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcFurnitureTypeEnum::IfcFurnitureTypeEnum(Value v) { @@ -3287,12 +3287,12 @@ Ifc4x3_rc3::IfcFurnitureTypeEnum::operator Ifc4x3_rc3::IfcFurnitureTypeEnum::Val return (Ifc4x3_rc3::IfcFurnitureTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcGeographicElementTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[509]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcGeographicElementTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[509]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcGeographicElementTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[508]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcGeographicElementTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[508]); } /* Ifc4x3_rc3::IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum(Value v) { @@ -3316,12 +3316,12 @@ Ifc4x3_rc3::IfcGeographicElementTypeEnum::operator Ifc4x3_rc3::IfcGeographicElem return (Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcGeometricProjectionEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[511]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcGeometricProjectionEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[511]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcGeometricProjectionEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[510]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcGeometricProjectionEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[510]); } /* Ifc4x3_rc3::IfcGeometricProjectionEnum::IfcGeometricProjectionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcGeometricProjectionEnum::IfcGeometricProjectionEnum(Value v) { @@ -3345,12 +3345,12 @@ Ifc4x3_rc3::IfcGeometricProjectionEnum::operator Ifc4x3_rc3::IfcGeometricProject return (Ifc4x3_rc3::IfcGeometricProjectionEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcGlobalOrLocalEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[523]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[523]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcGlobalOrLocalEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[522]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[522]); } /* Ifc4x3_rc3::IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum(Value v) { @@ -3374,12 +3374,12 @@ Ifc4x3_rc3::IfcGlobalOrLocalEnum::operator Ifc4x3_rc3::IfcGlobalOrLocalEnum::Val return (Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcGridTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[529]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcGridTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[529]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcGridTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[528]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcGridTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[528]); } /* Ifc4x3_rc3::IfcGridTypeEnum::IfcGridTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcGridTypeEnum::IfcGridTypeEnum(Value v) { @@ -3403,12 +3403,12 @@ Ifc4x3_rc3::IfcGridTypeEnum::operator Ifc4x3_rc3::IfcGridTypeEnum::Value() const return (Ifc4x3_rc3::IfcGridTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcHeatExchangerTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[535]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[535]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcHeatExchangerTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[534]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[534]); } /* Ifc4x3_rc3::IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum(Value v) { @@ -3432,12 +3432,12 @@ Ifc4x3_rc3::IfcHeatExchangerTypeEnum::operator Ifc4x3_rc3::IfcHeatExchangerTypeE return (Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcHumidifierTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[540]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcHumidifierTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[540]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcHumidifierTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[539]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcHumidifierTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[539]); } /* Ifc4x3_rc3::IfcHumidifierTypeEnum::IfcHumidifierTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcHumidifierTypeEnum::IfcHumidifierTypeEnum(Value v) { @@ -3461,12 +3461,12 @@ Ifc4x3_rc3::IfcHumidifierTypeEnum::operator Ifc4x3_rc3::IfcHumidifierTypeEnum::V return (Ifc4x3_rc3::IfcHumidifierTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcImpactProtectionDeviceTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[546]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcImpactProtectionDeviceTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[546]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcImpactProtectionDeviceTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[545]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcImpactProtectionDeviceTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[545]); } /* Ifc4x3_rc3::IfcImpactProtectionDeviceTypeEnum::IfcImpactProtectionDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcImpactProtectionDeviceTypeEnum::IfcImpactProtectionDeviceTypeEnum(Value v) { @@ -3490,12 +3490,12 @@ Ifc4x3_rc3::IfcImpactProtectionDeviceTypeEnum::operator Ifc4x3_rc3::IfcImpactPro return (Ifc4x3_rc3::IfcImpactProtectionDeviceTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcInterceptorTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[560]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcInterceptorTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[560]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcInterceptorTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[559]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcInterceptorTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[559]); } /* Ifc4x3_rc3::IfcInterceptorTypeEnum::IfcInterceptorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcInterceptorTypeEnum::IfcInterceptorTypeEnum(Value v) { @@ -3519,12 +3519,12 @@ Ifc4x3_rc3::IfcInterceptorTypeEnum::operator Ifc4x3_rc3::IfcInterceptorTypeEnum: return (Ifc4x3_rc3::IfcInterceptorTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcInternalOrExternalEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[562]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcInternalOrExternalEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[562]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcInternalOrExternalEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[561]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcInternalOrExternalEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[561]); } /* Ifc4x3_rc3::IfcInternalOrExternalEnum::IfcInternalOrExternalEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcInternalOrExternalEnum::IfcInternalOrExternalEnum(Value v) { @@ -3548,12 +3548,12 @@ Ifc4x3_rc3::IfcInternalOrExternalEnum::operator Ifc4x3_rc3::IfcInternalOrExterna return (Ifc4x3_rc3::IfcInternalOrExternalEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcInventoryTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[565]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcInventoryTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[565]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcInventoryTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[564]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcInventoryTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[564]); } /* Ifc4x3_rc3::IfcInventoryTypeEnum::IfcInventoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcInventoryTypeEnum::IfcInventoryTypeEnum(Value v) { @@ -3577,12 +3577,12 @@ Ifc4x3_rc3::IfcInventoryTypeEnum::operator Ifc4x3_rc3::IfcInventoryTypeEnum::Val return (Ifc4x3_rc3::IfcInventoryTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcJunctionBoxTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[573]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[573]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcJunctionBoxTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[572]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[572]); } /* Ifc4x3_rc3::IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum(Value v) { @@ -3606,12 +3606,12 @@ Ifc4x3_rc3::IfcJunctionBoxTypeEnum::operator Ifc4x3_rc3::IfcJunctionBoxTypeEnum: return (Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcKnotType::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[577]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcKnotType::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[577]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcKnotType::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[576]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcKnotType::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[576]); } /* Ifc4x3_rc3::IfcKnotType::IfcKnotType(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcKnotType::IfcKnotType(Value v) { @@ -3635,12 +3635,12 @@ Ifc4x3_rc3::IfcKnotType::operator Ifc4x3_rc3::IfcKnotType::Value() const { return (Ifc4x3_rc3::IfcKnotType::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLaborResourceTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[581]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLaborResourceTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[581]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLaborResourceTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[580]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLaborResourceTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[580]); } /* Ifc4x3_rc3::IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum(Value v) { @@ -3664,12 +3664,12 @@ Ifc4x3_rc3::IfcLaborResourceTypeEnum::operator Ifc4x3_rc3::IfcLaborResourceTypeE return (Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLampTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[585]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLampTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[585]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLampTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[584]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLampTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[584]); } /* Ifc4x3_rc3::IfcLampTypeEnum::IfcLampTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcLampTypeEnum::IfcLampTypeEnum(Value v) { @@ -3693,12 +3693,12 @@ Ifc4x3_rc3::IfcLampTypeEnum::operator Ifc4x3_rc3::IfcLampTypeEnum::Value() const return (Ifc4x3_rc3::IfcLampTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLayerSetDirectionEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[588]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLayerSetDirectionEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[588]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLayerSetDirectionEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[587]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLayerSetDirectionEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[587]); } /* Ifc4x3_rc3::IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum(Value v) { @@ -3722,12 +3722,12 @@ Ifc4x3_rc3::IfcLayerSetDirectionEnum::operator Ifc4x3_rc3::IfcLayerSetDirectionE return (Ifc4x3_rc3::IfcLayerSetDirectionEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLightDistributionCurveEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[593]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLightDistributionCurveEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[593]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLightDistributionCurveEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[592]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLightDistributionCurveEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[592]); } /* Ifc4x3_rc3::IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum(Value v) { @@ -3751,12 +3751,12 @@ Ifc4x3_rc3::IfcLightDistributionCurveEnum::operator Ifc4x3_rc3::IfcLightDistribu return (Ifc4x3_rc3::IfcLightDistributionCurveEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLightEmissionSourceEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[596]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLightEmissionSourceEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[596]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLightEmissionSourceEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[595]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLightEmissionSourceEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[595]); } /* Ifc4x3_rc3::IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum(Value v) { @@ -3780,12 +3780,12 @@ Ifc4x3_rc3::IfcLightEmissionSourceEnum::operator Ifc4x3_rc3::IfcLightEmissionSou return (Ifc4x3_rc3::IfcLightEmissionSourceEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLightFixtureTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[599]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLightFixtureTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[599]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLightFixtureTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[598]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLightFixtureTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[598]); } /* Ifc4x3_rc3::IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum(Value v) { @@ -3809,12 +3809,12 @@ Ifc4x3_rc3::IfcLightFixtureTypeEnum::operator Ifc4x3_rc3::IfcLightFixtureTypeEnu return (Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[618]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[618]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[617]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[617]); } /* Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::IfcLiquidTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::IfcLiquidTerminalTypeEnum(Value v) { @@ -3838,12 +3838,12 @@ Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::operator Ifc4x3_rc3::IfcLiquidTerminalTyp return (Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLoadGroupTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[619]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLoadGroupTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[619]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLoadGroupTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[618]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLoadGroupTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[618]); } /* Ifc4x3_rc3::IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum(Value v) { @@ -3867,12 +3867,12 @@ Ifc4x3_rc3::IfcLoadGroupTypeEnum::operator Ifc4x3_rc3::IfcLoadGroupTypeEnum::Val return (Ifc4x3_rc3::IfcLoadGroupTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLogicalOperatorEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[622]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLogicalOperatorEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[622]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLogicalOperatorEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[621]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcLogicalOperatorEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[621]); } /* Ifc4x3_rc3::IfcLogicalOperatorEnum::IfcLogicalOperatorEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcLogicalOperatorEnum::IfcLogicalOperatorEnum(Value v) { @@ -3896,12 +3896,12 @@ Ifc4x3_rc3::IfcLogicalOperatorEnum::operator Ifc4x3_rc3::IfcLogicalOperatorEnum: return (Ifc4x3_rc3::IfcLogicalOperatorEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMarineFacilityTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[634]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[634]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMarineFacilityTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[633]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[633]); } /* Ifc4x3_rc3::IfcMarineFacilityTypeEnum::IfcMarineFacilityTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcMarineFacilityTypeEnum::IfcMarineFacilityTypeEnum(Value v) { @@ -3925,12 +3925,12 @@ Ifc4x3_rc3::IfcMarineFacilityTypeEnum::operator Ifc4x3_rc3::IfcMarineFacilityTyp return (Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMarinePartTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[635]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMarinePartTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[635]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMarinePartTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[634]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMarinePartTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[634]); } /* Ifc4x3_rc3::IfcMarinePartTypeEnum::IfcMarinePartTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcMarinePartTypeEnum::IfcMarinePartTypeEnum(Value v) { @@ -3954,12 +3954,12 @@ Ifc4x3_rc3::IfcMarinePartTypeEnum::operator Ifc4x3_rc3::IfcMarinePartTypeEnum::V return (Ifc4x3_rc3::IfcMarinePartTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[664]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[664]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[663]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[663]); } /* Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum(Value v) { @@ -3983,12 +3983,12 @@ Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::operator Ifc4x3_rc3::IfcMechanicalFas return (Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[667]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[667]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[666]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[666]); } /* Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum(Value v) { @@ -4012,12 +4012,12 @@ Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::operator Ifc4x3_rc3::IfcMedicalDeviceTypeE return (Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMemberTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[671]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMemberTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[671]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMemberTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[670]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMemberTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[670]); } /* Ifc4x3_rc3::IfcMemberTypeEnum::IfcMemberTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcMemberTypeEnum::IfcMemberTypeEnum(Value v) { @@ -4041,12 +4041,12 @@ Ifc4x3_rc3::IfcMemberTypeEnum::operator Ifc4x3_rc3::IfcMemberTypeEnum::Value() c return (Ifc4x3_rc3::IfcMemberTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[677]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[677]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[676]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[676]); } /* Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunicationsApplianceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunicationsApplianceTypeEnum(Value v) { @@ -4070,12 +4070,12 @@ Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::operator Ifc4x3_rc3::I return (Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMooringDeviceTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[693]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[693]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMooringDeviceTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[692]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[692]); } /* Ifc4x3_rc3::IfcMooringDeviceTypeEnum::IfcMooringDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcMooringDeviceTypeEnum::IfcMooringDeviceTypeEnum(Value v) { @@ -4099,12 +4099,12 @@ Ifc4x3_rc3::IfcMooringDeviceTypeEnum::operator Ifc4x3_rc3::IfcMooringDeviceTypeE return (Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMotorConnectionTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[696]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[696]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMotorConnectionTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[695]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[695]); } /* Ifc4x3_rc3::IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum(Value v) { @@ -4128,12 +4128,12 @@ Ifc4x3_rc3::IfcMotorConnectionTypeEnum::operator Ifc4x3_rc3::IfcMotorConnectionT return (Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcNavigationElementTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[700]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcNavigationElementTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[700]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcNavigationElementTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[699]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcNavigationElementTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[699]); } /* Ifc4x3_rc3::IfcNavigationElementTypeEnum::IfcNavigationElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcNavigationElementTypeEnum::IfcNavigationElementTypeEnum(Value v) { @@ -4157,12 +4157,12 @@ Ifc4x3_rc3::IfcNavigationElementTypeEnum::operator Ifc4x3_rc3::IfcNavigationElem return (Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcObjectTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[710]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcObjectTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[710]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcObjectTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[709]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcObjectTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[709]); } /* Ifc4x3_rc3::IfcObjectTypeEnum::IfcObjectTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcObjectTypeEnum::IfcObjectTypeEnum(Value v) { @@ -4186,12 +4186,12 @@ Ifc4x3_rc3::IfcObjectTypeEnum::operator Ifc4x3_rc3::IfcObjectTypeEnum::Value() c return (Ifc4x3_rc3::IfcObjectTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcObjectiveEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[707]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcObjectiveEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[707]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcObjectiveEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[706]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcObjectiveEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[706]); } /* Ifc4x3_rc3::IfcObjectiveEnum::IfcObjectiveEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcObjectiveEnum::IfcObjectiveEnum(Value v) { @@ -4215,12 +4215,12 @@ Ifc4x3_rc3::IfcObjectiveEnum::operator Ifc4x3_rc3::IfcObjectiveEnum::Value() con return (Ifc4x3_rc3::IfcObjectiveEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcOccupantTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[712]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcOccupantTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[712]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcOccupantTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[711]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcOccupantTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[711]); } /* Ifc4x3_rc3::IfcOccupantTypeEnum::IfcOccupantTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcOccupantTypeEnum::IfcOccupantTypeEnum(Value v) { @@ -4244,12 +4244,12 @@ Ifc4x3_rc3::IfcOccupantTypeEnum::operator Ifc4x3_rc3::IfcOccupantTypeEnum::Value return (Ifc4x3_rc3::IfcOccupantTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcOpeningElementTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[719]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcOpeningElementTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[719]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcOpeningElementTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[718]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcOpeningElementTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[718]); } /* Ifc4x3_rc3::IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum(Value v) { @@ -4273,12 +4273,12 @@ Ifc4x3_rc3::IfcOpeningElementTypeEnum::operator Ifc4x3_rc3::IfcOpeningElementTyp return (Ifc4x3_rc3::IfcOpeningElementTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcOutletTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[728]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcOutletTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[728]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcOutletTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[727]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcOutletTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[727]); } /* Ifc4x3_rc3::IfcOutletTypeEnum::IfcOutletTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcOutletTypeEnum::IfcOutletTypeEnum(Value v) { @@ -4302,41 +4302,12 @@ Ifc4x3_rc3::IfcOutletTypeEnum::operator Ifc4x3_rc3::IfcOutletTypeEnum::Value() c return (Ifc4x3_rc3::IfcOutletTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPavementTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[735]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPavementTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[735]); } - -/* -Ifc4x3_rc3::IfcPavementTypeEnum::IfcPavementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) -{} - -Ifc4x3_rc3::IfcPavementTypeEnum::IfcPavementTypeEnum(Value v) { - set_attribute_value(0, enumeration_reference(&Class(), static_cast(v))); -} - -Ifc4x3_rc3::IfcPavementTypeEnum::IfcPavementTypeEnum(const std::string& v) { - set_attribute_value(0, enumeration_reference(&Class(), Class().lookup_enum_offset(v))); -} -*/ - -const char* Ifc4x3_rc3::IfcPavementTypeEnum::ToString(Value v) { - return Ifc4x3_rc3::IfcPavementTypeEnum::IfcPavementTypeEnum::Class().lookup_enum_value((size_t)v); -} - -Ifc4x3_rc3::IfcPavementTypeEnum::Value Ifc4x3_rc3::IfcPavementTypeEnum::FromString(const std::string& s) { - return (Ifc4x3_rc3::IfcPavementTypeEnum::Value) Ifc4x3_rc3::IfcPavementTypeEnum::IfcPavementTypeEnum::Class().lookup_enum_offset(s); -} - -Ifc4x3_rc3::IfcPavementTypeEnum::operator Ifc4x3_rc3::IfcPavementTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcPavementTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); -} - -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[738]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[738]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[736]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[736]); } /* Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum(Value v) { @@ -4360,12 +4331,12 @@ Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::operator Ifc4x3_rc3::IfcPerformanceHi return (Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[739]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[739]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[737]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[737]); } /* Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum(Value v) { @@ -4389,12 +4360,12 @@ Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::operator Ifc4x3_rc3::IfcPermeable return (Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPermitTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[742]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPermitTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[742]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPermitTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[740]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPermitTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[740]); } /* Ifc4x3_rc3::IfcPermitTypeEnum::IfcPermitTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcPermitTypeEnum::IfcPermitTypeEnum(Value v) { @@ -4418,12 +4389,12 @@ Ifc4x3_rc3::IfcPermitTypeEnum::operator Ifc4x3_rc3::IfcPermitTypeEnum::Value() c return (Ifc4x3_rc3::IfcPermitTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[747]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[747]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[745]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[745]); } /* Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum(Value v) { @@ -4447,12 +4418,12 @@ Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::operator Ifc4x3_rc3::IfcPhysicalOrVirtualE return (Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPileConstructionEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[751]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPileConstructionEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[751]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPileConstructionEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[749]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPileConstructionEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[749]); } /* Ifc4x3_rc3::IfcPileConstructionEnum::IfcPileConstructionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcPileConstructionEnum::IfcPileConstructionEnum(Value v) { @@ -4476,12 +4447,12 @@ Ifc4x3_rc3::IfcPileConstructionEnum::operator Ifc4x3_rc3::IfcPileConstructionEnu return (Ifc4x3_rc3::IfcPileConstructionEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPileTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[753]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPileTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[753]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPileTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[751]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPileTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[751]); } /* Ifc4x3_rc3::IfcPileTypeEnum::IfcPileTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcPileTypeEnum::IfcPileTypeEnum(Value v) { @@ -4505,12 +4476,12 @@ Ifc4x3_rc3::IfcPileTypeEnum::operator Ifc4x3_rc3::IfcPileTypeEnum::Value() const return (Ifc4x3_rc3::IfcPileTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPipeFittingTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[756]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPipeFittingTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[756]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPipeFittingTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[754]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPipeFittingTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[754]); } /* Ifc4x3_rc3::IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum(Value v) { @@ -4534,12 +4505,12 @@ Ifc4x3_rc3::IfcPipeFittingTypeEnum::operator Ifc4x3_rc3::IfcPipeFittingTypeEnum: return (Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPipeSegmentTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[759]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[759]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPipeSegmentTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[757]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[757]); } /* Ifc4x3_rc3::IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum(Value v) { @@ -4563,12 +4534,12 @@ Ifc4x3_rc3::IfcPipeSegmentTypeEnum::operator Ifc4x3_rc3::IfcPipeSegmentTypeEnum: return (Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPlateTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[771]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPlateTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[771]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPlateTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[769]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPlateTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[769]); } /* Ifc4x3_rc3::IfcPlateTypeEnum::IfcPlateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcPlateTypeEnum::IfcPlateTypeEnum(Value v) { @@ -4592,12 +4563,12 @@ Ifc4x3_rc3::IfcPlateTypeEnum::operator Ifc4x3_rc3::IfcPlateTypeEnum::Value() con return (Ifc4x3_rc3::IfcPlateTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[796]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[796]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[794]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[794]); } /* Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation(Value v) { @@ -4621,12 +4592,12 @@ Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::operator Ifc4x3_rc3::IfcPref return (Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcProcedureTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[805]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcProcedureTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[805]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcProcedureTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[803]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcProcedureTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[803]); } /* Ifc4x3_rc3::IfcProcedureTypeEnum::IfcProcedureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcProcedureTypeEnum::IfcProcedureTypeEnum(Value v) { @@ -4650,12 +4621,12 @@ Ifc4x3_rc3::IfcProcedureTypeEnum::operator Ifc4x3_rc3::IfcProcedureTypeEnum::Val return (Ifc4x3_rc3::IfcProcedureTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcProfileTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[815]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcProfileTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[815]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcProfileTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[813]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcProfileTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[813]); } /* Ifc4x3_rc3::IfcProfileTypeEnum::IfcProfileTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcProfileTypeEnum::IfcProfileTypeEnum(Value v) { @@ -4679,12 +4650,12 @@ Ifc4x3_rc3::IfcProfileTypeEnum::operator Ifc4x3_rc3::IfcProfileTypeEnum::Value() return (Ifc4x3_rc3::IfcProfileTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcProjectOrderTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[823]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcProjectOrderTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[823]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcProjectOrderTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[821]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcProjectOrderTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[821]); } /* Ifc4x3_rc3::IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum(Value v) { @@ -4708,12 +4679,12 @@ Ifc4x3_rc3::IfcProjectOrderTypeEnum::operator Ifc4x3_rc3::IfcProjectOrderTypeEnu return (Ifc4x3_rc3::IfcProjectOrderTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[818]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[818]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[816]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[816]); } /* Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum(Value v) { @@ -4737,12 +4708,12 @@ Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::operator Ifc4x3_rc3::IfcProjectedOrTru return (Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcProjectionElementTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[820]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcProjectionElementTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[820]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcProjectionElementTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[818]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcProjectionElementTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[818]); } /* Ifc4x3_rc3::IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum(Value v) { @@ -4766,12 +4737,12 @@ Ifc4x3_rc3::IfcProjectionElementTypeEnum::operator Ifc4x3_rc3::IfcProjectionElem return (Ifc4x3_rc3::IfcProjectionElementTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[838]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[838]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[836]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[836]); } /* Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum(Value v) { @@ -4795,12 +4766,12 @@ Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::operator Ifc4x3_rc3::IfcPropertySetT return (Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[846]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[846]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[844]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[844]); } /* Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum(Value v) { @@ -4824,12 +4795,12 @@ Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::operator Ifc4x3_rc3::IfcPro return (Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[848]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[848]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[846]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[846]); } /* Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum(Value v) { @@ -4853,12 +4824,12 @@ Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::operator Ifc4x3_rc3::IfcProtectiveDevic return (Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPumpTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[852]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPumpTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[852]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPumpTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[850]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcPumpTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[850]); } /* Ifc4x3_rc3::IfcPumpTypeEnum::IfcPumpTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcPumpTypeEnum::IfcPumpTypeEnum(Value v) { @@ -4882,12 +4853,12 @@ Ifc4x3_rc3::IfcPumpTypeEnum::operator Ifc4x3_rc3::IfcPumpTypeEnum::Value() const return (Ifc4x3_rc3::IfcPumpTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRailTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[866]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRailTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[866]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRailTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[864]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRailTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[864]); } /* Ifc4x3_rc3::IfcRailTypeEnum::IfcRailTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcRailTypeEnum::IfcRailTypeEnum(Value v) { @@ -4911,12 +4882,12 @@ Ifc4x3_rc3::IfcRailTypeEnum::operator Ifc4x3_rc3::IfcRailTypeEnum::Value() const return (Ifc4x3_rc3::IfcRailTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRailingTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[864]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRailingTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[864]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRailingTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[862]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRailingTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[862]); } /* Ifc4x3_rc3::IfcRailingTypeEnum::IfcRailingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcRailingTypeEnum::IfcRailingTypeEnum(Value v) { @@ -4940,12 +4911,12 @@ Ifc4x3_rc3::IfcRailingTypeEnum::operator Ifc4x3_rc3::IfcRailingTypeEnum::Value() return (Ifc4x3_rc3::IfcRailingTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRailwayPartTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[868]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRailwayPartTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[868]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRailwayPartTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[866]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRailwayPartTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[866]); } /* Ifc4x3_rc3::IfcRailwayPartTypeEnum::IfcRailwayPartTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcRailwayPartTypeEnum::IfcRailwayPartTypeEnum(Value v) { @@ -4969,12 +4940,12 @@ Ifc4x3_rc3::IfcRailwayPartTypeEnum::operator Ifc4x3_rc3::IfcRailwayPartTypeEnum: return (Ifc4x3_rc3::IfcRailwayPartTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRailwayTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[869]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRailwayTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[869]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRailwayTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[867]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRailwayTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[867]); } /* Ifc4x3_rc3::IfcRailwayTypeEnum::IfcRailwayTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcRailwayTypeEnum::IfcRailwayTypeEnum(Value v) { @@ -4998,12 +4969,12 @@ Ifc4x3_rc3::IfcRailwayTypeEnum::operator Ifc4x3_rc3::IfcRailwayTypeEnum::Value() return (Ifc4x3_rc3::IfcRailwayTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRampFlightTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[873]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRampFlightTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[873]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRampFlightTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[871]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRampFlightTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[871]); } /* Ifc4x3_rc3::IfcRampFlightTypeEnum::IfcRampFlightTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcRampFlightTypeEnum::IfcRampFlightTypeEnum(Value v) { @@ -5027,12 +4998,12 @@ Ifc4x3_rc3::IfcRampFlightTypeEnum::operator Ifc4x3_rc3::IfcRampFlightTypeEnum::V return (Ifc4x3_rc3::IfcRampFlightTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRampTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[875]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRampTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[875]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRampTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[873]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRampTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[873]); } /* Ifc4x3_rc3::IfcRampTypeEnum::IfcRampTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcRampTypeEnum::IfcRampTypeEnum(Value v) { @@ -5056,12 +5027,12 @@ Ifc4x3_rc3::IfcRampTypeEnum::operator Ifc4x3_rc3::IfcRampTypeEnum::Value() const return (Ifc4x3_rc3::IfcRampTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRecurrenceTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[885]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRecurrenceTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[885]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRecurrenceTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[883]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRecurrenceTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[883]); } /* Ifc4x3_rc3::IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum(Value v) { @@ -5085,12 +5056,12 @@ Ifc4x3_rc3::IfcRecurrenceTypeEnum::operator Ifc4x3_rc3::IfcRecurrenceTypeEnum::V return (Ifc4x3_rc3::IfcRecurrenceTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcReferentTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[888]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcReferentTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[888]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcReferentTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[886]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcReferentTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[886]); } /* Ifc4x3_rc3::IfcReferentTypeEnum::IfcReferentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcReferentTypeEnum::IfcReferentTypeEnum(Value v) { @@ -5114,12 +5085,12 @@ Ifc4x3_rc3::IfcReferentTypeEnum::operator Ifc4x3_rc3::IfcReferentTypeEnum::Value return (Ifc4x3_rc3::IfcReferentTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcReflectanceMethodEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[889]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcReflectanceMethodEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[889]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcReflectanceMethodEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[887]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcReflectanceMethodEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[887]); } /* Ifc4x3_rc3::IfcReflectanceMethodEnum::IfcReflectanceMethodEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcReflectanceMethodEnum::IfcReflectanceMethodEnum(Value v) { @@ -5143,12 +5114,12 @@ Ifc4x3_rc3::IfcReflectanceMethodEnum::operator Ifc4x3_rc3::IfcReflectanceMethodE return (Ifc4x3_rc3::IfcReflectanceMethodEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[892]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[892]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[890]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[890]); } /* Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::IfcReinforcedSoilTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::IfcReinforcedSoilTypeEnum(Value v) { @@ -5172,12 +5143,12 @@ Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::operator Ifc4x3_rc3::IfcReinforcedSoilTyp return (Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcReinforcingBarRoleEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[896]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcReinforcingBarRoleEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[896]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcReinforcingBarRoleEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[894]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcReinforcingBarRoleEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[894]); } /* Ifc4x3_rc3::IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum(Value v) { @@ -5201,12 +5172,12 @@ Ifc4x3_rc3::IfcReinforcingBarRoleEnum::operator Ifc4x3_rc3::IfcReinforcingBarRol return (Ifc4x3_rc3::IfcReinforcingBarRoleEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[897]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[897]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[895]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[895]); } /* Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum(Value v) { @@ -5230,12 +5201,12 @@ Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::operator Ifc4x3_rc3::IfcReinforcingBar return (Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcReinforcingBarTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[899]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[899]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcReinforcingBarTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[897]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[897]); } /* Ifc4x3_rc3::IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum(Value v) { @@ -5259,12 +5230,12 @@ Ifc4x3_rc3::IfcReinforcingBarTypeEnum::operator Ifc4x3_rc3::IfcReinforcingBarTyp return (Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[904]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[904]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[902]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[902]); } /* Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum(Value v) { @@ -5288,12 +5259,12 @@ Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::operator Ifc4x3_rc3::IfcReinforcingMeshT return (Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRoadPartTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[972]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRoadPartTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[972]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRoadPartTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[970]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRoadPartTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[970]); } /* Ifc4x3_rc3::IfcRoadPartTypeEnum::IfcRoadPartTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcRoadPartTypeEnum::IfcRoadPartTypeEnum(Value v) { @@ -5317,12 +5288,12 @@ Ifc4x3_rc3::IfcRoadPartTypeEnum::operator Ifc4x3_rc3::IfcRoadPartTypeEnum::Value return (Ifc4x3_rc3::IfcRoadPartTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRoadTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[973]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRoadTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[973]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRoadTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[971]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRoadTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[971]); } /* Ifc4x3_rc3::IfcRoadTypeEnum::IfcRoadTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcRoadTypeEnum::IfcRoadTypeEnum(Value v) { @@ -5346,12 +5317,12 @@ Ifc4x3_rc3::IfcRoadTypeEnum::operator Ifc4x3_rc3::IfcRoadTypeEnum::Value() const return (Ifc4x3_rc3::IfcRoadTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRoleEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[974]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRoleEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[974]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRoleEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[972]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRoleEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[972]); } /* Ifc4x3_rc3::IfcRoleEnum::IfcRoleEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcRoleEnum::IfcRoleEnum(Value v) { @@ -5375,12 +5346,12 @@ Ifc4x3_rc3::IfcRoleEnum::operator Ifc4x3_rc3::IfcRoleEnum::Value() const { return (Ifc4x3_rc3::IfcRoleEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRoofTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[977]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRoofTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[977]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRoofTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[975]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcRoofTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[975]); } /* Ifc4x3_rc3::IfcRoofTypeEnum::IfcRoofTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcRoofTypeEnum::IfcRoofTypeEnum(Value v) { @@ -5404,12 +5375,12 @@ Ifc4x3_rc3::IfcRoofTypeEnum::operator Ifc4x3_rc3::IfcRoofTypeEnum::Value() const return (Ifc4x3_rc3::IfcRoofTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSIPrefix::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1026]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSIPrefix::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1026]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSIPrefix::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1024]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSIPrefix::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1024]); } /* Ifc4x3_rc3::IfcSIPrefix::IfcSIPrefix(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcSIPrefix::IfcSIPrefix(Value v) { @@ -5433,12 +5404,12 @@ Ifc4x3_rc3::IfcSIPrefix::operator Ifc4x3_rc3::IfcSIPrefix::Value() const { return (Ifc4x3_rc3::IfcSIPrefix::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSIUnitName::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1029]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSIUnitName::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1029]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSIUnitName::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1027]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSIUnitName::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1027]); } /* Ifc4x3_rc3::IfcSIUnitName::IfcSIUnitName(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcSIUnitName::IfcSIUnitName(Value v) { @@ -5462,12 +5433,12 @@ Ifc4x3_rc3::IfcSIUnitName::operator Ifc4x3_rc3::IfcSIUnitName::Value() const { return (Ifc4x3_rc3::IfcSIUnitName::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[986]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[986]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[984]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[984]); } /* Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum(Value v) { @@ -5491,12 +5462,12 @@ Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::operator Ifc4x3_rc3::IfcSanitaryTermina return (Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSectionTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[998]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSectionTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[998]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSectionTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[996]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSectionTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[996]); } /* Ifc4x3_rc3::IfcSectionTypeEnum::IfcSectionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcSectionTypeEnum::IfcSectionTypeEnum(Value v) { @@ -5520,12 +5491,12 @@ Ifc4x3_rc3::IfcSectionTypeEnum::operator Ifc4x3_rc3::IfcSectionTypeEnum::Value() return (Ifc4x3_rc3::IfcSectionTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSensorTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1004]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSensorTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1004]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSensorTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1002]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSensorTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1002]); } /* Ifc4x3_rc3::IfcSensorTypeEnum::IfcSensorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcSensorTypeEnum::IfcSensorTypeEnum(Value v) { @@ -5549,12 +5520,12 @@ Ifc4x3_rc3::IfcSensorTypeEnum::operator Ifc4x3_rc3::IfcSensorTypeEnum::Value() c return (Ifc4x3_rc3::IfcSensorTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSequenceEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1005]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSequenceEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1005]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSequenceEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1003]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSequenceEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1003]); } /* Ifc4x3_rc3::IfcSequenceEnum::IfcSequenceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcSequenceEnum::IfcSequenceEnum(Value v) { @@ -5578,12 +5549,12 @@ Ifc4x3_rc3::IfcSequenceEnum::operator Ifc4x3_rc3::IfcSequenceEnum::Value() const return (Ifc4x3_rc3::IfcSequenceEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcShadingDeviceTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1008]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1008]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcShadingDeviceTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1006]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1006]); } /* Ifc4x3_rc3::IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum(Value v) { @@ -5607,12 +5578,12 @@ Ifc4x3_rc3::IfcShadingDeviceTypeEnum::operator Ifc4x3_rc3::IfcShadingDeviceTypeE return (Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSignTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1020]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSignTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1020]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSignTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1018]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSignTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1018]); } /* Ifc4x3_rc3::IfcSignTypeEnum::IfcSignTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcSignTypeEnum::IfcSignTypeEnum(Value v) { @@ -5636,12 +5607,12 @@ Ifc4x3_rc3::IfcSignTypeEnum::operator Ifc4x3_rc3::IfcSignTypeEnum::Value() const return (Ifc4x3_rc3::IfcSignTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSignalTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1018]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSignalTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1018]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSignalTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1016]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSignalTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1016]); } /* Ifc4x3_rc3::IfcSignalTypeEnum::IfcSignalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcSignalTypeEnum::IfcSignalTypeEnum(Value v) { @@ -5665,12 +5636,12 @@ Ifc4x3_rc3::IfcSignalTypeEnum::operator Ifc4x3_rc3::IfcSignalTypeEnum::Value() c return (Ifc4x3_rc3::IfcSignalTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1023]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1023]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1021]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1021]); } /* Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum(Value v) { @@ -5694,12 +5665,12 @@ Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::operator Ifc4x3_rc3::IfcSimplePro return (Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSlabTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1035]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSlabTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1035]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSlabTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1033]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSlabTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1033]); } /* Ifc4x3_rc3::IfcSlabTypeEnum::IfcSlabTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcSlabTypeEnum::IfcSlabTypeEnum(Value v) { @@ -5723,12 +5694,12 @@ Ifc4x3_rc3::IfcSlabTypeEnum::operator Ifc4x3_rc3::IfcSlabTypeEnum::Value() const return (Ifc4x3_rc3::IfcSlabTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSolarDeviceTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1039]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1039]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSolarDeviceTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1037]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1037]); } /* Ifc4x3_rc3::IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum(Value v) { @@ -5752,12 +5723,12 @@ Ifc4x3_rc3::IfcSolarDeviceTypeEnum::operator Ifc4x3_rc3::IfcSolarDeviceTypeEnum: return (Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1052]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1052]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1050]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1050]); } /* Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum(Value v) { @@ -5781,12 +5752,12 @@ Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::operator Ifc4x3_rc3::IfcSpaceHeaterTypeEnum: return (Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSpaceTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1054]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSpaceTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1054]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSpaceTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1052]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSpaceTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1052]); } /* Ifc4x3_rc3::IfcSpaceTypeEnum::IfcSpaceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcSpaceTypeEnum::IfcSpaceTypeEnum(Value v) { @@ -5810,12 +5781,12 @@ Ifc4x3_rc3::IfcSpaceTypeEnum::operator Ifc4x3_rc3::IfcSpaceTypeEnum::Value() con return (Ifc4x3_rc3::IfcSpaceTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSpatialZoneTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1062]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1062]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSpatialZoneTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1060]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1060]); } /* Ifc4x3_rc3::IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum(Value v) { @@ -5839,12 +5810,12 @@ Ifc4x3_rc3::IfcSpatialZoneTypeEnum::operator Ifc4x3_rc3::IfcSpatialZoneTypeEnum: return (Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStackTerminalTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1072]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStackTerminalTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1072]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStackTerminalTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1070]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStackTerminalTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1070]); } /* Ifc4x3_rc3::IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum(Value v) { @@ -5868,12 +5839,12 @@ Ifc4x3_rc3::IfcStackTerminalTypeEnum::operator Ifc4x3_rc3::IfcStackTerminalTypeE return (Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStairFlightTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1076]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStairFlightTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1076]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStairFlightTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1074]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStairFlightTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1074]); } /* Ifc4x3_rc3::IfcStairFlightTypeEnum::IfcStairFlightTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcStairFlightTypeEnum::IfcStairFlightTypeEnum(Value v) { @@ -5897,12 +5868,12 @@ Ifc4x3_rc3::IfcStairFlightTypeEnum::operator Ifc4x3_rc3::IfcStairFlightTypeEnum: return (Ifc4x3_rc3::IfcStairFlightTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStairTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1078]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStairTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1078]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStairTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1076]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStairTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1076]); } /* Ifc4x3_rc3::IfcStairTypeEnum::IfcStairTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcStairTypeEnum::IfcStairTypeEnum(Value v) { @@ -5926,12 +5897,12 @@ Ifc4x3_rc3::IfcStairTypeEnum::operator Ifc4x3_rc3::IfcStairTypeEnum::Value() con return (Ifc4x3_rc3::IfcStairTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStateEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1079]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStateEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1079]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStateEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1077]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStateEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1077]); } /* Ifc4x3_rc3::IfcStateEnum::IfcStateEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcStateEnum::IfcStateEnum(Value v) { @@ -5955,12 +5926,12 @@ Ifc4x3_rc3::IfcStateEnum::operator Ifc4x3_rc3::IfcStateEnum::Value() const { return (Ifc4x3_rc3::IfcStateEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1087]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1087]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1085]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1085]); } /* Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum(Value v) { @@ -5984,12 +5955,12 @@ Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::operator Ifc4x3_rc3::IfcStructur return (Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1090]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1090]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1088]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1088]); } /* Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum(Value v) { @@ -6013,12 +5984,12 @@ Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::operator Ifc4x3_rc3::IfcStructural return (Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1116]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1116]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1114]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1114]); } /* Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum(Value v) { @@ -6042,12 +6013,12 @@ Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::operator Ifc4x3_rc3::IfcStruct return (Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1119]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1119]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1117]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1117]); } /* Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum(Value v) { @@ -6071,12 +6042,12 @@ Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::operator Ifc4x3_rc3::IfcStructur return (Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSubContractResourceTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1127]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1127]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSubContractResourceTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1125]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1125]); } /* Ifc4x3_rc3::IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum(Value v) { @@ -6100,12 +6071,12 @@ Ifc4x3_rc3::IfcSubContractResourceTypeEnum::operator Ifc4x3_rc3::IfcSubContractR return (Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1133]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1133]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1131]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1131]); } /* Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum(Value v) { @@ -6129,12 +6100,12 @@ Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::operator Ifc4x3_rc3::IfcSurfaceFeatureTyp return (Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSurfaceSide::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1138]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSurfaceSide::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1138]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSurfaceSide::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1136]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSurfaceSide::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1136]); } /* Ifc4x3_rc3::IfcSurfaceSide::IfcSurfaceSide(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcSurfaceSide::IfcSurfaceSide(Value v) { @@ -6158,12 +6129,12 @@ Ifc4x3_rc3::IfcSurfaceSide::operator Ifc4x3_rc3::IfcSurfaceSide::Value() const { return (Ifc4x3_rc3::IfcSurfaceSide::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1153]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1153]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1151]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1151]); } /* Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum(Value v) { @@ -6187,12 +6158,12 @@ Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::operator Ifc4x3_rc3::IfcSwitchingDeviceT return (Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1157]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1157]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1155]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1155]); } /* Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum(Value v) { @@ -6216,12 +6187,12 @@ Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::operator Ifc4x3_rc3::IfcSystemFur return (Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTankTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1163]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTankTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1163]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTankTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1161]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTankTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1161]); } /* Ifc4x3_rc3::IfcTankTypeEnum::IfcTankTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcTankTypeEnum::IfcTankTypeEnum(Value v) { @@ -6245,12 +6216,12 @@ Ifc4x3_rc3::IfcTankTypeEnum::operator Ifc4x3_rc3::IfcTankTypeEnum::Value() const return (Ifc4x3_rc3::IfcTankTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTaskDurationEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1165]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTaskDurationEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1165]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTaskDurationEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1163]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTaskDurationEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1163]); } /* Ifc4x3_rc3::IfcTaskDurationEnum::IfcTaskDurationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcTaskDurationEnum::IfcTaskDurationEnum(Value v) { @@ -6274,12 +6245,12 @@ Ifc4x3_rc3::IfcTaskDurationEnum::operator Ifc4x3_rc3::IfcTaskDurationEnum::Value return (Ifc4x3_rc3::IfcTaskDurationEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTaskTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1169]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTaskTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1169]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTaskTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1167]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTaskTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1167]); } /* Ifc4x3_rc3::IfcTaskTypeEnum::IfcTaskTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcTaskTypeEnum::IfcTaskTypeEnum(Value v) { @@ -6303,12 +6274,12 @@ Ifc4x3_rc3::IfcTaskTypeEnum::operator Ifc4x3_rc3::IfcTaskTypeEnum::Value() const return (Ifc4x3_rc3::IfcTaskTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTendonAnchorTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1176]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1176]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTendonAnchorTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1174]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1174]); } /* Ifc4x3_rc3::IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum(Value v) { @@ -6332,12 +6303,12 @@ Ifc4x3_rc3::IfcTendonAnchorTypeEnum::operator Ifc4x3_rc3::IfcTendonAnchorTypeEnu return (Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTendonConduitTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1179]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTendonConduitTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1179]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTendonConduitTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1177]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTendonConduitTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1177]); } /* Ifc4x3_rc3::IfcTendonConduitTypeEnum::IfcTendonConduitTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcTendonConduitTypeEnum::IfcTendonConduitTypeEnum(Value v) { @@ -6361,12 +6332,12 @@ Ifc4x3_rc3::IfcTendonConduitTypeEnum::operator Ifc4x3_rc3::IfcTendonConduitTypeE return (Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTendonTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1181]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTendonTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1181]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTendonTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1179]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTendonTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1179]); } /* Ifc4x3_rc3::IfcTendonTypeEnum::IfcTendonTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcTendonTypeEnum::IfcTendonTypeEnum(Value v) { @@ -6390,12 +6361,12 @@ Ifc4x3_rc3::IfcTendonTypeEnum::operator Ifc4x3_rc3::IfcTendonTypeEnum::Value() c return (Ifc4x3_rc3::IfcTendonTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTextPath::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1191]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTextPath::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1191]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTextPath::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1189]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTextPath::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1189]); } /* Ifc4x3_rc3::IfcTextPath::IfcTextPath(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcTextPath::IfcTextPath(Value v) { @@ -6419,12 +6390,12 @@ Ifc4x3_rc3::IfcTextPath::operator Ifc4x3_rc3::IfcTextPath::Value() const { return (Ifc4x3_rc3::IfcTextPath::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1214]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1214]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1212]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1212]); } /* Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum(Value v) { @@ -6448,12 +6419,12 @@ Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::operator Ifc4x3_rc3::IfcTimeSeriesDataTyp return (Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTrackElementTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1223]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTrackElementTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1223]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTrackElementTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1221]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTrackElementTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1221]); } /* Ifc4x3_rc3::IfcTrackElementTypeEnum::IfcTrackElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcTrackElementTypeEnum::IfcTrackElementTypeEnum(Value v) { @@ -6477,12 +6448,12 @@ Ifc4x3_rc3::IfcTrackElementTypeEnum::operator Ifc4x3_rc3::IfcTrackElementTypeEnu return (Ifc4x3_rc3::IfcTrackElementTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTransformerTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1226]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTransformerTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1226]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTransformerTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1224]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTransformerTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1224]); } /* Ifc4x3_rc3::IfcTransformerTypeEnum::IfcTransformerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcTransformerTypeEnum::IfcTransformerTypeEnum(Value v) { @@ -6506,12 +6477,12 @@ Ifc4x3_rc3::IfcTransformerTypeEnum::operator Ifc4x3_rc3::IfcTransformerTypeEnum: return (Ifc4x3_rc3::IfcTransformerTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTransitionCode::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1227]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTransitionCode::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1227]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTransitionCode::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1225]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTransitionCode::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1225]); } /* Ifc4x3_rc3::IfcTransitionCode::IfcTransitionCode(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcTransitionCode::IfcTransitionCode(Value v) { @@ -6535,12 +6506,12 @@ Ifc4x3_rc3::IfcTransitionCode::operator Ifc4x3_rc3::IfcTransitionCode::Value() c return (Ifc4x3_rc3::IfcTransitionCode::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTransportElementFixedTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1230]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTransportElementFixedTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1230]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTransportElementFixedTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1228]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTransportElementFixedTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1228]); } /* Ifc4x3_rc3::IfcTransportElementFixedTypeEnum::IfcTransportElementFixedTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcTransportElementFixedTypeEnum::IfcTransportElementFixedTypeEnum(Value v) { @@ -6564,12 +6535,12 @@ Ifc4x3_rc3::IfcTransportElementFixedTypeEnum::operator Ifc4x3_rc3::IfcTransportE return (Ifc4x3_rc3::IfcTransportElementFixedTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTransportElementNonFixedTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1231]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTransportElementNonFixedTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1231]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTransportElementNonFixedTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1229]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTransportElementNonFixedTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1229]); } /* Ifc4x3_rc3::IfcTransportElementNonFixedTypeEnum::IfcTransportElementNonFixedTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcTransportElementNonFixedTypeEnum::IfcTransportElementNonFixedTypeEnum(Value v) { @@ -6593,12 +6564,12 @@ Ifc4x3_rc3::IfcTransportElementNonFixedTypeEnum::operator Ifc4x3_rc3::IfcTranspo return (Ifc4x3_rc3::IfcTransportElementNonFixedTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTrimmingPreference::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1238]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTrimmingPreference::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1238]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTrimmingPreference::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1236]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTrimmingPreference::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1236]); } /* Ifc4x3_rc3::IfcTrimmingPreference::IfcTrimmingPreference(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcTrimmingPreference::IfcTrimmingPreference(Value v) { @@ -6622,12 +6593,12 @@ Ifc4x3_rc3::IfcTrimmingPreference::operator Ifc4x3_rc3::IfcTrimmingPreference::V return (Ifc4x3_rc3::IfcTrimmingPreference::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTubeBundleTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1243]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTubeBundleTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1243]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTubeBundleTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1241]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcTubeBundleTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1241]); } /* Ifc4x3_rc3::IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum(Value v) { @@ -6651,12 +6622,12 @@ Ifc4x3_rc3::IfcTubeBundleTypeEnum::operator Ifc4x3_rc3::IfcTubeBundleTypeEnum::V return (Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcUnitEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1256]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcUnitEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1256]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcUnitEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1254]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcUnitEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1254]); } /* Ifc4x3_rc3::IfcUnitEnum::IfcUnitEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcUnitEnum::IfcUnitEnum(Value v) { @@ -6680,12 +6651,12 @@ Ifc4x3_rc3::IfcUnitEnum::operator Ifc4x3_rc3::IfcUnitEnum::Value() const { return (Ifc4x3_rc3::IfcUnitEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1251]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1251]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1249]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1249]); } /* Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum(Value v) { @@ -6709,12 +6680,12 @@ Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::operator Ifc4x3_rc3::IfcUnitaryCon return (Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1254]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1254]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1252]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1252]); } /* Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum(Value v) { @@ -6738,12 +6709,12 @@ Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::operator Ifc4x3_rc3::IfcUnitaryEquipmen return (Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcValveTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1262]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcValveTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1262]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcValveTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1260]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcValveTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1260]); } /* Ifc4x3_rc3::IfcValveTypeEnum::IfcValveTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcValveTypeEnum::IfcValveTypeEnum(Value v) { @@ -6767,12 +6738,12 @@ Ifc4x3_rc3::IfcValveTypeEnum::operator Ifc4x3_rc3::IfcValveTypeEnum::Value() con return (Ifc4x3_rc3::IfcValveTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcVibrationDamperTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1271]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1271]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcVibrationDamperTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1269]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1269]); } /* Ifc4x3_rc3::IfcVibrationDamperTypeEnum::IfcVibrationDamperTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcVibrationDamperTypeEnum::IfcVibrationDamperTypeEnum(Value v) { @@ -6796,12 +6767,12 @@ Ifc4x3_rc3::IfcVibrationDamperTypeEnum::operator Ifc4x3_rc3::IfcVibrationDamperT return (Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1274]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1274]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1272]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1272]); } /* Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum(Value v) { @@ -6825,12 +6796,12 @@ Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::operator Ifc4x3_rc3::IfcVibrationIsola return (Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1279]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1279]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1277]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1277]); } /* Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum(Value v) { @@ -6854,12 +6825,12 @@ Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::operator Ifc4x3_rc3::IfcVoidingFeatureTyp return (Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWallTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1287]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWallTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1287]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWallTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1285]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWallTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1285]); } /* Ifc4x3_rc3::IfcWallTypeEnum::IfcWallTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcWallTypeEnum::IfcWallTypeEnum(Value v) { @@ -6883,12 +6854,12 @@ Ifc4x3_rc3::IfcWallTypeEnum::operator Ifc4x3_rc3::IfcWallTypeEnum::Value() const return (Ifc4x3_rc3::IfcWallTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWasteTerminalTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1293]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1293]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWasteTerminalTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1291]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1291]); } /* Ifc4x3_rc3::IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum(Value v) { @@ -6912,12 +6883,12 @@ Ifc4x3_rc3::IfcWasteTerminalTypeEnum::operator Ifc4x3_rc3::IfcWasteTerminalTypeE return (Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWindowPanelOperationEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1297]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWindowPanelOperationEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1297]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWindowPanelOperationEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1295]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWindowPanelOperationEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1295]); } /* Ifc4x3_rc3::IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum(Value v) { @@ -6941,12 +6912,12 @@ Ifc4x3_rc3::IfcWindowPanelOperationEnum::operator Ifc4x3_rc3::IfcWindowPanelOper return (Ifc4x3_rc3::IfcWindowPanelOperationEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWindowPanelPositionEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1298]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWindowPanelPositionEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1298]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWindowPanelPositionEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1296]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWindowPanelPositionEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1296]); } /* Ifc4x3_rc3::IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum(Value v) { @@ -6970,12 +6941,12 @@ Ifc4x3_rc3::IfcWindowPanelPositionEnum::operator Ifc4x3_rc3::IfcWindowPanelPosit return (Ifc4x3_rc3::IfcWindowPanelPositionEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWindowStyleConstructionEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1302]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWindowStyleConstructionEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1302]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWindowStyleConstructionEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1300]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWindowStyleConstructionEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1300]); } /* Ifc4x3_rc3::IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum(Value v) { @@ -6999,12 +6970,12 @@ Ifc4x3_rc3::IfcWindowStyleConstructionEnum::operator Ifc4x3_rc3::IfcWindowStyleC return (Ifc4x3_rc3::IfcWindowStyleConstructionEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWindowStyleOperationEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1303]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWindowStyleOperationEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1303]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWindowStyleOperationEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1301]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWindowStyleOperationEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1301]); } /* Ifc4x3_rc3::IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum(Value v) { @@ -7028,12 +6999,12 @@ Ifc4x3_rc3::IfcWindowStyleOperationEnum::operator Ifc4x3_rc3::IfcWindowStyleOper return (Ifc4x3_rc3::IfcWindowStyleOperationEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWindowTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1305]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWindowTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1305]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWindowTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1303]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWindowTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1303]); } /* Ifc4x3_rc3::IfcWindowTypeEnum::IfcWindowTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcWindowTypeEnum::IfcWindowTypeEnum(Value v) { @@ -7057,12 +7028,12 @@ Ifc4x3_rc3::IfcWindowTypeEnum::operator Ifc4x3_rc3::IfcWindowTypeEnum::Value() c return (Ifc4x3_rc3::IfcWindowTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWindowTypePartitioningEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1306]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1306]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWindowTypePartitioningEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1304]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1304]); } /* Ifc4x3_rc3::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum(Value v) { @@ -7086,12 +7057,12 @@ Ifc4x3_rc3::IfcWindowTypePartitioningEnum::operator Ifc4x3_rc3::IfcWindowTypePar return (Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWorkCalendarTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1308]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWorkCalendarTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1308]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWorkCalendarTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1306]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWorkCalendarTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1306]); } /* Ifc4x3_rc3::IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum(Value v) { @@ -7115,12 +7086,12 @@ Ifc4x3_rc3::IfcWorkCalendarTypeEnum::operator Ifc4x3_rc3::IfcWorkCalendarTypeEnu return (Ifc4x3_rc3::IfcWorkCalendarTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWorkPlanTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1311]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWorkPlanTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1311]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWorkPlanTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1309]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWorkPlanTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1309]); } /* Ifc4x3_rc3::IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum(Value v) { @@ -7144,12 +7115,12 @@ Ifc4x3_rc3::IfcWorkPlanTypeEnum::operator Ifc4x3_rc3::IfcWorkPlanTypeEnum::Value return (Ifc4x3_rc3::IfcWorkPlanTypeEnum::Value) ((enumeration_reference) get_attribute_value(0)).index(); } -// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWorkScheduleTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1313]); } -const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWorkScheduleTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1313]); } +// const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWorkScheduleTypeEnum::declaration() const { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1311]); } +const ifcopenshell::enumeration_type& Ifc4x3_rc3::IfcWorkScheduleTypeEnum::Class() { return *((ifcopenshell::enumeration_type*)IFC4X3_RC3_types[1311]); } /* Ifc4x3_rc3::IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc3::IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum(Value v) { @@ -7209,97 +7180,97 @@ const ifcopenshell::select_type& Ifc4x3_rc3::IfcDefinitionSelect::Class() { retu const ifcopenshell::select_type& Ifc4x3_rc3::IfcDerivedMeasureValue::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[299]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcDocumentSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[336]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcDocumentSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[335]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcFacilityPartTypeSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[450]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcFacilityPartTypeSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[449]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcFillStyleSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[465]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcFillStyleSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[464]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcGeometricSetSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[516]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcGeometricSetSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[515]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcGridPlacementDirectionSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[528]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcGridPlacementDirectionSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[527]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcHatchLineDistanceSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[532]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcHatchLineDistanceSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[531]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[547]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[546]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcInterferenceSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[561]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcInterferenceSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[560]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcLayeredItem::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[587]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcLayeredItem::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[586]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcLibrarySelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[592]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcLibrarySelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[591]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcLightDistributionDataSourceSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[595]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcLightDistributionDataSourceSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[594]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcMaterialSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[658]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcMaterialSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[657]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcMeasureValue::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[660]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcMeasureValue::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[659]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcMetricValueSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[673]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcMetricValueSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[672]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[681]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[680]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[683]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[682]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[684]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[683]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcObjectReferenceSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[709]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcObjectReferenceSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[708]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcPointOrVertexPoint::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[776]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcPointOrVertexPoint::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[774]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcProcessSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[807]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcProcessSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[805]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcProductRepresentationSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[811]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcProductRepresentationSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[809]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcProductSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[812]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcProductSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[810]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcPropertySetDefinitionSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[835]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcPropertySetDefinitionSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[833]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcResourceObjectSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[964]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcResourceObjectSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[962]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcResourceSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[965]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcResourceSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[963]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcRotationalStiffnessSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[982]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcRotationalStiffnessSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[980]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcSegmentIndexSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1001]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcSegmentIndexSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[999]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcShell::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1013]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcShell::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1011]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcSimpleValue::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1024]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcSimpleValue::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1022]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcSizeSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1030]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcSizeSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1028]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcSolidOrShell::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1042]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcSolidOrShell::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1040]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcSpaceBoundarySelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1049]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcSpaceBoundarySelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1047]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcSpatialReferenceSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1057]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcSpatialReferenceSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1055]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcSpecularHighlightSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1065]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcSpecularHighlightSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1063]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcStructuralActivityAssignmentSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1082]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcStructuralActivityAssignmentSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1080]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcSurfaceOrFaceSurface::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1136]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcSurfaceOrFaceSurface::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1134]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcSurfaceStyleElementSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1140]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcSurfaceStyleElementSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1138]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcTextFontSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1188]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcTextFontSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1186]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcTimeOrRatioSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1211]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcTimeOrRatioSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1209]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcTranslationalStiffnessSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1228]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcTranslationalStiffnessSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1226]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcTransportElementTypeSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1233]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcTransportElementTypeSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1231]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcTrimmingSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1239]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcTrimmingSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1237]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcUnit::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1248]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcUnit::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1246]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcValue::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1259]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcValue::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1257]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcVectorOrDirection::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1265]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcVectorOrDirection::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1263]); } -const ifcopenshell::select_type& Ifc4x3_rc3::IfcWarpingStiffnessSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1290]); } +const ifcopenshell::select_type& Ifc4x3_rc3::IfcWarpingStiffnessSelect::Class() { return *((ifcopenshell::select_type*)IFC4X3_RC3_types[1288]); } // Function implementations for IfcAbsorbedDoseMeasure @@ -7413,542 +7384,542 @@ Ifc4x3_rc3::IfcDimensionCount Ifc4x3_rc3::IfcDimensionCount::initialize(int64_t Ifc4x3_rc3::IfcDimensionCount::operator int64_t() 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcDoseEquivalentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[349]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcDuration::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[361]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcDynamicViscosityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[362]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcElectricCapacitanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[374]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcElectricChargeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[375]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcElectricConductanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[376]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcElectricCurrentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[377]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcElectricResistanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[393]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcElectricVoltageMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[397]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcEnergyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[412]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcFontStyle::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[493]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcFontVariant::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[494]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcFontWeight::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[495]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[499]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcFrequencyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[500]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcGloballyUniqueId::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[521]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcHeatFluxDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[535]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcHeatingValueMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[536]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcIdentifier::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[540]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcIlluminanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[541]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcInductanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[554]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcInteger::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[555]); } Ifc4x3_rc3::IfcInteger Ifc4x3_rc3::IfcInteger::initialize(int64_t v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcInteger::operator int64_t() 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcIntegerCountRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[556]); } Ifc4x3_rc3::IfcIntegerCountRateMeasure Ifc4x3_rc3::IfcIntegerCountRateMeasure::initialize(int64_t v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcIntegerCountRateMeasure::operator int64_t() 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcIonConcentrationMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[565]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcIsothermalMoistureCapacityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[569]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcKinematicViscosityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[575]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcLabel::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[577]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcLanguageId::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[585]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[588]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcLineIndex::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[614]); } Ifc4x3_rc3::IfcLineIndex Ifc4x3_rc3::IfcLineIndex::initialize(std::vector< int64_t > /*[2:?]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcLineIndex::operator std::vector< int64_t > /*[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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcLinearForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[608]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcLinearMomentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[609]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcLinearStiffnessMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[612]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcLinearVelocityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[613]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcLogical::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[620]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcLuminousFluxMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[624]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcLuminousIntensityDistributionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[625]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcLuminousIntensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[626]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcMagneticFluxDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[627]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcMagneticFluxMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[628]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcMassDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[635]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcMassFlowRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[636]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcMassMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[637]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcMassPerLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[638]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcModulusOfElasticityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[677]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcModulusOfLinearSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[678]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[679]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcModulusOfSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[681]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcMoistureDiffusivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[684]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcMolecularWeightMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[685]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcMomentOfInertiaMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[686]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcMonetaryMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[687]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcMonthInYearNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[689]); } Ifc4x3_rc3::IfcMonthInYearNumber Ifc4x3_rc3::IfcMonthInYearNumber::initialize(int64_t v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcMonthInYearNumber::operator int64_t() 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcNonNegativeLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[700]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcNormalisedRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[701]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcNumericMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[702]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcPHMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[743]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcParameterValue::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[730]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcPlanarForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[762]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcPlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[764]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcPositiveInteger::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[782]); } Ifc4x3_rc3::IfcPositiveInteger Ifc4x3_rc3::IfcPositiveInteger::initialize(int64_t v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcPositiveInteger::operator int64_t() 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcPositiveLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[783]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcPositivePlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[784]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcPositiveRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[785]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcPowerMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[787]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcPresentableText::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[795]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcPressureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[800]); } 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]); } -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); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcPropertySetDefinitionSet::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[834]); } +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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcRadioActivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[858]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[874]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcReal::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[877]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcRotationalFrequencyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[977]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcRotationalMassMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[978]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcRotationalStiffnessMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[979]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcSectionModulusMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[993]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcSectionalAreaIntegralMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[988]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcShearModulusMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1010]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcSolidAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1038]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcSoundPowerLevelMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1042]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcSoundPowerMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1043]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcSoundPressureLevelMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1044]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcSoundPressureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1045]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcSpecificHeatCapacityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1061]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcSpecularExponent::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1062]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcSpecularRoughness::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1064]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcTemperatureGradientMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1169]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcTemperatureRateOfChangeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1170]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcText::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1182]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcTextAlignment::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1183]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcTextDecoration::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1184]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcTextFontName::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1185]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcTextTransformation::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1194]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcThermalAdmittanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1200]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcThermalConductivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1201]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcThermalExpansionCoefficientMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1202]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcThermalResistanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1203]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcThermalTransmittanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1204]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcThermodynamicTemperatureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1205]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcTime::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1207]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcTimeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1208]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcTimeStamp::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1214]); } Ifc4x3_rc3::IfcTimeStamp Ifc4x3_rc3::IfcTimeStamp::initialize(int64_t v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcTimeStamp::operator int64_t() 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcTorqueMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1218]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcURIReference::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1255]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcVaporPermeabilityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1261]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcVolumeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1279]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcVolumetricFlowRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1280]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcWarpingConstantMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1286]); } 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]); } +const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcWarpingMomentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1287]); } 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); } @@ -7966,10 +7937,10 @@ const ifcopenshell::entity& Ifc4x3_rc3::IfcActionRequest::Class() { return *((if 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>(); } +::Ifc4x3_rc3::IfcActorSelect Ifc4x3_rc3::IfcActor::TheActor() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcActorSelect>(); } void Ifc4x3_rc3::IfcActor::setTheActor(const ::Ifc4x3_rc3::IfcActorSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -std::vector<::Ifc4x3_rc3::IfcRelAssignsToActor> Ifc4x3_rc3::IfcActor::IsActingUpon() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[907], 6)); } +std::vector<::Ifc4x3_rc3::IfcRelAssignsToActor> Ifc4x3_rc3::IfcActor::IsActingUpon() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[905], 6)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcActor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[6]); } 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; } @@ -7982,7 +7953,7 @@ void Ifc4x3_rc3::IfcActorRole::setUserDefinedRole(const std::optional< std::stri std::optional< std::string > Ifc4x3_rc3::IfcActorRole::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcActorRole::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcActorRole::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[434], 3)); } +std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcActorRole::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[433], 3)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcActorRole::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[7]); } 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; } @@ -8001,7 +7972,7 @@ void Ifc4x3_rc3::IfcActuatorType::setPredefinedType(const ::Ifc4x3_rc3::IfcActua const ifcopenshell::entity& Ifc4x3_rc3::IfcActuatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[10]); } -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; } +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)); } @@ -8011,8 +7982,8 @@ void Ifc4x3_rc3::IfcAddress::setDescription(const std::optional< std::string >& std::optional< std::string > Ifc4x3_rc3::IfcAddress::UserDefinedPurpose() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcAddress::setUserDefinedPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3_rc3::IfcPerson> Ifc4x3_rc3::IfcAddress::OfPerson() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[743], 7)); } -std::vector<::Ifc4x3_rc3::IfcOrganization> Ifc4x3_rc3::IfcAddress::OfOrganization() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[722], 4)); } +std::vector<::Ifc4x3_rc3::IfcPerson> Ifc4x3_rc3::IfcAddress::OfPerson() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[741], 7)); } +std::vector<::Ifc4x3_rc3::IfcOrganization> Ifc4x3_rc3::IfcAddress::OfOrganization() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[721], 4)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcAddress::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[12]); } 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; } @@ -8024,18 +7995,18 @@ const ifcopenshell::entity& Ifc4x3_rc3::IfcAdvancedBrep::Class() { return *((ifc 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); } -void Ifc4x3_rc3::IfcAdvancedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_rc3::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc3::IfcClosedShell > Ifc4x3_rc3::IfcAdvancedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcClosedShell>(es); } +void Ifc4x3_rc3::IfcAdvancedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_rc3::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_rc3::IfcAdvancedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[15]); } -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; } +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]); } -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; } +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)); } @@ -8059,7 +8030,7 @@ void Ifc4x3_rc3::IfcAirTerminalBoxType::setPredefinedType(const ::Ifc4x3_rc3::If const ifcopenshell::entity& Ifc4x3_rc3::IfcAirTerminalBoxType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[19]); } -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; } +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 +8038,7 @@ void Ifc4x3_rc3::IfcAirTerminalType::setPredefinedType(const ::Ifc4x3_rc3::IfcAi const ifcopenshell::entity& Ifc4x3_rc3::IfcAirTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[21]); } -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; } +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)); } @@ -8083,7 +8054,7 @@ void Ifc4x3_rc3::IfcAirToAirHeatRecoveryType::setPredefinedType(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc3::IfcAirToAirHeatRecoveryType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[24]); } -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; } +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)); } @@ -8099,7 +8070,7 @@ void Ifc4x3_rc3::IfcAlarmType::setPredefinedType(const ::Ifc4x3_rc3::IfcAlarmTyp const ifcopenshell::entity& Ifc4x3_rc3::IfcAlarmType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[27]); } -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; } +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)); } @@ -8130,21 +8101,25 @@ double Ifc4x3_rc3::IfcAlignmentCantSegment::StartCantRight() const { double v = void Ifc4x3_rc3::IfcAlignmentCantSegment::setStartCantRight(const double& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< double > Ifc4x3_rc3::IfcAlignmentCantSegment::EndCantRight() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcAlignmentCantSegment::setEndCantRight(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::Value Ifc4x3_rc3::IfcAlignmentCantSegment::PredefinedType() const { return ::Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::FromString(get_attribute_value(8)); } -void Ifc4x3_rc3::IfcAlignmentCantSegment::setPredefinedType(const ::Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::Value& v) { set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } +std::optional< double > Ifc4x3_rc3::IfcAlignmentCantSegment::SmoothingLength() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } +void Ifc4x3_rc3::IfcAlignmentCantSegment::setSmoothingLength(const std::optional< double >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } +::Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::Value Ifc4x3_rc3::IfcAlignmentCantSegment::PredefinedType() const { return ::Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::FromString(get_attribute_value(9)); } +void Ifc4x3_rc3::IfcAlignmentCantSegment::setPredefinedType(const ::Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const ifcopenshell::entity& Ifc4x3_rc3::IfcAlignmentCantSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[31]); } -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; } +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, std::optional< double > v9_SmoothingLength, ::Ifc4x3_rc3::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_rc3::IfcAlignmentCantSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAlignmentHorizontal +std::optional< double > Ifc4x3_rc3::IfcAlignmentHorizontal::StartDistAlong() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } +void Ifc4x3_rc3::IfcAlignmentHorizontal::setStartDistAlong(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const ifcopenshell::entity& Ifc4x3_rc3::IfcAlignmentHorizontal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[33]); } -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; } +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, std::optional< double > v8_StartDistAlong) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_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)); }; 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>(); } +::Ifc4x3_rc3::IfcCartesianPoint Ifc4x3_rc3::IfcAlignmentHorizontalSegment::StartPoint() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcCartesianPoint>(); } void Ifc4x3_rc3::IfcAlignmentHorizontalSegment::setStartPoint(const ::Ifc4x3_rc3::IfcCartesianPoint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc4x3_rc3::IfcAlignmentHorizontalSegment::StartDirection() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcAlignmentHorizontalSegment::setStartDirection(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -8174,7 +8149,7 @@ const ifcopenshell::entity& Ifc4x3_rc3::IfcAlignmentParameterSegment::Class() { 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>(); } +::Ifc4x3_rc3::IfcAlignmentParameterSegment Ifc4x3_rc3::IfcAlignmentSegment::DesignParameters() const { return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc3::IfcAlignmentParameterSegment>(); } void Ifc4x3_rc3::IfcAlignmentSegment::setDesignParameters(const ::Ifc4x3_rc3::IfcAlignmentParameterSegment& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -8211,23 +8186,23 @@ Ifc4x3_rc3::IfcAlignmentVerticalSegment Ifc4x3_rc3::IfcAlignmentVerticalSegment: 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)); } void Ifc4x3_rc3::IfcAnnotation::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcAnnotationTypeEnum::Value >& v) { if (v) {set_attribute_value(7, enumeration_reference(&::Ifc4x3_rc3::IfcAnnotationTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3_rc3::IfcRelContainedInSpatialStructure> Ifc4x3_rc3::IfcAnnotation::ContainedInStructure() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[932], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelContainedInSpatialStructure> Ifc4x3_rc3::IfcAnnotation::ContainedInStructure() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[930], 4)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcAnnotation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[46]); } 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>(); } +::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcAnnotationFillArea::OuterBoundary() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCurve>(); } void Ifc4x3_rc3::IfcAnnotationFillArea::setOuterBoundary(const ::Ifc4x3_rc3::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::optional< std::vector< ::Ifc4x3_rc3::IfcCurve > > Ifc4x3_rc3::IfcAnnotationFillArea::InnerBoundaries() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcCurve>(es); } -void Ifc4x3_rc3::IfcAnnotationFillArea::setInnerBoundaries(const std::optional< std::vector< ::Ifc4x3_rc3::IfcCurve > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } +std::optional< std::vector< ::Ifc4x3_rc3::IfcCurve > > Ifc4x3_rc3::IfcAnnotationFillArea::InnerBoundaries() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcCurve>(es); } +void Ifc4x3_rc3::IfcAnnotationFillArea::setInnerBoundaries(const std::optional< std::vector< ::Ifc4x3_rc3::IfcCurve > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } const ifcopenshell::entity& Ifc4x3_rc3::IfcAnnotationFillArea::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[47]); } -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; } +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>(); } +::Ifc4x3_rc3::IfcOrganization Ifc4x3_rc3::IfcApplication::ApplicationDeveloper() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcOrganization>(); } void Ifc4x3_rc3::IfcApplication::setApplicationDeveloper(const ::Ifc4x3_rc3::IfcOrganization& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::string Ifc4x3_rc3::IfcApplication::Version() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcApplication::setVersion(const std::string& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8245,9 +8220,9 @@ std::optional< std::string > Ifc4x3_rc3::IfcAppliedValue::Name() const { if(get_ void Ifc4x3_rc3::IfcAppliedValue::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_rc3::IfcAppliedValue::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcAppliedValue::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc3::IfcAppliedValueSelect Ifc4x3_rc3::IfcAppliedValue::AppliedValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcAppliedValueSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcAppliedValueSelect>(); } +::Ifc4x3_rc3::IfcAppliedValueSelect Ifc4x3_rc3::IfcAppliedValue::AppliedValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcAppliedValueSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcAppliedValueSelect>(); } void Ifc4x3_rc3::IfcAppliedValue::setAppliedValue(const ::Ifc4x3_rc3::IfcAppliedValueSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcMeasureWithUnit Ifc4x3_rc3::IfcAppliedValue::UnitBasis() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcMeasureWithUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcMeasureWithUnit>(); } +::Ifc4x3_rc3::IfcMeasureWithUnit Ifc4x3_rc3::IfcAppliedValue::UnitBasis() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcMeasureWithUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcMeasureWithUnit>(); } void Ifc4x3_rc3::IfcAppliedValue::setUnitBasis(const ::Ifc4x3_rc3::IfcMeasureWithUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc3::IfcAppliedValue::ApplicableDate() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcAppliedValue::setApplicableDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -8259,13 +8234,13 @@ std::optional< std::string > Ifc4x3_rc3::IfcAppliedValue::Condition() const { if void Ifc4x3_rc3::IfcAppliedValue::setCondition(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } std::optional< ::Ifc4x3_rc3::IfcArithmeticOperatorEnum::Value > Ifc4x3_rc3::IfcAppliedValue::ArithmeticOperator() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcArithmeticOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcAppliedValue::setArithmeticOperator(const std::optional< ::Ifc4x3_rc3::IfcArithmeticOperatorEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcArithmeticOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > Ifc4x3_rc3::IfcAppliedValue::Components() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc3::IfcAppliedValue>(es); } -void Ifc4x3_rc3::IfcAppliedValue::setComponents(const std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > Ifc4x3_rc3::IfcAppliedValue::Components() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc3::IfcAppliedValue>(es); } +void Ifc4x3_rc3::IfcAppliedValue::setComponents(const std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } -std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcAppliedValue::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[434], 3)); } +std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcAppliedValue::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[433], 3)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcAppliedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[50]); } -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; } +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; } @@ -8282,14 +8257,14 @@ std::optional< std::string > Ifc4x3_rc3::IfcApproval::Level() const { if(get_att void Ifc4x3_rc3::IfcApproval::setLevel(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< std::string > Ifc4x3_rc3::IfcApproval::Qualifier() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcApproval::setQualifier(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_rc3::IfcActorSelect Ifc4x3_rc3::IfcApproval::RequestingApproval() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc3::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc3::IfcActorSelect>(); } +::Ifc4x3_rc3::IfcActorSelect Ifc4x3_rc3::IfcApproval::RequestingApproval() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc3::IfcActorSelect{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc3::IfcActorSelect>(); } void Ifc4x3_rc3::IfcApproval::setRequestingApproval(const ::Ifc4x3_rc3::IfcActorSelect& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc3::IfcActorSelect Ifc4x3_rc3::IfcApproval::GivingApproval() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc3::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc3::IfcActorSelect>(); } +::Ifc4x3_rc3::IfcActorSelect Ifc4x3_rc3::IfcApproval::GivingApproval() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc3::IfcActorSelect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc3::IfcActorSelect>(); } void Ifc4x3_rc3::IfcApproval::setGivingApproval(const ::Ifc4x3_rc3::IfcActorSelect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcApproval::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[434], 3)); } -std::vector<::Ifc4x3_rc3::IfcRelAssociatesApproval> Ifc4x3_rc3::IfcApproval::ApprovedObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[915], 5)); } -std::vector<::Ifc4x3_rc3::IfcResourceApprovalRelationship> Ifc4x3_rc3::IfcApproval::ApprovedResources() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[961], 3)); } +std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcApproval::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[433], 3)); } +std::vector<::Ifc4x3_rc3::IfcRelAssociatesApproval> Ifc4x3_rc3::IfcApproval::ApprovedObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[913], 5)); } +std::vector<::Ifc4x3_rc3::IfcResourceApprovalRelationship> Ifc4x3_rc3::IfcApproval::ApprovedResources() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[959], 3)); } std::vector<::Ifc4x3_rc3::IfcApprovalRelationship> Ifc4x3_rc3::IfcApproval::IsRelatedWith() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[53], 3)); } std::vector<::Ifc4x3_rc3::IfcApprovalRelationship> Ifc4x3_rc3::IfcApproval::Relates() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[53], 2)); } @@ -8297,17 +8272,17 @@ const ifcopenshell::entity& Ifc4x3_rc3::IfcApproval::Class() { return *((ifcopen 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>(); } +::Ifc4x3_rc3::IfcApproval Ifc4x3_rc3::IfcApprovalRelationship::RelatingApproval() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcApproval>(); } void Ifc4x3_rc3::IfcApprovalRelationship::setRelatingApproval(const ::Ifc4x3_rc3::IfcApproval& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_rc3::IfcApproval > Ifc4x3_rc3::IfcApprovalRelationship::RelatedApprovals() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc3::IfcApproval>(es); } -void Ifc4x3_rc3::IfcApprovalRelationship::setRelatedApprovals(const std::vector< ::Ifc4x3_rc3::IfcApproval >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc3::IfcApproval > Ifc4x3_rc3::IfcApprovalRelationship::RelatedApprovals() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc3::IfcApproval>(es); } +void Ifc4x3_rc3::IfcApprovalRelationship::setRelatedApprovals(const std::vector< ::Ifc4x3_rc3::IfcApproval >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc3::IfcApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[53]); } -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; } +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>(); } +::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcCurve>(); } void Ifc4x3_rc3::IfcArbitraryClosedProfileDef::setOuterCurve(const ::Ifc4x3_rc3::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8315,7 +8290,7 @@ const ifcopenshell::entity& Ifc4x3_rc3::IfcArbitraryClosedProfileDef::Class() { 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>(); } +::Ifc4x3_rc3::IfcBoundedCurve Ifc4x3_rc3::IfcArbitraryOpenProfileDef::Curve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcBoundedCurve>(); } void Ifc4x3_rc3::IfcArbitraryOpenProfileDef::setCurve(const ::Ifc4x3_rc3::IfcBoundedCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8323,31 +8298,31 @@ const ifcopenshell::entity& Ifc4x3_rc3::IfcArbitraryOpenProfileDef::Class() { re 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); } -void Ifc4x3_rc3::IfcArbitraryProfileDefWithVoids::setInnerCurves(const std::vector< ::Ifc4x3_rc3::IfcCurve >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc3::IfcCurve > Ifc4x3_rc3::IfcArbitraryProfileDefWithVoids::InnerCurves() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc3::IfcCurve>(es); } +void Ifc4x3_rc3::IfcArbitraryProfileDefWithVoids::setInnerCurves(const std::vector< ::Ifc4x3_rc3::IfcCurve >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc3::IfcArbitraryProfileDefWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[56]); } -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; } +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; } void Ifc4x3_rc3::IfcAsset::setIdentification(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc3::IfcCostValue Ifc4x3_rc3::IfcAsset::OriginalValue() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcCostValue{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcCostValue>(); } +::Ifc4x3_rc3::IfcCostValue Ifc4x3_rc3::IfcAsset::OriginalValue() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcCostValue{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcCostValue>(); } void Ifc4x3_rc3::IfcAsset::setOriginalValue(const ::Ifc4x3_rc3::IfcCostValue& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc3::IfcCostValue Ifc4x3_rc3::IfcAsset::CurrentValue() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc3::IfcCostValue{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc3::IfcCostValue>(); } +::Ifc4x3_rc3::IfcCostValue Ifc4x3_rc3::IfcAsset::CurrentValue() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc3::IfcCostValue{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc3::IfcCostValue>(); } void Ifc4x3_rc3::IfcAsset::setCurrentValue(const ::Ifc4x3_rc3::IfcCostValue& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc3::IfcCostValue Ifc4x3_rc3::IfcAsset::TotalReplacementCost() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc3::IfcCostValue{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc3::IfcCostValue>(); } +::Ifc4x3_rc3::IfcCostValue Ifc4x3_rc3::IfcAsset::TotalReplacementCost() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc3::IfcCostValue{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc3::IfcCostValue>(); } void Ifc4x3_rc3::IfcAsset::setTotalReplacementCost(const ::Ifc4x3_rc3::IfcCostValue& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc3::IfcActorSelect Ifc4x3_rc3::IfcAsset::Owner() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc3::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc3::IfcActorSelect>(); } +::Ifc4x3_rc3::IfcActorSelect Ifc4x3_rc3::IfcAsset::Owner() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc3::IfcActorSelect{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc3::IfcActorSelect>(); } void Ifc4x3_rc3::IfcAsset::setOwner(const ::Ifc4x3_rc3::IfcActorSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc3::IfcActorSelect Ifc4x3_rc3::IfcAsset::User() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc3::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_rc3::IfcActorSelect>(); } +::Ifc4x3_rc3::IfcActorSelect Ifc4x3_rc3::IfcAsset::User() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc3::IfcActorSelect{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x3_rc3::IfcActorSelect>(); } void Ifc4x3_rc3::IfcAsset::setUser(const ::Ifc4x3_rc3::IfcActorSelect& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -::Ifc4x3_rc3::IfcPerson Ifc4x3_rc3::IfcAsset::ResponsiblePerson() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x3_rc3::IfcPerson{}; } return ((express::Base)(get_attribute_value(11))).as<::Ifc4x3_rc3::IfcPerson>(); } +::Ifc4x3_rc3::IfcPerson Ifc4x3_rc3::IfcAsset::ResponsiblePerson() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x3_rc3::IfcPerson{}; } return ((express::base)(get_attribute_value(11))).as<::Ifc4x3_rc3::IfcPerson>(); } void Ifc4x3_rc3::IfcAsset::setResponsiblePerson(const ::Ifc4x3_rc3::IfcPerson& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } std::optional< std::string > Ifc4x3_rc3::IfcAsset::IncorporationDate() const { if(get_attribute_value(12).isNull()) { return std::nullopt; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc3::IfcAsset::setIncorporationDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x3_rc3::IfcCostValue Ifc4x3_rc3::IfcAsset::DepreciatedValue() const { if(get_attribute_value(13).isNull()) { return ::Ifc4x3_rc3::IfcCostValue{}; } return ((express::Base)(get_attribute_value(13))).as<::Ifc4x3_rc3::IfcCostValue>(); } +::Ifc4x3_rc3::IfcCostValue Ifc4x3_rc3::IfcAsset::DepreciatedValue() const { if(get_attribute_value(13).isNull()) { return ::Ifc4x3_rc3::IfcCostValue{}; } return ((express::base)(get_attribute_value(13))).as<::Ifc4x3_rc3::IfcCostValue>(); } void Ifc4x3_rc3::IfcAsset::setDepreciatedValue(const ::Ifc4x3_rc3::IfcCostValue& v) { set_attribute_value(13, v);if constexpr (false)unset_attribute_value(13); } @@ -8398,10 +8373,10 @@ void Ifc4x3_rc3::IfcAudioVisualApplianceType::setPredefinedType(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc3::IfcAudioVisualApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[65]); } -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; } +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>(); } +::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>(); } void Ifc4x3_rc3::IfcAxis1Placement::setAxis(const ::Ifc4x3_rc3::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8409,7 +8384,7 @@ const ifcopenshell::entity& Ifc4x3_rc3::IfcAxis1Placement::Class() { return *((i 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>(); } +::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>(); } void Ifc4x3_rc3::IfcAxis2Placement2D::setRefDirection(const ::Ifc4x3_rc3::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8417,9 +8392,9 @@ const ifcopenshell::entity& Ifc4x3_rc3::IfcAxis2Placement2D::Class() { return *( 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>(); } +::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>(); } void Ifc4x3_rc3::IfcAxis2Placement3D::setAxis(const ::Ifc4x3_rc3::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcAxis2Placement3D::RefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcDirection{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcDirection>(); } +::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcAxis2Placement3D::RefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcDirection{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcDirection>(); } void Ifc4x3_rc3::IfcAxis2Placement3D::setRefDirection(const ::Ifc4x3_rc3::IfcDirection& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8427,9 +8402,9 @@ const ifcopenshell::entity& Ifc4x3_rc3::IfcAxis2Placement3D::Class() { return *( 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>(); } +::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>(); } void Ifc4x3_rc3::IfcAxis2PlacementLinear::setAxis(const ::Ifc4x3_rc3::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcAxis2PlacementLinear::RefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcDirection{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcDirection>(); } +::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcAxis2PlacementLinear::RefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcDirection{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcDirection>(); } void Ifc4x3_rc3::IfcAxis2PlacementLinear::setRefDirection(const ::Ifc4x3_rc3::IfcDirection& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8439,8 +8414,8 @@ Ifc4x3_rc3::IfcAxis2PlacementLinear Ifc4x3_rc3::IfcAxis2PlacementLinear::initial // Function implementations for IfcBSplineCurve int64_t Ifc4x3_rc3::IfcBSplineCurve::Degree() const { int64_t v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcBSplineCurve::setDegree(const int64_t& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > Ifc4x3_rc3::IfcBSplineCurve::ControlPointsList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcCartesianPoint>(es); } -void Ifc4x3_rc3::IfcBSplineCurve::setControlPointsList(const std::vector< ::Ifc4x3_rc3::IfcCartesianPoint >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > Ifc4x3_rc3::IfcBSplineCurve::ControlPointsList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcCartesianPoint>(es); } +void Ifc4x3_rc3::IfcBSplineCurve::setControlPointsList(const std::vector< ::Ifc4x3_rc3::IfcCartesianPoint >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } ::Ifc4x3_rc3::IfcBSplineCurveForm::Value Ifc4x3_rc3::IfcBSplineCurve::CurveForm() const { return ::Ifc4x3_rc3::IfcBSplineCurveForm::FromString(get_attribute_value(2)); } void Ifc4x3_rc3::IfcBSplineCurve::setCurveForm(const ::Ifc4x3_rc3::IfcBSplineCurveForm::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4x3_rc3::IfcBSplineCurveForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } boost::logic::tribool Ifc4x3_rc3::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = get_attribute_value(3); return v; } @@ -8450,7 +8425,7 @@ void Ifc4x3_rc3::IfcBSplineCurve::setSelfIntersect(const boost::logic::tribool& const ifcopenshell::entity& Ifc4x3_rc3::IfcBSplineCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[108]); } -Ifc4x3_rc3::IfcBSplineCurve Ifc4x3_rc3::IfcBSplineCurve::initialize(int64_t 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; } +Ifc4x3_rc3::IfcBSplineCurve Ifc4x3_rc3::IfcBSplineCurve::initialize(int64_t 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< int64_t > /*[2:?]*/ Ifc4x3_rc3::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int64_t > /*[2:?]*/ v = get_attribute_value(5); return v; } @@ -8462,15 +8437,15 @@ void Ifc4x3_rc3::IfcBSplineCurveWithKnots::setKnotSpec(const ::Ifc4x3_rc3::IfcKn const ifcopenshell::entity& Ifc4x3_rc3::IfcBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[110]); } -Ifc4x3_rc3::IfcBSplineCurveWithKnots Ifc4x3_rc3::IfcBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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; } +Ifc4x3_rc3::IfcBSplineCurveWithKnots Ifc4x3_rc3::IfcBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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 int64_t Ifc4x3_rc3::IfcBSplineSurface::UDegree() const { int64_t v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcBSplineSurface::setUDegree(const int64_t& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } int64_t Ifc4x3_rc3::IfcBSplineSurface::VDegree() const { int64_t v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcBSplineSurface::setVDegree(const int64_t& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector< std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > > Ifc4x3_rc3::IfcBSplineSurface::ControlPointsList() const { std::vector> es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcCartesianPoint>(es); } -void Ifc4x3_rc3::IfcBSplineSurface::setControlPointsList(const std::vector< std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > > Ifc4x3_rc3::IfcBSplineSurface::ControlPointsList() const { std::vector> es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcCartesianPoint>(es); } +void Ifc4x3_rc3::IfcBSplineSurface::setControlPointsList(const std::vector< std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } ::Ifc4x3_rc3::IfcBSplineSurfaceForm::Value Ifc4x3_rc3::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4x3_rc3::IfcBSplineSurfaceForm::FromString(get_attribute_value(3)); } void Ifc4x3_rc3::IfcBSplineSurface::setSurfaceForm(const ::Ifc4x3_rc3::IfcBSplineSurfaceForm::Value& v) { set_attribute_value(3, enumeration_reference(&::Ifc4x3_rc3::IfcBSplineSurfaceForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } boost::logic::tribool Ifc4x3_rc3::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = get_attribute_value(4); return v; } @@ -8482,7 +8457,7 @@ void Ifc4x3_rc3::IfcBSplineSurface::setSelfIntersect(const boost::logic::tribool const ifcopenshell::entity& Ifc4x3_rc3::IfcBSplineSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[111]); } -Ifc4x3_rc3::IfcBSplineSurface Ifc4x3_rc3::IfcBSplineSurface::initialize(int64_t v1_UDegree, int64_t 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; } +Ifc4x3_rc3::IfcBSplineSurface Ifc4x3_rc3::IfcBSplineSurface::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ Ifc4x3_rc3::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int64_t > /*[2:?]*/ v = get_attribute_value(7); return v; } @@ -8498,7 +8473,7 @@ void Ifc4x3_rc3::IfcBSplineSurfaceWithKnots::setKnotSpec(const ::Ifc4x3_rc3::Ifc const ifcopenshell::entity& Ifc4x3_rc3::IfcBSplineSurfaceWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[113]); } -Ifc4x3_rc3::IfcBSplineSurfaceWithKnots Ifc4x3_rc3::IfcBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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; } +Ifc4x3_rc3::IfcBSplineSurfaceWithKnots Ifc4x3_rc3::IfcBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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)); } @@ -8520,7 +8495,7 @@ void Ifc4x3_rc3::IfcBeamType::setPredefinedType(const ::Ifc4x3_rc3::IfcBeamTypeE const ifcopenshell::entity& Ifc4x3_rc3::IfcBeamType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[74]); } -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; } +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)); } @@ -8536,7 +8511,7 @@ void Ifc4x3_rc3::IfcBearingType::setPredefinedType(const ::Ifc4x3_rc3::IfcBearin const ifcopenshell::entity& Ifc4x3_rc3::IfcBearingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[77]); } -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; } +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; } @@ -8574,7 +8549,7 @@ void Ifc4x3_rc3::IfcBoilerType::setPredefinedType(const ::Ifc4x3_rc3::IfcBoilerT const ifcopenshell::entity& Ifc4x3_rc3::IfcBoilerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[86]); } -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; } +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 @@ -8585,9 +8560,9 @@ Ifc4x3_rc3::IfcBooleanClippingResult Ifc4x3_rc3::IfcBooleanClippingResult::initi // Function implementations for IfcBooleanResult ::Ifc4x3_rc3::IfcBooleanOperator::Value Ifc4x3_rc3::IfcBooleanResult::Operator() const { return ::Ifc4x3_rc3::IfcBooleanOperator::FromString(get_attribute_value(0)); } void Ifc4x3_rc3::IfcBooleanResult::setOperator(const ::Ifc4x3_rc3::IfcBooleanOperator::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc4x3_rc3::IfcBooleanOperator::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcBooleanOperand Ifc4x3_rc3::IfcBooleanResult::FirstOperand() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcBooleanOperand>(); } +::Ifc4x3_rc3::IfcBooleanOperand Ifc4x3_rc3::IfcBooleanResult::FirstOperand() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcBooleanOperand>(); } void Ifc4x3_rc3::IfcBooleanResult::setFirstOperand(const ::Ifc4x3_rc3::IfcBooleanOperand& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcBooleanOperand Ifc4x3_rc3::IfcBooleanResult::SecondOperand() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcBooleanOperand>(); } +::Ifc4x3_rc3::IfcBooleanOperand Ifc4x3_rc3::IfcBooleanResult::SecondOperand() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcBooleanOperand>(); } void Ifc4x3_rc3::IfcBooleanResult::setSecondOperand(const ::Ifc4x3_rc3::IfcBooleanOperand& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8612,20 +8587,20 @@ Ifc4x3_rc3::IfcBoundaryCondition Ifc4x3_rc3::IfcBoundaryCondition::initialize(st const ifcopenshell::entity& Ifc4x3_rc3::IfcBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[95]); } -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; } +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>(); } +::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>(); } void Ifc4x3_rc3::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(const ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x3_rc3::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x3_rc3::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect>(); } void Ifc4x3_rc3::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(const ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x3_rc3::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x3_rc3::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect>(); } void Ifc4x3_rc3::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(const ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x3_rc3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x3_rc3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect>(); } void Ifc4x3_rc3::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(const ::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x3_rc3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x3_rc3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect>(); } void Ifc4x3_rc3::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(const ::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x3_rc3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x3_rc3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect>(); } void Ifc4x3_rc3::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(const ::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -8633,11 +8608,11 @@ const ifcopenshell::entity& Ifc4x3_rc3::IfcBoundaryEdgeCondition::Class() { retu 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>(); } +::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>(); } void Ifc4x3_rc3::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(const ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect Ifc4x3_rc3::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect Ifc4x3_rc3::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect>(); } void Ifc4x3_rc3::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(const ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect Ifc4x3_rc3::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect Ifc4x3_rc3::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect>(); } void Ifc4x3_rc3::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(const ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -8645,17 +8620,17 @@ const ifcopenshell::entity& Ifc4x3_rc3::IfcBoundaryFaceCondition::Class() { retu 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>(); } +::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>(); } void Ifc4x3_rc3::IfcBoundaryNodeCondition::setTranslationalStiffnessX(const ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcTranslationalStiffnessSelect Ifc4x3_rc3::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcTranslationalStiffnessSelect>(); } +::Ifc4x3_rc3::IfcTranslationalStiffnessSelect Ifc4x3_rc3::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcTranslationalStiffnessSelect>(); } void Ifc4x3_rc3::IfcBoundaryNodeCondition::setTranslationalStiffnessY(const ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcTranslationalStiffnessSelect Ifc4x3_rc3::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcTranslationalStiffnessSelect>(); } +::Ifc4x3_rc3::IfcTranslationalStiffnessSelect Ifc4x3_rc3::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcTranslationalStiffnessSelect>(); } void Ifc4x3_rc3::IfcBoundaryNodeCondition::setTranslationalStiffnessZ(const ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc3::IfcRotationalStiffnessSelect Ifc4x3_rc3::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc3::IfcRotationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcRotationalStiffnessSelect>(); } +::Ifc4x3_rc3::IfcRotationalStiffnessSelect Ifc4x3_rc3::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc3::IfcRotationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcRotationalStiffnessSelect>(); } void Ifc4x3_rc3::IfcBoundaryNodeCondition::setRotationalStiffnessX(const ::Ifc4x3_rc3::IfcRotationalStiffnessSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcRotationalStiffnessSelect Ifc4x3_rc3::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc3::IfcRotationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcRotationalStiffnessSelect>(); } +::Ifc4x3_rc3::IfcRotationalStiffnessSelect Ifc4x3_rc3::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc3::IfcRotationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcRotationalStiffnessSelect>(); } void Ifc4x3_rc3::IfcBoundaryNodeCondition::setRotationalStiffnessY(const ::Ifc4x3_rc3::IfcRotationalStiffnessSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc3::IfcRotationalStiffnessSelect Ifc4x3_rc3::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcRotationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcRotationalStiffnessSelect>(); } +::Ifc4x3_rc3::IfcRotationalStiffnessSelect Ifc4x3_rc3::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcRotationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcRotationalStiffnessSelect>(); } void Ifc4x3_rc3::IfcBoundaryNodeCondition::setRotationalStiffnessZ(const ::Ifc4x3_rc3::IfcRotationalStiffnessSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -8663,7 +8638,7 @@ const ifcopenshell::entity& Ifc4x3_rc3::IfcBoundaryNodeCondition::Class() { retu 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>(); } +::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>(); } void Ifc4x3_rc3::IfcBoundaryNodeConditionWarping::setWarpingStiffness(const ::Ifc4x3_rc3::IfcWarpingStiffnessSelect& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -8683,7 +8658,7 @@ const ifcopenshell::entity& Ifc4x3_rc3::IfcBoundedSurface::Class() { return *((i 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>(); } +::Ifc4x3_rc3::IfcCartesianPoint Ifc4x3_rc3::IfcBoundingBox::Corner() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCartesianPoint>(); } void Ifc4x3_rc3::IfcBoundingBox::setCorner(const ::Ifc4x3_rc3::IfcCartesianPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc3::IfcBoundingBox::XDim() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcBoundingBox::setXDim(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8697,7 +8672,7 @@ const ifcopenshell::entity& Ifc4x3_rc3::IfcBoundingBox::Class() { return *((ifco 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>(); } +::Ifc4x3_rc3::IfcBoundingBox Ifc4x3_rc3::IfcBoxedHalfSpace::Enclosure() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcBoundingBox>(); } void Ifc4x3_rc3::IfcBoxedHalfSpace::setEnclosure(const ::Ifc4x3_rc3::IfcBoundingBox& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8717,7 +8692,7 @@ std::optional< double > Ifc4x3_rc3::IfcBuilding::ElevationOfRefHeight() const { void Ifc4x3_rc3::IfcBuilding::setElevationOfRefHeight(const std::optional< double >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } std::optional< double > Ifc4x3_rc3::IfcBuilding::ElevationOfTerrain() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcBuilding::setElevationOfTerrain(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x3_rc3::IfcPostalAddress Ifc4x3_rc3::IfcBuilding::BuildingAddress() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x3_rc3::IfcPostalAddress{}; } return ((express::Base)(get_attribute_value(11))).as<::Ifc4x3_rc3::IfcPostalAddress>(); } +::Ifc4x3_rc3::IfcPostalAddress Ifc4x3_rc3::IfcBuilding::BuildingAddress() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x3_rc3::IfcPostalAddress{}; } return ((express::base)(get_attribute_value(11))).as<::Ifc4x3_rc3::IfcPostalAddress>(); } void Ifc4x3_rc3::IfcBuilding::setBuildingAddress(const ::Ifc4x3_rc3::IfcPostalAddress& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } @@ -8738,7 +8713,7 @@ void Ifc4x3_rc3::IfcBuildingElementPartType::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc3::IfcBuildingElementPartType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[116]); } -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; } +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)); } @@ -8754,7 +8729,7 @@ void Ifc4x3_rc3::IfcBuildingElementProxyType::setPredefinedType(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc3::IfcBuildingElementProxyType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[119]); } -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; } +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; } @@ -8784,7 +8759,7 @@ Ifc4x3_rc3::IfcBuiltElement Ifc4x3_rc3::IfcBuiltElement::initialize(std::string const ifcopenshell::entity& Ifc4x3_rc3::IfcBuiltElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[125]); } -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; } +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)); } @@ -8810,7 +8785,7 @@ void Ifc4x3_rc3::IfcBurnerType::setPredefinedType(const ::Ifc4x3_rc3::IfcBurnerT const ifcopenshell::entity& Ifc4x3_rc3::IfcBurnerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[129]); } -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; } +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; } @@ -8842,7 +8817,7 @@ void Ifc4x3_rc3::IfcCableCarrierFittingType::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc3::IfcCableCarrierFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[132]); } -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; } +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)); } @@ -8858,7 +8833,7 @@ void Ifc4x3_rc3::IfcCableCarrierSegmentType::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc3::IfcCableCarrierSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[135]); } -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; } +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)); } @@ -8874,7 +8849,7 @@ void Ifc4x3_rc3::IfcCableFittingType::setPredefinedType(const ::Ifc4x3_rc3::IfcC const ifcopenshell::entity& Ifc4x3_rc3::IfcCableFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[138]); } -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; } +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)); } @@ -8890,7 +8865,7 @@ void Ifc4x3_rc3::IfcCableSegmentType::setPredefinedType(const ::Ifc4x3_rc3::IfcC const ifcopenshell::entity& Ifc4x3_rc3::IfcCableSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[141]); } -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; } +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)); } @@ -8906,7 +8881,7 @@ void Ifc4x3_rc3::IfcCaissonFoundationType::setPredefinedType(const ::Ifc4x3_rc3: const ifcopenshell::entity& Ifc4x3_rc3::IfcCaissonFoundationType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[144]); } -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; } +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; } @@ -8943,11 +8918,11 @@ const ifcopenshell::entity& Ifc4x3_rc3::IfcCartesianPointList3D::Class() { retur 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>(); } +::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>(); } void Ifc4x3_rc3::IfcCartesianTransformationOperator::setAxis1(const ::Ifc4x3_rc3::IfcDirection& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcCartesianTransformationOperator::Axis2() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc3::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcDirection>(); } +::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcCartesianTransformationOperator::Axis2() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc3::IfcDirection{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcDirection>(); } void Ifc4x3_rc3::IfcCartesianTransformationOperator::setAxis2(const ::Ifc4x3_rc3::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcCartesianPoint Ifc4x3_rc3::IfcCartesianTransformationOperator::LocalOrigin() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcCartesianPoint>(); } +::Ifc4x3_rc3::IfcCartesianPoint Ifc4x3_rc3::IfcCartesianTransformationOperator::LocalOrigin() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcCartesianPoint>(); } void Ifc4x3_rc3::IfcCartesianTransformationOperator::setLocalOrigin(const ::Ifc4x3_rc3::IfcCartesianPoint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc4x3_rc3::IfcCartesianTransformationOperator::Scale() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcCartesianTransformationOperator::setScale(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } @@ -8971,7 +8946,7 @@ const ifcopenshell::entity& Ifc4x3_rc3::IfcCartesianTransformationOperator2DnonU 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>(); } +::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>(); } void Ifc4x3_rc3::IfcCartesianTransformationOperator3D::setAxis3(const ::Ifc4x3_rc3::IfcDirection& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -9010,7 +8985,7 @@ void Ifc4x3_rc3::IfcChillerType::setPredefinedType(const ::Ifc4x3_rc3::IfcChille const ifcopenshell::entity& Ifc4x3_rc3::IfcChillerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[159]); } -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; } +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)); } @@ -9026,7 +9001,7 @@ void Ifc4x3_rc3::IfcChimneyType::setPredefinedType(const ::Ifc4x3_rc3::IfcChimne const ifcopenshell::entity& Ifc4x3_rc3::IfcChimneyType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[162]); } -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; } +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; } @@ -9062,7 +9037,7 @@ Ifc4x3_rc3::IfcCivilElement Ifc4x3_rc3::IfcCivilElement::initialize(std::string const ifcopenshell::entity& Ifc4x3_rc3::IfcCivilElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[168]); } -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; } +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; } @@ -9080,21 +9055,21 @@ void Ifc4x3_rc3::IfcClassification::setLocation(const std::optional< std::string std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcClassification::ReferenceTokens() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcClassification::setReferenceTokens(const std::optional< std::vector< std::string > /*[1:?]*/ >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3_rc3::IfcRelAssociatesClassification> Ifc4x3_rc3::IfcClassification::ClassificationForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[916], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelAssociatesClassification> Ifc4x3_rc3::IfcClassification::ClassificationForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[914], 5)); } 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]); } 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>(); } +::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>(); } void Ifc4x3_rc3::IfcClassificationReference::setReferencedSource(const ::Ifc4x3_rc3::IfcClassificationReferenceSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc3::IfcClassificationReference::Description() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcClassificationReference::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } std::optional< std::string > Ifc4x3_rc3::IfcClassificationReference::Sort() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcClassificationReference::setSort(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3_rc3::IfcRelAssociatesClassification> Ifc4x3_rc3::IfcClassificationReference::ClassificationRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[916], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelAssociatesClassification> Ifc4x3_rc3::IfcClassificationReference::ClassificationRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[914], 5)); } 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]); } @@ -9104,7 +9079,7 @@ Ifc4x3_rc3::IfcClassificationReference Ifc4x3_rc3::IfcClassificationReference::i const ifcopenshell::entity& Ifc4x3_rc3::IfcClosedShell::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[173]); } -Ifc4x3_rc3::IfcClosedShell Ifc4x3_rc3::IfcClosedShell::initialize(std::vector< ::Ifc4x3_rc3::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } +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; } @@ -9128,7 +9103,7 @@ void Ifc4x3_rc3::IfcCoilType::setPredefinedType(const ::Ifc4x3_rc3::IfcCoilTypeE const ifcopenshell::entity& Ifc4x3_rc3::IfcCoilType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[176]); } -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; } +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; } @@ -9178,7 +9153,7 @@ void Ifc4x3_rc3::IfcColumnType::setPredefinedType(const ::Ifc4x3_rc3::IfcColumnT const ifcopenshell::entity& Ifc4x3_rc3::IfcColumnType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[185]); } -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; } +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)); } @@ -9194,50 +9169,50 @@ void Ifc4x3_rc3::IfcCommunicationsApplianceType::setPredefinedType(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc3::IfcCommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[188]); } -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; } +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; } void Ifc4x3_rc3::IfcComplexProperty::setUsageName(const std::string& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_rc3::IfcProperty > Ifc4x3_rc3::IfcComplexProperty::HasProperties() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc3::IfcProperty>(es); } -void Ifc4x3_rc3::IfcComplexProperty::setHasProperties(const std::vector< ::Ifc4x3_rc3::IfcProperty >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc3::IfcProperty > Ifc4x3_rc3::IfcComplexProperty::HasProperties() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc3::IfcProperty>(es); } +void Ifc4x3_rc3::IfcComplexProperty::setHasProperties(const std::vector< ::Ifc4x3_rc3::IfcProperty >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc3::IfcComplexProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[191]); } -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; } +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; } void Ifc4x3_rc3::IfcComplexPropertyTemplate::setUsageName(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } std::optional< ::Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x3_rc3::IfcComplexPropertyTemplate::TemplateType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc3::IfcComplexPropertyTemplate::setTemplateType(const std::optional< ::Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::Value >& v) { if (v) {set_attribute_value(5, enumeration_reference(&::Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertyTemplate > > Ifc4x3_rc3::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc3::IfcPropertyTemplate>(es); } -void Ifc4x3_rc3::IfcComplexPropertyTemplate::setHasPropertyTemplates(const std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertyTemplate > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertyTemplate > > Ifc4x3_rc3::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc3::IfcPropertyTemplate>(es); } +void Ifc4x3_rc3::IfcComplexPropertyTemplate::setHasPropertyTemplates(const std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertyTemplate > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } const ifcopenshell::entity& Ifc4x3_rc3::IfcComplexPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[192]); } -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; } +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); } -void Ifc4x3_rc3::IfcCompositeCurve::setSegments(const std::vector< ::Ifc4x3_rc3::IfcSegment >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc3::IfcSegment > Ifc4x3_rc3::IfcCompositeCurve::Segments() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcSegment>(es); } +void Ifc4x3_rc3::IfcCompositeCurve::setSegments(const std::vector< ::Ifc4x3_rc3::IfcSegment >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } boost::logic::tribool Ifc4x3_rc3::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcCompositeCurve::setSelfIntersect(const boost::logic::tribool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_rc3::IfcCompositeCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[194]); } -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; } +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]); } -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; } +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; } void Ifc4x3_rc3::IfcCompositeCurveSegment::setSameSense(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcCompositeCurveSegment::ParentCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcCurve>(); } +::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcCompositeCurveSegment::ParentCurve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcCurve>(); } void Ifc4x3_rc3::IfcCompositeCurveSegment::setParentCurve(const ::Ifc4x3_rc3::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -9245,14 +9220,14 @@ const ifcopenshell::entity& Ifc4x3_rc3::IfcCompositeCurveSegment::Class() { retu 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); } -void Ifc4x3_rc3::IfcCompositeProfileDef::setProfiles(const std::vector< ::Ifc4x3_rc3::IfcProfileDef >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc3::IfcProfileDef > Ifc4x3_rc3::IfcCompositeProfileDef::Profiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcProfileDef>(es); } +void Ifc4x3_rc3::IfcCompositeProfileDef::setProfiles(const std::vector< ::Ifc4x3_rc3::IfcProfileDef >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4x3_rc3::IfcCompositeProfileDef::Label() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcCompositeProfileDef::setLabel(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const ifcopenshell::entity& Ifc4x3_rc3::IfcCompositeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[197]); } -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; } +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)); } @@ -9268,7 +9243,7 @@ void Ifc4x3_rc3::IfcCompressorType::setPredefinedType(const ::Ifc4x3_rc3::IfcCom const ifcopenshell::entity& Ifc4x3_rc3::IfcCompressorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[200]); } -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; } +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)); } @@ -9284,10 +9259,10 @@ void Ifc4x3_rc3::IfcCondenserType::setPredefinedType(const ::Ifc4x3_rc3::IfcCond const ifcopenshell::entity& Ifc4x3_rc3::IfcCondenserType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[203]); } -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; } +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>(); } +::Ifc4x3_rc3::IfcAxis2Placement Ifc4x3_rc3::IfcConic::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcAxis2Placement>(); } void Ifc4x3_rc3::IfcConic::setPosition(const ::Ifc4x3_rc3::IfcAxis2Placement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -9295,17 +9270,17 @@ const ifcopenshell::entity& Ifc4x3_rc3::IfcConic::Class() { return *((ifcopenshe 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); } -void Ifc4x3_rc3::IfcConnectedFaceSet::setCfsFaces(const std::vector< ::Ifc4x3_rc3::IfcFace >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc3::IfcFace > Ifc4x3_rc3::IfcConnectedFaceSet::CfsFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcFace>(es); } +void Ifc4x3_rc3::IfcConnectedFaceSet::setCfsFaces(const std::vector< ::Ifc4x3_rc3::IfcFace >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc3::IfcConnectedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[206]); } -Ifc4x3_rc3::IfcConnectedFaceSet Ifc4x3_rc3::IfcConnectedFaceSet::initialize(std::vector< ::Ifc4x3_rc3::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } +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>(); } +::Ifc4x3_rc3::IfcCurveOrEdgeCurve Ifc4x3_rc3::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCurveOrEdgeCurve>(); } void Ifc4x3_rc3::IfcConnectionCurveGeometry::setCurveOnRelatingElement(const ::Ifc4x3_rc3::IfcCurveOrEdgeCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcCurveOrEdgeCurve Ifc4x3_rc3::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc3::IfcCurveOrEdgeCurve{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcCurveOrEdgeCurve>(); } +::Ifc4x3_rc3::IfcCurveOrEdgeCurve Ifc4x3_rc3::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc3::IfcCurveOrEdgeCurve{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcCurveOrEdgeCurve>(); } void Ifc4x3_rc3::IfcConnectionCurveGeometry::setCurveOnRelatedElement(const ::Ifc4x3_rc3::IfcCurveOrEdgeCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9331,9 +9306,9 @@ const ifcopenshell::entity& Ifc4x3_rc3::IfcConnectionPointEccentricity::Class() 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>(); } +::Ifc4x3_rc3::IfcPointOrVertexPoint Ifc4x3_rc3::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcPointOrVertexPoint>(); } void Ifc4x3_rc3::IfcConnectionPointGeometry::setPointOnRelatingElement(const ::Ifc4x3_rc3::IfcPointOrVertexPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcPointOrVertexPoint Ifc4x3_rc3::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc3::IfcPointOrVertexPoint{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcPointOrVertexPoint>(); } +::Ifc4x3_rc3::IfcPointOrVertexPoint Ifc4x3_rc3::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc3::IfcPointOrVertexPoint{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcPointOrVertexPoint>(); } void Ifc4x3_rc3::IfcConnectionPointGeometry::setPointOnRelatedElement(const ::Ifc4x3_rc3::IfcPointOrVertexPoint& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9341,9 +9316,9 @@ const ifcopenshell::entity& Ifc4x3_rc3::IfcConnectionPointGeometry::Class() { re 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>(); } +::Ifc4x3_rc3::IfcSurfaceOrFaceSurface Ifc4x3_rc3::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcSurfaceOrFaceSurface>(); } void Ifc4x3_rc3::IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(const ::Ifc4x3_rc3::IfcSurfaceOrFaceSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcSurfaceOrFaceSurface Ifc4x3_rc3::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc3::IfcSurfaceOrFaceSurface{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcSurfaceOrFaceSurface>(); } +::Ifc4x3_rc3::IfcSurfaceOrFaceSurface Ifc4x3_rc3::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc3::IfcSurfaceOrFaceSurface{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcSurfaceOrFaceSurface>(); } void Ifc4x3_rc3::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(const ::Ifc4x3_rc3::IfcSurfaceOrFaceSurface& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9351,9 +9326,9 @@ const ifcopenshell::entity& Ifc4x3_rc3::IfcConnectionSurfaceGeometry::Class() { 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>(); } +::Ifc4x3_rc3::IfcSolidOrShell Ifc4x3_rc3::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcSolidOrShell>(); } void Ifc4x3_rc3::IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(const ::Ifc4x3_rc3::IfcSolidOrShell& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcSolidOrShell Ifc4x3_rc3::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc3::IfcSolidOrShell{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcSolidOrShell>(); } +::Ifc4x3_rc3::IfcSolidOrShell Ifc4x3_rc3::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc3::IfcSolidOrShell{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcSolidOrShell>(); } void Ifc4x3_rc3::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(const ::Ifc4x3_rc3::IfcSolidOrShell& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9369,15 +9344,15 @@ void Ifc4x3_rc3::IfcConstraint::setDescription(const std::optional< std::string void Ifc4x3_rc3::IfcConstraint::setConstraintGrade(const ::Ifc4x3_rc3::IfcConstraintEnum::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4x3_rc3::IfcConstraintEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4x3_rc3::IfcConstraint::ConstraintSource() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcConstraint::setConstraintSource(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc3::IfcActorSelect Ifc4x3_rc3::IfcConstraint::CreatingActor() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc3::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcActorSelect>(); } +::Ifc4x3_rc3::IfcActorSelect Ifc4x3_rc3::IfcConstraint::CreatingActor() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc3::IfcActorSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcActorSelect>(); } void Ifc4x3_rc3::IfcConstraint::setCreatingActor(const ::Ifc4x3_rc3::IfcActorSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::optional< std::string > Ifc4x3_rc3::IfcConstraint::CreationTime() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcConstraint::setCreationTime(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< std::string > Ifc4x3_rc3::IfcConstraint::UserDefinedGrade() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcConstraint::setUserDefinedGrade(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcConstraint::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[434], 3)); } -std::vector<::Ifc4x3_rc3::IfcResourceConstraintRelationship> Ifc4x3_rc3::IfcConstraint::PropertiesForConstraint() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[962], 2)); } +std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcConstraint::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[433], 3)); } +std::vector<::Ifc4x3_rc3::IfcResourceConstraintRelationship> Ifc4x3_rc3::IfcConstraint::PropertiesForConstraint() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[960], 2)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcConstraint::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[214]); } 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; } @@ -9388,7 +9363,7 @@ void Ifc4x3_rc3::IfcConstructionEquipmentResource::setPredefinedType(const std:: const ifcopenshell::entity& Ifc4x3_rc3::IfcConstructionEquipmentResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[216]); } -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; } +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 +9371,7 @@ void Ifc4x3_rc3::IfcConstructionEquipmentResourceType::setPredefinedType(const : const ifcopenshell::entity& Ifc4x3_rc3::IfcConstructionEquipmentResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[217]); } -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; } +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 +9379,7 @@ void Ifc4x3_rc3::IfcConstructionMaterialResource::setPredefinedType(const std::o const ifcopenshell::entity& Ifc4x3_rc3::IfcConstructionMaterialResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[219]); } -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; } +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 +9387,7 @@ void Ifc4x3_rc3::IfcConstructionMaterialResourceType::setPredefinedType(const :: const ifcopenshell::entity& Ifc4x3_rc3::IfcConstructionMaterialResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[220]); } -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; } +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 +9395,7 @@ void Ifc4x3_rc3::IfcConstructionProductResource::setPredefinedType(const std::op const ifcopenshell::entity& Ifc4x3_rc3::IfcConstructionProductResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[222]); } -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; } +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,29 +9403,29 @@ void Ifc4x3_rc3::IfcConstructionProductResourceType::setPredefinedType(const ::I const ifcopenshell::entity& Ifc4x3_rc3::IfcConstructionProductResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[223]); } -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; } +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>(); } +::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>(); } void Ifc4x3_rc3::IfcConstructionResource::setUsage(const ::Ifc4x3_rc3::IfcResourceTime& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > Ifc4x3_rc3::IfcConstructionResource::BaseCosts() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc3::IfcAppliedValue>(es); } -void Ifc4x3_rc3::IfcConstructionResource::setBaseCosts(const std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } -::Ifc4x3_rc3::IfcPhysicalQuantity Ifc4x3_rc3::IfcConstructionResource::BaseQuantity() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc3::IfcPhysicalQuantity{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc3::IfcPhysicalQuantity>(); } +std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > Ifc4x3_rc3::IfcConstructionResource::BaseCosts() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc3::IfcAppliedValue>(es); } +void Ifc4x3_rc3::IfcConstructionResource::setBaseCosts(const std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } +::Ifc4x3_rc3::IfcPhysicalQuantity Ifc4x3_rc3::IfcConstructionResource::BaseQuantity() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc3::IfcPhysicalQuantity{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc3::IfcPhysicalQuantity>(); } void Ifc4x3_rc3::IfcConstructionResource::setBaseQuantity(const ::Ifc4x3_rc3::IfcPhysicalQuantity& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } const ifcopenshell::entity& Ifc4x3_rc3::IfcConstructionResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[225]); } -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; } +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); } -void Ifc4x3_rc3::IfcConstructionResourceType::setBaseCosts(const std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } -::Ifc4x3_rc3::IfcPhysicalQuantity Ifc4x3_rc3::IfcConstructionResourceType::BaseQuantity() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc3::IfcPhysicalQuantity{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_rc3::IfcPhysicalQuantity>(); } +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); } +void Ifc4x3_rc3::IfcConstructionResourceType::setBaseCosts(const std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +::Ifc4x3_rc3::IfcPhysicalQuantity Ifc4x3_rc3::IfcConstructionResourceType::BaseQuantity() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc3::IfcPhysicalQuantity{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x3_rc3::IfcPhysicalQuantity>(); } void Ifc4x3_rc3::IfcConstructionResourceType::setBaseQuantity(const ::Ifc4x3_rc3::IfcPhysicalQuantity& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } const ifcopenshell::entity& Ifc4x3_rc3::IfcConstructionResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[226]); } -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; } +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; } @@ -9459,22 +9434,22 @@ std::optional< std::string > Ifc4x3_rc3::IfcContext::LongName() const { if(get_a void Ifc4x3_rc3::IfcContext::setLongName(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< std::string > Ifc4x3_rc3::IfcContext::Phase() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcContext::setPhase(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationContext > > Ifc4x3_rc3::IfcContext::RepresentationContexts() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc3::IfcRepresentationContext>(es); } -void Ifc4x3_rc3::IfcContext::setRepresentationContexts(const std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationContext > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } -::Ifc4x3_rc3::IfcUnitAssignment Ifc4x3_rc3::IfcContext::UnitsInContext() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc3::IfcUnitAssignment{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc3::IfcUnitAssignment>(); } +std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationContext > > Ifc4x3_rc3::IfcContext::RepresentationContexts() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc3::IfcRepresentationContext>(es); } +void Ifc4x3_rc3::IfcContext::setRepresentationContexts(const std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationContext > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +::Ifc4x3_rc3::IfcUnitAssignment Ifc4x3_rc3::IfcContext::UnitsInContext() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc3::IfcUnitAssignment{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc3::IfcUnitAssignment>(); } void Ifc4x3_rc3::IfcContext::setUnitsInContext(const ::Ifc4x3_rc3::IfcUnitAssignment& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::vector<::Ifc4x3_rc3::IfcRelDefinesByProperties> Ifc4x3_rc3::IfcContext::IsDefinedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[939], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelDeclares> Ifc4x3_rc3::IfcContext::Declares() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[935], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelDefinesByProperties> Ifc4x3_rc3::IfcContext::IsDefinedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[937], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelDeclares> Ifc4x3_rc3::IfcContext::Declares() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[933], 4)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcContext::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[227]); } -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; } +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; } void Ifc4x3_rc3::IfcContextDependentUnit::setName(const std::string& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[434], 3)); } +std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[433], 3)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcContextDependentUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[229]); } 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; } @@ -9483,7 +9458,7 @@ Ifc4x3_rc3::IfcContextDependentUnit Ifc4x3_rc3::IfcContextDependentUnit::initial 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; } void Ifc4x3_rc3::IfcControl::setIdentification(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3_rc3::IfcRelAssignsToControl> Ifc4x3_rc3::IfcControl::Controls() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[908], 6)); } +std::vector<::Ifc4x3_rc3::IfcRelAssignsToControl> Ifc4x3_rc3::IfcControl::Controls() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[906], 6)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcControl::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[230]); } 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; } @@ -9502,15 +9477,15 @@ void Ifc4x3_rc3::IfcControllerType::setPredefinedType(const ::Ifc4x3_rc3::IfcCon const ifcopenshell::entity& Ifc4x3_rc3::IfcControllerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[232]); } -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; } +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; } void Ifc4x3_rc3::IfcConversionBasedUnit::setName(const std::string& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcMeasureWithUnit Ifc4x3_rc3::IfcConversionBasedUnit::ConversionFactor() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcMeasureWithUnit>(); } +::Ifc4x3_rc3::IfcMeasureWithUnit Ifc4x3_rc3::IfcConversionBasedUnit::ConversionFactor() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcMeasureWithUnit>(); } void Ifc4x3_rc3::IfcConversionBasedUnit::setConversionFactor(const ::Ifc4x3_rc3::IfcMeasureWithUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[434], 3)); } +std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[433], 3)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcConversionBasedUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[234]); } 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; } @@ -9537,7 +9512,7 @@ void Ifc4x3_rc3::IfcConveyorSegmentType::setPredefinedType(const ::Ifc4x3_rc3::I const ifcopenshell::entity& Ifc4x3_rc3::IfcConveyorSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[237]); } -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; } +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)); } @@ -9553,7 +9528,7 @@ void Ifc4x3_rc3::IfcCooledBeamType::setPredefinedType(const ::Ifc4x3_rc3::IfcCoo const ifcopenshell::entity& Ifc4x3_rc3::IfcCooledBeamType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[240]); } -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; } +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)); } @@ -9569,12 +9544,12 @@ void Ifc4x3_rc3::IfcCoolingTowerType::setPredefinedType(const ::Ifc4x3_rc3::IfcC const ifcopenshell::entity& Ifc4x3_rc3::IfcCoolingTowerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[243]); } -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; } +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>(); } +::Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect Ifc4x3_rc3::IfcCoordinateOperation::SourceCRS() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect>(); } void Ifc4x3_rc3::IfcCoordinateOperation::setSourceCRS(const ::Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcCoordinateReferenceSystem Ifc4x3_rc3::IfcCoordinateOperation::TargetCRS() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcCoordinateReferenceSystem>(); } +::Ifc4x3_rc3::IfcCoordinateReferenceSystem Ifc4x3_rc3::IfcCoordinateOperation::TargetCRS() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcCoordinateReferenceSystem>(); } void Ifc4x3_rc3::IfcCoordinateOperation::setTargetCRS(const ::Ifc4x3_rc3::IfcCoordinateReferenceSystem& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9609,14 +9584,14 @@ Ifc4x3_rc3::IfcCosine Ifc4x3_rc3::IfcCosine::initialize(::Ifc4x3_rc3::IfcAxis2Pl // 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)); } void Ifc4x3_rc3::IfcCostItem::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcCostItemTypeEnum::Value >& v) { if (v) {set_attribute_value(6, enumeration_reference(&::Ifc4x3_rc3::IfcCostItemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x3_rc3::IfcCostValue > > Ifc4x3_rc3::IfcCostItem::CostValues() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc3::IfcCostValue>(es); } -void Ifc4x3_rc3::IfcCostItem::setCostValues(const std::optional< std::vector< ::Ifc4x3_rc3::IfcCostValue > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } -std::optional< std::vector< ::Ifc4x3_rc3::IfcPhysicalQuantity > > Ifc4x3_rc3::IfcCostItem::CostQuantities() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc3::IfcPhysicalQuantity>(es); } -void Ifc4x3_rc3::IfcCostItem::setCostQuantities(const std::optional< std::vector< ::Ifc4x3_rc3::IfcPhysicalQuantity > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } +std::optional< std::vector< ::Ifc4x3_rc3::IfcCostValue > > Ifc4x3_rc3::IfcCostItem::CostValues() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc3::IfcCostValue>(es); } +void Ifc4x3_rc3::IfcCostItem::setCostValues(const std::optional< std::vector< ::Ifc4x3_rc3::IfcCostValue > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x3_rc3::IfcPhysicalQuantity > > Ifc4x3_rc3::IfcCostItem::CostQuantities() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc3::IfcPhysicalQuantity>(es); } +void Ifc4x3_rc3::IfcCostItem::setCostQuantities(const std::optional< std::vector< ::Ifc4x3_rc3::IfcPhysicalQuantity > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } const ifcopenshell::entity& Ifc4x3_rc3::IfcCostItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[249]); } -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; } +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)); } @@ -9636,7 +9611,7 @@ Ifc4x3_rc3::IfcCostSchedule Ifc4x3_rc3::IfcCostSchedule::initialize(std::string const ifcopenshell::entity& Ifc4x3_rc3::IfcCostValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[253]); } -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; } +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)); } @@ -9652,14 +9627,14 @@ void Ifc4x3_rc3::IfcCourseType::setPredefinedType(const ::Ifc4x3_rc3::IfcCourseT const ifcopenshell::entity& Ifc4x3_rc3::IfcCourseType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[256]); } -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; } +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)); } void Ifc4x3_rc3::IfcCovering::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcCoveringTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcCoveringTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_rc3::IfcRelCoversSpaces> Ifc4x3_rc3::IfcCovering::CoversSpaces() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[934], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelCoversBldgElements> Ifc4x3_rc3::IfcCovering::CoversElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[933], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelCoversSpaces> Ifc4x3_rc3::IfcCovering::CoversSpaces() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[932], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelCoversBldgElements> Ifc4x3_rc3::IfcCovering::CoversElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[931], 5)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcCovering::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[258]); } 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; } @@ -9670,7 +9645,7 @@ void Ifc4x3_rc3::IfcCoveringType::setPredefinedType(const ::Ifc4x3_rc3::IfcCover const ifcopenshell::entity& Ifc4x3_rc3::IfcCoveringType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[259]); } -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; } +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 +9653,7 @@ void Ifc4x3_rc3::IfcCrewResource::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc3::IfcCrewResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[261]); } -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; } +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,10 +9661,10 @@ void Ifc4x3_rc3::IfcCrewResourceType::setPredefinedType(const ::Ifc4x3_rc3::IfcC const ifcopenshell::entity& Ifc4x3_rc3::IfcCrewResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[262]); } -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; } +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>(); } +::Ifc4x3_rc3::IfcAxis2Placement3D Ifc4x3_rc3::IfcCsgPrimitive3D::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcAxis2Placement3D>(); } void Ifc4x3_rc3::IfcCsgPrimitive3D::setPosition(const ::Ifc4x3_rc3::IfcAxis2Placement3D& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -9697,7 +9672,7 @@ const ifcopenshell::entity& Ifc4x3_rc3::IfcCsgPrimitive3D::Class() { return *((i 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>(); } +::Ifc4x3_rc3::IfcCsgSelect Ifc4x3_rc3::IfcCsgSolid::TreeRootExpression() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCsgSelect>(); } void Ifc4x3_rc3::IfcCsgSolid::setTreeRootExpression(const ::Ifc4x3_rc3::IfcCsgSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -9705,15 +9680,15 @@ const ifcopenshell::entity& Ifc4x3_rc3::IfcCsgSolid::Class() { return *((ifcopen 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>(); } +::Ifc4x3_rc3::IfcMonetaryUnit Ifc4x3_rc3::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcMonetaryUnit>(); } void Ifc4x3_rc3::IfcCurrencyRelationship::setRelatingMonetaryUnit(const ::Ifc4x3_rc3::IfcMonetaryUnit& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcMonetaryUnit Ifc4x3_rc3::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcMonetaryUnit>(); } +::Ifc4x3_rc3::IfcMonetaryUnit Ifc4x3_rc3::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcMonetaryUnit>(); } void Ifc4x3_rc3::IfcCurrencyRelationship::setRelatedMonetaryUnit(const ::Ifc4x3_rc3::IfcMonetaryUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } double Ifc4x3_rc3::IfcCurrencyRelationship::ExchangeRate() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcCurrencyRelationship::setExchangeRate(const double& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::optional< std::string > Ifc4x3_rc3::IfcCurrencyRelationship::RateDateTime() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcCurrencyRelationship::setRateDateTime(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc3::IfcLibraryInformation Ifc4x3_rc3::IfcCurrencyRelationship::RateSource() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcLibraryInformation{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcLibraryInformation>(); } +::Ifc4x3_rc3::IfcLibraryInformation Ifc4x3_rc3::IfcCurrencyRelationship::RateSource() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcLibraryInformation{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcLibraryInformation>(); } void Ifc4x3_rc3::IfcCurrencyRelationship::setRateSource(const ::Ifc4x3_rc3::IfcLibraryInformation& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -9734,7 +9709,7 @@ void Ifc4x3_rc3::IfcCurtainWallType::setPredefinedType(const ::Ifc4x3_rc3::IfcCu const ifcopenshell::entity& Ifc4x3_rc3::IfcCurtainWallType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[270]); } -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; } +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 @@ -9743,37 +9718,37 @@ const ifcopenshell::entity& Ifc4x3_rc3::IfcCurve::Class() { return *((ifcopenshe 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>(); } +::Ifc4x3_rc3::IfcPlane Ifc4x3_rc3::IfcCurveBoundedPlane::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcPlane>(); } void Ifc4x3_rc3::IfcCurveBoundedPlane::setBasisSurface(const ::Ifc4x3_rc3::IfcPlane& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcCurveBoundedPlane::OuterBoundary() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcCurve>(); } +::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcCurveBoundedPlane::OuterBoundary() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcCurve>(); } void Ifc4x3_rc3::IfcCurveBoundedPlane::setOuterBoundary(const ::Ifc4x3_rc3::IfcCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x3_rc3::IfcCurve > Ifc4x3_rc3::IfcCurveBoundedPlane::InnerBoundaries() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcCurve>(es); } -void Ifc4x3_rc3::IfcCurveBoundedPlane::setInnerBoundaries(const std::vector< ::Ifc4x3_rc3::IfcCurve >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc3::IfcCurve > Ifc4x3_rc3::IfcCurveBoundedPlane::InnerBoundaries() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcCurve>(es); } +void Ifc4x3_rc3::IfcCurveBoundedPlane::setInnerBoundaries(const std::vector< ::Ifc4x3_rc3::IfcCurve >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc3::IfcCurveBoundedPlane::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[274]); } -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; } +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>(); } +::Ifc4x3_rc3::IfcSurface Ifc4x3_rc3::IfcCurveBoundedSurface::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcSurface>(); } void Ifc4x3_rc3::IfcCurveBoundedSurface::setBasisSurface(const ::Ifc4x3_rc3::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc3::IfcBoundaryCurve > Ifc4x3_rc3::IfcCurveBoundedSurface::Boundaries() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcBoundaryCurve>(es); } -void Ifc4x3_rc3::IfcCurveBoundedSurface::setBoundaries(const std::vector< ::Ifc4x3_rc3::IfcBoundaryCurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc3::IfcBoundaryCurve > Ifc4x3_rc3::IfcCurveBoundedSurface::Boundaries() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcBoundaryCurve>(es); } +void Ifc4x3_rc3::IfcCurveBoundedSurface::setBoundaries(const std::vector< ::Ifc4x3_rc3::IfcBoundaryCurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } bool Ifc4x3_rc3::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcCurveBoundedSurface::setImplicitOuter(const bool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc3::IfcCurveBoundedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[275]); } -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; } +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>(); } +::Ifc4x3_rc3::IfcPlacement Ifc4x3_rc3::IfcCurveSegment::Placement() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcPlacement>(); } void Ifc4x3_rc3::IfcCurveSegment::setPlacement(const ::Ifc4x3_rc3::IfcPlacement& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcCurveMeasureSelect Ifc4x3_rc3::IfcCurveSegment::SegmentStart() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcCurveMeasureSelect>(); } +::Ifc4x3_rc3::IfcCurveMeasureSelect Ifc4x3_rc3::IfcCurveSegment::SegmentStart() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcCurveMeasureSelect>(); } void Ifc4x3_rc3::IfcCurveSegment::setSegmentStart(const ::Ifc4x3_rc3::IfcCurveMeasureSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcCurveMeasureSelect Ifc4x3_rc3::IfcCurveSegment::SegmentLength() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcCurveMeasureSelect>(); } +::Ifc4x3_rc3::IfcCurveMeasureSelect Ifc4x3_rc3::IfcCurveSegment::SegmentLength() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcCurveMeasureSelect>(); } void Ifc4x3_rc3::IfcCurveSegment::setSegmentLength(const ::Ifc4x3_rc3::IfcCurveMeasureSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcCurveSegment::ParentCurve() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcCurve>(); } +::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcCurveSegment::ParentCurve() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcCurve>(); } void Ifc4x3_rc3::IfcCurveSegment::setParentCurve(const ::Ifc4x3_rc3::IfcCurve& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -9781,11 +9756,11 @@ const ifcopenshell::entity& Ifc4x3_rc3::IfcCurveSegment::Class() { return *((ifc 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>(); } +::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>(); } void Ifc4x3_rc3::IfcCurveStyle::setCurveFont(const ::Ifc4x3_rc3::IfcCurveFontOrScaledCurveFontSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcSizeSelect Ifc4x3_rc3::IfcCurveStyle::CurveWidth() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcSizeSelect>(); } +::Ifc4x3_rc3::IfcSizeSelect Ifc4x3_rc3::IfcCurveStyle::CurveWidth() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcSizeSelect>(); } void Ifc4x3_rc3::IfcCurveStyle::setCurveWidth(const ::Ifc4x3_rc3::IfcSizeSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcColour Ifc4x3_rc3::IfcCurveStyle::CurveColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcColour{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcColour>(); } +::Ifc4x3_rc3::IfcColour Ifc4x3_rc3::IfcCurveStyle::CurveColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcColour{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcColour>(); } void Ifc4x3_rc3::IfcCurveStyle::setCurveColour(const ::Ifc4x3_rc3::IfcColour& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< bool > Ifc4x3_rc3::IfcCurveStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } bool v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcCurveStyle::setModelOrDraughting(const std::optional< bool >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -9797,17 +9772,17 @@ Ifc4x3_rc3::IfcCurveStyle Ifc4x3_rc3::IfcCurveStyle::initialize(std::optional< s // 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; } void Ifc4x3_rc3::IfcCurveStyleFont::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::vector< ::Ifc4x3_rc3::IfcCurveStyleFontPattern > Ifc4x3_rc3::IfcCurveStyleFont::PatternList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcCurveStyleFontPattern>(es); } -void Ifc4x3_rc3::IfcCurveStyleFont::setPatternList(const std::vector< ::Ifc4x3_rc3::IfcCurveStyleFontPattern >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc3::IfcCurveStyleFontPattern > Ifc4x3_rc3::IfcCurveStyleFont::PatternList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcCurveStyleFontPattern>(es); } +void Ifc4x3_rc3::IfcCurveStyleFont::setPatternList(const std::vector< ::Ifc4x3_rc3::IfcCurveStyleFontPattern >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_rc3::IfcCurveStyleFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[283]); } -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; } +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; } void Ifc4x3_rc3::IfcCurveStyleFontAndScaling::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_rc3::IfcCurveStyleFontSelect Ifc4x3_rc3::IfcCurveStyleFontAndScaling::CurveFont() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcCurveStyleFontSelect>(); } +::Ifc4x3_rc3::IfcCurveStyleFontSelect Ifc4x3_rc3::IfcCurveStyleFontAndScaling::CurveFont() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcCurveStyleFontSelect>(); } void Ifc4x3_rc3::IfcCurveStyleFontAndScaling::setCurveFont(const ::Ifc4x3_rc3::IfcCurveStyleFontSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } double Ifc4x3_rc3::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcCurveStyleFontAndScaling::setCurveFontScaling(const double& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -9848,7 +9823,7 @@ void Ifc4x3_rc3::IfcDamperType::setPredefinedType(const ::Ifc4x3_rc3::IfcDamperT const ifcopenshell::entity& Ifc4x3_rc3::IfcDamperType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[289]); } -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; } +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 @@ -9860,12 +9835,12 @@ Ifc4x3_rc3::IfcDeepFoundation Ifc4x3_rc3::IfcDeepFoundation::initialize(std::str const ifcopenshell::entity& Ifc4x3_rc3::IfcDeepFoundationType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[297]); } -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; } +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>(); } +::Ifc4x3_rc3::IfcProfileDef Ifc4x3_rc3::IfcDerivedProfileDef::ParentProfile() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcProfileDef>(); } void Ifc4x3_rc3::IfcDerivedProfileDef::setParentProfile(const ::Ifc4x3_rc3::IfcProfileDef& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcCartesianTransformationOperator2D Ifc4x3_rc3::IfcDerivedProfileDef::Operator() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcCartesianTransformationOperator2D>(); } +::Ifc4x3_rc3::IfcCartesianTransformationOperator2D Ifc4x3_rc3::IfcDerivedProfileDef::Operator() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcCartesianTransformationOperator2D>(); } void Ifc4x3_rc3::IfcDerivedProfileDef::setOperator(const ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc3::IfcDerivedProfileDef::Label() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcDerivedProfileDef::setLabel(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -9875,8 +9850,8 @@ const ifcopenshell::entity& Ifc4x3_rc3::IfcDerivedProfileDef::Class() { return * 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); } -void Ifc4x3_rc3::IfcDerivedUnit::setElements(const std::vector< ::Ifc4x3_rc3::IfcDerivedUnitElement >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc3::IfcDerivedUnitElement > Ifc4x3_rc3::IfcDerivedUnit::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcDerivedUnitElement>(es); } +void Ifc4x3_rc3::IfcDerivedUnit::setElements(const std::vector< ::Ifc4x3_rc3::IfcDerivedUnitElement >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_rc3::IfcDerivedUnitEnum::Value Ifc4x3_rc3::IfcDerivedUnit::UnitType() const { return ::Ifc4x3_rc3::IfcDerivedUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x3_rc3::IfcDerivedUnit::setUnitType(const ::Ifc4x3_rc3::IfcDerivedUnitEnum::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4x3_rc3::IfcDerivedUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_rc3::IfcDerivedUnit::UserDefinedType() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } @@ -9884,10 +9859,10 @@ void Ifc4x3_rc3::IfcDerivedUnit::setUserDefinedType(const std::optional< std::st const ifcopenshell::entity& Ifc4x3_rc3::IfcDerivedUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[301]); } -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; } +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>(); } +::Ifc4x3_rc3::IfcNamedUnit Ifc4x3_rc3::IfcDerivedUnitElement::Unit() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcNamedUnit>(); } void Ifc4x3_rc3::IfcDerivedUnitElement::setUnit(const ::Ifc4x3_rc3::IfcNamedUnit& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } int64_t Ifc4x3_rc3::IfcDerivedUnitElement::Exponent() const { int64_t v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcDerivedUnitElement::setExponent(const int64_t& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9925,33 +9900,27 @@ const ifcopenshell::entity& Ifc4x3_rc3::IfcDirection::Class() { return *((ifcope 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>(); } +::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcCurve>(); } void Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::setDirectrix(const ::Ifc4x3_rc3::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcCurveMeasureSelect Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcCurveMeasureSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcCurveMeasureSelect>(); } +::Ifc4x3_rc3::IfcCurveMeasureSelect Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcCurveMeasureSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcCurveMeasureSelect>(); } void Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::setStartParam(const ::Ifc4x3_rc3::IfcCurveMeasureSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc3::IfcCurveMeasureSelect Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc3::IfcCurveMeasureSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcCurveMeasureSelect>(); } +::Ifc4x3_rc3::IfcCurveMeasureSelect Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc3::IfcCurveMeasureSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcCurveMeasureSelect>(); } void Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::setEndParam(const ::Ifc4x3_rc3::IfcCurveMeasureSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const ifcopenshell::entity& Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[309]); } 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]); } -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>(); } +::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::Directrix() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcCurve>(); } void Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::setDirectrix(const ::Ifc4x3_rc3::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcPointByDistanceExpression Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::StartDistance() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcPointByDistanceExpression{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcPointByDistanceExpression>(); } +::Ifc4x3_rc3::IfcPointByDistanceExpression Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::StartDistance() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcPointByDistanceExpression{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcPointByDistanceExpression>(); } void Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::setStartDistance(const ::Ifc4x3_rc3::IfcPointByDistanceExpression& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc3::IfcPointByDistanceExpression Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::EndDistance() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc3::IfcPointByDistanceExpression{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcPointByDistanceExpression>(); } +::Ifc4x3_rc3::IfcPointByDistanceExpression Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::EndDistance() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc3::IfcPointByDistanceExpression{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcPointByDistanceExpression>(); } void Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::setEndDistance(const ::Ifc4x3_rc3::IfcPointByDistanceExpression& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[311]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[310]); } 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 @@ -9959,7 +9928,7 @@ std::optional< ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x3_rc3::I void Ifc4x3_rc3::IfcDiscreteAccessory::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcDiscreteAccessory::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[312]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDiscreteAccessory::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[311]); } 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 @@ -9967,15 +9936,15 @@ Ifc4x3_rc3::IfcDiscreteAccessory Ifc4x3_rc3::IfcDiscreteAccessory::initialize(st void Ifc4x3_rc3::IfcDiscreteAccessoryType::setPredefinedType(const ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcDiscreteAccessoryType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[313]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDiscreteAccessoryType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[312]); } +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)); } void Ifc4x3_rc3::IfcDistributionBoard::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionBoard::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[315]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionBoard::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[314]); } 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 @@ -9983,15 +9952,15 @@ Ifc4x3_rc3::IfcDistributionBoard Ifc4x3_rc3::IfcDistributionBoard::initialize(st void Ifc4x3_rc3::IfcDistributionBoardType::setPredefinedType(const ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionBoardType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[316]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionBoardType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[315]); } +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)); } void Ifc4x3_rc3::IfcDistributionChamberElement::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionChamberElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[318]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionChamberElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[317]); } 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 @@ -9999,53 +9968,53 @@ Ifc4x3_rc3::IfcDistributionChamberElement Ifc4x3_rc3::IfcDistributionChamberElem void Ifc4x3_rc3::IfcDistributionChamberElementType::setPredefinedType(const ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionChamberElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[319]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionChamberElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[318]); } +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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionCircuit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[320]); } 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)); } +std::vector<::Ifc4x3_rc3::IfcRelFlowControlElements> Ifc4x3_rc3::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[941], 4)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionControlElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[322]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionControlElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[321]); } 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]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionControlElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[322]); } +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)); } +std::vector<::Ifc4x3_rc3::IfcRelConnectsPortToElement> Ifc4x3_rc3::IfcDistributionElement::HasPorts() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[925], 5)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[324]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[323]); } 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]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[324]); } +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)); } +std::vector<::Ifc4x3_rc3::IfcRelFlowControlElements> Ifc4x3_rc3::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[941], 5)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionFlowElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[326]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionFlowElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[325]); } 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]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionFlowElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[326]); } +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)); } @@ -10056,7 +10025,7 @@ std::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > Ifc4x3_rc3::IfcD void Ifc4x3_rc3::IfcDistributionPort::setSystemType(const std::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value >& v) { if (v) {set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcDistributionSystemEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionPort::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[328]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionPort::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[327]); } 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 @@ -10066,7 +10035,7 @@ std::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > Ifc4x3_rc3::IfcD void Ifc4x3_rc3::IfcDistributionSystem::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value >& v) { if (v) {set_attribute_value(6, enumeration_reference(&::Ifc4x3_rc3::IfcDistributionSystemEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[330]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[329]); } 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 @@ -10086,10 +10055,10 @@ std::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::Scope() const { void Ifc4x3_rc3::IfcDocumentInformation::setScope(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } std::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::Revision() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcDocumentInformation::setRevision(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc3::IfcActorSelect Ifc4x3_rc3::IfcDocumentInformation::DocumentOwner() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc3::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc3::IfcActorSelect>(); } +::Ifc4x3_rc3::IfcActorSelect Ifc4x3_rc3::IfcDocumentInformation::DocumentOwner() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc3::IfcActorSelect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc3::IfcActorSelect>(); } void Ifc4x3_rc3::IfcDocumentInformation::setDocumentOwner(const ::Ifc4x3_rc3::IfcActorSelect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::optional< std::vector< ::Ifc4x3_rc3::IfcActorSelect > > Ifc4x3_rc3::IfcDocumentInformation::Editors() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc3::IfcActorSelect>(es); } -void Ifc4x3_rc3::IfcDocumentInformation::setEditors(const std::optional< std::vector< ::Ifc4x3_rc3::IfcActorSelect > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +std::optional< std::vector< ::Ifc4x3_rc3::IfcActorSelect > > Ifc4x3_rc3::IfcDocumentInformation::Editors() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc3::IfcActorSelect>(es); } +void Ifc4x3_rc3::IfcDocumentInformation::setEditors(const std::optional< std::vector< ::Ifc4x3_rc3::IfcActorSelect > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } std::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::CreationTime() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcDocumentInformation::setCreationTime(const std::optional< std::string >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } std::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::LastRevisionTime() const { if(get_attribute_value(11).isNull()) { return std::nullopt; } std::string v = get_attribute_value(11); return v; } @@ -10105,35 +10074,35 @@ void Ifc4x3_rc3::IfcDocumentInformation::setConfidentiality(const std::optional< std::optional< ::Ifc4x3_rc3::IfcDocumentStatusEnum::Value > Ifc4x3_rc3::IfcDocumentInformation::Status() const { if(get_attribute_value(16).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcDocumentStatusEnum::FromString(get_attribute_value(16)); } void Ifc4x3_rc3::IfcDocumentInformation::setStatus(const std::optional< ::Ifc4x3_rc3::IfcDocumentStatusEnum::Value >& v) { if (v) {set_attribute_value(16, enumeration_reference(&::Ifc4x3_rc3::IfcDocumentStatusEnum::Class(), (size_t) *v));} else {unset_attribute_value(16);} } -std::vector<::Ifc4x3_rc3::IfcRelAssociatesDocument> Ifc4x3_rc3::IfcDocumentInformation::DocumentInfoForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[918], 5)); } -std::vector<::Ifc4x3_rc3::IfcDocumentReference> Ifc4x3_rc3::IfcDocumentInformation::HasDocumentReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[335], 4)); } -std::vector<::Ifc4x3_rc3::IfcDocumentInformationRelationship> Ifc4x3_rc3::IfcDocumentInformation::IsPointedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[334], 3)); } -std::vector<::Ifc4x3_rc3::IfcDocumentInformationRelationship> Ifc4x3_rc3::IfcDocumentInformation::IsPointer() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[334], 2)); } +std::vector<::Ifc4x3_rc3::IfcRelAssociatesDocument> Ifc4x3_rc3::IfcDocumentInformation::DocumentInfoForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[916], 5)); } +std::vector<::Ifc4x3_rc3::IfcDocumentReference> Ifc4x3_rc3::IfcDocumentInformation::HasDocumentReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[334], 4)); } +std::vector<::Ifc4x3_rc3::IfcDocumentInformationRelationship> Ifc4x3_rc3::IfcDocumentInformation::IsPointedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[333], 3)); } +std::vector<::Ifc4x3_rc3::IfcDocumentInformationRelationship> Ifc4x3_rc3::IfcDocumentInformation::IsPointer() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[333], 2)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcDocumentInformation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[333]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDocumentInformation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[332]); } +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>(); } +::Ifc4x3_rc3::IfcDocumentInformation Ifc4x3_rc3::IfcDocumentInformationRelationship::RelatingDocument() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcDocumentInformation>(); } void Ifc4x3_rc3::IfcDocumentInformationRelationship::setRelatingDocument(const ::Ifc4x3_rc3::IfcDocumentInformation& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_rc3::IfcDocumentInformation > Ifc4x3_rc3::IfcDocumentInformationRelationship::RelatedDocuments() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc3::IfcDocumentInformation>(es); } -void Ifc4x3_rc3::IfcDocumentInformationRelationship::setRelatedDocuments(const std::vector< ::Ifc4x3_rc3::IfcDocumentInformation >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc3::IfcDocumentInformation > Ifc4x3_rc3::IfcDocumentInformationRelationship::RelatedDocuments() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc3::IfcDocumentInformation>(es); } +void Ifc4x3_rc3::IfcDocumentInformationRelationship::setRelatedDocuments(const std::vector< ::Ifc4x3_rc3::IfcDocumentInformation >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc3::IfcDocumentInformationRelationship::RelationshipType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcDocumentInformationRelationship::setRelationshipType(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcDocumentInformationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[334]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDocumentInformationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[333]); } +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; } void Ifc4x3_rc3::IfcDocumentReference::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc3::IfcDocumentInformation Ifc4x3_rc3::IfcDocumentReference::ReferencedDocument() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc3::IfcDocumentInformation{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcDocumentInformation>(); } +::Ifc4x3_rc3::IfcDocumentInformation Ifc4x3_rc3::IfcDocumentReference::ReferencedDocument() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc3::IfcDocumentInformation{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcDocumentInformation>(); } void Ifc4x3_rc3::IfcDocumentReference::setReferencedDocument(const ::Ifc4x3_rc3::IfcDocumentInformation& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector<::Ifc4x3_rc3::IfcRelAssociatesDocument> Ifc4x3_rc3::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[918], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelAssociatesDocument> Ifc4x3_rc3::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[916], 5)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcDocumentReference::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[335]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDocumentReference::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[334]); } 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 @@ -10149,7 +10118,7 @@ std::optional< std::string > Ifc4x3_rc3::IfcDoor::UserDefinedOperationType() con void Ifc4x3_rc3::IfcDoor::setUserDefinedOperationType(const std::optional< std::string >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcDoor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[338]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDoor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[337]); } 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 @@ -10173,7 +10142,7 @@ std::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::CasingThickness() c void Ifc4x3_rc3::IfcDoorLiningProperties::setCasingThickness(const std::optional< double >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } std::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::CasingDepth() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc3::IfcDoorLiningProperties::setCasingDepth(const std::optional< double >& v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -::Ifc4x3_rc3::IfcShapeAspect Ifc4x3_rc3::IfcDoorLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(14).isNull()) { return ::Ifc4x3_rc3::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(14))).as<::Ifc4x3_rc3::IfcShapeAspect>(); } +::Ifc4x3_rc3::IfcShapeAspect Ifc4x3_rc3::IfcDoorLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(14).isNull()) { return ::Ifc4x3_rc3::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(14))).as<::Ifc4x3_rc3::IfcShapeAspect>(); } void Ifc4x3_rc3::IfcDoorLiningProperties::setShapeAspectStyle(const ::Ifc4x3_rc3::IfcShapeAspect& v) { set_attribute_value(14, v);if constexpr (false)unset_attribute_value(14); } std::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(get_attribute_value(15).isNull()) { return std::nullopt; } double v = get_attribute_value(15); return v; } void Ifc4x3_rc3::IfcDoorLiningProperties::setLiningToPanelOffsetX(const std::optional< double >& v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } @@ -10181,7 +10150,7 @@ std::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::LiningToPanelOffset void Ifc4x3_rc3::IfcDoorLiningProperties::setLiningToPanelOffsetY(const std::optional< double >& v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcDoorLiningProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[339]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDoorLiningProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[338]); } 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 @@ -10193,17 +10162,17 @@ std::optional< double > Ifc4x3_rc3::IfcDoorPanelProperties::PanelWidth() const { void Ifc4x3_rc3::IfcDoorPanelProperties::setPanelWidth(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_rc3::IfcDoorPanelPositionEnum::Value Ifc4x3_rc3::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x3_rc3::IfcDoorPanelPositionEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc3::IfcDoorPanelProperties::setPanelPosition(const ::Ifc4x3_rc3::IfcDoorPanelPositionEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4x3_rc3::IfcDoorPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc3::IfcShapeAspect Ifc4x3_rc3::IfcDoorPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc3::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc3::IfcShapeAspect>(); } +::Ifc4x3_rc3::IfcShapeAspect Ifc4x3_rc3::IfcDoorPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc3::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc3::IfcShapeAspect>(); } void Ifc4x3_rc3::IfcDoorPanelProperties::setShapeAspectStyle(const ::Ifc4x3_rc3::IfcShapeAspect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcDoorPanelProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[342]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDoorPanelProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[341]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDoorStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[342]); } 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 @@ -10217,8 +10186,8 @@ bool Ifc4x3_rc3::IfcDoorStyle::Sizeable() const { bool v = get_attribute_value( void Ifc4x3_rc3::IfcDoorStyle::setSizeable(const bool& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcDoorStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[344]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDoorStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[343]); } +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)); } @@ -10231,19 +10200,19 @@ std::optional< std::string > Ifc4x3_rc3::IfcDoorType::UserDefinedOperationType() void Ifc4x3_rc3::IfcDoorType::setUserDefinedOperationType(const std::optional< std::string >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcDoorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[347]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDoorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[346]); } +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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDraughtingPreDefinedColour::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[350]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDraughtingPreDefinedCurveFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[351]); } Ifc4x3_rc3::IfcDraughtingPreDefinedCurveFont Ifc4x3_rc3::IfcDraughtingPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcDuctFitting @@ -10251,7 +10220,7 @@ std::optional< ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value > Ifc4x3_rc3::IfcDuct void Ifc4x3_rc3::IfcDuctFitting::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcDuctFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[353]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDuctFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[352]); } 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 @@ -10259,15 +10228,15 @@ Ifc4x3_rc3::IfcDuctFitting Ifc4x3_rc3::IfcDuctFitting::initialize(std::string v1 void Ifc4x3_rc3::IfcDuctFittingType::setPredefinedType(const ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcDuctFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[354]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDuctFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[353]); } +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)); } void Ifc4x3_rc3::IfcDuctSegment::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcDuctSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[356]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDuctSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[355]); } 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 @@ -10275,15 +10244,15 @@ Ifc4x3_rc3::IfcDuctSegment Ifc4x3_rc3::IfcDuctSegment::initialize(std::string v1 void Ifc4x3_rc3::IfcDuctSegmentType::setPredefinedType(const ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcDuctSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[357]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDuctSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[356]); } +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)); } void Ifc4x3_rc3::IfcDuctSilencer::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcDuctSilencer::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[359]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDuctSilencer::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[358]); } 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 @@ -10291,21 +10260,21 @@ Ifc4x3_rc3::IfcDuctSilencer Ifc4x3_rc3::IfcDuctSilencer::initialize(std::string void Ifc4x3_rc3::IfcDuctSilencerType::setPredefinedType(const ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcDuctSilencerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[360]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcDuctSilencerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[359]); } +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)); } void Ifc4x3_rc3::IfcEarthworksCut::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcEarthworksCutTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcEarthworksCutTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcEarthworksCut::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[364]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcEarthworksCut::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[363]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcEarthworksElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[365]); } 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 @@ -10313,43 +10282,43 @@ std::optional< ::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Value > Ifc4x3_rc3::IfcE void Ifc4x3_rc3::IfcEarthworksFill::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcEarthworksFill::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[367]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcEarthworksFill::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[366]); } 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>(); } +::Ifc4x3_rc3::IfcVertex Ifc4x3_rc3::IfcEdge::EdgeStart() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcVertex>(); } void Ifc4x3_rc3::IfcEdge::setEdgeStart(const ::Ifc4x3_rc3::IfcVertex& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcVertex Ifc4x3_rc3::IfcEdge::EdgeEnd() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcVertex>(); } +::Ifc4x3_rc3::IfcVertex Ifc4x3_rc3::IfcEdge::EdgeEnd() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcVertex>(); } void Ifc4x3_rc3::IfcEdge::setEdgeEnd(const ::Ifc4x3_rc3::IfcVertex& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcEdge::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[369]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcEdge::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[368]); } 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>(); } +::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcEdgeCurve::EdgeGeometry() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcCurve>(); } void Ifc4x3_rc3::IfcEdgeCurve::setEdgeGeometry(const ::Ifc4x3_rc3::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } bool Ifc4x3_rc3::IfcEdgeCurve::SameSense() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcEdgeCurve::setSameSense(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcEdgeCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[370]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcEdgeCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[369]); } 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); } -void Ifc4x3_rc3::IfcEdgeLoop::setEdgeList(const std::vector< ::Ifc4x3_rc3::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc3::IfcOrientedEdge > Ifc4x3_rc3::IfcEdgeLoop::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcOrientedEdge>(es); } +void Ifc4x3_rc3::IfcEdgeLoop::setEdgeList(const std::vector< ::Ifc4x3_rc3::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcEdgeLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[371]); } -Ifc4x3_rc3::IfcEdgeLoop Ifc4x3_rc3::IfcEdgeLoop::initialize(std::vector< ::Ifc4x3_rc3::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcEdgeLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[370]); } +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)); } void Ifc4x3_rc3::IfcElectricAppliance::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[372]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[371]); } 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 @@ -10357,15 +10326,15 @@ Ifc4x3_rc3::IfcElectricAppliance Ifc4x3_rc3::IfcElectricAppliance::initialize(st void Ifc4x3_rc3::IfcElectricApplianceType::setPredefinedType(const ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[373]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[372]); } +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)); } void Ifc4x3_rc3::IfcElectricDistributionBoard::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricDistributionBoard::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[379]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricDistributionBoard::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[378]); } 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 @@ -10373,15 +10342,15 @@ Ifc4x3_rc3::IfcElectricDistributionBoard Ifc4x3_rc3::IfcElectricDistributionBoar void Ifc4x3_rc3::IfcElectricDistributionBoardType::setPredefinedType(const ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricDistributionBoardType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[380]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricDistributionBoardType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[379]); } +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)); } void Ifc4x3_rc3::IfcElectricFlowStorageDevice::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricFlowStorageDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[382]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricFlowStorageDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[381]); } 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 @@ -10389,15 +10358,15 @@ Ifc4x3_rc3::IfcElectricFlowStorageDevice Ifc4x3_rc3::IfcElectricFlowStorageDevic void Ifc4x3_rc3::IfcElectricFlowStorageDeviceType::setPredefinedType(const ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[383]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[382]); } +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)); } void Ifc4x3_rc3::IfcElectricFlowTreatmentDevice::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricFlowTreatmentDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[385]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricFlowTreatmentDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[384]); } 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 @@ -10405,15 +10374,15 @@ Ifc4x3_rc3::IfcElectricFlowTreatmentDevice Ifc4x3_rc3::IfcElectricFlowTreatmentD void Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceType::setPredefinedType(const ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[386]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[385]); } +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)); } void Ifc4x3_rc3::IfcElectricGenerator::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricGenerator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[388]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricGenerator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[387]); } 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 @@ -10421,15 +10390,15 @@ Ifc4x3_rc3::IfcElectricGenerator Ifc4x3_rc3::IfcElectricGenerator::initialize(st void Ifc4x3_rc3::IfcElectricGeneratorType::setPredefinedType(const ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricGeneratorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[389]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricGeneratorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[388]); } +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)); } void Ifc4x3_rc3::IfcElectricMotor::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricMotor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[391]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricMotor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[390]); } 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 @@ -10437,15 +10406,15 @@ Ifc4x3_rc3::IfcElectricMotor Ifc4x3_rc3::IfcElectricMotor::initialize(std::strin void Ifc4x3_rc3::IfcElectricMotorType::setPredefinedType(const ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricMotorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[392]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricMotorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[391]); } +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)); } void Ifc4x3_rc3::IfcElectricTimeControl::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricTimeControl::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[395]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricTimeControl::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[394]); } 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 @@ -10453,26 +10422,26 @@ Ifc4x3_rc3::IfcElectricTimeControl Ifc4x3_rc3::IfcElectricTimeControl::initializ void Ifc4x3_rc3::IfcElectricTimeControlType::setPredefinedType(const ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricTimeControlType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[396]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricTimeControlType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[395]); } +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; } void Ifc4x3_rc3::IfcElement::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3_rc3::IfcRelFillsElement> Ifc4x3_rc3::IfcElement::FillsVoids() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[942], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelConnectsElements> Ifc4x3_rc3::IfcElement::ConnectedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[924], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelInterferesElements> Ifc4x3_rc3::IfcElement::IsInterferedByElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[944], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelInterferesElements> Ifc4x3_rc3::IfcElement::InterferesElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[944], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelProjectsElement> Ifc4x3_rc3::IfcElement::HasProjections() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[947], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelVoidsElement> Ifc4x3_rc3::IfcElement::HasOpenings() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[954], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelConnectsWithRealizingElements> Ifc4x3_rc3::IfcElement::IsConnectionRealization() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[931], 7)); } -std::vector<::Ifc4x3_rc3::IfcRelSpaceBoundary> Ifc4x3_rc3::IfcElement::ProvidesBoundaries() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[951], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelConnectsElements> Ifc4x3_rc3::IfcElement::ConnectedFrom() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[924], 6)); } -std::vector<::Ifc4x3_rc3::IfcRelContainedInSpatialStructure> Ifc4x3_rc3::IfcElement::ContainedInStructure() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[932], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelCoversBldgElements> Ifc4x3_rc3::IfcElement::HasCoverings() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[933], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelFillsElement> Ifc4x3_rc3::IfcElement::FillsVoids() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[940], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelConnectsElements> Ifc4x3_rc3::IfcElement::ConnectedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[922], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelInterferesElements> Ifc4x3_rc3::IfcElement::IsInterferedByElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[942], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelInterferesElements> Ifc4x3_rc3::IfcElement::InterferesElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[942], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelProjectsElement> Ifc4x3_rc3::IfcElement::HasProjections() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[945], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelVoidsElement> Ifc4x3_rc3::IfcElement::HasOpenings() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[952], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelConnectsWithRealizingElements> Ifc4x3_rc3::IfcElement::IsConnectionRealization() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[929], 7)); } +std::vector<::Ifc4x3_rc3::IfcRelSpaceBoundary> Ifc4x3_rc3::IfcElement::ProvidesBoundaries() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[949], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelConnectsElements> Ifc4x3_rc3::IfcElement::ConnectedFrom() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[922], 6)); } +std::vector<::Ifc4x3_rc3::IfcRelContainedInSpatialStructure> Ifc4x3_rc3::IfcElement::ContainedInStructure() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[930], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelCoversBldgElements> Ifc4x3_rc3::IfcElement::HasCoverings() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[931], 4)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[399]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[398]); } 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 @@ -10482,7 +10451,7 @@ std::optional< ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value > Ifc4x3_rc3::Ifc void Ifc4x3_rc3::IfcElementAssembly::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value >& v) { if (v) {set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcElementAssembly::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[401]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcElementAssembly::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[400]); } 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 @@ -10490,45 +10459,45 @@ Ifc4x3_rc3::IfcElementAssembly Ifc4x3_rc3::IfcElementAssembly::initialize(std::s void Ifc4x3_rc3::IfcElementAssemblyType::setPredefinedType(const ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcElementAssemblyType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[402]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcElementAssemblyType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[401]); } +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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcElementComponent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[403]); } 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]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcElementComponentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[404]); } +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; } void Ifc4x3_rc3::IfcElementQuantity::setMethodOfMeasurement(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector< ::Ifc4x3_rc3::IfcPhysicalQuantity > Ifc4x3_rc3::IfcElementQuantity::Quantities() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc3::IfcPhysicalQuantity>(es); } -void Ifc4x3_rc3::IfcElementQuantity::setQuantities(const std::vector< ::Ifc4x3_rc3::IfcPhysicalQuantity >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc3::IfcPhysicalQuantity > Ifc4x3_rc3::IfcElementQuantity::Quantities() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc3::IfcPhysicalQuantity>(es); } +void Ifc4x3_rc3::IfcElementQuantity::setQuantities(const std::vector< ::Ifc4x3_rc3::IfcPhysicalQuantity >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcElementQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[407]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcElementQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[406]); } +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; } void Ifc4x3_rc3::IfcElementType::setElementType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[408]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[407]); } +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>(); } +::Ifc4x3_rc3::IfcAxis2Placement3D Ifc4x3_rc3::IfcElementarySurface::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcAxis2Placement3D>(); } void Ifc4x3_rc3::IfcElementarySurface::setPosition(const ::Ifc4x3_rc3::IfcAxis2Placement3D& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcElementarySurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[400]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcElementarySurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[399]); } Ifc4x3_rc3::IfcElementarySurface Ifc4x3_rc3::IfcElementarySurface::initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcEllipse @@ -10538,7 +10507,7 @@ double Ifc4x3_rc3::IfcEllipse::SemiAxis2() const { double v = get_attribute_val void Ifc4x3_rc3::IfcEllipse::setSemiAxis2(const double& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcEllipse::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[409]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcEllipse::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[408]); } 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 @@ -10548,27 +10517,27 @@ double Ifc4x3_rc3::IfcEllipseProfileDef::SemiAxis2() const { double v = get_att void Ifc4x3_rc3::IfcEllipseProfileDef::setSemiAxis2(const double& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcEllipseProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[410]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcEllipseProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[409]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcEnergyConversionDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[410]); } 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]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcEnergyConversionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[411]); } +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)); } void Ifc4x3_rc3::IfcEngine::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcEngineTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcEngineTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcEngine::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[414]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcEngine::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[413]); } 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 @@ -10576,15 +10545,15 @@ Ifc4x3_rc3::IfcEngine Ifc4x3_rc3::IfcEngine::initialize(std::string v1_GlobalId, void Ifc4x3_rc3::IfcEngineType::setPredefinedType(const ::Ifc4x3_rc3::IfcEngineTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcEngineTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcEngineType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[415]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcEngineType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[414]); } +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)); } void Ifc4x3_rc3::IfcEvaporativeCooler::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcEvaporativeCooler::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[417]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcEvaporativeCooler::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[416]); } 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 @@ -10592,15 +10561,15 @@ Ifc4x3_rc3::IfcEvaporativeCooler Ifc4x3_rc3::IfcEvaporativeCooler::initialize(st void Ifc4x3_rc3::IfcEvaporativeCoolerType::setPredefinedType(const ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcEvaporativeCoolerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[418]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcEvaporativeCoolerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[417]); } +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)); } void Ifc4x3_rc3::IfcEvaporator::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcEvaporator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[420]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcEvaporator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[419]); } 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 @@ -10608,8 +10577,8 @@ Ifc4x3_rc3::IfcEvaporator Ifc4x3_rc3::IfcEvaporator::initialize(std::string v1_G void Ifc4x3_rc3::IfcEvaporatorType::setPredefinedType(const ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcEvaporatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[421]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcEvaporatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[420]); } +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)); } @@ -10618,11 +10587,11 @@ std::optional< ::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value > Ifc4x3_rc3::IfcEve void Ifc4x3_rc3::IfcEvent::setEventTriggerType(const std::optional< ::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } std::optional< std::string > Ifc4x3_rc3::IfcEvent::UserDefinedEventTriggerType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc3::IfcEvent::setUserDefinedEventTriggerType(const std::optional< std::string >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -::Ifc4x3_rc3::IfcEventTime Ifc4x3_rc3::IfcEvent::EventOccurenceTime() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc3::IfcEventTime{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_rc3::IfcEventTime>(); } +::Ifc4x3_rc3::IfcEventTime Ifc4x3_rc3::IfcEvent::EventOccurenceTime() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc3::IfcEventTime{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x3_rc3::IfcEventTime>(); } void Ifc4x3_rc3::IfcEvent::setEventOccurenceTime(const ::Ifc4x3_rc3::IfcEventTime& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcEvent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[423]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcEvent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[422]); } 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 @@ -10636,7 +10605,7 @@ std::optional< std::string > Ifc4x3_rc3::IfcEventTime::ScheduleDate() const { if void Ifc4x3_rc3::IfcEventTime::setScheduleDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcEventTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[424]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcEventTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[423]); } 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 @@ -10648,25 +10617,25 @@ std::optional< std::string > Ifc4x3_rc3::IfcEventType::UserDefinedEventTriggerTy void Ifc4x3_rc3::IfcEventType::setUserDefinedEventTriggerType(const std::optional< std::string >& v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcEventType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[426]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcEventType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[425]); } +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; } void Ifc4x3_rc3::IfcExtendedProperties::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_rc3::IfcExtendedProperties::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcExtendedProperties::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x3_rc3::IfcProperty > Ifc4x3_rc3::IfcExtendedProperties::Properties() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcProperty>(es); } -void Ifc4x3_rc3::IfcExtendedProperties::setProperties(const std::vector< ::Ifc4x3_rc3::IfcProperty >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc3::IfcProperty > Ifc4x3_rc3::IfcExtendedProperties::Properties() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcProperty>(es); } +void Ifc4x3_rc3::IfcExtendedProperties::setProperties(const std::vector< ::Ifc4x3_rc3::IfcProperty >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcExtendedProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[428]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcExtendedProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[427]); } +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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcExternalInformation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[428]); } Ifc4x3_rc3::IfcExternalInformation Ifc4x3_rc3::IfcExternalInformation::initialize() { ; return *this; } // Function implementations for IfcExternalReference @@ -10677,143 +10646,143 @@ void Ifc4x3_rc3::IfcExternalReference::setIdentification(const std::optional< st std::optional< std::string > Ifc4x3_rc3::IfcExternalReference::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcExternalReference::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[434], 2)); } +std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[433], 2)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcExternalReference::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[433]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcExternalReference::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[432]); } 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>(); } +::Ifc4x3_rc3::IfcExternalReference Ifc4x3_rc3::IfcExternalReferenceRelationship::RelatingReference() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcExternalReference>(); } void Ifc4x3_rc3::IfcExternalReferenceRelationship::setRelatingReference(const ::Ifc4x3_rc3::IfcExternalReference& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_rc3::IfcResourceObjectSelect > Ifc4x3_rc3::IfcExternalReferenceRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc3::IfcResourceObjectSelect>(es); } -void Ifc4x3_rc3::IfcExternalReferenceRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc3::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc3::IfcResourceObjectSelect > Ifc4x3_rc3::IfcExternalReferenceRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc3::IfcResourceObjectSelect>(es); } +void Ifc4x3_rc3::IfcExternalReferenceRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc3::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcExternalReferenceRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[434]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcExternalReferenceRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[433]); } +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)); } void Ifc4x3_rc3::IfcExternalSpatialElement::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_rc3::IfcRelSpaceBoundary> Ifc4x3_rc3::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[951], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelSpaceBoundary> Ifc4x3_rc3::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[949], 4)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcExternalSpatialElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[435]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcExternalSpatialElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[434]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcExternalSpatialStructureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[436]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcExternallyDefinedHatchStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[429]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcExternallyDefinedSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[430]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcExternallyDefinedTextFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[431]); } 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>(); } +::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcDirection>(); } void Ifc4x3_rc3::IfcExtrudedAreaSolid::setExtrudedDirection(const ::Ifc4x3_rc3::IfcDirection& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc4x3_rc3::IfcExtrudedAreaSolid::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcExtrudedAreaSolid::setDepth(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcExtrudedAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[438]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcExtrudedAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[437]); } 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>(); } +::Ifc4x3_rc3::IfcProfileDef Ifc4x3_rc3::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcProfileDef>(); } void Ifc4x3_rc3::IfcExtrudedAreaSolidTapered::setEndSweptArea(const ::Ifc4x3_rc3::IfcProfileDef& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcExtrudedAreaSolidTapered::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[439]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcExtrudedAreaSolidTapered::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[438]); } 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); } -void Ifc4x3_rc3::IfcFace::setBounds(const std::vector< ::Ifc4x3_rc3::IfcFaceBound >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc3::IfcFaceBound > Ifc4x3_rc3::IfcFace::Bounds() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcFaceBound>(es); } +void Ifc4x3_rc3::IfcFace::setBounds(const std::vector< ::Ifc4x3_rc3::IfcFaceBound >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -std::vector<::Ifc4x3_rc3::IfcTextureMap> Ifc4x3_rc3::IfcFace::HasTextureMaps() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[1199], 2)); } +std::vector<::Ifc4x3_rc3::IfcTextureMap> Ifc4x3_rc3::IfcFace::HasTextureMaps() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[1197], 2)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcFace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[440]); } -Ifc4x3_rc3::IfcFace Ifc4x3_rc3::IfcFace::initialize(std::vector< ::Ifc4x3_rc3::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds));; return *this; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[439]); } +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); } -void Ifc4x3_rc3::IfcFaceBasedSurfaceModel::setFbsmFaces(const std::vector< ::Ifc4x3_rc3::IfcConnectedFaceSet >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc3::IfcConnectedFaceSet > Ifc4x3_rc3::IfcFaceBasedSurfaceModel::FbsmFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcConnectedFaceSet>(es); } +void Ifc4x3_rc3::IfcFaceBasedSurfaceModel::setFbsmFaces(const std::vector< ::Ifc4x3_rc3::IfcConnectedFaceSet >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcFaceBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[441]); } -Ifc4x3_rc3::IfcFaceBasedSurfaceModel Ifc4x3_rc3::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_rc3::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces));; return *this; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFaceBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[440]); } +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>(); } +::Ifc4x3_rc3::IfcLoop Ifc4x3_rc3::IfcFaceBound::Bound() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcLoop>(); } void Ifc4x3_rc3::IfcFaceBound::setBound(const ::Ifc4x3_rc3::IfcLoop& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } bool Ifc4x3_rc3::IfcFaceBound::Orientation() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcFaceBound::setOrientation(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcFaceBound::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[442]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFaceBound::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[441]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFaceOuterBound::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[442]); } 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>(); } +::Ifc4x3_rc3::IfcSurface Ifc4x3_rc3::IfcFaceSurface::FaceSurface() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcSurface>(); } void Ifc4x3_rc3::IfcFaceSurface::setFaceSurface(const ::Ifc4x3_rc3::IfcSurface& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } bool Ifc4x3_rc3::IfcFaceSurface::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcFaceSurface::setSameSense(const bool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcFaceSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[444]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFaceSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[443]); } +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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFacetedBrep::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[444]); } 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); } -void Ifc4x3_rc3::IfcFacetedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_rc3::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc3::IfcClosedShell > Ifc4x3_rc3::IfcFacetedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcClosedShell>(es); } +void Ifc4x3_rc3::IfcFacetedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_rc3::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcFacetedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[446]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFacetedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[445]); } +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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFacility::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[446]); } 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>(); } +::Ifc4x3_rc3::IfcFacilityPartTypeSelect Ifc4x3_rc3::IfcFacilityPart::PredefinedType() const { return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc3::IfcFacilityPartTypeSelect>(); } void Ifc4x3_rc3::IfcFacilityPart::setPredefinedType(const ::Ifc4x3_rc3::IfcFacilityPartTypeSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } ::Ifc4x3_rc3::IfcFacilityUsageEnum::Value Ifc4x3_rc3::IfcFacilityPart::UsageType() const { return ::Ifc4x3_rc3::IfcFacilityUsageEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc3::IfcFacilityPart::setUsageType(const ::Ifc4x3_rc3::IfcFacilityUsageEnum::Value& v) { set_attribute_value(10, enumeration_reference(&::Ifc4x3_rc3::IfcFacilityUsageEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcFacilityPart::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[448]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFacilityPart::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[447]); } 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 @@ -10831,7 +10800,7 @@ std::optional< double > Ifc4x3_rc3::IfcFailureConnectionCondition::CompressionFa void Ifc4x3_rc3::IfcFailureConnectionCondition::setCompressionFailureZ(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcFailureConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[452]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFailureConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[451]); } 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 @@ -10839,7 +10808,7 @@ std::optional< ::Ifc4x3_rc3::IfcFanTypeEnum::Value > Ifc4x3_rc3::IfcFan::Predefi void Ifc4x3_rc3::IfcFan::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcFanTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcFanTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcFan::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[453]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFan::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[452]); } 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 @@ -10847,15 +10816,15 @@ Ifc4x3_rc3::IfcFan Ifc4x3_rc3::IfcFan::initialize(std::string v1_GlobalId, ::Ifc void Ifc4x3_rc3::IfcFanType::setPredefinedType(const ::Ifc4x3_rc3::IfcFanTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcFanTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcFanType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[454]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFanType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[453]); } +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)); } void Ifc4x3_rc3::IfcFastener::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcFastenerTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcFastenerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcFastener::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[456]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFastener::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[455]); } 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 @@ -10863,73 +10832,73 @@ Ifc4x3_rc3::IfcFastener Ifc4x3_rc3::IfcFastener::initialize(std::string v1_Globa void Ifc4x3_rc3::IfcFastenerType::setPredefinedType(const ::Ifc4x3_rc3::IfcFastenerTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcFastenerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[457]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[456]); } +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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFeatureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[458]); } 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)); } +std::vector<::Ifc4x3_rc3::IfcRelProjectsElement> Ifc4x3_rc3::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[945], 5)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcFeatureElementAddition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[460]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFeatureElementAddition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[459]); } 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)); } +std::vector<::Ifc4x3_rc3::IfcRelVoidsElement> Ifc4x3_rc3::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[952], 5)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcFeatureElementSubtraction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[461]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFeatureElementSubtraction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[460]); } 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); } -void Ifc4x3_rc3::IfcFillAreaStyle::setFillStyles(const std::vector< ::Ifc4x3_rc3::IfcFillStyleSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc3::IfcFillStyleSelect > Ifc4x3_rc3::IfcFillAreaStyle::FillStyles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcFillStyleSelect>(es); } +void Ifc4x3_rc3::IfcFillAreaStyle::setFillStyles(const std::vector< ::Ifc4x3_rc3::IfcFillStyleSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< bool > Ifc4x3_rc3::IfcFillAreaStyle::ModelOrDraughting() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } bool v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcFillAreaStyle::setModelOrDraughting(const std::optional< bool >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcFillAreaStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[462]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFillAreaStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[461]); } +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>(); } +::Ifc4x3_rc3::IfcCurveStyle Ifc4x3_rc3::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCurveStyle>(); } void Ifc4x3_rc3::IfcFillAreaStyleHatching::setHatchLineAppearance(const ::Ifc4x3_rc3::IfcCurveStyle& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcHatchLineDistanceSelect Ifc4x3_rc3::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcHatchLineDistanceSelect>(); } +::Ifc4x3_rc3::IfcHatchLineDistanceSelect Ifc4x3_rc3::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcHatchLineDistanceSelect>(); } void Ifc4x3_rc3::IfcFillAreaStyleHatching::setStartOfNextHatchLine(const ::Ifc4x3_rc3::IfcHatchLineDistanceSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcCartesianPoint Ifc4x3_rc3::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcCartesianPoint{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcCartesianPoint>(); } +::Ifc4x3_rc3::IfcCartesianPoint Ifc4x3_rc3::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcCartesianPoint{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcCartesianPoint>(); } void Ifc4x3_rc3::IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(const ::Ifc4x3_rc3::IfcCartesianPoint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcCartesianPoint Ifc4x3_rc3::IfcFillAreaStyleHatching::PatternStart() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcCartesianPoint{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcCartesianPoint>(); } +::Ifc4x3_rc3::IfcCartesianPoint Ifc4x3_rc3::IfcFillAreaStyleHatching::PatternStart() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcCartesianPoint{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcCartesianPoint>(); } void Ifc4x3_rc3::IfcFillAreaStyleHatching::setPatternStart(const ::Ifc4x3_rc3::IfcCartesianPoint& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } double Ifc4x3_rc3::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcFillAreaStyleHatching::setHatchLineAngle(const double& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcFillAreaStyleHatching::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[463]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFillAreaStyleHatching::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[462]); } 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); } -void Ifc4x3_rc3::IfcFillAreaStyleTiles::setTilingPattern(const std::vector< ::Ifc4x3_rc3::IfcVector >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc3::IfcStyledItem > Ifc4x3_rc3::IfcFillAreaStyleTiles::Tiles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcStyledItem>(es); } -void Ifc4x3_rc3::IfcFillAreaStyleTiles::setTiles(const std::vector< ::Ifc4x3_rc3::IfcStyledItem >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc3::IfcVector > Ifc4x3_rc3::IfcFillAreaStyleTiles::TilingPattern() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcVector>(es); } +void Ifc4x3_rc3::IfcFillAreaStyleTiles::setTilingPattern(const std::vector< ::Ifc4x3_rc3::IfcVector >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc3::IfcStyledItem > Ifc4x3_rc3::IfcFillAreaStyleTiles::Tiles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcStyledItem>(es); } +void Ifc4x3_rc3::IfcFillAreaStyleTiles::setTiles(const std::vector< ::Ifc4x3_rc3::IfcStyledItem >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } double Ifc4x3_rc3::IfcFillAreaStyleTiles::TilingScale() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcFillAreaStyleTiles::setTilingScale(const double& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcFillAreaStyleTiles::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[464]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFillAreaStyleTiles::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[463]); } +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)); } void Ifc4x3_rc3::IfcFilter::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcFilterTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcFilterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcFilter::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[466]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFilter::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[465]); } 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 @@ -10937,15 +10906,15 @@ Ifc4x3_rc3::IfcFilter Ifc4x3_rc3::IfcFilter::initialize(std::string v1_GlobalId, void Ifc4x3_rc3::IfcFilterType::setPredefinedType(const ::Ifc4x3_rc3::IfcFilterTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcFilterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcFilterType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[467]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFilterType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[466]); } +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)); } void Ifc4x3_rc3::IfcFireSuppressionTerminal::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcFireSuppressionTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[469]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFireSuppressionTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[468]); } 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 @@ -10953,47 +10922,47 @@ Ifc4x3_rc3::IfcFireSuppressionTerminal Ifc4x3_rc3::IfcFireSuppressionTerminal::i void Ifc4x3_rc3::IfcFireSuppressionTerminalType::setPredefinedType(const ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcFireSuppressionTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[470]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFireSuppressionTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[469]); } +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>(); } +::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcDirection>(); } void Ifc4x3_rc3::IfcFixedReferenceSweptAreaSolid::setFixedReference(const ::Ifc4x3_rc3::IfcDirection& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcFixedReferenceSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[472]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFixedReferenceSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[471]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowController::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[472]); } 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]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowControllerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[473]); } +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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[475]); } 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]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[476]); } +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)); } void Ifc4x3_rc3::IfcFlowInstrument::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowInstrument::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[478]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowInstrument::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[477]); } 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 @@ -11001,15 +10970,15 @@ Ifc4x3_rc3::IfcFlowInstrument Ifc4x3_rc3::IfcFlowInstrument::initialize(std::str void Ifc4x3_rc3::IfcFlowInstrumentType::setPredefinedType(const ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowInstrumentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[479]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowInstrumentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[478]); } +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)); } void Ifc4x3_rc3::IfcFlowMeter::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowMeter::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[481]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowMeter::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[480]); } 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 @@ -11017,75 +10986,75 @@ Ifc4x3_rc3::IfcFlowMeter Ifc4x3_rc3::IfcFlowMeter::initialize(std::string v1_Glo void Ifc4x3_rc3::IfcFlowMeterType::setPredefinedType(const ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowMeterType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[482]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowMeterType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[481]); } +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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowMovingDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[483]); } 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]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowMovingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[484]); } +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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[485]); } 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]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[486]); } +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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowStorageDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[487]); } 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]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[488]); } +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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[489]); } 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]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[490]); } +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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowTreatmentDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[491]); } 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]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[492]); } +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)); } void Ifc4x3_rc3::IfcFooting::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcFootingTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcFootingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcFooting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[497]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFooting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[496]); } 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 @@ -11093,27 +11062,27 @@ Ifc4x3_rc3::IfcFooting Ifc4x3_rc3::IfcFooting::initialize(std::string v1_GlobalI void Ifc4x3_rc3::IfcFootingType::setPredefinedType(const ::Ifc4x3_rc3::IfcFootingTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcFootingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcFootingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[498]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFootingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[497]); } +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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFurnishingElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[501]); } 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]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFurnishingElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[502]); } +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)); } void Ifc4x3_rc3::IfcFurniture::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcFurnitureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcFurniture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[504]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFurniture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[503]); } 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 @@ -11123,15 +11092,15 @@ std::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value > Ifc4x3_rc3::IfcFurnit void Ifc4x3_rc3::IfcFurnitureType::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value >& v) { if (v) {set_attribute_value(10, enumeration_reference(&::Ifc4x3_rc3::IfcFurnitureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcFurnitureType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[505]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcFurnitureType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[504]); } +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)); } void Ifc4x3_rc3::IfcGeographicElement::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcGeographicElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[507]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcGeographicElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[506]); } 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 @@ -11139,39 +11108,39 @@ Ifc4x3_rc3::IfcGeographicElement Ifc4x3_rc3::IfcGeographicElement::initialize(st void Ifc4x3_rc3::IfcGeographicElementType::setPredefinedType(const ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcGeographicElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[508]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcGeographicElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[507]); } +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]); } -Ifc4x3_rc3::IfcGeometricCurveSet Ifc4x3_rc3::IfcGeometricCurveSet::initialize(std::vector< ::Ifc4x3_rc3::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcGeometricCurveSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[509]); } +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 int64_t Ifc4x3_rc3::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int64_t v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(const int64_t& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc4x3_rc3::IfcGeometricRepresentationContext::Precision() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcGeometricRepresentationContext::setPrecision(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc3::IfcAxis2Placement Ifc4x3_rc3::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcAxis2Placement>(); } +::Ifc4x3_rc3::IfcAxis2Placement Ifc4x3_rc3::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcAxis2Placement>(); } void Ifc4x3_rc3::IfcGeometricRepresentationContext::setWorldCoordinateSystem(const ::Ifc4x3_rc3::IfcAxis2Placement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc3::IfcDirection{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcDirection>(); } +::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc3::IfcDirection{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcDirection>(); } void Ifc4x3_rc3::IfcGeometricRepresentationContext::setTrueNorth(const ::Ifc4x3_rc3::IfcDirection& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -std::vector<::Ifc4x3_rc3::IfcGeometricRepresentationSubContext> Ifc4x3_rc3::IfcGeometricRepresentationContext::HasSubContexts() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[514], 6)); } +std::vector<::Ifc4x3_rc3::IfcGeometricRepresentationSubContext> Ifc4x3_rc3::IfcGeometricRepresentationContext::HasSubContexts() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[513], 6)); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcGeometricRepresentationContext::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[511]); } Ifc4x3_rc3::IfcGeometricRepresentationContext Ifc4x3_rc3::IfcGeometricRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int64_t 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcGeometricRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[512]); } 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>(); } +::Ifc4x3_rc3::IfcGeometricRepresentationContext Ifc4x3_rc3::IfcGeometricRepresentationSubContext::ParentContext() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcGeometricRepresentationContext>(); } void Ifc4x3_rc3::IfcGeometricRepresentationSubContext::setParentContext(const ::Ifc4x3_rc3::IfcGeometricRepresentationContext& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< double > Ifc4x3_rc3::IfcGeometricRepresentationSubContext::TargetScale() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcGeometricRepresentationSubContext::setTargetScale(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } @@ -11181,112 +11150,112 @@ std::optional< std::string > Ifc4x3_rc3::IfcGeometricRepresentationSubContext::U void Ifc4x3_rc3::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(const std::optional< std::string >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcGeometricRepresentationSubContext::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[514]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcGeometricRepresentationSubContext::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[513]); } 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); } -void Ifc4x3_rc3::IfcGeometricSet::setElements(const std::vector< ::Ifc4x3_rc3::IfcGeometricSetSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc3::IfcGeometricSetSelect > Ifc4x3_rc3::IfcGeometricSet::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcGeometricSetSelect>(es); } +void Ifc4x3_rc3::IfcGeometricSet::setElements(const std::vector< ::Ifc4x3_rc3::IfcGeometricSetSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcGeometricSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[515]); } -Ifc4x3_rc3::IfcGeometricSet Ifc4x3_rc3::IfcGeometricSet::initialize(std::vector< ::Ifc4x3_rc3::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcGeometricSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[514]); } +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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcGeomodel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[516]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcGeoslice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[517]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcGeotechnicalAssembly::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[518]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcGeotechnicalElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[519]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcGeotechnicalStratum::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[520]); } 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>(); } +::Ifc4x3_rc3::IfcBoundedCurve Ifc4x3_rc3::IfcGradientCurve::BaseCurve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcBoundedCurve>(); } void Ifc4x3_rc3::IfcGradientCurve::setBaseCurve(const ::Ifc4x3_rc3::IfcBoundedCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcPlacement Ifc4x3_rc3::IfcGradientCurve::EndPoint() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcPlacement{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcPlacement>(); } +::Ifc4x3_rc3::IfcPlacement Ifc4x3_rc3::IfcGradientCurve::EndPoint() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcPlacement{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcPlacement>(); } void Ifc4x3_rc3::IfcGradientCurve::setEndPoint(const ::Ifc4x3_rc3::IfcPlacement& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcGradientCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[524]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcGradientCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[523]); } +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); } -void Ifc4x3_rc3::IfcGrid::setUAxes(const std::vector< ::Ifc4x3_rc3::IfcGridAxis >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } -std::vector< ::Ifc4x3_rc3::IfcGridAxis > Ifc4x3_rc3::IfcGrid::VAxes() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc3::IfcGridAxis>(es); } -void Ifc4x3_rc3::IfcGrid::setVAxes(const std::vector< ::Ifc4x3_rc3::IfcGridAxis >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } -std::optional< std::vector< ::Ifc4x3_rc3::IfcGridAxis > > Ifc4x3_rc3::IfcGrid::WAxes() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc3::IfcGridAxis>(es); } -void Ifc4x3_rc3::IfcGrid::setWAxes(const std::optional< std::vector< ::Ifc4x3_rc3::IfcGridAxis > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +std::vector< ::Ifc4x3_rc3::IfcGridAxis > Ifc4x3_rc3::IfcGrid::UAxes() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc3::IfcGridAxis>(es); } +void Ifc4x3_rc3::IfcGrid::setUAxes(const std::vector< ::Ifc4x3_rc3::IfcGridAxis >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } +std::vector< ::Ifc4x3_rc3::IfcGridAxis > Ifc4x3_rc3::IfcGrid::VAxes() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc3::IfcGridAxis>(es); } +void Ifc4x3_rc3::IfcGrid::setVAxes(const std::vector< ::Ifc4x3_rc3::IfcGridAxis >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } +std::optional< std::vector< ::Ifc4x3_rc3::IfcGridAxis > > Ifc4x3_rc3::IfcGrid::WAxes() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc3::IfcGridAxis>(es); } +void Ifc4x3_rc3::IfcGrid::setWAxes(const std::optional< std::vector< ::Ifc4x3_rc3::IfcGridAxis > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } std::optional< ::Ifc4x3_rc3::IfcGridTypeEnum::Value > Ifc4x3_rc3::IfcGrid::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcGridTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc3::IfcGrid::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcGridTypeEnum::Value >& v) { if (v) {set_attribute_value(10, enumeration_reference(&::Ifc4x3_rc3::IfcGridTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcGrid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[525]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcGrid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[524]); } +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; } void Ifc4x3_rc3::IfcGridAxis::setAxisTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcGridAxis::AxisCurve() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcCurve>(); } +::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcGridAxis::AxisCurve() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcCurve>(); } void Ifc4x3_rc3::IfcGridAxis::setAxisCurve(const ::Ifc4x3_rc3::IfcCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } bool Ifc4x3_rc3::IfcGridAxis::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcGridAxis::setSameSense(const bool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector<::Ifc4x3_rc3::IfcGrid> Ifc4x3_rc3::IfcGridAxis::PartOfW() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[525], 9)); } -std::vector<::Ifc4x3_rc3::IfcGrid> Ifc4x3_rc3::IfcGridAxis::PartOfV() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[525], 8)); } -std::vector<::Ifc4x3_rc3::IfcGrid> Ifc4x3_rc3::IfcGridAxis::PartOfU() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[525], 7)); } -std::vector<::Ifc4x3_rc3::IfcVirtualGridIntersection> Ifc4x3_rc3::IfcGridAxis::HasIntersections() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[1277], 0)); } +std::vector<::Ifc4x3_rc3::IfcGrid> Ifc4x3_rc3::IfcGridAxis::PartOfW() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[524], 9)); } +std::vector<::Ifc4x3_rc3::IfcGrid> Ifc4x3_rc3::IfcGridAxis::PartOfV() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[524], 8)); } +std::vector<::Ifc4x3_rc3::IfcGrid> Ifc4x3_rc3::IfcGridAxis::PartOfU() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[524], 7)); } +std::vector<::Ifc4x3_rc3::IfcVirtualGridIntersection> Ifc4x3_rc3::IfcGridAxis::HasIntersections() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[1275], 0)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcGridAxis::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[526]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcGridAxis::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[525]); } 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>(); } +::Ifc4x3_rc3::IfcVirtualGridIntersection Ifc4x3_rc3::IfcGridPlacement::PlacementLocation() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcVirtualGridIntersection>(); } void Ifc4x3_rc3::IfcGridPlacement::setPlacementLocation(const ::Ifc4x3_rc3::IfcVirtualGridIntersection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcGridPlacementDirectionSelect Ifc4x3_rc3::IfcGridPlacement::PlacementRefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcGridPlacementDirectionSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcGridPlacementDirectionSelect>(); } +::Ifc4x3_rc3::IfcGridPlacementDirectionSelect Ifc4x3_rc3::IfcGridPlacement::PlacementRefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcGridPlacementDirectionSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcGridPlacementDirectionSelect>(); } void Ifc4x3_rc3::IfcGridPlacement::setPlacementRefDirection(const ::Ifc4x3_rc3::IfcGridPlacementDirectionSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcGridPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[527]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcGridPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[526]); } 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)); } +std::vector<::Ifc4x3_rc3::IfcRelAssignsToGroup> Ifc4x3_rc3::IfcGroup::IsGroupedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[907], 6)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[530]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[529]); } 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>(); } +::Ifc4x3_rc3::IfcSurface Ifc4x3_rc3::IfcHalfSpaceSolid::BaseSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcSurface>(); } void Ifc4x3_rc3::IfcHalfSpaceSolid::setBaseSurface(const ::Ifc4x3_rc3::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } bool Ifc4x3_rc3::IfcHalfSpaceSolid::AgreementFlag() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcHalfSpaceSolid::setAgreementFlag(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcHalfSpaceSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[531]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcHalfSpaceSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[530]); } 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 @@ -11294,7 +11263,7 @@ std::optional< ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value > Ifc4x3_rc3::IfcHe void Ifc4x3_rc3::IfcHeatExchanger::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcHeatExchanger::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[533]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcHeatExchanger::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[532]); } 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 @@ -11302,15 +11271,15 @@ Ifc4x3_rc3::IfcHeatExchanger Ifc4x3_rc3::IfcHeatExchanger::initialize(std::strin void Ifc4x3_rc3::IfcHeatExchangerType::setPredefinedType(const ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcHeatExchangerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[534]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcHeatExchangerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[533]); } +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)); } void Ifc4x3_rc3::IfcHumidifier::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcHumidifierTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcHumidifier::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[538]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcHumidifier::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[537]); } 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 @@ -11318,8 +11287,8 @@ Ifc4x3_rc3::IfcHumidifier Ifc4x3_rc3::IfcHumidifier::initialize(std::string v1_G void Ifc4x3_rc3::IfcHumidifierType::setPredefinedType(const ::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcHumidifierTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcHumidifierType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[539]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcHumidifierType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[538]); } +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; } @@ -11338,7 +11307,7 @@ std::optional< double > Ifc4x3_rc3::IfcIShapeProfileDef::FlangeSlope() const { i void Ifc4x3_rc3::IfcIShapeProfileDef::setFlangeSlope(const std::optional< double >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcIShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[569]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcIShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[568]); } 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 @@ -11346,66 +11315,66 @@ std::string Ifc4x3_rc3::IfcImageTexture::URLReference() const { std::string v = void Ifc4x3_rc3::IfcImageTexture::setURLReference(const std::string& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcImageTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[543]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcImageTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[542]); } 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>(); } +::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>(); } void Ifc4x3_rc3::IfcImpactProtectionDevice::setPredefinedType(const ::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcImpactProtectionDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[544]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcImpactProtectionDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[543]); } 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>(); } +::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect Ifc4x3_rc3::IfcImpactProtectionDeviceType::PredefinedType() const { return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect>(); } void Ifc4x3_rc3::IfcImpactProtectionDeviceType::setPredefinedType(const ::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcImpactProtectionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[545]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcImpactProtectionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[544]); } +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; } void Ifc4x3_rc3::IfcInclinedReferenceSweptAreaSolid::setFixedAxisVertical(const std::optional< bool >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcInclinedReferenceSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[548]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcInclinedReferenceSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[547]); } 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>(); } +::Ifc4x3_rc3::IfcTessellatedFaceSet Ifc4x3_rc3::IfcIndexedColourMap::MappedTo() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcTessellatedFaceSet>(); } void Ifc4x3_rc3::IfcIndexedColourMap::setMappedTo(const ::Ifc4x3_rc3::IfcTessellatedFaceSet& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< double > Ifc4x3_rc3::IfcIndexedColourMap::Opacity() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcIndexedColourMap::setOpacity(const std::optional< double >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc3::IfcColourRgbList Ifc4x3_rc3::IfcIndexedColourMap::Colours() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcColourRgbList>(); } +::Ifc4x3_rc3::IfcColourRgbList Ifc4x3_rc3::IfcIndexedColourMap::Colours() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcColourRgbList>(); } void Ifc4x3_rc3::IfcIndexedColourMap::setColours(const ::Ifc4x3_rc3::IfcColourRgbList& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::vector< int64_t > /*[1:?]*/ Ifc4x3_rc3::IfcIndexedColourMap::ColourIndex() const { std::vector< int64_t > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcIndexedColourMap::setColourIndex(const std::vector< int64_t > /*[1:?]*/& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcIndexedColourMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[549]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcIndexedColourMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[548]); } Ifc4x3_rc3::IfcIndexedColourMap Ifc4x3_rc3::IfcIndexedColourMap::initialize(::Ifc4x3_rc3::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_rc3::IfcColourRgbList v3_Colours, std::vector< int64_t > /*[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>(); } +::Ifc4x3_rc3::IfcCartesianPointList Ifc4x3_rc3::IfcIndexedPolyCurve::Points() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCartesianPointList>(); } void Ifc4x3_rc3::IfcIndexedPolyCurve::setPoints(const ::Ifc4x3_rc3::IfcCartesianPointList& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::optional< std::vector< ::Ifc4x3_rc3::IfcSegmentIndexSelect > > Ifc4x3_rc3::IfcIndexedPolyCurve::Segments() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcSegmentIndexSelect>(es); } -void Ifc4x3_rc3::IfcIndexedPolyCurve::setSegments(const std::optional< std::vector< ::Ifc4x3_rc3::IfcSegmentIndexSelect > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } +std::optional< std::vector< ::Ifc4x3_rc3::IfcSegmentIndexSelect > > Ifc4x3_rc3::IfcIndexedPolyCurve::Segments() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcSegmentIndexSelect>(es); } +void Ifc4x3_rc3::IfcIndexedPolyCurve::setSegments(const std::optional< std::vector< ::Ifc4x3_rc3::IfcSegmentIndexSelect > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } std::optional< bool > Ifc4x3_rc3::IfcIndexedPolyCurve::SelfIntersect() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } bool v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcIndexedPolyCurve::setSelfIntersect(const std::optional< bool >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcIndexedPolyCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[550]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcIndexedPolyCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[549]); } +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< int64_t > /*[3:?]*/ Ifc4x3_rc3::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int64_t > /*[3:?]*/ v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcIndexedPolygonalFace::setCoordIndex(const std::vector< int64_t > /*[3:?]*/& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector<::Ifc4x3_rc3::IfcPolygonalFaceSet> Ifc4x3_rc3::IfcIndexedPolygonalFace::ToFaceSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[778], 2)); } +std::vector<::Ifc4x3_rc3::IfcPolygonalFaceSet> Ifc4x3_rc3::IfcIndexedPolygonalFace::ToFaceSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[776], 2)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcIndexedPolygonalFace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[551]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcIndexedPolygonalFace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[550]); } Ifc4x3_rc3::IfcIndexedPolygonalFace Ifc4x3_rc3::IfcIndexedPolygonalFace::initialize(std::vector< int64_t > /*[3:?]*/ v1_CoordIndex) { set_attribute_value(0, (v1_CoordIndex));; return *this; } // Function implementations for IfcIndexedPolygonalFaceWithVoids @@ -11413,33 +11382,33 @@ std::vector< std::vector< int64_t > > Ifc4x3_rc3::IfcIndexedPolygonalFaceWithVoi void Ifc4x3_rc3::IfcIndexedPolygonalFaceWithVoids::setInnerCoordIndices(const std::vector< std::vector< int64_t > >& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcIndexedPolygonalFaceWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[552]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcIndexedPolygonalFaceWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[551]); } Ifc4x3_rc3::IfcIndexedPolygonalFaceWithVoids Ifc4x3_rc3::IfcIndexedPolygonalFaceWithVoids::initialize(std::vector< int64_t > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int64_t > > 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>(); } +::Ifc4x3_rc3::IfcTessellatedFaceSet Ifc4x3_rc3::IfcIndexedTextureMap::MappedTo() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcTessellatedFaceSet>(); } void Ifc4x3_rc3::IfcIndexedTextureMap::setMappedTo(const ::Ifc4x3_rc3::IfcTessellatedFaceSet& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcTextureVertexList Ifc4x3_rc3::IfcIndexedTextureMap::TexCoords() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcTextureVertexList>(); } +::Ifc4x3_rc3::IfcTextureVertexList Ifc4x3_rc3::IfcIndexedTextureMap::TexCoords() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcTextureVertexList>(); } void Ifc4x3_rc3::IfcIndexedTextureMap::setTexCoords(const ::Ifc4x3_rc3::IfcTextureVertexList& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcIndexedTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[553]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcIndexedTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[552]); } +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< int64_t > > > Ifc4x3_rc3::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< std::vector< int64_t > > v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcIndexedTriangleTextureMap::setTexCoordIndex(const std::optional< std::vector< std::vector< int64_t > > >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcIndexedTriangleTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[554]); } -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< int64_t > > > 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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcIndexedTriangleTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[553]); } +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< int64_t > > > 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)); } void Ifc4x3_rc3::IfcInterceptor::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcInterceptorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcInterceptor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[558]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcInterceptor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[557]); } 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 @@ -11447,57 +11416,57 @@ Ifc4x3_rc3::IfcInterceptor Ifc4x3_rc3::IfcInterceptor::initialize(std::string v1 void Ifc4x3_rc3::IfcInterceptorType::setPredefinedType(const ::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcInterceptorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcInterceptorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[559]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcInterceptorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[558]); } +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]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcIntersectionCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[562]); } +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)); } void Ifc4x3_rc3::IfcInventory::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcInventoryTypeEnum::Value >& v) { if (v) {set_attribute_value(5, enumeration_reference(&::Ifc4x3_rc3::IfcInventoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -::Ifc4x3_rc3::IfcActorSelect Ifc4x3_rc3::IfcInventory::Jurisdiction() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcActorSelect>(); } +::Ifc4x3_rc3::IfcActorSelect Ifc4x3_rc3::IfcInventory::Jurisdiction() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcActorSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcActorSelect>(); } void Ifc4x3_rc3::IfcInventory::setJurisdiction(const ::Ifc4x3_rc3::IfcActorSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::optional< std::vector< ::Ifc4x3_rc3::IfcPerson > > Ifc4x3_rc3::IfcInventory::ResponsiblePersons() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc3::IfcPerson>(es); } -void Ifc4x3_rc3::IfcInventory::setResponsiblePersons(const std::optional< std::vector< ::Ifc4x3_rc3::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x3_rc3::IfcPerson > > Ifc4x3_rc3::IfcInventory::ResponsiblePersons() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc3::IfcPerson>(es); } +void Ifc4x3_rc3::IfcInventory::setResponsiblePersons(const std::optional< std::vector< ::Ifc4x3_rc3::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< std::string > Ifc4x3_rc3::IfcInventory::LastUpdateDate() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcInventory::setLastUpdateDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_rc3::IfcCostValue Ifc4x3_rc3::IfcInventory::CurrentValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc3::IfcCostValue{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc3::IfcCostValue>(); } +::Ifc4x3_rc3::IfcCostValue Ifc4x3_rc3::IfcInventory::CurrentValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc3::IfcCostValue{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc3::IfcCostValue>(); } void Ifc4x3_rc3::IfcInventory::setCurrentValue(const ::Ifc4x3_rc3::IfcCostValue& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc3::IfcCostValue Ifc4x3_rc3::IfcInventory::OriginalValue() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc3::IfcCostValue{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_rc3::IfcCostValue>(); } +::Ifc4x3_rc3::IfcCostValue Ifc4x3_rc3::IfcInventory::OriginalValue() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc3::IfcCostValue{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x3_rc3::IfcCostValue>(); } void Ifc4x3_rc3::IfcInventory::setOriginalValue(const ::Ifc4x3_rc3::IfcCostValue& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcInventory::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[564]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcInventory::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[563]); } +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); } -void Ifc4x3_rc3::IfcIrregularTimeSeries::setValues(const std::vector< ::Ifc4x3_rc3::IfcIrregularTimeSeriesValue >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } +std::vector< ::Ifc4x3_rc3::IfcIrregularTimeSeriesValue > Ifc4x3_rc3::IfcIrregularTimeSeries::Values() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc3::IfcIrregularTimeSeriesValue>(es); } +void Ifc4x3_rc3::IfcIrregularTimeSeries::setValues(const std::vector< ::Ifc4x3_rc3::IfcIrregularTimeSeriesValue >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcIrregularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[567]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcIrregularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[566]); } +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; } void Ifc4x3_rc3::IfcIrregularTimeSeriesValue::setTimeStamp(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc3::IfcValue > Ifc4x3_rc3::IfcIrregularTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcValue>(es); } -void Ifc4x3_rc3::IfcIrregularTimeSeriesValue::setListValues(const std::vector< ::Ifc4x3_rc3::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc3::IfcValue > Ifc4x3_rc3::IfcIrregularTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcValue>(es); } +void Ifc4x3_rc3::IfcIrregularTimeSeriesValue::setListValues(const std::vector< ::Ifc4x3_rc3::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcIrregularTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[568]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcIrregularTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[567]); } +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)); } void Ifc4x3_rc3::IfcJunctionBox::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcJunctionBox::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[571]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcJunctionBox::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[570]); } 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 @@ -11505,15 +11474,15 @@ Ifc4x3_rc3::IfcJunctionBox Ifc4x3_rc3::IfcJunctionBox::initialize(std::string v1 void Ifc4x3_rc3::IfcJunctionBoxType::setPredefinedType(const ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcJunctionBoxType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[572]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcJunctionBoxType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[571]); } +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; } void Ifc4x3_rc3::IfcKerb::setMountable(const bool& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcKerb::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[574]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcKerb::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[573]); } 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 @@ -11521,8 +11490,8 @@ bool Ifc4x3_rc3::IfcKerbType::Mountable() const { bool v = get_attribute_value( void Ifc4x3_rc3::IfcKerbType::setMountable(const bool& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcKerbType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[575]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcKerbType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[574]); } +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; } @@ -11539,7 +11508,7 @@ std::optional< double > Ifc4x3_rc3::IfcLShapeProfileDef::LegSlope() const { if(g void Ifc4x3_rc3::IfcLShapeProfileDef::setLegSlope(const std::optional< double >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcLShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[624]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcLShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[623]); } 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 @@ -11547,25 +11516,25 @@ std::optional< ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value > Ifc4x3_rc3::IfcLa void Ifc4x3_rc3::IfcLaborResource::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value >& v) { if (v) {set_attribute_value(10, enumeration_reference(&::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcLaborResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[579]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcLaborResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[578]); } +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)); } void Ifc4x3_rc3::IfcLaborResourceType::setPredefinedType(const ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value& v) { set_attribute_value(11, enumeration_reference(&::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcLaborResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[580]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcLaborResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[579]); } +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>(); } +::Ifc4x3_rc3::IfcTimeOrRatioSelect Ifc4x3_rc3::IfcLagTime::LagValue() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcTimeOrRatioSelect>(); } void Ifc4x3_rc3::IfcLagTime::setLagValue(const ::Ifc4x3_rc3::IfcTimeOrRatioSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } ::Ifc4x3_rc3::IfcTaskDurationEnum::Value Ifc4x3_rc3::IfcLagTime::DurationType() const { return ::Ifc4x3_rc3::IfcTaskDurationEnum::FromString(get_attribute_value(4)); } void Ifc4x3_rc3::IfcLagTime::setDurationType(const ::Ifc4x3_rc3::IfcTaskDurationEnum::Value& v) { set_attribute_value(4, enumeration_reference(&::Ifc4x3_rc3::IfcTaskDurationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcLagTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[582]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcLagTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[581]); } 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 @@ -11573,7 +11542,7 @@ std::optional< ::Ifc4x3_rc3::IfcLampTypeEnum::Value > Ifc4x3_rc3::IfcLamp::Prede void Ifc4x3_rc3::IfcLamp::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcLampTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcLampTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcLamp::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[583]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcLamp::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[582]); } 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 @@ -11581,15 +11550,15 @@ Ifc4x3_rc3::IfcLamp Ifc4x3_rc3::IfcLamp::initialize(std::string v1_GlobalId, ::I void Ifc4x3_rc3::IfcLampType::setPredefinedType(const ::Ifc4x3_rc3::IfcLampTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcLampTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcLampType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[584]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcLampType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[583]); } +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; } void Ifc4x3_rc3::IfcLibraryInformation::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x3_rc3::IfcLibraryInformation::Version() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcLibraryInformation::setVersion(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc3::IfcActorSelect Ifc4x3_rc3::IfcLibraryInformation::Publisher() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcActorSelect>(); } +::Ifc4x3_rc3::IfcActorSelect Ifc4x3_rc3::IfcLibraryInformation::Publisher() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcActorSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcActorSelect>(); } void Ifc4x3_rc3::IfcLibraryInformation::setPublisher(const ::Ifc4x3_rc3::IfcActorSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4x3_rc3::IfcLibraryInformation::VersionDate() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcLibraryInformation::setVersionDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } @@ -11598,10 +11567,10 @@ void Ifc4x3_rc3::IfcLibraryInformation::setLocation(const std::optional< std::st std::optional< std::string > Ifc4x3_rc3::IfcLibraryInformation::Description() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcLibraryInformation::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3_rc3::IfcRelAssociatesLibrary> Ifc4x3_rc3::IfcLibraryInformation::LibraryInfoForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[919], 5)); } -std::vector<::Ifc4x3_rc3::IfcLibraryReference> Ifc4x3_rc3::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[591], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelAssociatesLibrary> Ifc4x3_rc3::IfcLibraryInformation::LibraryInfoForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[917], 5)); } +std::vector<::Ifc4x3_rc3::IfcLibraryReference> Ifc4x3_rc3::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[590], 5)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcLibraryInformation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[590]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcLibraryInformation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[589]); } 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 @@ -11609,12 +11578,12 @@ std::optional< std::string > Ifc4x3_rc3::IfcLibraryReference::Description() cons void Ifc4x3_rc3::IfcLibraryReference::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } std::optional< std::string > Ifc4x3_rc3::IfcLibraryReference::Language() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcLibraryReference::setLanguage(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc3::IfcLibraryInformation Ifc4x3_rc3::IfcLibraryReference::ReferencedLibrary() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc3::IfcLibraryInformation{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcLibraryInformation>(); } +::Ifc4x3_rc3::IfcLibraryInformation Ifc4x3_rc3::IfcLibraryReference::ReferencedLibrary() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc3::IfcLibraryInformation{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcLibraryInformation>(); } void Ifc4x3_rc3::IfcLibraryReference::setReferencedLibrary(const ::Ifc4x3_rc3::IfcLibraryInformation& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -std::vector<::Ifc4x3_rc3::IfcRelAssociatesLibrary> Ifc4x3_rc3::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[919], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelAssociatesLibrary> Ifc4x3_rc3::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[917], 5)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcLibraryReference::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[591]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcLibraryReference::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[590]); } 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 @@ -11626,7 +11595,7 @@ std::vector< double > /*[1:?]*/ Ifc4x3_rc3::IfcLightDistributionData::LuminousIn void Ifc4x3_rc3::IfcLightDistributionData::setLuminousIntensity(const std::vector< double > /*[1:?]*/& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcLightDistributionData::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[594]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcLightDistributionData::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[593]); } 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 @@ -11634,7 +11603,7 @@ std::optional< ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value > Ifc4x3_rc3::IfcLig void Ifc4x3_rc3::IfcLightFixture::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcLightFixture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[597]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcLightFixture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[596]); } 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 @@ -11642,23 +11611,23 @@ Ifc4x3_rc3::IfcLightFixture Ifc4x3_rc3::IfcLightFixture::initialize(std::string void Ifc4x3_rc3::IfcLightFixtureType::setPredefinedType(const ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcLightFixtureType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[598]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcLightFixtureType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[597]); } +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)); } void Ifc4x3_rc3::IfcLightIntensityDistribution::setLightDistributionCurve(const ::Ifc4x3_rc3::IfcLightDistributionCurveEnum::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc4x3_rc3::IfcLightDistributionCurveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc3::IfcLightDistributionData > Ifc4x3_rc3::IfcLightIntensityDistribution::DistributionData() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcLightDistributionData>(es); } -void Ifc4x3_rc3::IfcLightIntensityDistribution::setDistributionData(const std::vector< ::Ifc4x3_rc3::IfcLightDistributionData >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc3::IfcLightDistributionData > Ifc4x3_rc3::IfcLightIntensityDistribution::DistributionData() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcLightDistributionData>(es); } +void Ifc4x3_rc3::IfcLightIntensityDistribution::setDistributionData(const std::vector< ::Ifc4x3_rc3::IfcLightDistributionData >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcLightIntensityDistribution::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[600]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcLightIntensityDistribution::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[599]); } +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; } void Ifc4x3_rc3::IfcLightSource::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_rc3::IfcColourRgb Ifc4x3_rc3::IfcLightSource::LightColour() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcColourRgb>(); } +::Ifc4x3_rc3::IfcColourRgb Ifc4x3_rc3::IfcLightSource::LightColour() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcColourRgb>(); } void Ifc4x3_rc3::IfcLightSource::setLightColour(const ::Ifc4x3_rc3::IfcColourRgb& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< double > Ifc4x3_rc3::IfcLightSource::AmbientIntensity() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcLightSource::setAmbientIntensity(const std::optional< double >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } @@ -11666,27 +11635,27 @@ std::optional< double > Ifc4x3_rc3::IfcLightSource::Intensity() const { if(get_a void Ifc4x3_rc3::IfcLightSource::setIntensity(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcLightSource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[601]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcLightSource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[600]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcLightSourceAmbient::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[601]); } 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>(); } +::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcLightSourceDirectional::Orientation() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcDirection>(); } void Ifc4x3_rc3::IfcLightSourceDirectional::setOrientation(const ::Ifc4x3_rc3::IfcDirection& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcLightSourceDirectional::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[603]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcLightSourceDirectional::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[602]); } 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>(); } +::Ifc4x3_rc3::IfcAxis2Placement3D Ifc4x3_rc3::IfcLightSourceGoniometric::Position() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcAxis2Placement3D>(); } void Ifc4x3_rc3::IfcLightSourceGoniometric::setPosition(const ::Ifc4x3_rc3::IfcAxis2Placement3D& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcColourRgb Ifc4x3_rc3::IfcLightSourceGoniometric::ColourAppearance() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc3::IfcColourRgb{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcColourRgb>(); } +::Ifc4x3_rc3::IfcColourRgb Ifc4x3_rc3::IfcLightSourceGoniometric::ColourAppearance() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc3::IfcColourRgb{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcColourRgb>(); } void Ifc4x3_rc3::IfcLightSourceGoniometric::setColourAppearance(const ::Ifc4x3_rc3::IfcColourRgb& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } double Ifc4x3_rc3::IfcLightSourceGoniometric::ColourTemperature() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcLightSourceGoniometric::setColourTemperature(const double& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -11694,15 +11663,15 @@ double Ifc4x3_rc3::IfcLightSourceGoniometric::LuminousFlux() const { double v = void Ifc4x3_rc3::IfcLightSourceGoniometric::setLuminousFlux(const double& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_rc3::IfcLightEmissionSourceEnum::Value Ifc4x3_rc3::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x3_rc3::IfcLightEmissionSourceEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcLightSourceGoniometric::setLightEmissionSource(const ::Ifc4x3_rc3::IfcLightEmissionSourceEnum::Value& v) { set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcLightEmissionSourceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc3::IfcLightDistributionDataSourceSelect Ifc4x3_rc3::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc3::IfcLightDistributionDataSourceSelect>(); } +::Ifc4x3_rc3::IfcLightDistributionDataSourceSelect Ifc4x3_rc3::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc3::IfcLightDistributionDataSourceSelect>(); } void Ifc4x3_rc3::IfcLightSourceGoniometric::setLightDistributionDataSource(const ::Ifc4x3_rc3::IfcLightDistributionDataSourceSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcLightSourceGoniometric::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[604]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcLightSourceGoniometric::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[603]); } 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>(); } +::Ifc4x3_rc3::IfcCartesianPoint Ifc4x3_rc3::IfcLightSourcePositional::Position() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcCartesianPoint>(); } void Ifc4x3_rc3::IfcLightSourcePositional::setPosition(const ::Ifc4x3_rc3::IfcCartesianPoint& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } double Ifc4x3_rc3::IfcLightSourcePositional::Radius() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcLightSourcePositional::setRadius(const double& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -11714,11 +11683,11 @@ double Ifc4x3_rc3::IfcLightSourcePositional::QuadricAttenuation() const { doubl void Ifc4x3_rc3::IfcLightSourcePositional::setQuadricAttenuation(const double& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcLightSourcePositional::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[605]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcLightSourcePositional::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[604]); } 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>(); } +::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcLightSourceSpot::Orientation() const { return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc3::IfcDirection>(); } void Ifc4x3_rc3::IfcLightSourceSpot::setOrientation(const ::Ifc4x3_rc3::IfcDirection& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::optional< double > Ifc4x3_rc3::IfcLightSourceSpot::ConcentrationExponent() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcLightSourceSpot::setConcentrationExponent(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } @@ -11728,39 +11697,39 @@ double Ifc4x3_rc3::IfcLightSourceSpot::BeamWidthAngle() const { double v = get_ void Ifc4x3_rc3::IfcLightSourceSpot::setBeamWidthAngle(const double& v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcLightSourceSpot::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[606]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcLightSourceSpot::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[605]); } 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>(); } +::Ifc4x3_rc3::IfcCartesianPoint Ifc4x3_rc3::IfcLine::Pnt() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCartesianPoint>(); } void Ifc4x3_rc3::IfcLine::setPnt(const ::Ifc4x3_rc3::IfcCartesianPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcVector Ifc4x3_rc3::IfcLine::Dir() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcVector>(); } +::Ifc4x3_rc3::IfcVector Ifc4x3_rc3::IfcLine::Dir() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcVector>(); } void Ifc4x3_rc3::IfcLine::setDir(const ::Ifc4x3_rc3::IfcVector& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcLine::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[607]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcLine::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[606]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcLinearElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[607]); } 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>(); } +::Ifc4x3_rc3::IfcAxis2PlacementLinear Ifc4x3_rc3::IfcLinearPlacement::RelativePlacement() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcAxis2PlacementLinear>(); } void Ifc4x3_rc3::IfcLinearPlacement::setRelativePlacement(const ::Ifc4x3_rc3::IfcAxis2PlacementLinear& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcAxis2Placement3D Ifc4x3_rc3::IfcLinearPlacement::CartesianPosition() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcAxis2Placement3D>(); } +::Ifc4x3_rc3::IfcAxis2Placement3D Ifc4x3_rc3::IfcLinearPlacement::CartesianPosition() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcAxis2Placement3D>(); } void Ifc4x3_rc3::IfcLinearPlacement::setCartesianPosition(const ::Ifc4x3_rc3::IfcAxis2Placement3D& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcLinearPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[611]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcLinearPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[610]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcLinearPositioningElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[611]); } 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 @@ -11768,7 +11737,7 @@ std::optional< ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value > Ifc4x3_rc3::IfcL void Ifc4x3_rc3::IfcLiquidTerminal::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcLiquidTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[616]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcLiquidTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[615]); } 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 @@ -11776,29 +11745,29 @@ Ifc4x3_rc3::IfcLiquidTerminal Ifc4x3_rc3::IfcLiquidTerminal::initialize(std::str void Ifc4x3_rc3::IfcLiquidTerminalType::setPredefinedType(const ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcLiquidTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[617]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcLiquidTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[616]); } +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>(); } +::Ifc4x3_rc3::IfcAxis2Placement Ifc4x3_rc3::IfcLocalPlacement::RelativePlacement() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcAxis2Placement>(); } void Ifc4x3_rc3::IfcLocalPlacement::setRelativePlacement(const ::Ifc4x3_rc3::IfcAxis2Placement& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcLocalPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[620]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcLocalPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[619]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[622]); } 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>(); } +::Ifc4x3_rc3::IfcClosedShell Ifc4x3_rc3::IfcManifoldSolidBrep::Outer() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcClosedShell>(); } void Ifc4x3_rc3::IfcManifoldSolidBrep::setOuter(const ::Ifc4x3_rc3::IfcClosedShell& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcManifoldSolidBrep::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[630]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcManifoldSolidBrep::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[629]); } Ifc4x3_rc3::IfcManifoldSolidBrep Ifc4x3_rc3::IfcManifoldSolidBrep::initialize(::Ifc4x3_rc3::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcMapConversion @@ -11820,17 +11789,17 @@ std::optional< double > Ifc4x3_rc3::IfcMapConversion::ScaleZ() const { if(get_at void Ifc4x3_rc3::IfcMapConversion::setScaleZ(const std::optional< double >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMapConversion::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[631]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMapConversion::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[630]); } 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>(); } +::Ifc4x3_rc3::IfcRepresentationMap Ifc4x3_rc3::IfcMappedItem::MappingSource() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcRepresentationMap>(); } void Ifc4x3_rc3::IfcMappedItem::setMappingSource(const ::Ifc4x3_rc3::IfcRepresentationMap& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcCartesianTransformationOperator Ifc4x3_rc3::IfcMappedItem::MappingTarget() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcCartesianTransformationOperator>(); } +::Ifc4x3_rc3::IfcCartesianTransformationOperator Ifc4x3_rc3::IfcMappedItem::MappingTarget() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcCartesianTransformationOperator>(); } void Ifc4x3_rc3::IfcMappedItem::setMappingTarget(const ::Ifc4x3_rc3::IfcCartesianTransformationOperator& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMappedItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[632]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMappedItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[631]); } 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 @@ -11838,7 +11807,7 @@ std::optional< ::Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Value > Ifc4x3_rc3::IfcM void Ifc4x3_rc3::IfcMarineFacility::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Value >& v) { if (v) {set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMarineFacility::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[633]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMarineFacility::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[632]); } 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 @@ -11849,38 +11818,38 @@ void Ifc4x3_rc3::IfcMaterial::setDescription(const std::optional< std::string >& std::optional< std::string > Ifc4x3_rc3::IfcMaterial::Category() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcMaterial::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3_rc3::IfcMaterialDefinitionRepresentation> Ifc4x3_rc3::IfcMaterial::HasRepresentation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[645], 3)); } -std::vector<::Ifc4x3_rc3::IfcMaterialRelationship> Ifc4x3_rc3::IfcMaterial::IsRelatedWith() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[657], 3)); } -std::vector<::Ifc4x3_rc3::IfcMaterialRelationship> Ifc4x3_rc3::IfcMaterial::RelatesTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[657], 2)); } +std::vector<::Ifc4x3_rc3::IfcMaterialDefinitionRepresentation> Ifc4x3_rc3::IfcMaterial::HasRepresentation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[644], 3)); } +std::vector<::Ifc4x3_rc3::IfcMaterialRelationship> Ifc4x3_rc3::IfcMaterial::IsRelatedWith() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[656], 3)); } +std::vector<::Ifc4x3_rc3::IfcMaterialRelationship> Ifc4x3_rc3::IfcMaterial::RelatesTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[656], 2)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterial::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[640]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterial::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[639]); } 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); } -void Ifc4x3_rc3::IfcMaterialClassificationRelationship::setMaterialClassifications(const std::vector< ::Ifc4x3_rc3::IfcClassificationSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcMaterial Ifc4x3_rc3::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcMaterial>(); } +std::vector< ::Ifc4x3_rc3::IfcClassificationSelect > Ifc4x3_rc3::IfcMaterialClassificationRelationship::MaterialClassifications() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcClassificationSelect>(es); } +void Ifc4x3_rc3::IfcMaterialClassificationRelationship::setMaterialClassifications(const std::vector< ::Ifc4x3_rc3::IfcClassificationSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +::Ifc4x3_rc3::IfcMaterial Ifc4x3_rc3::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcMaterial>(); } void Ifc4x3_rc3::IfcMaterialClassificationRelationship::setClassifiedMaterial(const ::Ifc4x3_rc3::IfcMaterial& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialClassificationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[641]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialClassificationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[640]); } +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; } void Ifc4x3_rc3::IfcMaterialConstituent::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_rc3::IfcMaterialConstituent::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcMaterialConstituent::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc3::IfcMaterial Ifc4x3_rc3::IfcMaterialConstituent::Material() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcMaterial>(); } +::Ifc4x3_rc3::IfcMaterial Ifc4x3_rc3::IfcMaterialConstituent::Material() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcMaterial>(); } void Ifc4x3_rc3::IfcMaterialConstituent::setMaterial(const ::Ifc4x3_rc3::IfcMaterial& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc4x3_rc3::IfcMaterialConstituent::Fraction() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcMaterialConstituent::setFraction(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } std::optional< std::string > Ifc4x3_rc3::IfcMaterialConstituent::Category() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcMaterialConstituent::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector<::Ifc4x3_rc3::IfcMaterialConstituentSet> Ifc4x3_rc3::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[643], 2)); } +std::vector<::Ifc4x3_rc3::IfcMaterialConstituentSet> Ifc4x3_rc3::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[642], 2)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialConstituent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[642]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialConstituent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[641]); } 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 @@ -11888,32 +11857,32 @@ std::optional< std::string > Ifc4x3_rc3::IfcMaterialConstituentSet::Name() const void Ifc4x3_rc3::IfcMaterialConstituentSet::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_rc3::IfcMaterialConstituentSet::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcMaterialConstituentSet::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::optional< std::vector< ::Ifc4x3_rc3::IfcMaterialConstituent > > Ifc4x3_rc3::IfcMaterialConstituentSet::MaterialConstituents() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcMaterialConstituent>(es); } -void Ifc4x3_rc3::IfcMaterialConstituentSet::setMaterialConstituents(const std::optional< std::vector< ::Ifc4x3_rc3::IfcMaterialConstituent > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4x3_rc3::IfcMaterialConstituent > > Ifc4x3_rc3::IfcMaterialConstituentSet::MaterialConstituents() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcMaterialConstituent>(es); } +void Ifc4x3_rc3::IfcMaterialConstituentSet::setMaterialConstituents(const std::optional< std::vector< ::Ifc4x3_rc3::IfcMaterialConstituent > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialConstituentSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[643]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialConstituentSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[642]); } +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 -std::vector<::Ifc4x3_rc3::IfcRelAssociatesMaterial> Ifc4x3_rc3::IfcMaterialDefinition::AssociatedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[920], 5)); } -std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcMaterialDefinition::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[434], 3)); } -std::vector<::Ifc4x3_rc3::IfcMaterialProperties> Ifc4x3_rc3::IfcMaterialDefinition::HasProperties() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[656], 3)); } +std::vector<::Ifc4x3_rc3::IfcRelAssociatesMaterial> Ifc4x3_rc3::IfcMaterialDefinition::AssociatedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[918], 5)); } +std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcMaterialDefinition::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[433], 3)); } +std::vector<::Ifc4x3_rc3::IfcMaterialProperties> Ifc4x3_rc3::IfcMaterialDefinition::HasProperties() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[655], 3)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[644]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[643]); } 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>(); } +::Ifc4x3_rc3::IfcMaterial Ifc4x3_rc3::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcMaterial>(); } void Ifc4x3_rc3::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(const ::Ifc4x3_rc3::IfcMaterial& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialDefinitionRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[645]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialDefinitionRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[644]); } +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>(); } +::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>(); } void Ifc4x3_rc3::IfcMaterialLayer::setMaterial(const ::Ifc4x3_rc3::IfcMaterial& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc3::IfcMaterialLayer::LayerThickness() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcMaterialLayer::setLayerThickness(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11928,25 +11897,25 @@ void Ifc4x3_rc3::IfcMaterialLayer::setCategory(const std::optional< std::string std::optional< int64_t > Ifc4x3_rc3::IfcMaterialLayer::Priority() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcMaterialLayer::setPriority(const std::optional< int64_t >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3_rc3::IfcMaterialLayerSet> Ifc4x3_rc3::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[647], 0)); } +std::vector<::Ifc4x3_rc3::IfcMaterialLayerSet> Ifc4x3_rc3::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[646], 0)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialLayer::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[646]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialLayer::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[645]); } 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< int64_t > 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); } -void Ifc4x3_rc3::IfcMaterialLayerSet::setMaterialLayers(const std::vector< ::Ifc4x3_rc3::IfcMaterialLayer >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc3::IfcMaterialLayer > Ifc4x3_rc3::IfcMaterialLayerSet::MaterialLayers() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcMaterialLayer>(es); } +void Ifc4x3_rc3::IfcMaterialLayerSet::setMaterialLayers(const std::vector< ::Ifc4x3_rc3::IfcMaterialLayer >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x3_rc3::IfcMaterialLayerSet::LayerSetName() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcMaterialLayerSet::setLayerSetName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x3_rc3::IfcMaterialLayerSet::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcMaterialLayerSet::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialLayerSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[647]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialLayerSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[646]); } +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>(); } +::Ifc4x3_rc3::IfcMaterialLayerSet Ifc4x3_rc3::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcMaterialLayerSet>(); } void Ifc4x3_rc3::IfcMaterialLayerSetUsage::setForLayerSet(const ::Ifc4x3_rc3::IfcMaterialLayerSet& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Value Ifc4x3_rc3::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x3_rc3::IfcLayerSetDirectionEnum::FromString(get_attribute_value(1)); } void Ifc4x3_rc3::IfcMaterialLayerSetUsage::setLayerSetDirection(const ::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } @@ -11958,7 +11927,7 @@ std::optional< double > Ifc4x3_rc3::IfcMaterialLayerSetUsage::ReferenceExtent() void Ifc4x3_rc3::IfcMaterialLayerSetUsage::setReferenceExtent(const std::optional< double >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialLayerSetUsage::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[648]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialLayerSetUsage::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[647]); } 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 @@ -11968,34 +11937,34 @@ std::vector< double > /*[1:2]*/ Ifc4x3_rc3::IfcMaterialLayerWithOffsets::OffsetV void Ifc4x3_rc3::IfcMaterialLayerWithOffsets::setOffsetValues(const std::vector< double > /*[1:2]*/& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialLayerWithOffsets::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[649]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialLayerWithOffsets::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[648]); } 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< int64_t > 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); } -void Ifc4x3_rc3::IfcMaterialList::setMaterials(const std::vector< ::Ifc4x3_rc3::IfcMaterial >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc3::IfcMaterial > Ifc4x3_rc3::IfcMaterialList::Materials() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcMaterial>(es); } +void Ifc4x3_rc3::IfcMaterialList::setMaterials(const std::vector< ::Ifc4x3_rc3::IfcMaterial >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialList::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[650]); } -Ifc4x3_rc3::IfcMaterialList Ifc4x3_rc3::IfcMaterialList::initialize(std::vector< ::Ifc4x3_rc3::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials));; return *this; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialList::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[649]); } +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; } void Ifc4x3_rc3::IfcMaterialProfile::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_rc3::IfcMaterialProfile::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcMaterialProfile::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc3::IfcMaterial Ifc4x3_rc3::IfcMaterialProfile::Material() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcMaterial{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcMaterial>(); } +::Ifc4x3_rc3::IfcMaterial Ifc4x3_rc3::IfcMaterialProfile::Material() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcMaterial{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcMaterial>(); } void Ifc4x3_rc3::IfcMaterialProfile::setMaterial(const ::Ifc4x3_rc3::IfcMaterial& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcProfileDef Ifc4x3_rc3::IfcMaterialProfile::Profile() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcProfileDef>(); } +::Ifc4x3_rc3::IfcProfileDef Ifc4x3_rc3::IfcMaterialProfile::Profile() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcProfileDef>(); } void Ifc4x3_rc3::IfcMaterialProfile::setProfile(const ::Ifc4x3_rc3::IfcProfileDef& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< int64_t > Ifc4x3_rc3::IfcMaterialProfile::Priority() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcMaterialProfile::setPriority(const std::optional< int64_t >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } std::optional< std::string > Ifc4x3_rc3::IfcMaterialProfile::Category() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcMaterialProfile::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3_rc3::IfcMaterialProfileSet> Ifc4x3_rc3::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[652], 2)); } +std::vector<::Ifc4x3_rc3::IfcMaterialProfileSet> Ifc4x3_rc3::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[651], 2)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialProfile::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[651]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialProfile::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[650]); } 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< int64_t > 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 @@ -12003,17 +11972,17 @@ std::optional< std::string > Ifc4x3_rc3::IfcMaterialProfileSet::Name() const { i void Ifc4x3_rc3::IfcMaterialProfileSet::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_rc3::IfcMaterialProfileSet::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcMaterialProfileSet::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x3_rc3::IfcMaterialProfile > Ifc4x3_rc3::IfcMaterialProfileSet::MaterialProfiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcMaterialProfile>(es); } -void Ifc4x3_rc3::IfcMaterialProfileSet::setMaterialProfiles(const std::vector< ::Ifc4x3_rc3::IfcMaterialProfile >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcCompositeProfileDef Ifc4x3_rc3::IfcMaterialProfileSet::CompositeProfile() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcCompositeProfileDef{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcCompositeProfileDef>(); } +std::vector< ::Ifc4x3_rc3::IfcMaterialProfile > Ifc4x3_rc3::IfcMaterialProfileSet::MaterialProfiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcMaterialProfile>(es); } +void Ifc4x3_rc3::IfcMaterialProfileSet::setMaterialProfiles(const std::vector< ::Ifc4x3_rc3::IfcMaterialProfile >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +::Ifc4x3_rc3::IfcCompositeProfileDef Ifc4x3_rc3::IfcMaterialProfileSet::CompositeProfile() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcCompositeProfileDef{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcCompositeProfileDef>(); } void Ifc4x3_rc3::IfcMaterialProfileSet::setCompositeProfile(const ::Ifc4x3_rc3::IfcCompositeProfileDef& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialProfileSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[652]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialProfileSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[651]); } +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>(); } +::Ifc4x3_rc3::IfcMaterialProfileSet Ifc4x3_rc3::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcMaterialProfileSet>(); } void Ifc4x3_rc3::IfcMaterialProfileSetUsage::setForProfileSet(const ::Ifc4x3_rc3::IfcMaterialProfileSet& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< int64_t > Ifc4x3_rc3::IfcMaterialProfileSetUsage::CardinalPoint() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcMaterialProfileSetUsage::setCardinalPoint(const std::optional< int64_t >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } @@ -12021,17 +11990,17 @@ std::optional< double > Ifc4x3_rc3::IfcMaterialProfileSetUsage::ReferenceExtent( void Ifc4x3_rc3::IfcMaterialProfileSetUsage::setReferenceExtent(const std::optional< double >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialProfileSetUsage::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[653]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialProfileSetUsage::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[652]); } Ifc4x3_rc3::IfcMaterialProfileSetUsage Ifc4x3_rc3::IfcMaterialProfileSetUsage::initialize(::Ifc4x3_rc3::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int64_t > 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>(); } +::Ifc4x3_rc3::IfcMaterialProfileSet Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcMaterialProfileSet>(); } void Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(const ::Ifc4x3_rc3::IfcMaterialProfileSet& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< int64_t > Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(const std::optional< int64_t >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[654]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[653]); } Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::initialize(::Ifc4x3_rc3::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int64_t > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3_rc3::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int64_t > 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 @@ -12039,44 +12008,44 @@ std::vector< double > /*[1:2]*/ Ifc4x3_rc3::IfcMaterialProfileWithOffsets::Offse void Ifc4x3_rc3::IfcMaterialProfileWithOffsets::setOffsetValues(const std::vector< double > /*[1:2]*/& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialProfileWithOffsets::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[655]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialProfileWithOffsets::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[654]); } 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< int64_t > 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>(); } +::Ifc4x3_rc3::IfcMaterialDefinition Ifc4x3_rc3::IfcMaterialProperties::Material() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcMaterialDefinition>(); } void Ifc4x3_rc3::IfcMaterialProperties::setMaterial(const ::Ifc4x3_rc3::IfcMaterialDefinition& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[656]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[655]); } +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>(); } +::Ifc4x3_rc3::IfcMaterial Ifc4x3_rc3::IfcMaterialRelationship::RelatingMaterial() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcMaterial>(); } void Ifc4x3_rc3::IfcMaterialRelationship::setRelatingMaterial(const ::Ifc4x3_rc3::IfcMaterial& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_rc3::IfcMaterial > Ifc4x3_rc3::IfcMaterialRelationship::RelatedMaterials() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc3::IfcMaterial>(es); } -void Ifc4x3_rc3::IfcMaterialRelationship::setRelatedMaterials(const std::vector< ::Ifc4x3_rc3::IfcMaterial >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc3::IfcMaterial > Ifc4x3_rc3::IfcMaterialRelationship::RelatedMaterials() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc3::IfcMaterial>(es); } +void Ifc4x3_rc3::IfcMaterialRelationship::setRelatedMaterials(const std::vector< ::Ifc4x3_rc3::IfcMaterial >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc3::IfcMaterialRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcMaterialRelationship::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[657]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[656]); } +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)); } +std::vector<::Ifc4x3_rc3::IfcRelAssociatesMaterial> Ifc4x3_rc3::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[918], 5)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialUsageDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[659]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialUsageDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[658]); } 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>(); } +::Ifc4x3_rc3::IfcValue Ifc4x3_rc3::IfcMeasureWithUnit::ValueComponent() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcValue>(); } void Ifc4x3_rc3::IfcMeasureWithUnit::setValueComponent(const ::Ifc4x3_rc3::IfcValue& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcUnit Ifc4x3_rc3::IfcMeasureWithUnit::UnitComponent() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcUnit>(); } +::Ifc4x3_rc3::IfcUnit Ifc4x3_rc3::IfcMeasureWithUnit::UnitComponent() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcUnit>(); } void Ifc4x3_rc3::IfcMeasureWithUnit::setUnitComponent(const ::Ifc4x3_rc3::IfcUnit& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMeasureWithUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[661]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMeasureWithUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[660]); } 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 @@ -12088,7 +12057,7 @@ std::optional< ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value > Ifc4x3_rc3:: void Ifc4x3_rc3::IfcMechanicalFastener::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value >& v) { if (v) {set_attribute_value(10, enumeration_reference(&::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMechanicalFastener::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[662]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMechanicalFastener::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[661]); } 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 @@ -12100,15 +12069,15 @@ std::optional< double > Ifc4x3_rc3::IfcMechanicalFastenerType::NominalLength() c void Ifc4x3_rc3::IfcMechanicalFastenerType::setNominalLength(const std::optional< double >& v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMechanicalFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[663]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMechanicalFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[662]); } +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)); } void Ifc4x3_rc3::IfcMedicalDevice::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMedicalDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[665]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMedicalDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[664]); } 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 @@ -12116,21 +12085,21 @@ Ifc4x3_rc3::IfcMedicalDevice Ifc4x3_rc3::IfcMedicalDevice::initialize(std::strin void Ifc4x3_rc3::IfcMedicalDeviceType::setPredefinedType(const ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMedicalDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[666]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMedicalDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[665]); } +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)); } void Ifc4x3_rc3::IfcMember::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcMemberTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcMemberTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMember::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[668]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMember::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[667]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMemberStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[668]); } 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 @@ -12138,27 +12107,27 @@ Ifc4x3_rc3::IfcMemberStandardCase Ifc4x3_rc3::IfcMemberStandardCase::initialize( void Ifc4x3_rc3::IfcMemberType::setPredefinedType(const ::Ifc4x3_rc3::IfcMemberTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMemberType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[670]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMemberType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[669]); } +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)); } void Ifc4x3_rc3::IfcMetric::setBenchmark(const ::Ifc4x3_rc3::IfcBenchmarkEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4x3_rc3::IfcBenchmarkEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } std::optional< std::string > Ifc4x3_rc3::IfcMetric::ValueSource() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcMetric::setValueSource(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_rc3::IfcMetricValueSelect Ifc4x3_rc3::IfcMetric::DataValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc3::IfcMetricValueSelect{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc3::IfcMetricValueSelect>(); } +::Ifc4x3_rc3::IfcMetricValueSelect Ifc4x3_rc3::IfcMetric::DataValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc3::IfcMetricValueSelect{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc3::IfcMetricValueSelect>(); } void Ifc4x3_rc3::IfcMetric::setDataValue(const ::Ifc4x3_rc3::IfcMetricValueSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc3::IfcReference Ifc4x3_rc3::IfcMetric::ReferencePath() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc3::IfcReference{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_rc3::IfcReference>(); } +::Ifc4x3_rc3::IfcReference Ifc4x3_rc3::IfcMetric::ReferencePath() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc3::IfcReference{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x3_rc3::IfcReference>(); } void Ifc4x3_rc3::IfcMetric::setReferencePath(const ::Ifc4x3_rc3::IfcReference& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMetric::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[672]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMetric::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[671]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMirroredProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[673]); } 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 @@ -12166,7 +12135,7 @@ std::optional< ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value void Ifc4x3_rc3::IfcMobileTelecommunicationsAppliance::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMobileTelecommunicationsAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[675]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMobileTelecommunicationsAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[674]); } 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 @@ -12174,15 +12143,15 @@ Ifc4x3_rc3::IfcMobileTelecommunicationsAppliance Ifc4x3_rc3::IfcMobileTelecommun void Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceType::setPredefinedType(const ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[676]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[675]); } +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; } void Ifc4x3_rc3::IfcMonetaryUnit::setCurrency(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMonetaryUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[689]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMonetaryUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[688]); } Ifc4x3_rc3::IfcMonetaryUnit Ifc4x3_rc3::IfcMonetaryUnit::initialize(std::string v1_Currency) { set_attribute_value(0, (v1_Currency));; return *this; } // Function implementations for IfcMooringDevice @@ -12190,7 +12159,7 @@ std::optional< ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value > Ifc4x3_rc3::IfcMo void Ifc4x3_rc3::IfcMooringDevice::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMooringDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[691]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMooringDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[690]); } 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 @@ -12198,15 +12167,15 @@ Ifc4x3_rc3::IfcMooringDevice Ifc4x3_rc3::IfcMooringDevice::initialize(std::strin void Ifc4x3_rc3::IfcMooringDeviceType::setPredefinedType(const ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMooringDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[692]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMooringDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[691]); } +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)); } void Ifc4x3_rc3::IfcMotorConnection::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMotorConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[694]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMotorConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[693]); } 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 @@ -12214,17 +12183,17 @@ Ifc4x3_rc3::IfcMotorConnection Ifc4x3_rc3::IfcMotorConnection::initialize(std::s void Ifc4x3_rc3::IfcMotorConnectionType::setPredefinedType(const ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcMotorConnectionType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[695]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcMotorConnectionType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[694]); } +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>(); } +::Ifc4x3_rc3::IfcDimensionalExponents Ifc4x3_rc3::IfcNamedUnit::Dimensions() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcDimensionalExponents>(); } void Ifc4x3_rc3::IfcNamedUnit::setDimensions(const ::Ifc4x3_rc3::IfcDimensionalExponents& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_rc3::IfcUnitEnum::Value Ifc4x3_rc3::IfcNamedUnit::UnitType() const { return ::Ifc4x3_rc3::IfcUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x3_rc3::IfcNamedUnit::setUnitType(const ::Ifc4x3_rc3::IfcUnitEnum::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4x3_rc3::IfcUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcNamedUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[697]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcNamedUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[696]); } 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 @@ -12232,7 +12201,7 @@ std::optional< ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value > Ifc4x3_rc3::I void Ifc4x3_rc3::IfcNavigationElement::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcNavigationElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[698]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcNavigationElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[697]); } 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 @@ -12240,46 +12209,46 @@ Ifc4x3_rc3::IfcNavigationElement Ifc4x3_rc3::IfcNavigationElement::initialize(st void Ifc4x3_rc3::IfcNavigationElementType::setPredefinedType(const ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcNavigationElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[699]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcNavigationElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[698]); } +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; } void Ifc4x3_rc3::IfcObject::setObjectType(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector<::Ifc4x3_rc3::IfcRelDefinesByObject> Ifc4x3_rc3::IfcObject::IsDeclaredBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[938], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelDefinesByObject> Ifc4x3_rc3::IfcObject::Declares() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[938], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelDefinesByType> Ifc4x3_rc3::IfcObject::IsTypedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[941], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelDefinesByProperties> Ifc4x3_rc3::IfcObject::IsDefinedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[939], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelDefinesByObject> Ifc4x3_rc3::IfcObject::IsDeclaredBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[936], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelDefinesByObject> Ifc4x3_rc3::IfcObject::Declares() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[936], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelDefinesByType> Ifc4x3_rc3::IfcObject::IsTypedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[939], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelDefinesByProperties> Ifc4x3_rc3::IfcObject::IsDefinedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[937], 4)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcObject::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[704]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcObject::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[703]); } 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 -std::vector<::Ifc4x3_rc3::IfcRelAssigns> Ifc4x3_rc3::IfcObjectDefinition::HasAssignments() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[906], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelNests> Ifc4x3_rc3::IfcObjectDefinition::Nests() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[945], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelNests> Ifc4x3_rc3::IfcObjectDefinition::IsNestedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[945], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelDeclares> Ifc4x3_rc3::IfcObjectDefinition::HasContext() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[935], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelAggregates> Ifc4x3_rc3::IfcObjectDefinition::IsDecomposedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[905], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelAggregates> Ifc4x3_rc3::IfcObjectDefinition::Decomposes() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[905], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelAssociates> Ifc4x3_rc3::IfcObjectDefinition::HasAssociations() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[914], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelAssigns> Ifc4x3_rc3::IfcObjectDefinition::HasAssignments() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[904], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelNests> Ifc4x3_rc3::IfcObjectDefinition::Nests() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[943], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelNests> Ifc4x3_rc3::IfcObjectDefinition::IsNestedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[943], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelDeclares> Ifc4x3_rc3::IfcObjectDefinition::HasContext() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[933], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelAggregates> Ifc4x3_rc3::IfcObjectDefinition::IsDecomposedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[903], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelAggregates> Ifc4x3_rc3::IfcObjectDefinition::Decomposes() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[903], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelAssociates> Ifc4x3_rc3::IfcObjectDefinition::HasAssociations() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[912], 4)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcObjectDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[705]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcObjectDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[704]); } 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>(); } +::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>(); } void Ifc4x3_rc3::IfcObjectPlacement::setPlacementRelTo(const ::Ifc4x3_rc3::IfcObjectPlacement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector<::Ifc4x3_rc3::IfcProduct> Ifc4x3_rc3::IfcObjectPlacement::PlacesObject() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[808], 5)); } +std::vector<::Ifc4x3_rc3::IfcProduct> Ifc4x3_rc3::IfcObjectPlacement::PlacesObject() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[806], 5)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcObjectPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[708]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcObjectPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[707]); } 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); } -void Ifc4x3_rc3::IfcObjective::setBenchmarkValues(const std::optional< std::vector< ::Ifc4x3_rc3::IfcConstraint > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +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); } +void Ifc4x3_rc3::IfcObjective::setBenchmarkValues(const std::optional< std::vector< ::Ifc4x3_rc3::IfcConstraint > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< ::Ifc4x3_rc3::IfcLogicalOperatorEnum::Value > Ifc4x3_rc3::IfcObjective::LogicalAggregator() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcLogicalOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcObjective::setLogicalAggregator(const std::optional< ::Ifc4x3_rc3::IfcLogicalOperatorEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcLogicalOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3_rc3::IfcObjectiveEnum::Value Ifc4x3_rc3::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x3_rc3::IfcObjectiveEnum::FromString(get_attribute_value(9)); } @@ -12288,23 +12257,23 @@ std::optional< std::string > Ifc4x3_rc3::IfcObjective::UserDefinedQualifier() co void Ifc4x3_rc3::IfcObjective::setUserDefinedQualifier(const std::optional< std::string >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcObjective::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[706]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcObjective::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[705]); } +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)); } void Ifc4x3_rc3::IfcOccupant::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcOccupantTypeEnum::Value >& v) { if (v) {set_attribute_value(6, enumeration_reference(&::Ifc4x3_rc3::IfcOccupantTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcOccupant::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[711]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcOccupant::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[710]); } 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>(); } +::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcOffsetCurve::BasisCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCurve>(); } void Ifc4x3_rc3::IfcOffsetCurve::setBasisCurve(const ::Ifc4x3_rc3::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcOffsetCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[713]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcOffsetCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[712]); } Ifc4x3_rc3::IfcOffsetCurve Ifc4x3_rc3::IfcOffsetCurve::initialize(::Ifc4x3_rc3::IfcCurve v1_BasisCurve) { set_attribute_value(0, (v1_BasisCurve));; return *this; } // Function implementations for IfcOffsetCurve2D @@ -12314,7 +12283,7 @@ boost::logic::tribool Ifc4x3_rc3::IfcOffsetCurve2D::SelfIntersect() const { boo void Ifc4x3_rc3::IfcOffsetCurve2D::setSelfIntersect(const boost::logic::tribool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcOffsetCurve2D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[714]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcOffsetCurve2D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[713]); } 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 @@ -12322,22 +12291,22 @@ double Ifc4x3_rc3::IfcOffsetCurve3D::Distance() const { double v = get_attribut void Ifc4x3_rc3::IfcOffsetCurve3D::setDistance(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } boost::logic::tribool Ifc4x3_rc3::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcOffsetCurve3D::setSelfIntersect(const boost::logic::tribool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcOffsetCurve3D::RefDirection() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcDirection>(); } +::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcOffsetCurve3D::RefDirection() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcDirection>(); } void Ifc4x3_rc3::IfcOffsetCurve3D::setRefDirection(const ::Ifc4x3_rc3::IfcDirection& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcOffsetCurve3D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[715]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcOffsetCurve3D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[714]); } 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); } -void Ifc4x3_rc3::IfcOffsetCurveByDistances::setOffsetValues(const std::vector< ::Ifc4x3_rc3::IfcPointByDistanceExpression >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc3::IfcPointByDistanceExpression > Ifc4x3_rc3::IfcOffsetCurveByDistances::OffsetValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcPointByDistanceExpression>(es); } +void Ifc4x3_rc3::IfcOffsetCurveByDistances::setOffsetValues(const std::vector< ::Ifc4x3_rc3::IfcPointByDistanceExpression >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_rc3::IfcOffsetCurveByDistances::Tag() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcOffsetCurveByDistances::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcOffsetCurveByDistances::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[716]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcOffsetCurveByDistances::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[715]); } +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; } @@ -12350,28 +12319,28 @@ std::optional< std::vector< std::string > /*[2:?]*/ > Ifc4x3_rc3::IfcOpenCrossPr void Ifc4x3_rc3::IfcOpenCrossProfileDef::setTags(const std::optional< std::vector< std::string > /*[2:?]*/ >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcOpenCrossProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[717]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcOpenCrossProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[716]); } 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]); } -Ifc4x3_rc3::IfcOpenShell Ifc4x3_rc3::IfcOpenShell::initialize(std::vector< ::Ifc4x3_rc3::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcOpenShell::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[720]); } +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)); } void Ifc4x3_rc3::IfcOpeningElement::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcOpeningElementTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcOpeningElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_rc3::IfcRelFillsElement> Ifc4x3_rc3::IfcOpeningElement::HasFillings() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[942], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelFillsElement> Ifc4x3_rc3::IfcOpeningElement::HasFillings() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[940], 4)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcOpeningElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[718]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcOpeningElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[717]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcOpeningStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[719]); } 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 @@ -12381,50 +12350,50 @@ std::string Ifc4x3_rc3::IfcOrganization::Name() const { std::string v = get_att void Ifc4x3_rc3::IfcOrganization::setName(const std::string& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_rc3::IfcOrganization::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcOrganization::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::optional< std::vector< ::Ifc4x3_rc3::IfcActorRole > > Ifc4x3_rc3::IfcOrganization::Roles() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc3::IfcActorRole>(es); } -void Ifc4x3_rc3::IfcOrganization::setRoles(const std::optional< std::vector< ::Ifc4x3_rc3::IfcActorRole > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } -std::optional< std::vector< ::Ifc4x3_rc3::IfcAddress > > Ifc4x3_rc3::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc3::IfcAddress>(es); } -void Ifc4x3_rc3::IfcOrganization::setAddresses(const std::optional< std::vector< ::Ifc4x3_rc3::IfcAddress > >& v) { if (v) {set_attribute_value(4, cast_vector(*v));} else {unset_attribute_value(4);} } +std::optional< std::vector< ::Ifc4x3_rc3::IfcActorRole > > Ifc4x3_rc3::IfcOrganization::Roles() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc3::IfcActorRole>(es); } +void Ifc4x3_rc3::IfcOrganization::setRoles(const std::optional< std::vector< ::Ifc4x3_rc3::IfcActorRole > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } +std::optional< std::vector< ::Ifc4x3_rc3::IfcAddress > > Ifc4x3_rc3::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc3::IfcAddress>(es); } +void Ifc4x3_rc3::IfcOrganization::setAddresses(const std::optional< std::vector< ::Ifc4x3_rc3::IfcAddress > >& v) { if (v) {set_attribute_value(4, cast_vector(*v));} else {unset_attribute_value(4);} } -std::vector<::Ifc4x3_rc3::IfcOrganizationRelationship> Ifc4x3_rc3::IfcOrganization::IsRelatedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[723], 3)); } -std::vector<::Ifc4x3_rc3::IfcOrganizationRelationship> Ifc4x3_rc3::IfcOrganization::Relates() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[723], 2)); } -std::vector<::Ifc4x3_rc3::IfcPersonAndOrganization> Ifc4x3_rc3::IfcOrganization::Engages() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[744], 1)); } +std::vector<::Ifc4x3_rc3::IfcOrganizationRelationship> Ifc4x3_rc3::IfcOrganization::IsRelatedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[722], 3)); } +std::vector<::Ifc4x3_rc3::IfcOrganizationRelationship> Ifc4x3_rc3::IfcOrganization::Relates() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[722], 2)); } +std::vector<::Ifc4x3_rc3::IfcPersonAndOrganization> Ifc4x3_rc3::IfcOrganization::Engages() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[742], 1)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcOrganization::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[722]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcOrganization::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[721]); } +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>(); } +::Ifc4x3_rc3::IfcOrganization Ifc4x3_rc3::IfcOrganizationRelationship::RelatingOrganization() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcOrganization>(); } void Ifc4x3_rc3::IfcOrganizationRelationship::setRelatingOrganization(const ::Ifc4x3_rc3::IfcOrganization& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_rc3::IfcOrganization > Ifc4x3_rc3::IfcOrganizationRelationship::RelatedOrganizations() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc3::IfcOrganization>(es); } -void Ifc4x3_rc3::IfcOrganizationRelationship::setRelatedOrganizations(const std::vector< ::Ifc4x3_rc3::IfcOrganization >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc3::IfcOrganization > Ifc4x3_rc3::IfcOrganizationRelationship::RelatedOrganizations() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc3::IfcOrganization>(es); } +void Ifc4x3_rc3::IfcOrganizationRelationship::setRelatedOrganizations(const std::vector< ::Ifc4x3_rc3::IfcOrganization >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcOrganizationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[723]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcOrganizationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[722]); } +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>(); } +::Ifc4x3_rc3::IfcEdge Ifc4x3_rc3::IfcOrientedEdge::EdgeElement() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcEdge>(); } void Ifc4x3_rc3::IfcOrientedEdge::setEdgeElement(const ::Ifc4x3_rc3::IfcEdge& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } bool Ifc4x3_rc3::IfcOrientedEdge::Orientation() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcOrientedEdge::setOrientation(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcOrientedEdge::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[724]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcOrientedEdge::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[723]); } 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]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcOuterBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[724]); } +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)); } void Ifc4x3_rc3::IfcOutlet::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcOutletTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcOutletTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcOutlet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[726]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcOutlet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[725]); } 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 @@ -12432,13 +12401,13 @@ Ifc4x3_rc3::IfcOutlet Ifc4x3_rc3::IfcOutlet::initialize(std::string v1_GlobalId, void Ifc4x3_rc3::IfcOutletType::setPredefinedType(const ::Ifc4x3_rc3::IfcOutletTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcOutletTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcOutletType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[727]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcOutletType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[726]); } +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>(); } +::Ifc4x3_rc3::IfcPersonAndOrganization Ifc4x3_rc3::IfcOwnerHistory::OwningUser() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcPersonAndOrganization>(); } void Ifc4x3_rc3::IfcOwnerHistory::setOwningUser(const ::Ifc4x3_rc3::IfcPersonAndOrganization& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcApplication Ifc4x3_rc3::IfcOwnerHistory::OwningApplication() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcApplication>(); } +::Ifc4x3_rc3::IfcApplication Ifc4x3_rc3::IfcOwnerHistory::OwningApplication() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcApplication>(); } void Ifc4x3_rc3::IfcOwnerHistory::setOwningApplication(const ::Ifc4x3_rc3::IfcApplication& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< ::Ifc4x3_rc3::IfcStateEnum::Value > Ifc4x3_rc3::IfcOwnerHistory::State() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcStateEnum::FromString(get_attribute_value(2)); } void Ifc4x3_rc3::IfcOwnerHistory::setState(const std::optional< ::Ifc4x3_rc3::IfcStateEnum::Value >& v) { if (v) {set_attribute_value(2, enumeration_reference(&::Ifc4x3_rc3::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } @@ -12446,57 +12415,57 @@ std::optional< ::Ifc4x3_rc3::IfcChangeActionEnum::Value > Ifc4x3_rc3::IfcOwnerHi void Ifc4x3_rc3::IfcOwnerHistory::setChangeAction(const std::optional< ::Ifc4x3_rc3::IfcChangeActionEnum::Value >& v) { if (v) {set_attribute_value(3, enumeration_reference(&::Ifc4x3_rc3::IfcChangeActionEnum::Class(), (size_t) *v));} else {unset_attribute_value(3);} } std::optional< int64_t > Ifc4x3_rc3::IfcOwnerHistory::LastModifiedDate() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcOwnerHistory::setLastModifiedDate(const std::optional< int64_t >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc3::IfcPersonAndOrganization Ifc4x3_rc3::IfcOwnerHistory::LastModifyingUser() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc3::IfcPersonAndOrganization{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcPersonAndOrganization>(); } +::Ifc4x3_rc3::IfcPersonAndOrganization Ifc4x3_rc3::IfcOwnerHistory::LastModifyingUser() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc3::IfcPersonAndOrganization{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcPersonAndOrganization>(); } void Ifc4x3_rc3::IfcOwnerHistory::setLastModifyingUser(const ::Ifc4x3_rc3::IfcPersonAndOrganization& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc3::IfcApplication Ifc4x3_rc3::IfcOwnerHistory::LastModifyingApplication() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcApplication{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcApplication>(); } +::Ifc4x3_rc3::IfcApplication Ifc4x3_rc3::IfcOwnerHistory::LastModifyingApplication() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcApplication{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcApplication>(); } void Ifc4x3_rc3::IfcOwnerHistory::setLastModifyingApplication(const ::Ifc4x3_rc3::IfcApplication& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } int64_t Ifc4x3_rc3::IfcOwnerHistory::CreationDate() const { int64_t v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcOwnerHistory::setCreationDate(const int64_t& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcOwnerHistory::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[729]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcOwnerHistory::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[728]); } 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< int64_t > v5_LastModifiedDate, ::Ifc4x3_rc3::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_rc3::IfcApplication v7_LastModifyingApplication, int64_t 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>(); } +::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>(); } void Ifc4x3_rc3::IfcParameterizedProfileDef::setPosition(const ::Ifc4x3_rc3::IfcAxis2Placement2D& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcParameterizedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[730]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcParameterizedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[729]); } 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); } -void Ifc4x3_rc3::IfcPath::setEdgeList(const std::vector< ::Ifc4x3_rc3::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc3::IfcOrientedEdge > Ifc4x3_rc3::IfcPath::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcOrientedEdge>(es); } +void Ifc4x3_rc3::IfcPath::setEdgeList(const std::vector< ::Ifc4x3_rc3::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPath::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[732]); } -Ifc4x3_rc3::IfcPath Ifc4x3_rc3::IfcPath::initialize(std::vector< ::Ifc4x3_rc3::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPath::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[731]); } +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)); } -void Ifc4x3_rc3::IfcPavement::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcPavementTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcPavementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } +std::optional< bool > Ifc4x3_rc3::IfcPavement::Flexible() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } bool v = get_attribute_value(8); return v; } +void Ifc4x3_rc3::IfcPavement::setFlexible(const std::optional< bool >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPavement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[733]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPavement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[732]); } +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< 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 -::Ifc4x3_rc3::IfcPavementTypeEnum::Value Ifc4x3_rc3::IfcPavementType::PredefinedType() const { return ::Ifc4x3_rc3::IfcPavementTypeEnum::FromString(get_attribute_value(9)); } -void Ifc4x3_rc3::IfcPavementType::setPredefinedType(const ::Ifc4x3_rc3::IfcPavementTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcPavementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } +bool Ifc4x3_rc3::IfcPavementType::Flexible() const { bool v = get_attribute_value(9); return v; } +void Ifc4x3_rc3::IfcPavementType::setFlexible(const bool& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPavementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[734]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPavementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[733]); } +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, 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_rc3::IfcSurface Ifc4x3_rc3::IfcPcurve::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcSurface>(); } +::Ifc4x3_rc3::IfcSurface Ifc4x3_rc3::IfcPcurve::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcSurface>(); } void Ifc4x3_rc3::IfcPcurve::setBasisSurface(const ::Ifc4x3_rc3::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcPcurve::ReferenceCurve() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcCurve>(); } +::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcPcurve::ReferenceCurve() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcCurve>(); } void Ifc4x3_rc3::IfcPcurve::setReferenceCurve(const ::Ifc4x3_rc3::IfcCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPcurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[736]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPcurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[734]); } 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 @@ -12506,7 +12475,7 @@ std::optional< ::Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::Value > Ifc4x3_rc3:: void Ifc4x3_rc3::IfcPerformanceHistory::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::Value >& v) { if (v) {set_attribute_value(7, enumeration_reference(&::Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPerformanceHistory::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[737]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPerformanceHistory::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[735]); } 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 @@ -12518,11 +12487,11 @@ std::optional< double > Ifc4x3_rc3::IfcPermeableCoveringProperties::FrameDepth() void Ifc4x3_rc3::IfcPermeableCoveringProperties::setFrameDepth(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } std::optional< double > Ifc4x3_rc3::IfcPermeableCoveringProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcPermeableCoveringProperties::setFrameThickness(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc3::IfcShapeAspect Ifc4x3_rc3::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc3::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc3::IfcShapeAspect>(); } +::Ifc4x3_rc3::IfcShapeAspect Ifc4x3_rc3::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc3::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc3::IfcShapeAspect>(); } void Ifc4x3_rc3::IfcPermeableCoveringProperties::setShapeAspectStyle(const ::Ifc4x3_rc3::IfcShapeAspect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPermeableCoveringProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[740]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPermeableCoveringProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[738]); } 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 @@ -12534,7 +12503,7 @@ std::optional< std::string > Ifc4x3_rc3::IfcPermit::LongDescription() const { if void Ifc4x3_rc3::IfcPermit::setLongDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPermit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[741]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPermit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[739]); } 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 @@ -12550,31 +12519,31 @@ std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcPerson::Pre void Ifc4x3_rc3::IfcPerson::setPrefixTitles(const std::optional< std::vector< std::string > /*[1:?]*/ >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcPerson::SuffixTitles() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcPerson::setSuffixTitles(const std::optional< std::vector< std::string > /*[1:?]*/ >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::optional< std::vector< ::Ifc4x3_rc3::IfcActorRole > > Ifc4x3_rc3::IfcPerson::Roles() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc3::IfcActorRole>(es); } -void Ifc4x3_rc3::IfcPerson::setRoles(const std::optional< std::vector< ::Ifc4x3_rc3::IfcActorRole > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x3_rc3::IfcAddress > > Ifc4x3_rc3::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc3::IfcAddress>(es); } -void Ifc4x3_rc3::IfcPerson::setAddresses(const std::optional< std::vector< ::Ifc4x3_rc3::IfcAddress > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x3_rc3::IfcActorRole > > Ifc4x3_rc3::IfcPerson::Roles() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc3::IfcActorRole>(es); } +void Ifc4x3_rc3::IfcPerson::setRoles(const std::optional< std::vector< ::Ifc4x3_rc3::IfcActorRole > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +std::optional< std::vector< ::Ifc4x3_rc3::IfcAddress > > Ifc4x3_rc3::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc3::IfcAddress>(es); } +void Ifc4x3_rc3::IfcPerson::setAddresses(const std::optional< std::vector< ::Ifc4x3_rc3::IfcAddress > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3_rc3::IfcPersonAndOrganization> Ifc4x3_rc3::IfcPerson::EngagedIn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[744], 0)); } +std::vector<::Ifc4x3_rc3::IfcPersonAndOrganization> Ifc4x3_rc3::IfcPerson::EngagedIn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[742], 0)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPerson::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[743]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPerson::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[741]); } +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>(); } +::Ifc4x3_rc3::IfcPerson Ifc4x3_rc3::IfcPersonAndOrganization::ThePerson() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcPerson>(); } void Ifc4x3_rc3::IfcPersonAndOrganization::setThePerson(const ::Ifc4x3_rc3::IfcPerson& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcOrganization Ifc4x3_rc3::IfcPersonAndOrganization::TheOrganization() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcOrganization>(); } +::Ifc4x3_rc3::IfcOrganization Ifc4x3_rc3::IfcPersonAndOrganization::TheOrganization() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcOrganization>(); } void Ifc4x3_rc3::IfcPersonAndOrganization::setTheOrganization(const ::Ifc4x3_rc3::IfcOrganization& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::optional< std::vector< ::Ifc4x3_rc3::IfcActorRole > > Ifc4x3_rc3::IfcPersonAndOrganization::Roles() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcActorRole>(es); } -void Ifc4x3_rc3::IfcPersonAndOrganization::setRoles(const std::optional< std::vector< ::Ifc4x3_rc3::IfcActorRole > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4x3_rc3::IfcActorRole > > Ifc4x3_rc3::IfcPersonAndOrganization::Roles() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcActorRole>(es); } +void Ifc4x3_rc3::IfcPersonAndOrganization::setRoles(const std::optional< std::vector< ::Ifc4x3_rc3::IfcActorRole > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPersonAndOrganization::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[744]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPersonAndOrganization::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[742]); } +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); } -void Ifc4x3_rc3::IfcPhysicalComplexQuantity::setHasQuantities(const std::vector< ::Ifc4x3_rc3::IfcPhysicalQuantity >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc3::IfcPhysicalQuantity > Ifc4x3_rc3::IfcPhysicalComplexQuantity::HasQuantities() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcPhysicalQuantity>(es); } +void Ifc4x3_rc3::IfcPhysicalComplexQuantity::setHasQuantities(const std::vector< ::Ifc4x3_rc3::IfcPhysicalQuantity >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::string Ifc4x3_rc3::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcPhysicalComplexQuantity::setDiscrimination(const std::string& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc3::IfcPhysicalComplexQuantity::Quality() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -12583,8 +12552,8 @@ std::optional< std::string > Ifc4x3_rc3::IfcPhysicalComplexQuantity::Usage() con void Ifc4x3_rc3::IfcPhysicalComplexQuantity::setUsage(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPhysicalComplexQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[746]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPhysicalComplexQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[744]); } +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; } @@ -12592,18 +12561,18 @@ void Ifc4x3_rc3::IfcPhysicalQuantity::setName(const std::string& v) { set_attrib std::optional< std::string > Ifc4x3_rc3::IfcPhysicalQuantity::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcPhysicalQuantity::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcPhysicalQuantity::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[434], 3)); } -std::vector<::Ifc4x3_rc3::IfcPhysicalComplexQuantity> Ifc4x3_rc3::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[746], 2)); } +std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcPhysicalQuantity::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[433], 3)); } +std::vector<::Ifc4x3_rc3::IfcPhysicalComplexQuantity> Ifc4x3_rc3::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[744], 2)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPhysicalQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[748]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPhysicalQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[746]); } 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>(); } +::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>(); } void Ifc4x3_rc3::IfcPhysicalSimpleQuantity::setUnit(const ::Ifc4x3_rc3::IfcNamedUnit& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPhysicalSimpleQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[749]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPhysicalSimpleQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[747]); } 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 @@ -12613,7 +12582,7 @@ std::optional< ::Ifc4x3_rc3::IfcPileConstructionEnum::Value > Ifc4x3_rc3::IfcPil void Ifc4x3_rc3::IfcPile::setConstructionType(const std::optional< ::Ifc4x3_rc3::IfcPileConstructionEnum::Value >& v) { if (v) {set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcPileConstructionEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPile::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[750]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPile::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[748]); } 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 @@ -12621,15 +12590,15 @@ Ifc4x3_rc3::IfcPile Ifc4x3_rc3::IfcPile::initialize(std::string v1_GlobalId, ::I void Ifc4x3_rc3::IfcPileType::setPredefinedType(const ::Ifc4x3_rc3::IfcPileTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcPileTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPileType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[752]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPileType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[750]); } +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)); } void Ifc4x3_rc3::IfcPipeFitting::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPipeFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[754]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPipeFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[752]); } 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 @@ -12637,15 +12606,15 @@ Ifc4x3_rc3::IfcPipeFitting Ifc4x3_rc3::IfcPipeFitting::initialize(std::string v1 void Ifc4x3_rc3::IfcPipeFittingType::setPredefinedType(const ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPipeFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[755]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPipeFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[753]); } +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)); } void Ifc4x3_rc3::IfcPipeSegment::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPipeSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[757]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPipeSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[755]); } 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 @@ -12653,8 +12622,8 @@ Ifc4x3_rc3::IfcPipeSegment Ifc4x3_rc3::IfcPipeSegment::initialize(std::string v1 void Ifc4x3_rc3::IfcPipeSegmentType::setPredefinedType(const ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPipeSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[758]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPipeSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[756]); } +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 int64_t Ifc4x3_rc3::IfcPixelTexture::Width() const { int64_t v = get_attribute_value(5); return v; } @@ -12667,23 +12636,23 @@ std::vector< boost::dynamic_bitset<> > /*[1:?]*/ Ifc4x3_rc3::IfcPixelTexture::Pi void Ifc4x3_rc3::IfcPixelTexture::setPixel(const std::vector< boost::dynamic_bitset<> > /*[1:?]*/& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPixelTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[760]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPixelTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[758]); } 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, int64_t v6_Width, int64_t v7_Height, int64_t 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>(); } +::Ifc4x3_rc3::IfcPoint Ifc4x3_rc3::IfcPlacement::Location() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcPoint>(); } void Ifc4x3_rc3::IfcPlacement::setLocation(const ::Ifc4x3_rc3::IfcPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[761]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[759]); } 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>(); } +::Ifc4x3_rc3::IfcAxis2Placement Ifc4x3_rc3::IfcPlanarBox::Placement() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcAxis2Placement>(); } void Ifc4x3_rc3::IfcPlanarBox::setPlacement(const ::Ifc4x3_rc3::IfcAxis2Placement& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPlanarBox::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[762]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPlanarBox::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[760]); } 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 @@ -12693,19 +12662,19 @@ double Ifc4x3_rc3::IfcPlanarExtent::SizeInY() const { double v = get_attribute_ void Ifc4x3_rc3::IfcPlanarExtent::setSizeInY(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPlanarExtent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[763]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPlanarExtent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[761]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPlane::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[763]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPlant::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[765]); } 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 @@ -12713,13 +12682,13 @@ std::optional< ::Ifc4x3_rc3::IfcPlateTypeEnum::Value > Ifc4x3_rc3::IfcPlate::Pre void Ifc4x3_rc3::IfcPlate::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcPlateTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcPlateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPlate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[768]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPlate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[766]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPlateStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[767]); } 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 @@ -12727,17 +12696,17 @@ Ifc4x3_rc3::IfcPlateStandardCase Ifc4x3_rc3::IfcPlateStandardCase::initialize(st void Ifc4x3_rc3::IfcPlateType::setPredefinedType(const ::Ifc4x3_rc3::IfcPlateTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcPlateTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPlateType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[770]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPlateType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[768]); } +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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPoint::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[770]); } 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>(); } +::Ifc4x3_rc3::IfcCurveMeasureSelect Ifc4x3_rc3::IfcPointByDistanceExpression::DistanceAlong() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCurveMeasureSelect>(); } void Ifc4x3_rc3::IfcPointByDistanceExpression::setDistanceAlong(const ::Ifc4x3_rc3::IfcCurveMeasureSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< double > Ifc4x3_rc3::IfcPointByDistanceExpression::OffsetLateral() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcPointByDistanceExpression::setOffsetLateral(const std::optional< double >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } @@ -12745,25 +12714,25 @@ std::optional< double > Ifc4x3_rc3::IfcPointByDistanceExpression::OffsetVertical void Ifc4x3_rc3::IfcPointByDistanceExpression::setOffsetVertical(const std::optional< double >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } std::optional< double > Ifc4x3_rc3::IfcPointByDistanceExpression::OffsetLongitudinal() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcPointByDistanceExpression::setOffsetLongitudinal(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcPointByDistanceExpression::BasisCurve() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcCurve>(); } +::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcPointByDistanceExpression::BasisCurve() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcCurve>(); } void Ifc4x3_rc3::IfcPointByDistanceExpression::setBasisCurve(const ::Ifc4x3_rc3::IfcCurve& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPointByDistanceExpression::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[773]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPointByDistanceExpression::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[771]); } 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>(); } +::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcPointOnCurve::BasisCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCurve>(); } void Ifc4x3_rc3::IfcPointOnCurve::setBasisCurve(const ::Ifc4x3_rc3::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc3::IfcPointOnCurve::PointParameter() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcPointOnCurve::setPointParameter(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPointOnCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[774]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPointOnCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[772]); } 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>(); } +::Ifc4x3_rc3::IfcSurface Ifc4x3_rc3::IfcPointOnSurface::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcSurface>(); } void Ifc4x3_rc3::IfcPointOnSurface::setBasisSurface(const ::Ifc4x3_rc3::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc3::IfcPointOnSurface::PointParameterU() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcPointOnSurface::setPointParameterU(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -12771,49 +12740,49 @@ double Ifc4x3_rc3::IfcPointOnSurface::PointParameterV() const { double v = get_ void Ifc4x3_rc3::IfcPointOnSurface::setPointParameterV(const double& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPointOnSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[775]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPointOnSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[773]); } 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); } -void Ifc4x3_rc3::IfcPolyLoop::setPolygon(const std::vector< ::Ifc4x3_rc3::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > Ifc4x3_rc3::IfcPolyLoop::Polygon() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcCartesianPoint>(es); } +void Ifc4x3_rc3::IfcPolyLoop::setPolygon(const std::vector< ::Ifc4x3_rc3::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPolyLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[780]); } -Ifc4x3_rc3::IfcPolyLoop Ifc4x3_rc3::IfcPolyLoop::initialize(std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon));; return *this; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPolyLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[778]); } +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>(); } +::Ifc4x3_rc3::IfcAxis2Placement3D Ifc4x3_rc3::IfcPolygonalBoundedHalfSpace::Position() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcAxis2Placement3D>(); } void Ifc4x3_rc3::IfcPolygonalBoundedHalfSpace::setPosition(const ::Ifc4x3_rc3::IfcAxis2Placement3D& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcBoundedCurve Ifc4x3_rc3::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcBoundedCurve>(); } +::Ifc4x3_rc3::IfcBoundedCurve Ifc4x3_rc3::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcBoundedCurve>(); } void Ifc4x3_rc3::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(const ::Ifc4x3_rc3::IfcBoundedCurve& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPolygonalBoundedHalfSpace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[777]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPolygonalBoundedHalfSpace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[775]); } 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; } void Ifc4x3_rc3::IfcPolygonalFaceSet::setClosed(const std::optional< bool >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x3_rc3::IfcIndexedPolygonalFace > Ifc4x3_rc3::IfcPolygonalFaceSet::Faces() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcIndexedPolygonalFace>(es); } -void Ifc4x3_rc3::IfcPolygonalFaceSet::setFaces(const std::vector< ::Ifc4x3_rc3::IfcIndexedPolygonalFace >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc3::IfcIndexedPolygonalFace > Ifc4x3_rc3::IfcPolygonalFaceSet::Faces() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcIndexedPolygonalFace>(es); } +void Ifc4x3_rc3::IfcPolygonalFaceSet::setFaces(const std::vector< ::Ifc4x3_rc3::IfcIndexedPolygonalFace >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::optional< std::vector< int64_t > /*[1:?]*/ > Ifc4x3_rc3::IfcPolygonalFaceSet::PnIndex() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< int64_t > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcPolygonalFaceSet::setPnIndex(const std::optional< std::vector< int64_t > /*[1:?]*/ >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPolygonalFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[778]); } -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< int64_t > /*[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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPolygonalFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[776]); } +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< int64_t > /*[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); } -void Ifc4x3_rc3::IfcPolyline::setPoints(const std::vector< ::Ifc4x3_rc3::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > Ifc4x3_rc3::IfcPolyline::Points() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcCartesianPoint>(es); } +void Ifc4x3_rc3::IfcPolyline::setPoints(const std::vector< ::Ifc4x3_rc3::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPolyline::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[779]); } -Ifc4x3_rc3::IfcPolyline Ifc4x3_rc3::IfcPolyline::initialize(std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points));; return *this; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPolyline::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[777]); } +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>(); } +::Ifc4x3_rc3::IfcPlacement Ifc4x3_rc3::IfcPolynomialCurve::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcPlacement>(); } void Ifc4x3_rc3::IfcPolynomialCurve::setPosition(const ::Ifc4x3_rc3::IfcPlacement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_rc3::IfcPolynomialCurve::CoefficientsX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector< double > /*[2:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcPolynomialCurve::setCoefficientsX(const std::optional< std::vector< double > /*[2:?]*/ >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } @@ -12823,24 +12792,24 @@ std::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_rc3::IfcPolynomialCurve: void Ifc4x3_rc3::IfcPolynomialCurve::setCoefficientsZ(const std::optional< std::vector< double > /*[2:?]*/ >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPolynomialCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[781]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPolynomialCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[779]); } 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 -std::vector<::Ifc4x3_rc3::IfcRelConnectsPortToElement> Ifc4x3_rc3::IfcPort::ContainedIn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[927], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelConnectsPorts> Ifc4x3_rc3::IfcPort::ConnectedFrom() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[926], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelConnectsPorts> Ifc4x3_rc3::IfcPort::ConnectedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[926], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelConnectsPortToElement> Ifc4x3_rc3::IfcPort::ContainedIn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[925], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelConnectsPorts> Ifc4x3_rc3::IfcPort::ConnectedFrom() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[924], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelConnectsPorts> Ifc4x3_rc3::IfcPort::ConnectedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[924], 4)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPort::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[782]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPort::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[780]); } 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 -std::vector<::Ifc4x3_rc3::IfcRelContainedInSpatialStructure> Ifc4x3_rc3::IfcPositioningElement::ContainedInStructure() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[932], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelPositions> Ifc4x3_rc3::IfcPositioningElement::Positions() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[946], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelContainedInSpatialStructure> Ifc4x3_rc3::IfcPositioningElement::ContainedInStructure() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[930], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelPositions> Ifc4x3_rc3::IfcPositioningElement::Positions() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[944], 4)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPositioningElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[783]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPositioningElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[781]); } 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 @@ -12860,19 +12829,19 @@ std::optional< std::string > Ifc4x3_rc3::IfcPostalAddress::Country() const { if( void Ifc4x3_rc3::IfcPostalAddress::setCountry(const std::optional< std::string >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPostalAddress::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[788]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPostalAddress::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[786]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPreDefinedColour::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[788]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPreDefinedCurveFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[789]); } Ifc4x3_rc3::IfcPreDefinedCurveFont Ifc4x3_rc3::IfcPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedItem @@ -12880,31 +12849,31 @@ std::string Ifc4x3_rc3::IfcPreDefinedItem::Name() const { std::string v = get_a void Ifc4x3_rc3::IfcPreDefinedItem::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPreDefinedItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[792]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPreDefinedItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[790]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPreDefinedProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[791]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPreDefinedPropertySet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[792]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPreDefinedTextFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[793]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[796]); } Ifc4x3_rc3::IfcPresentationItem Ifc4x3_rc3::IfcPresentationItem::initialize() { ; return *this; } // Function implementations for IfcPresentationLayerAssignment @@ -12912,14 +12881,14 @@ std::string Ifc4x3_rc3::IfcPresentationLayerAssignment::Name() const { std::str void Ifc4x3_rc3::IfcPresentationLayerAssignment::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x3_rc3::IfcPresentationLayerAssignment::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcPresentationLayerAssignment::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x3_rc3::IfcLayeredItem > Ifc4x3_rc3::IfcPresentationLayerAssignment::AssignedItems() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcLayeredItem>(es); } -void Ifc4x3_rc3::IfcPresentationLayerAssignment::setAssignedItems(const std::vector< ::Ifc4x3_rc3::IfcLayeredItem >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc3::IfcLayeredItem > Ifc4x3_rc3::IfcPresentationLayerAssignment::AssignedItems() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcLayeredItem>(es); } +void Ifc4x3_rc3::IfcPresentationLayerAssignment::setAssignedItems(const std::vector< ::Ifc4x3_rc3::IfcLayeredItem >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4x3_rc3::IfcPresentationLayerAssignment::Identifier() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcPresentationLayerAssignment::setIdentifier(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPresentationLayerAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[799]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPresentationLayerAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[797]); } +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; } @@ -12928,19 +12897,19 @@ boost::logic::tribool Ifc4x3_rc3::IfcPresentationLayerWithStyle::LayerFrozen() c void Ifc4x3_rc3::IfcPresentationLayerWithStyle::setLayerFrozen(const boost::logic::tribool& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } boost::logic::tribool Ifc4x3_rc3::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcPresentationLayerWithStyle::setLayerBlocked(const boost::logic::tribool& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::vector< ::Ifc4x3_rc3::IfcPresentationStyle > Ifc4x3_rc3::IfcPresentationLayerWithStyle::LayerStyles() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc3::IfcPresentationStyle>(es); } -void Ifc4x3_rc3::IfcPresentationLayerWithStyle::setLayerStyles(const std::vector< ::Ifc4x3_rc3::IfcPresentationStyle >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } +std::vector< ::Ifc4x3_rc3::IfcPresentationStyle > Ifc4x3_rc3::IfcPresentationLayerWithStyle::LayerStyles() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc3::IfcPresentationStyle>(es); } +void Ifc4x3_rc3::IfcPresentationLayerWithStyle::setLayerStyles(const std::vector< ::Ifc4x3_rc3::IfcPresentationStyle >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPresentationLayerWithStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[800]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPresentationLayerWithStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[798]); } +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; } void Ifc4x3_rc3::IfcPresentationStyle::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPresentationStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[801]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPresentationStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[799]); } 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 @@ -12948,7 +12917,7 @@ std::optional< ::Ifc4x3_rc3::IfcProcedureTypeEnum::Value > Ifc4x3_rc3::IfcProced void Ifc4x3_rc3::IfcProcedure::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcProcedureTypeEnum::Value >& v) { if (v) {set_attribute_value(7, enumeration_reference(&::Ifc4x3_rc3::IfcProcedureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcProcedure::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[803]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcProcedure::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[801]); } 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 @@ -12956,8 +12925,8 @@ Ifc4x3_rc3::IfcProcedure Ifc4x3_rc3::IfcProcedure::initialize(std::string v1_Glo void Ifc4x3_rc3::IfcProcedureType::setPredefinedType(const ::Ifc4x3_rc3::IfcProcedureTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcProcedureTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcProcedureType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[804]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcProcedureType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[802]); } +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; } @@ -12965,45 +12934,45 @@ void Ifc4x3_rc3::IfcProcess::setIdentification(const std::optional< std::string std::optional< std::string > Ifc4x3_rc3::IfcProcess::LongDescription() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcProcess::setLongDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3_rc3::IfcRelSequence> Ifc4x3_rc3::IfcProcess::IsPredecessorTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[949], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelSequence> Ifc4x3_rc3::IfcProcess::IsSuccessorFrom() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[949], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelAssignsToProcess> Ifc4x3_rc3::IfcProcess::OperatesOn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[911], 6)); } +std::vector<::Ifc4x3_rc3::IfcRelSequence> Ifc4x3_rc3::IfcProcess::IsPredecessorTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[947], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelSequence> Ifc4x3_rc3::IfcProcess::IsSuccessorFrom() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[947], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelAssignsToProcess> Ifc4x3_rc3::IfcProcess::OperatesOn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[909], 6)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[806]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[804]); } 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>(); } +::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>(); } void Ifc4x3_rc3::IfcProduct::setObjectPlacement(const ::Ifc4x3_rc3::IfcObjectPlacement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc3::IfcProductRepresentation Ifc4x3_rc3::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcProductRepresentation{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcProductRepresentation>(); } +::Ifc4x3_rc3::IfcProductRepresentation Ifc4x3_rc3::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcProductRepresentation{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcProductRepresentation>(); } void Ifc4x3_rc3::IfcProduct::setRepresentation(const ::Ifc4x3_rc3::IfcProductRepresentation& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::vector<::Ifc4x3_rc3::IfcRelAssignsToProduct> Ifc4x3_rc3::IfcProduct::ReferencedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[912], 6)); } -std::vector<::Ifc4x3_rc3::IfcRelPositions> Ifc4x3_rc3::IfcProduct::PositionedRelativeTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[946], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelReferencedInSpatialStructure> Ifc4x3_rc3::IfcProduct::ReferencedInStructures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[948], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelAssignsToProduct> Ifc4x3_rc3::IfcProduct::ReferencedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[910], 6)); } +std::vector<::Ifc4x3_rc3::IfcRelPositions> Ifc4x3_rc3::IfcProduct::PositionedRelativeTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[944], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelReferencedInSpatialStructure> Ifc4x3_rc3::IfcProduct::ReferencedInStructures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[946], 4)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[808]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[806]); } 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 -std::vector<::Ifc4x3_rc3::IfcProduct> Ifc4x3_rc3::IfcProductDefinitionShape::ShapeOfProduct() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[808], 6)); } -std::vector<::Ifc4x3_rc3::IfcShapeAspect> Ifc4x3_rc3::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[1009], 4)); } +std::vector<::Ifc4x3_rc3::IfcProduct> Ifc4x3_rc3::IfcProductDefinitionShape::ShapeOfProduct() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[806], 6)); } +std::vector<::Ifc4x3_rc3::IfcShapeAspect> Ifc4x3_rc3::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[1007], 4)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcProductDefinitionShape::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[809]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcProductDefinitionShape::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[807]); } +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; } void Ifc4x3_rc3::IfcProductRepresentation::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_rc3::IfcProductRepresentation::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcProductRepresentation::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x3_rc3::IfcRepresentation > Ifc4x3_rc3::IfcProductRepresentation::Representations() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcRepresentation>(es); } -void Ifc4x3_rc3::IfcProductRepresentation::setRepresentations(const std::vector< ::Ifc4x3_rc3::IfcRepresentation >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc3::IfcRepresentation > Ifc4x3_rc3::IfcProductRepresentation::Representations() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcRepresentation>(es); } +void Ifc4x3_rc3::IfcProductRepresentation::setRepresentations(const std::vector< ::Ifc4x3_rc3::IfcRepresentation >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcProductRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[810]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcProductRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[808]); } +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)); } @@ -13011,31 +12980,31 @@ void Ifc4x3_rc3::IfcProfileDef::setProfileType(const ::Ifc4x3_rc3::IfcProfileTyp std::optional< std::string > Ifc4x3_rc3::IfcProfileDef::ProfileName() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcProfileDef::setProfileName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcProfileDef::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[434], 3)); } -std::vector<::Ifc4x3_rc3::IfcProfileProperties> Ifc4x3_rc3::IfcProfileDef::HasProperties() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[814], 3)); } +std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcProfileDef::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[433], 3)); } +std::vector<::Ifc4x3_rc3::IfcProfileProperties> Ifc4x3_rc3::IfcProfileDef::HasProperties() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[812], 3)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[813]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[811]); } 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>(); } +::Ifc4x3_rc3::IfcProfileDef Ifc4x3_rc3::IfcProfileProperties::ProfileDefinition() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcProfileDef>(); } void Ifc4x3_rc3::IfcProfileProperties::setProfileDefinition(const ::Ifc4x3_rc3::IfcProfileDef& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcProfileProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[814]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcProfileProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[812]); } +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]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcProject::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[814]); } +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]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcProjectLibrary::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[819]); } +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)); } @@ -13046,7 +13015,7 @@ std::optional< std::string > Ifc4x3_rc3::IfcProjectOrder::LongDescription() cons void Ifc4x3_rc3::IfcProjectOrder::setLongDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcProjectOrder::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[822]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcProjectOrder::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[820]); } 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 @@ -13054,11 +13023,11 @@ std::optional< std::string > Ifc4x3_rc3::IfcProjectedCRS::MapProjection() const void Ifc4x3_rc3::IfcProjectedCRS::setMapProjection(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } std::optional< std::string > Ifc4x3_rc3::IfcProjectedCRS::MapZone() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcProjectedCRS::setMapZone(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc3::IfcNamedUnit Ifc4x3_rc3::IfcProjectedCRS::MapUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcNamedUnit{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcNamedUnit>(); } +::Ifc4x3_rc3::IfcNamedUnit Ifc4x3_rc3::IfcProjectedCRS::MapUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcNamedUnit{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcNamedUnit>(); } void Ifc4x3_rc3::IfcProjectedCRS::setMapUnit(const ::Ifc4x3_rc3::IfcNamedUnit& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcProjectedCRS::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[817]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcProjectedCRS::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[815]); } 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 @@ -13066,7 +13035,7 @@ std::optional< ::Ifc4x3_rc3::IfcProjectionElementTypeEnum::Value > Ifc4x3_rc3::I void Ifc4x3_rc3::IfcProjectionElement::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcProjectionElementTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcProjectionElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcProjectionElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[819]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcProjectionElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[817]); } 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 @@ -13075,114 +13044,114 @@ void Ifc4x3_rc3::IfcProperty::setName(const std::string& v) { set_attribute_valu std::optional< std::string > Ifc4x3_rc3::IfcProperty::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcProperty::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x3_rc3::IfcPropertySet> Ifc4x3_rc3::IfcProperty::PartOfPset() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[833], 4)); } -std::vector<::Ifc4x3_rc3::IfcPropertyDependencyRelationship> Ifc4x3_rc3::IfcProperty::PropertyForDependance() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[828], 2)); } -std::vector<::Ifc4x3_rc3::IfcPropertyDependencyRelationship> Ifc4x3_rc3::IfcProperty::PropertyDependsOn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[828], 3)); } +std::vector<::Ifc4x3_rc3::IfcPropertySet> Ifc4x3_rc3::IfcProperty::PartOfPset() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[831], 4)); } +std::vector<::Ifc4x3_rc3::IfcPropertyDependencyRelationship> Ifc4x3_rc3::IfcProperty::PropertyForDependance() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[826], 2)); } +std::vector<::Ifc4x3_rc3::IfcPropertyDependencyRelationship> Ifc4x3_rc3::IfcProperty::PropertyDependsOn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[826], 3)); } std::vector<::Ifc4x3_rc3::IfcComplexProperty> Ifc4x3_rc3::IfcProperty::PartOfComplex() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[191], 3)); } -std::vector<::Ifc4x3_rc3::IfcResourceConstraintRelationship> Ifc4x3_rc3::IfcProperty::HasConstraints() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[962], 3)); } -std::vector<::Ifc4x3_rc3::IfcResourceApprovalRelationship> Ifc4x3_rc3::IfcProperty::HasApprovals() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[961], 2)); } +std::vector<::Ifc4x3_rc3::IfcResourceConstraintRelationship> Ifc4x3_rc3::IfcProperty::HasConstraints() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[960], 3)); } +std::vector<::Ifc4x3_rc3::IfcResourceApprovalRelationship> Ifc4x3_rc3::IfcProperty::HasApprovals() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[959], 2)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[824]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[822]); } 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)); } +std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[433], 3)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyAbstraction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[825]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyAbstraction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[823]); } 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>(); } +::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>(); } void Ifc4x3_rc3::IfcPropertyBoundedValue::setUpperBoundValue(const ::Ifc4x3_rc3::IfcValue& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcValue Ifc4x3_rc3::IfcPropertyBoundedValue::LowerBoundValue() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcValue{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcValue>(); } +::Ifc4x3_rc3::IfcValue Ifc4x3_rc3::IfcPropertyBoundedValue::LowerBoundValue() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcValue{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcValue>(); } void Ifc4x3_rc3::IfcPropertyBoundedValue::setLowerBoundValue(const ::Ifc4x3_rc3::IfcValue& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc3::IfcUnit Ifc4x3_rc3::IfcPropertyBoundedValue::Unit() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc3::IfcUnit{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcUnit>(); } +::Ifc4x3_rc3::IfcUnit Ifc4x3_rc3::IfcPropertyBoundedValue::Unit() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc3::IfcUnit{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcUnit>(); } void Ifc4x3_rc3::IfcPropertyBoundedValue::setUnit(const ::Ifc4x3_rc3::IfcUnit& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcValue Ifc4x3_rc3::IfcPropertyBoundedValue::SetPointValue() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc3::IfcValue{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcValue>(); } +::Ifc4x3_rc3::IfcValue Ifc4x3_rc3::IfcPropertyBoundedValue::SetPointValue() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc3::IfcValue{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcValue>(); } void Ifc4x3_rc3::IfcPropertyBoundedValue::setSetPointValue(const ::Ifc4x3_rc3::IfcValue& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyBoundedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[826]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyBoundedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[824]); } 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 -std::vector<::Ifc4x3_rc3::IfcRelDeclares> Ifc4x3_rc3::IfcPropertyDefinition::HasContext() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[935], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelAssociates> Ifc4x3_rc3::IfcPropertyDefinition::HasAssociations() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[914], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelDeclares> Ifc4x3_rc3::IfcPropertyDefinition::HasContext() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[933], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelAssociates> Ifc4x3_rc3::IfcPropertyDefinition::HasAssociations() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[912], 4)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[827]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[825]); } 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>(); } +::Ifc4x3_rc3::IfcProperty Ifc4x3_rc3::IfcPropertyDependencyRelationship::DependingProperty() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcProperty>(); } void Ifc4x3_rc3::IfcPropertyDependencyRelationship::setDependingProperty(const ::Ifc4x3_rc3::IfcProperty& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcProperty Ifc4x3_rc3::IfcPropertyDependencyRelationship::DependantProperty() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcProperty>(); } +::Ifc4x3_rc3::IfcProperty Ifc4x3_rc3::IfcPropertyDependencyRelationship::DependantProperty() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcProperty>(); } void Ifc4x3_rc3::IfcPropertyDependencyRelationship::setDependantProperty(const ::Ifc4x3_rc3::IfcProperty& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc3::IfcPropertyDependencyRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcPropertyDependencyRelationship::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyDependencyRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[828]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyDependencyRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[826]); } 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); } -void Ifc4x3_rc3::IfcPropertyEnumeratedValue::setEnumerationValues(const std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } -::Ifc4x3_rc3::IfcPropertyEnumeration Ifc4x3_rc3::IfcPropertyEnumeratedValue::EnumerationReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcPropertyEnumeration{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcPropertyEnumeration>(); } +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); } +void Ifc4x3_rc3::IfcPropertyEnumeratedValue::setEnumerationValues(const std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +::Ifc4x3_rc3::IfcPropertyEnumeration Ifc4x3_rc3::IfcPropertyEnumeratedValue::EnumerationReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcPropertyEnumeration{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcPropertyEnumeration>(); } void Ifc4x3_rc3::IfcPropertyEnumeratedValue::setEnumerationReference(const ::Ifc4x3_rc3::IfcPropertyEnumeration& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyEnumeratedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[829]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyEnumeratedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[827]); } +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; } void Ifc4x3_rc3::IfcPropertyEnumeration::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc3::IfcValue > Ifc4x3_rc3::IfcPropertyEnumeration::EnumerationValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcValue>(es); } -void Ifc4x3_rc3::IfcPropertyEnumeration::setEnumerationValues(const std::vector< ::Ifc4x3_rc3::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcUnit Ifc4x3_rc3::IfcPropertyEnumeration::Unit() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcUnit{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcUnit>(); } +std::vector< ::Ifc4x3_rc3::IfcValue > Ifc4x3_rc3::IfcPropertyEnumeration::EnumerationValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcValue>(es); } +void Ifc4x3_rc3::IfcPropertyEnumeration::setEnumerationValues(const std::vector< ::Ifc4x3_rc3::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +::Ifc4x3_rc3::IfcUnit Ifc4x3_rc3::IfcPropertyEnumeration::Unit() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcUnit{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcUnit>(); } void Ifc4x3_rc3::IfcPropertyEnumeration::setUnit(const ::Ifc4x3_rc3::IfcUnit& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyEnumeration::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[830]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyEnumeration::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[828]); } +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); } -void Ifc4x3_rc3::IfcPropertyListValue::setListValues(const std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } -::Ifc4x3_rc3::IfcUnit Ifc4x3_rc3::IfcPropertyListValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcUnit>(); } +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); } +void Ifc4x3_rc3::IfcPropertyListValue::setListValues(const std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +::Ifc4x3_rc3::IfcUnit Ifc4x3_rc3::IfcPropertyListValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcUnit>(); } void Ifc4x3_rc3::IfcPropertyListValue::setUnit(const ::Ifc4x3_rc3::IfcUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyListValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[831]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyListValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[829]); } +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; } void Ifc4x3_rc3::IfcPropertyReferenceValue::setUsageName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc3::IfcObjectReferenceSelect Ifc4x3_rc3::IfcPropertyReferenceValue::PropertyReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcObjectReferenceSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcObjectReferenceSelect>(); } +::Ifc4x3_rc3::IfcObjectReferenceSelect Ifc4x3_rc3::IfcPropertyReferenceValue::PropertyReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcObjectReferenceSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcObjectReferenceSelect>(); } void Ifc4x3_rc3::IfcPropertyReferenceValue::setPropertyReference(const ::Ifc4x3_rc3::IfcObjectReferenceSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyReferenceValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[832]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyReferenceValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[830]); } 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); } -void Ifc4x3_rc3::IfcPropertySet::setHasProperties(const std::vector< ::Ifc4x3_rc3::IfcProperty >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +std::vector< ::Ifc4x3_rc3::IfcProperty > Ifc4x3_rc3::IfcPropertySet::HasProperties() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc3::IfcProperty>(es); } +void Ifc4x3_rc3::IfcPropertySet::setHasProperties(const std::vector< ::Ifc4x3_rc3::IfcProperty >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertySet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[833]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertySet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[831]); } +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 -std::vector<::Ifc4x3_rc3::IfcTypeObject> Ifc4x3_rc3::IfcPropertySetDefinition::DefinesType() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[1244], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelDefinesByTemplate> Ifc4x3_rc3::IfcPropertySetDefinition::IsDefinedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[940], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelDefinesByProperties> Ifc4x3_rc3::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[939], 5)); } +std::vector<::Ifc4x3_rc3::IfcTypeObject> Ifc4x3_rc3::IfcPropertySetDefinition::DefinesType() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[1242], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelDefinesByTemplate> Ifc4x3_rc3::IfcPropertySetDefinition::IsDefinedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[938], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelDefinesByProperties> Ifc4x3_rc3::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[937], 5)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertySetDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[834]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertySetDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[832]); } 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 @@ -13190,54 +13159,54 @@ std::optional< ::Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3_rc3: void Ifc4x3_rc3::IfcPropertySetTemplate::setTemplateType(const std::optional< ::Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::Value >& v) { if (v) {set_attribute_value(4, enumeration_reference(&::Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } std::optional< std::string > Ifc4x3_rc3::IfcPropertySetTemplate::ApplicableEntity() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcPropertySetTemplate::setApplicableEntity(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector< ::Ifc4x3_rc3::IfcPropertyTemplate > Ifc4x3_rc3::IfcPropertySetTemplate::HasPropertyTemplates() const { std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc3::IfcPropertyTemplate>(es); } -void Ifc4x3_rc3::IfcPropertySetTemplate::setHasPropertyTemplates(const std::vector< ::Ifc4x3_rc3::IfcPropertyTemplate >& v) { set_attribute_value(6, cast_vector(v));if constexpr (false)unset_attribute_value(6); } +std::vector< ::Ifc4x3_rc3::IfcPropertyTemplate > Ifc4x3_rc3::IfcPropertySetTemplate::HasPropertyTemplates() const { std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc3::IfcPropertyTemplate>(es); } +void Ifc4x3_rc3::IfcPropertySetTemplate::setHasPropertyTemplates(const std::vector< ::Ifc4x3_rc3::IfcPropertyTemplate >& v) { set_attribute_value(6, cast_vector(v));if constexpr (false)unset_attribute_value(6); } -std::vector<::Ifc4x3_rc3::IfcRelDefinesByTemplate> Ifc4x3_rc3::IfcPropertySetTemplate::Defines() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[940], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelDefinesByTemplate> Ifc4x3_rc3::IfcPropertySetTemplate::Defines() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[938], 5)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertySetTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[837]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertySetTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[835]); } +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>(); } +::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>(); } void Ifc4x3_rc3::IfcPropertySingleValue::setNominalValue(const ::Ifc4x3_rc3::IfcValue& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcUnit Ifc4x3_rc3::IfcPropertySingleValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcUnit>(); } +::Ifc4x3_rc3::IfcUnit Ifc4x3_rc3::IfcPropertySingleValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcUnit>(); } void Ifc4x3_rc3::IfcPropertySingleValue::setUnit(const ::Ifc4x3_rc3::IfcUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertySingleValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[839]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertySingleValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[837]); } 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); } -void Ifc4x3_rc3::IfcPropertyTableValue::setDefiningValues(const std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } -std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > > Ifc4x3_rc3::IfcPropertyTableValue::DefinedValues() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc3::IfcValue>(es); } -void Ifc4x3_rc3::IfcPropertyTableValue::setDefinedValues(const std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } +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); } +void Ifc4x3_rc3::IfcPropertyTableValue::setDefiningValues(const std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > > Ifc4x3_rc3::IfcPropertyTableValue::DefinedValues() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc3::IfcValue>(es); } +void Ifc4x3_rc3::IfcPropertyTableValue::setDefinedValues(const std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } std::optional< std::string > Ifc4x3_rc3::IfcPropertyTableValue::Expression() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcPropertyTableValue::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc3::IfcUnit Ifc4x3_rc3::IfcPropertyTableValue::DefiningUnit() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc3::IfcUnit{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcUnit>(); } +::Ifc4x3_rc3::IfcUnit Ifc4x3_rc3::IfcPropertyTableValue::DefiningUnit() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc3::IfcUnit{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcUnit>(); } void Ifc4x3_rc3::IfcPropertyTableValue::setDefiningUnit(const ::Ifc4x3_rc3::IfcUnit& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc3::IfcUnit Ifc4x3_rc3::IfcPropertyTableValue::DefinedUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcUnit{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcUnit>(); } +::Ifc4x3_rc3::IfcUnit Ifc4x3_rc3::IfcPropertyTableValue::DefinedUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcUnit{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcUnit>(); } void Ifc4x3_rc3::IfcPropertyTableValue::setDefinedUnit(const ::Ifc4x3_rc3::IfcUnit& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< ::Ifc4x3_rc3::IfcCurveInterpolationEnum::Value > Ifc4x3_rc3::IfcPropertyTableValue::CurveInterpolation() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcCurveInterpolationEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc3::IfcPropertyTableValue::setCurveInterpolation(const std::optional< ::Ifc4x3_rc3::IfcCurveInterpolationEnum::Value >& v) { if (v) {set_attribute_value(7, enumeration_reference(&::Ifc4x3_rc3::IfcCurveInterpolationEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyTableValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[840]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyTableValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[838]); } +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 std::vector<::Ifc4x3_rc3::IfcComplexPropertyTemplate> Ifc4x3_rc3::IfcPropertyTemplate::PartOfComplexTemplate() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[192], 6)); } -std::vector<::Ifc4x3_rc3::IfcPropertySetTemplate> Ifc4x3_rc3::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[837], 6)); } +std::vector<::Ifc4x3_rc3::IfcPropertySetTemplate> Ifc4x3_rc3::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[835], 6)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[841]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[839]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyTemplateDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[840]); } 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 @@ -13245,7 +13214,7 @@ std::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value > Ifc4x3_rc3::If void Ifc4x3_rc3::IfcProtectiveDevice::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcProtectiveDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[843]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcProtectiveDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[841]); } 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 @@ -13253,7 +13222,7 @@ std::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > If void Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnit::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[844]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[842]); } 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 @@ -13261,16 +13230,16 @@ Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnit Ifc4x3_rc3::IfcProtectiveDeviceTripp void Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(const ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[845]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[843]); } +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)); } void Ifc4x3_rc3::IfcProtectiveDeviceType::setPredefinedType(const ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcProtectiveDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[847]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcProtectiveDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[845]); } +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)); } @@ -13279,7 +13248,7 @@ std::optional< std::string > Ifc4x3_rc3::IfcProxy::Tag() const { if(get_attribut void Ifc4x3_rc3::IfcProxy::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcProxy::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[849]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcProxy::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[847]); } 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 @@ -13287,7 +13256,7 @@ std::optional< ::Ifc4x3_rc3::IfcPumpTypeEnum::Value > Ifc4x3_rc3::IfcPump::Prede void Ifc4x3_rc3::IfcPump::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcPumpTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcPumpTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPump::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[850]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPump::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[848]); } 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 @@ -13295,8 +13264,8 @@ Ifc4x3_rc3::IfcPump Ifc4x3_rc3::IfcPump::initialize(std::string v1_GlobalId, ::I void Ifc4x3_rc3::IfcPumpType::setPredefinedType(const ::Ifc4x3_rc3::IfcPumpTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcPumpTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcPumpType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[851]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcPumpType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[849]); } +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; } @@ -13305,7 +13274,7 @@ std::optional< std::string > Ifc4x3_rc3::IfcQuantityArea::Formula() const { if(g void Ifc4x3_rc3::IfcQuantityArea::setFormula(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcQuantityArea::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[853]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcQuantityArea::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[851]); } 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 @@ -13315,7 +13284,7 @@ std::optional< std::string > Ifc4x3_rc3::IfcQuantityCount::Formula() const { if( void Ifc4x3_rc3::IfcQuantityCount::setFormula(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcQuantityCount::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[854]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcQuantityCount::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[852]); } 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 @@ -13325,13 +13294,13 @@ std::optional< std::string > Ifc4x3_rc3::IfcQuantityLength::Formula() const { if void Ifc4x3_rc3::IfcQuantityLength::setFormula(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcQuantityLength::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[855]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcQuantityLength::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[853]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcQuantitySet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[854]); } 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 @@ -13341,7 +13310,7 @@ std::optional< std::string > Ifc4x3_rc3::IfcQuantityTime::Formula() const { if(g void Ifc4x3_rc3::IfcQuantityTime::setFormula(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcQuantityTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[857]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcQuantityTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[855]); } 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 @@ -13351,7 +13320,7 @@ std::optional< std::string > Ifc4x3_rc3::IfcQuantityVolume::Formula() const { if void Ifc4x3_rc3::IfcQuantityVolume::setFormula(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcQuantityVolume::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[858]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcQuantityVolume::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[856]); } 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 @@ -13361,7 +13330,7 @@ std::optional< std::string > Ifc4x3_rc3::IfcQuantityWeight::Formula() const { if void Ifc4x3_rc3::IfcQuantityWeight::setFormula(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcQuantityWeight::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[859]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcQuantityWeight::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[857]); } 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 @@ -13369,7 +13338,7 @@ std::optional< ::Ifc4x3_rc3::IfcRailTypeEnum::Value > Ifc4x3_rc3::IfcRail::Prede void Ifc4x3_rc3::IfcRail::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcRailTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcRailTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRail::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[861]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRail::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[859]); } 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 @@ -13377,15 +13346,15 @@ Ifc4x3_rc3::IfcRail Ifc4x3_rc3::IfcRail::initialize(std::string v1_GlobalId, ::I void Ifc4x3_rc3::IfcRailType::setPredefinedType(const ::Ifc4x3_rc3::IfcRailTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcRailTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRailType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[865]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRailType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[863]); } +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)); } void Ifc4x3_rc3::IfcRailing::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcRailingTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcRailingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRailing::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[862]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRailing::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[860]); } 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 @@ -13393,15 +13362,15 @@ Ifc4x3_rc3::IfcRailing Ifc4x3_rc3::IfcRailing::initialize(std::string v1_GlobalI void Ifc4x3_rc3::IfcRailingType::setPredefinedType(const ::Ifc4x3_rc3::IfcRailingTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcRailingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRailingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[863]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRailingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[861]); } +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)); } void Ifc4x3_rc3::IfcRailway::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcRailwayTypeEnum::Value >& v) { if (v) {set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcRailwayTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRailway::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[867]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRailway::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[865]); } 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 @@ -13409,7 +13378,7 @@ std::optional< ::Ifc4x3_rc3::IfcRampTypeEnum::Value > Ifc4x3_rc3::IfcRamp::Prede void Ifc4x3_rc3::IfcRamp::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcRampTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcRampTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRamp::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[870]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRamp::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[868]); } 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 @@ -13417,7 +13386,7 @@ std::optional< ::Ifc4x3_rc3::IfcRampFlightTypeEnum::Value > Ifc4x3_rc3::IfcRampF void Ifc4x3_rc3::IfcRampFlight::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcRampFlightTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcRampFlightTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRampFlight::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[871]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRampFlight::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[869]); } 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 @@ -13425,32 +13394,32 @@ Ifc4x3_rc3::IfcRampFlight Ifc4x3_rc3::IfcRampFlight::initialize(std::string v1_G void Ifc4x3_rc3::IfcRampFlightType::setPredefinedType(const ::Ifc4x3_rc3::IfcRampFlightTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcRampFlightTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRampFlightType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[872]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRampFlightType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[870]); } +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)); } void Ifc4x3_rc3::IfcRampType::setPredefinedType(const ::Ifc4x3_rc3::IfcRampTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcRampTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRampType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[874]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRampType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[872]); } +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; } void Ifc4x3_rc3::IfcRationalBSplineCurveWithKnots::setWeightsData(const std::vector< double > /*[2:?]*/& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRationalBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[877]); } -Ifc4x3_rc3::IfcRationalBSplineCurveWithKnots Ifc4x3_rc3::IfcRationalBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRationalBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[875]); } +Ifc4x3_rc3::IfcRationalBSplineCurveWithKnots Ifc4x3_rc3::IfcRationalBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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; } void Ifc4x3_rc3::IfcRationalBSplineSurfaceWithKnots::setWeightsData(const std::vector< std::vector< double > >& v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRationalBSplineSurfaceWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[878]); } -Ifc4x3_rc3::IfcRationalBSplineSurfaceWithKnots Ifc4x3_rc3::IfcRationalBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRationalBSplineSurfaceWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[876]); } +Ifc4x3_rc3::IfcRationalBSplineSurfaceWithKnots Ifc4x3_rc3::IfcRationalBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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; } @@ -13461,7 +13430,7 @@ std::optional< double > Ifc4x3_rc3::IfcRectangleHollowProfileDef::OuterFilletRad void Ifc4x3_rc3::IfcRectangleHollowProfileDef::setOuterFilletRadius(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRectangleHollowProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[880]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRectangleHollowProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[878]); } 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 @@ -13471,7 +13440,7 @@ double Ifc4x3_rc3::IfcRectangleProfileDef::YDim() const { double v = get_attrib void Ifc4x3_rc3::IfcRectangleProfileDef::setYDim(const double& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRectangleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[881]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRectangleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[879]); } 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 @@ -13483,11 +13452,11 @@ double Ifc4x3_rc3::IfcRectangularPyramid::Height() const { double v = get_attri void Ifc4x3_rc3::IfcRectangularPyramid::setHeight(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRectangularPyramid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[882]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRectangularPyramid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[880]); } 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>(); } +::Ifc4x3_rc3::IfcSurface Ifc4x3_rc3::IfcRectangularTrimmedSurface::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcSurface>(); } void Ifc4x3_rc3::IfcRectangularTrimmedSurface::setBasisSurface(const ::Ifc4x3_rc3::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc3::IfcRectangularTrimmedSurface::U1() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcRectangularTrimmedSurface::setU1(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -13503,7 +13472,7 @@ bool Ifc4x3_rc3::IfcRectangularTrimmedSurface::Vsense() const { bool v = get_at void Ifc4x3_rc3::IfcRectangularTrimmedSurface::setVsense(const bool& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRectangularTrimmedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[883]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRectangularTrimmedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[881]); } 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 @@ -13521,12 +13490,12 @@ std::optional< int64_t > Ifc4x3_rc3::IfcRecurrencePattern::Interval() const { if void Ifc4x3_rc3::IfcRecurrencePattern::setInterval(const std::optional< int64_t >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< int64_t > Ifc4x3_rc3::IfcRecurrencePattern::Occurrences() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcRecurrencePattern::setOccurrences(const std::optional< int64_t >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x3_rc3::IfcTimePeriod > > Ifc4x3_rc3::IfcRecurrencePattern::TimePeriods() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc3::IfcTimePeriod>(es); } -void Ifc4x3_rc3::IfcRecurrencePattern::setTimePeriods(const std::optional< std::vector< ::Ifc4x3_rc3::IfcTimePeriod > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x3_rc3::IfcTimePeriod > > Ifc4x3_rc3::IfcRecurrencePattern::TimePeriods() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc3::IfcTimePeriod>(es); } +void Ifc4x3_rc3::IfcRecurrencePattern::setTimePeriods(const std::optional< std::vector< ::Ifc4x3_rc3::IfcTimePeriod > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRecurrencePattern::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[884]); } -Ifc4x3_rc3::IfcRecurrencePattern Ifc4x3_rc3::IfcRecurrencePattern::initialize(::Ifc4x3_rc3::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int64_t > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v4_MonthComponent, std::optional< int64_t > v5_Position, std::optional< int64_t > v6_Interval, std::optional< int64_t > 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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRecurrencePattern::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[882]); } +Ifc4x3_rc3::IfcRecurrencePattern Ifc4x3_rc3::IfcRecurrencePattern::initialize(::Ifc4x3_rc3::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int64_t > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v4_MonthComponent, std::optional< int64_t > v5_Position, std::optional< int64_t > v6_Interval, std::optional< int64_t > 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; } @@ -13537,11 +13506,11 @@ std::optional< std::string > Ifc4x3_rc3::IfcReference::InstanceName() const { if void Ifc4x3_rc3::IfcReference::setInstanceName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } std::optional< std::vector< int64_t > /*[1:?]*/ > Ifc4x3_rc3::IfcReference::ListPositions() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< int64_t > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcReference::setListPositions(const std::optional< std::vector< int64_t > /*[1:?]*/ >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc3::IfcReference Ifc4x3_rc3::IfcReference::InnerReference() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc3::IfcReference{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcReference>(); } +::Ifc4x3_rc3::IfcReference Ifc4x3_rc3::IfcReference::InnerReference() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc3::IfcReference{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcReference>(); } void Ifc4x3_rc3::IfcReference::setInnerReference(const ::Ifc4x3_rc3::IfcReference& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcReference::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[886]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcReference::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[884]); } 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< int64_t > /*[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 @@ -13551,25 +13520,25 @@ std::optional< double > Ifc4x3_rc3::IfcReferent::RestartDistance() const { if(ge void Ifc4x3_rc3::IfcReferent::setRestartDistance(const std::optional< double >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcReferent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[887]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcReferent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[885]); } 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; } void Ifc4x3_rc3::IfcRegularTimeSeries::setTimeStep(const double& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::vector< ::Ifc4x3_rc3::IfcTimeSeriesValue > Ifc4x3_rc3::IfcRegularTimeSeries::Values() const { std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc3::IfcTimeSeriesValue>(es); } -void Ifc4x3_rc3::IfcRegularTimeSeries::setValues(const std::vector< ::Ifc4x3_rc3::IfcTimeSeriesValue >& v) { set_attribute_value(9, cast_vector(v));if constexpr (false)unset_attribute_value(9); } +std::vector< ::Ifc4x3_rc3::IfcTimeSeriesValue > Ifc4x3_rc3::IfcRegularTimeSeries::Values() const { std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc3::IfcTimeSeriesValue>(es); } +void Ifc4x3_rc3::IfcRegularTimeSeries::setValues(const std::vector< ::Ifc4x3_rc3::IfcTimeSeriesValue >& v) { set_attribute_value(9, cast_vector(v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRegularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[890]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRegularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[888]); } +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)); } void Ifc4x3_rc3::IfcReinforcedSoil::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcReinforcedSoil::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[891]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcReinforcedSoil::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[889]); } 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 @@ -13587,18 +13556,18 @@ std::optional< double > Ifc4x3_rc3::IfcReinforcementBarProperties::BarCount() co void Ifc4x3_rc3::IfcReinforcementBarProperties::setBarCount(const std::optional< double >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcReinforcementBarProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[893]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcReinforcementBarProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[891]); } 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; } void Ifc4x3_rc3::IfcReinforcementDefinitionProperties::setDefinitionType(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector< ::Ifc4x3_rc3::IfcSectionReinforcementProperties > Ifc4x3_rc3::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc3::IfcSectionReinforcementProperties>(es); } -void Ifc4x3_rc3::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(const std::vector< ::Ifc4x3_rc3::IfcSectionReinforcementProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc3::IfcSectionReinforcementProperties > Ifc4x3_rc3::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc3::IfcSectionReinforcementProperties>(es); } +void Ifc4x3_rc3::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(const std::vector< ::Ifc4x3_rc3::IfcSectionReinforcementProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcReinforcementDefinitionProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[894]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcReinforcementDefinitionProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[892]); } +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; } @@ -13613,7 +13582,7 @@ std::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc3::I void Ifc4x3_rc3::IfcReinforcingBar::setBarSurface(const std::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value >& v) { if (v) {set_attribute_value(13, enumeration_reference(&::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcReinforcingBar::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[895]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcReinforcingBar::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[893]); } 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 @@ -13629,26 +13598,26 @@ std::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc3::I void Ifc4x3_rc3::IfcReinforcingBarType::setBarSurface(const std::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value >& v) { if (v) {set_attribute_value(13, enumeration_reference(&::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } std::optional< std::string > Ifc4x3_rc3::IfcReinforcingBarType::BendingShapeCode() const { if(get_attribute_value(14).isNull()) { return std::nullopt; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_rc3::IfcReinforcingBarType::setBendingShapeCode(const std::optional< std::string >& v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -std::optional< std::vector< ::Ifc4x3_rc3::IfcBendingParameterSelect > > Ifc4x3_rc3::IfcReinforcingBarType::BendingParameters() const { if(get_attribute_value(15).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(15); return cast_vector<::Ifc4x3_rc3::IfcBendingParameterSelect>(es); } -void Ifc4x3_rc3::IfcReinforcingBarType::setBendingParameters(const std::optional< std::vector< ::Ifc4x3_rc3::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(15, cast_vector(*v));} else {unset_attribute_value(15);} } +std::optional< std::vector< ::Ifc4x3_rc3::IfcBendingParameterSelect > > Ifc4x3_rc3::IfcReinforcingBarType::BendingParameters() const { if(get_attribute_value(15).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(15); return cast_vector<::Ifc4x3_rc3::IfcBendingParameterSelect>(es); } +void Ifc4x3_rc3::IfcReinforcingBarType::setBendingParameters(const std::optional< std::vector< ::Ifc4x3_rc3::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(15, cast_vector(*v));} else {unset_attribute_value(15);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcReinforcingBarType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[898]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcReinforcingBarType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[896]); } +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; } void Ifc4x3_rc3::IfcReinforcingElement::setSteelGrade(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcReinforcingElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[900]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcReinforcingElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[898]); } 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]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcReinforcingElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[899]); } +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; } @@ -13671,7 +13640,7 @@ std::optional< ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value > Ifc4x3_rc3::Ifc void Ifc4x3_rc3::IfcReinforcingMesh::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value >& v) { if (v) {set_attribute_value(17, enumeration_reference(&::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(17);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcReinforcingMesh::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[902]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcReinforcingMesh::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[900]); } 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 @@ -13695,175 +13664,175 @@ std::optional< double > Ifc4x3_rc3::IfcReinforcingMeshType::TransverseBarSpacing void Ifc4x3_rc3::IfcReinforcingMeshType::setTransverseBarSpacing(const std::optional< double >& v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } std::optional< std::string > Ifc4x3_rc3::IfcReinforcingMeshType::BendingShapeCode() const { if(get_attribute_value(18).isNull()) { return std::nullopt; } std::string v = get_attribute_value(18); return v; } void Ifc4x3_rc3::IfcReinforcingMeshType::setBendingShapeCode(const std::optional< std::string >& v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -std::optional< std::vector< ::Ifc4x3_rc3::IfcBendingParameterSelect > > Ifc4x3_rc3::IfcReinforcingMeshType::BendingParameters() const { if(get_attribute_value(19).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(19); return cast_vector<::Ifc4x3_rc3::IfcBendingParameterSelect>(es); } -void Ifc4x3_rc3::IfcReinforcingMeshType::setBendingParameters(const std::optional< std::vector< ::Ifc4x3_rc3::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(19, cast_vector(*v));} else {unset_attribute_value(19);} } +std::optional< std::vector< ::Ifc4x3_rc3::IfcBendingParameterSelect > > Ifc4x3_rc3::IfcReinforcingMeshType::BendingParameters() const { if(get_attribute_value(19).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(19); return cast_vector<::Ifc4x3_rc3::IfcBendingParameterSelect>(es); } +void Ifc4x3_rc3::IfcReinforcingMeshType::setBendingParameters(const std::optional< std::vector< ::Ifc4x3_rc3::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(19, cast_vector(*v));} else {unset_attribute_value(19);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcReinforcingMeshType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[903]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcReinforcingMeshType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[901]); } +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>(); } +::Ifc4x3_rc3::IfcObjectDefinition Ifc4x3_rc3::IfcRelAggregates::RelatingObject() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcObjectDefinition>(); } void Ifc4x3_rc3::IfcRelAggregates::setRelatingObject(const ::Ifc4x3_rc3::IfcObjectDefinition& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > Ifc4x3_rc3::IfcRelAggregates::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc3::IfcObjectDefinition>(es); } -void Ifc4x3_rc3::IfcRelAggregates::setRelatedObjects(const std::vector< ::Ifc4x3_rc3::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > Ifc4x3_rc3::IfcRelAggregates::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc3::IfcObjectDefinition>(es); } +void Ifc4x3_rc3::IfcRelAggregates::setRelatedObjects(const std::vector< ::Ifc4x3_rc3::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAggregates::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[905]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAggregates::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[903]); } +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); } -void Ifc4x3_rc3::IfcRelAssigns::setRelatedObjects(const std::vector< ::Ifc4x3_rc3::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > Ifc4x3_rc3::IfcRelAssigns::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc3::IfcObjectDefinition>(es); } +void Ifc4x3_rc3::IfcRelAssigns::setRelatedObjects(const std::vector< ::Ifc4x3_rc3::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > Ifc4x3_rc3::IfcRelAssigns::RelatedObjectsType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcObjectTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc3::IfcRelAssigns::setRelatedObjectsType(const std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value >& v) { if (v) {set_attribute_value(5, enumeration_reference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssigns::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[906]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssigns::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[904]); } +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>(); } +::Ifc4x3_rc3::IfcActor Ifc4x3_rc3::IfcRelAssignsToActor::RelatingActor() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcActor>(); } void Ifc4x3_rc3::IfcRelAssignsToActor::setRelatingActor(const ::Ifc4x3_rc3::IfcActor& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc3::IfcActorRole Ifc4x3_rc3::IfcRelAssignsToActor::ActingRole() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc3::IfcActorRole{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc3::IfcActorRole>(); } +::Ifc4x3_rc3::IfcActorRole Ifc4x3_rc3::IfcRelAssignsToActor::ActingRole() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc3::IfcActorRole{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc3::IfcActorRole>(); } void Ifc4x3_rc3::IfcRelAssignsToActor::setActingRole(const ::Ifc4x3_rc3::IfcActorRole& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssignsToActor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[907]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssignsToActor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[905]); } +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>(); } +::Ifc4x3_rc3::IfcControl Ifc4x3_rc3::IfcRelAssignsToControl::RelatingControl() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcControl>(); } void Ifc4x3_rc3::IfcRelAssignsToControl::setRelatingControl(const ::Ifc4x3_rc3::IfcControl& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssignsToControl::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[908]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssignsToControl::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[906]); } +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>(); } +::Ifc4x3_rc3::IfcGroup Ifc4x3_rc3::IfcRelAssignsToGroup::RelatingGroup() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcGroup>(); } void Ifc4x3_rc3::IfcRelAssignsToGroup::setRelatingGroup(const ::Ifc4x3_rc3::IfcGroup& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssignsToGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[909]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssignsToGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[907]); } +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; } void Ifc4x3_rc3::IfcRelAssignsToGroupByFactor::setFactor(const double& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssignsToGroupByFactor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[910]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssignsToGroupByFactor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[908]); } +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>(); } +::Ifc4x3_rc3::IfcProcessSelect Ifc4x3_rc3::IfcRelAssignsToProcess::RelatingProcess() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcProcessSelect>(); } void Ifc4x3_rc3::IfcRelAssignsToProcess::setRelatingProcess(const ::Ifc4x3_rc3::IfcProcessSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc3::IfcMeasureWithUnit Ifc4x3_rc3::IfcRelAssignsToProcess::QuantityInProcess() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc3::IfcMeasureWithUnit{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc3::IfcMeasureWithUnit>(); } +::Ifc4x3_rc3::IfcMeasureWithUnit Ifc4x3_rc3::IfcRelAssignsToProcess::QuantityInProcess() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc3::IfcMeasureWithUnit{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc3::IfcMeasureWithUnit>(); } void Ifc4x3_rc3::IfcRelAssignsToProcess::setQuantityInProcess(const ::Ifc4x3_rc3::IfcMeasureWithUnit& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssignsToProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[911]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssignsToProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[909]); } +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>(); } +::Ifc4x3_rc3::IfcProductSelect Ifc4x3_rc3::IfcRelAssignsToProduct::RelatingProduct() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcProductSelect>(); } void Ifc4x3_rc3::IfcRelAssignsToProduct::setRelatingProduct(const ::Ifc4x3_rc3::IfcProductSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssignsToProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[912]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssignsToProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[910]); } +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>(); } +::Ifc4x3_rc3::IfcResourceSelect Ifc4x3_rc3::IfcRelAssignsToResource::RelatingResource() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcResourceSelect>(); } void Ifc4x3_rc3::IfcRelAssignsToResource::setRelatingResource(const ::Ifc4x3_rc3::IfcResourceSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssignsToResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[913]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssignsToResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[911]); } +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); } -void Ifc4x3_rc3::IfcRelAssociates::setRelatedObjects(const std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > Ifc4x3_rc3::IfcRelAssociates::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc3::IfcDefinitionSelect>(es); } +void Ifc4x3_rc3::IfcRelAssociates::setRelatedObjects(const std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssociates::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[914]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssociates::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[912]); } +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>(); } +::Ifc4x3_rc3::IfcApproval Ifc4x3_rc3::IfcRelAssociatesApproval::RelatingApproval() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcApproval>(); } void Ifc4x3_rc3::IfcRelAssociatesApproval::setRelatingApproval(const ::Ifc4x3_rc3::IfcApproval& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssociatesApproval::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[915]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssociatesApproval::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[913]); } +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>(); } +::Ifc4x3_rc3::IfcClassificationSelect Ifc4x3_rc3::IfcRelAssociatesClassification::RelatingClassification() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcClassificationSelect>(); } void Ifc4x3_rc3::IfcRelAssociatesClassification::setRelatingClassification(const ::Ifc4x3_rc3::IfcClassificationSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssociatesClassification::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[916]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssociatesClassification::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[914]); } +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; } void Ifc4x3_rc3::IfcRelAssociatesConstraint::setIntent(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc3::IfcConstraint Ifc4x3_rc3::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcConstraint>(); } +::Ifc4x3_rc3::IfcConstraint Ifc4x3_rc3::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcConstraint>(); } void Ifc4x3_rc3::IfcRelAssociatesConstraint::setRelatingConstraint(const ::Ifc4x3_rc3::IfcConstraint& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssociatesConstraint::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[917]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssociatesConstraint::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[915]); } +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>(); } +::Ifc4x3_rc3::IfcDocumentSelect Ifc4x3_rc3::IfcRelAssociatesDocument::RelatingDocument() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcDocumentSelect>(); } void Ifc4x3_rc3::IfcRelAssociatesDocument::setRelatingDocument(const ::Ifc4x3_rc3::IfcDocumentSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssociatesDocument::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[918]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssociatesDocument::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[916]); } +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>(); } +::Ifc4x3_rc3::IfcLibrarySelect Ifc4x3_rc3::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcLibrarySelect>(); } void Ifc4x3_rc3::IfcRelAssociatesLibrary::setRelatingLibrary(const ::Ifc4x3_rc3::IfcLibrarySelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssociatesLibrary::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[919]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssociatesLibrary::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[917]); } +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>(); } +::Ifc4x3_rc3::IfcMaterialSelect Ifc4x3_rc3::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcMaterialSelect>(); } void Ifc4x3_rc3::IfcRelAssociatesMaterial::setRelatingMaterial(const ::Ifc4x3_rc3::IfcMaterialSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssociatesMaterial::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[920]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssociatesMaterial::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[918]); } +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>(); } +::Ifc4x3_rc3::IfcProfileDef Ifc4x3_rc3::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcProfileDef>(); } void Ifc4x3_rc3::IfcRelAssociatesProfileDef::setRelatingProfileDef(const ::Ifc4x3_rc3::IfcProfileDef& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssociatesProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[921]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssociatesProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[919]); } +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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelConnects::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[921]); } 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>(); } +::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>(); } void Ifc4x3_rc3::IfcRelConnectsElements::setConnectionGeometry(const ::Ifc4x3_rc3::IfcConnectionGeometry& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcElement Ifc4x3_rc3::IfcRelConnectsElements::RelatingElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcElement>(); } +::Ifc4x3_rc3::IfcElement Ifc4x3_rc3::IfcRelConnectsElements::RelatingElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcElement>(); } void Ifc4x3_rc3::IfcRelConnectsElements::setRelatingElement(const ::Ifc4x3_rc3::IfcElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc3::IfcElement Ifc4x3_rc3::IfcRelConnectsElements::RelatedElement() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcElement>(); } +::Ifc4x3_rc3::IfcElement Ifc4x3_rc3::IfcRelConnectsElements::RelatedElement() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcElement>(); } void Ifc4x3_rc3::IfcRelConnectsElements::setRelatedElement(const ::Ifc4x3_rc3::IfcElement& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelConnectsElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[924]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelConnectsElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[922]); } 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 @@ -13877,195 +13846,195 @@ void Ifc4x3_rc3::IfcRelConnectsPathElements::setRelatedConnectionType(const ::If void Ifc4x3_rc3::IfcRelConnectsPathElements::setRelatingConnectionType(const ::Ifc4x3_rc3::IfcConnectionTypeEnum::Value& v) { set_attribute_value(10, enumeration_reference(&::Ifc4x3_rc3::IfcConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelConnectsPathElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[925]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelConnectsPathElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[923]); } 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< int64_t > /*[0:?]*/ v8_RelatingPriorities, std::vector< int64_t > /*[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>(); } +::Ifc4x3_rc3::IfcPort Ifc4x3_rc3::IfcRelConnectsPortToElement::RelatingPort() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcPort>(); } void Ifc4x3_rc3::IfcRelConnectsPortToElement::setRelatingPort(const ::Ifc4x3_rc3::IfcPort& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcDistributionElement Ifc4x3_rc3::IfcRelConnectsPortToElement::RelatedElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcDistributionElement>(); } +::Ifc4x3_rc3::IfcDistributionElement Ifc4x3_rc3::IfcRelConnectsPortToElement::RelatedElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcDistributionElement>(); } void Ifc4x3_rc3::IfcRelConnectsPortToElement::setRelatedElement(const ::Ifc4x3_rc3::IfcDistributionElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelConnectsPortToElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[927]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelConnectsPortToElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[925]); } 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>(); } +::Ifc4x3_rc3::IfcPort Ifc4x3_rc3::IfcRelConnectsPorts::RelatingPort() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcPort>(); } void Ifc4x3_rc3::IfcRelConnectsPorts::setRelatingPort(const ::Ifc4x3_rc3::IfcPort& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcPort Ifc4x3_rc3::IfcRelConnectsPorts::RelatedPort() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcPort>(); } +::Ifc4x3_rc3::IfcPort Ifc4x3_rc3::IfcRelConnectsPorts::RelatedPort() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcPort>(); } void Ifc4x3_rc3::IfcRelConnectsPorts::setRelatedPort(const ::Ifc4x3_rc3::IfcPort& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc3::IfcElement Ifc4x3_rc3::IfcRelConnectsPorts::RealizingElement() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcElement{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcElement>(); } +::Ifc4x3_rc3::IfcElement Ifc4x3_rc3::IfcRelConnectsPorts::RealizingElement() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcElement{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcElement>(); } void Ifc4x3_rc3::IfcRelConnectsPorts::setRealizingElement(const ::Ifc4x3_rc3::IfcElement& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelConnectsPorts::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[926]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelConnectsPorts::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[924]); } 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>(); } +::Ifc4x3_rc3::IfcStructuralActivityAssignmentSelect Ifc4x3_rc3::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcStructuralActivityAssignmentSelect>(); } void Ifc4x3_rc3::IfcRelConnectsStructuralActivity::setRelatingElement(const ::Ifc4x3_rc3::IfcStructuralActivityAssignmentSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcStructuralActivity Ifc4x3_rc3::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcStructuralActivity>(); } +::Ifc4x3_rc3::IfcStructuralActivity Ifc4x3_rc3::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcStructuralActivity>(); } void Ifc4x3_rc3::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(const ::Ifc4x3_rc3::IfcStructuralActivity& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelConnectsStructuralActivity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[928]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelConnectsStructuralActivity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[926]); } 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>(); } +::Ifc4x3_rc3::IfcStructuralMember Ifc4x3_rc3::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcStructuralMember>(); } void Ifc4x3_rc3::IfcRelConnectsStructuralMember::setRelatingStructuralMember(const ::Ifc4x3_rc3::IfcStructuralMember& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcStructuralConnection Ifc4x3_rc3::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcStructuralConnection>(); } +::Ifc4x3_rc3::IfcStructuralConnection Ifc4x3_rc3::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcStructuralConnection>(); } void Ifc4x3_rc3::IfcRelConnectsStructuralMember::setRelatedStructuralConnection(const ::Ifc4x3_rc3::IfcStructuralConnection& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc3::IfcBoundaryCondition Ifc4x3_rc3::IfcRelConnectsStructuralMember::AppliedCondition() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcBoundaryCondition{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcBoundaryCondition>(); } +::Ifc4x3_rc3::IfcBoundaryCondition Ifc4x3_rc3::IfcRelConnectsStructuralMember::AppliedCondition() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcBoundaryCondition{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcBoundaryCondition>(); } void Ifc4x3_rc3::IfcRelConnectsStructuralMember::setAppliedCondition(const ::Ifc4x3_rc3::IfcBoundaryCondition& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc3::IfcStructuralConnectionCondition Ifc4x3_rc3::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc3::IfcStructuralConnectionCondition{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc3::IfcStructuralConnectionCondition>(); } +::Ifc4x3_rc3::IfcStructuralConnectionCondition Ifc4x3_rc3::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc3::IfcStructuralConnectionCondition{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc3::IfcStructuralConnectionCondition>(); } void Ifc4x3_rc3::IfcRelConnectsStructuralMember::setAdditionalConditions(const ::Ifc4x3_rc3::IfcStructuralConnectionCondition& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } std::optional< double > Ifc4x3_rc3::IfcRelConnectsStructuralMember::SupportedLength() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcRelConnectsStructuralMember::setSupportedLength(const std::optional< double >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_rc3::IfcAxis2Placement3D Ifc4x3_rc3::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc3::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc3::IfcAxis2Placement3D>(); } +::Ifc4x3_rc3::IfcAxis2Placement3D Ifc4x3_rc3::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc3::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc3::IfcAxis2Placement3D>(); } void Ifc4x3_rc3::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(const ::Ifc4x3_rc3::IfcAxis2Placement3D& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelConnectsStructuralMember::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[929]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelConnectsStructuralMember::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[927]); } 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>(); } +::Ifc4x3_rc3::IfcConnectionGeometry Ifc4x3_rc3::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((express::base)(get_attribute_value(10))).as<::Ifc4x3_rc3::IfcConnectionGeometry>(); } void Ifc4x3_rc3::IfcRelConnectsWithEccentricity::setConnectionConstraint(const ::Ifc4x3_rc3::IfcConnectionGeometry& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelConnectsWithEccentricity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[930]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelConnectsWithEccentricity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[928]); } 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); } -void Ifc4x3_rc3::IfcRelConnectsWithRealizingElements::setRealizingElements(const std::vector< ::Ifc4x3_rc3::IfcElement >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } +std::vector< ::Ifc4x3_rc3::IfcElement > Ifc4x3_rc3::IfcRelConnectsWithRealizingElements::RealizingElements() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc3::IfcElement>(es); } +void Ifc4x3_rc3::IfcRelConnectsWithRealizingElements::setRealizingElements(const std::vector< ::Ifc4x3_rc3::IfcElement >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } std::optional< std::string > Ifc4x3_rc3::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcRelConnectsWithRealizingElements::setConnectionType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelConnectsWithRealizingElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[931]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelConnectsWithRealizingElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[929]); } +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); } -void Ifc4x3_rc3::IfcRelContainedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4x3_rc3::IfcProduct >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcSpatialElement Ifc4x3_rc3::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcSpatialElement>(); } +std::vector< ::Ifc4x3_rc3::IfcProduct > Ifc4x3_rc3::IfcRelContainedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc3::IfcProduct>(es); } +void Ifc4x3_rc3::IfcRelContainedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4x3_rc3::IfcProduct >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_rc3::IfcSpatialElement Ifc4x3_rc3::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcSpatialElement>(); } void Ifc4x3_rc3::IfcRelContainedInSpatialStructure::setRelatingStructure(const ::Ifc4x3_rc3::IfcSpatialElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelContainedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[932]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelContainedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[930]); } +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>(); } +::Ifc4x3_rc3::IfcElement Ifc4x3_rc3::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcElement>(); } void Ifc4x3_rc3::IfcRelCoversBldgElements::setRelatingBuildingElement(const ::Ifc4x3_rc3::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc3::IfcCovering > Ifc4x3_rc3::IfcRelCoversBldgElements::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc3::IfcCovering>(es); } -void Ifc4x3_rc3::IfcRelCoversBldgElements::setRelatedCoverings(const std::vector< ::Ifc4x3_rc3::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc3::IfcCovering > Ifc4x3_rc3::IfcRelCoversBldgElements::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc3::IfcCovering>(es); } +void Ifc4x3_rc3::IfcRelCoversBldgElements::setRelatedCoverings(const std::vector< ::Ifc4x3_rc3::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelCoversBldgElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[933]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelCoversBldgElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[931]); } +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>(); } +::Ifc4x3_rc3::IfcSpace Ifc4x3_rc3::IfcRelCoversSpaces::RelatingSpace() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcSpace>(); } void Ifc4x3_rc3::IfcRelCoversSpaces::setRelatingSpace(const ::Ifc4x3_rc3::IfcSpace& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc3::IfcCovering > Ifc4x3_rc3::IfcRelCoversSpaces::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc3::IfcCovering>(es); } -void Ifc4x3_rc3::IfcRelCoversSpaces::setRelatedCoverings(const std::vector< ::Ifc4x3_rc3::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc3::IfcCovering > Ifc4x3_rc3::IfcRelCoversSpaces::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc3::IfcCovering>(es); } +void Ifc4x3_rc3::IfcRelCoversSpaces::setRelatedCoverings(const std::vector< ::Ifc4x3_rc3::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelCoversSpaces::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[934]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelCoversSpaces::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[932]); } +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>(); } +::Ifc4x3_rc3::IfcContext Ifc4x3_rc3::IfcRelDeclares::RelatingContext() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcContext>(); } void Ifc4x3_rc3::IfcRelDeclares::setRelatingContext(const ::Ifc4x3_rc3::IfcContext& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > Ifc4x3_rc3::IfcRelDeclares::RelatedDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc3::IfcDefinitionSelect>(es); } -void Ifc4x3_rc3::IfcRelDeclares::setRelatedDefinitions(const std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > Ifc4x3_rc3::IfcRelDeclares::RelatedDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc3::IfcDefinitionSelect>(es); } +void Ifc4x3_rc3::IfcRelDeclares::setRelatedDefinitions(const std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelDeclares::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[935]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelDeclares::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[933]); } +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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelDecomposes::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[934]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelDefines::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[935]); } 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); } -void Ifc4x3_rc3::IfcRelDefinesByObject::setRelatedObjects(const std::vector< ::Ifc4x3_rc3::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcObject Ifc4x3_rc3::IfcRelDefinesByObject::RelatingObject() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcObject>(); } +std::vector< ::Ifc4x3_rc3::IfcObject > Ifc4x3_rc3::IfcRelDefinesByObject::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc3::IfcObject>(es); } +void Ifc4x3_rc3::IfcRelDefinesByObject::setRelatedObjects(const std::vector< ::Ifc4x3_rc3::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_rc3::IfcObject Ifc4x3_rc3::IfcRelDefinesByObject::RelatingObject() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcObject>(); } void Ifc4x3_rc3::IfcRelDefinesByObject::setRelatingObject(const ::Ifc4x3_rc3::IfcObject& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelDefinesByObject::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[938]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelDefinesByObject::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[936]); } +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); } -void Ifc4x3_rc3::IfcRelDefinesByProperties::setRelatedObjects(const std::vector< ::Ifc4x3_rc3::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcPropertySetDefinitionSelect Ifc4x3_rc3::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcPropertySetDefinitionSelect>(); } +std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > Ifc4x3_rc3::IfcRelDefinesByProperties::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc3::IfcObjectDefinition>(es); } +void Ifc4x3_rc3::IfcRelDefinesByProperties::setRelatedObjects(const std::vector< ::Ifc4x3_rc3::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_rc3::IfcPropertySetDefinitionSelect Ifc4x3_rc3::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcPropertySetDefinitionSelect>(); } void Ifc4x3_rc3::IfcRelDefinesByProperties::setRelatingPropertyDefinition(const ::Ifc4x3_rc3::IfcPropertySetDefinitionSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelDefinesByProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[939]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelDefinesByProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[937]); } +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); } -void Ifc4x3_rc3::IfcRelDefinesByTemplate::setRelatedPropertySets(const std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcPropertySetTemplate Ifc4x3_rc3::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcPropertySetTemplate>(); } +std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > Ifc4x3_rc3::IfcRelDefinesByTemplate::RelatedPropertySets() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc3::IfcPropertySetDefinition>(es); } +void Ifc4x3_rc3::IfcRelDefinesByTemplate::setRelatedPropertySets(const std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_rc3::IfcPropertySetTemplate Ifc4x3_rc3::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcPropertySetTemplate>(); } void Ifc4x3_rc3::IfcRelDefinesByTemplate::setRelatingTemplate(const ::Ifc4x3_rc3::IfcPropertySetTemplate& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelDefinesByTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[940]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelDefinesByTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[938]); } +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); } -void Ifc4x3_rc3::IfcRelDefinesByType::setRelatedObjects(const std::vector< ::Ifc4x3_rc3::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcTypeObject Ifc4x3_rc3::IfcRelDefinesByType::RelatingType() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcTypeObject>(); } +std::vector< ::Ifc4x3_rc3::IfcObject > Ifc4x3_rc3::IfcRelDefinesByType::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc3::IfcObject>(es); } +void Ifc4x3_rc3::IfcRelDefinesByType::setRelatedObjects(const std::vector< ::Ifc4x3_rc3::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_rc3::IfcTypeObject Ifc4x3_rc3::IfcRelDefinesByType::RelatingType() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcTypeObject>(); } void Ifc4x3_rc3::IfcRelDefinesByType::setRelatingType(const ::Ifc4x3_rc3::IfcTypeObject& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelDefinesByType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[941]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelDefinesByType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[939]); } +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>(); } +::Ifc4x3_rc3::IfcOpeningElement Ifc4x3_rc3::IfcRelFillsElement::RelatingOpeningElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcOpeningElement>(); } void Ifc4x3_rc3::IfcRelFillsElement::setRelatingOpeningElement(const ::Ifc4x3_rc3::IfcOpeningElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcElement Ifc4x3_rc3::IfcRelFillsElement::RelatedBuildingElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcElement>(); } +::Ifc4x3_rc3::IfcElement Ifc4x3_rc3::IfcRelFillsElement::RelatedBuildingElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcElement>(); } void Ifc4x3_rc3::IfcRelFillsElement::setRelatedBuildingElement(const ::Ifc4x3_rc3::IfcElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelFillsElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[942]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelFillsElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[940]); } 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); } -void Ifc4x3_rc3::IfcRelFlowControlElements::setRelatedControlElements(const std::vector< ::Ifc4x3_rc3::IfcDistributionControlElement >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcDistributionFlowElement Ifc4x3_rc3::IfcRelFlowControlElements::RelatingFlowElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcDistributionFlowElement>(); } +std::vector< ::Ifc4x3_rc3::IfcDistributionControlElement > Ifc4x3_rc3::IfcRelFlowControlElements::RelatedControlElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc3::IfcDistributionControlElement>(es); } +void Ifc4x3_rc3::IfcRelFlowControlElements::setRelatedControlElements(const std::vector< ::Ifc4x3_rc3::IfcDistributionControlElement >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_rc3::IfcDistributionFlowElement Ifc4x3_rc3::IfcRelFlowControlElements::RelatingFlowElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcDistributionFlowElement>(); } void Ifc4x3_rc3::IfcRelFlowControlElements::setRelatingFlowElement(const ::Ifc4x3_rc3::IfcDistributionFlowElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelFlowControlElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[943]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelFlowControlElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[941]); } +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>(); } +::Ifc4x3_rc3::IfcInterferenceSelect Ifc4x3_rc3::IfcRelInterferesElements::RelatingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcInterferenceSelect>(); } void Ifc4x3_rc3::IfcRelInterferesElements::setRelatingElement(const ::Ifc4x3_rc3::IfcInterferenceSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcInterferenceSelect Ifc4x3_rc3::IfcRelInterferesElements::RelatedElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcInterferenceSelect>(); } +::Ifc4x3_rc3::IfcInterferenceSelect Ifc4x3_rc3::IfcRelInterferesElements::RelatedElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcInterferenceSelect>(); } void Ifc4x3_rc3::IfcRelInterferesElements::setRelatedElement(const ::Ifc4x3_rc3::IfcInterferenceSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc3::IfcConnectionGeometry Ifc4x3_rc3::IfcRelInterferesElements::InterferenceGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcConnectionGeometry{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcConnectionGeometry>(); } +::Ifc4x3_rc3::IfcConnectionGeometry Ifc4x3_rc3::IfcRelInterferesElements::InterferenceGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcConnectionGeometry{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcConnectionGeometry>(); } void Ifc4x3_rc3::IfcRelInterferesElements::setInterferenceGeometry(const ::Ifc4x3_rc3::IfcConnectionGeometry& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< std::string > Ifc4x3_rc3::IfcRelInterferesElements::InterferenceType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcRelInterferesElements::setInterferenceType(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } @@ -14073,55 +14042,55 @@ boost::logic::tribool Ifc4x3_rc3::IfcRelInterferesElements::ImpliedOrder() const void Ifc4x3_rc3::IfcRelInterferesElements::setImpliedOrder(const boost::logic::tribool& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelInterferesElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[944]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelInterferesElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[942]); } 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>(); } +::Ifc4x3_rc3::IfcObjectDefinition Ifc4x3_rc3::IfcRelNests::RelatingObject() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcObjectDefinition>(); } void Ifc4x3_rc3::IfcRelNests::setRelatingObject(const ::Ifc4x3_rc3::IfcObjectDefinition& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > Ifc4x3_rc3::IfcRelNests::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc3::IfcObjectDefinition>(es); } -void Ifc4x3_rc3::IfcRelNests::setRelatedObjects(const std::vector< ::Ifc4x3_rc3::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > Ifc4x3_rc3::IfcRelNests::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc3::IfcObjectDefinition>(es); } +void Ifc4x3_rc3::IfcRelNests::setRelatedObjects(const std::vector< ::Ifc4x3_rc3::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelNests::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[945]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelNests::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[943]); } +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>(); } +::Ifc4x3_rc3::IfcPositioningElement Ifc4x3_rc3::IfcRelPositions::RelatingPositioningElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcPositioningElement>(); } void Ifc4x3_rc3::IfcRelPositions::setRelatingPositioningElement(const ::Ifc4x3_rc3::IfcPositioningElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc3::IfcProduct > Ifc4x3_rc3::IfcRelPositions::RelatedProducts() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc3::IfcProduct>(es); } -void Ifc4x3_rc3::IfcRelPositions::setRelatedProducts(const std::vector< ::Ifc4x3_rc3::IfcProduct >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc3::IfcProduct > Ifc4x3_rc3::IfcRelPositions::RelatedProducts() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc3::IfcProduct>(es); } +void Ifc4x3_rc3::IfcRelPositions::setRelatedProducts(const std::vector< ::Ifc4x3_rc3::IfcProduct >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelPositions::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[946]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelPositions::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[944]); } +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>(); } +::Ifc4x3_rc3::IfcElement Ifc4x3_rc3::IfcRelProjectsElement::RelatingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcElement>(); } void Ifc4x3_rc3::IfcRelProjectsElement::setRelatingElement(const ::Ifc4x3_rc3::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcFeatureElementAddition Ifc4x3_rc3::IfcRelProjectsElement::RelatedFeatureElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcFeatureElementAddition>(); } +::Ifc4x3_rc3::IfcFeatureElementAddition Ifc4x3_rc3::IfcRelProjectsElement::RelatedFeatureElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcFeatureElementAddition>(); } void Ifc4x3_rc3::IfcRelProjectsElement::setRelatedFeatureElement(const ::Ifc4x3_rc3::IfcFeatureElementAddition& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelProjectsElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[947]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelProjectsElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[945]); } 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); } -void Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4x3_rc3::IfcSpatialReferenceSelect >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcSpatialElement Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcSpatialElement>(); } +std::vector< ::Ifc4x3_rc3::IfcSpatialReferenceSelect > Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc3::IfcSpatialReferenceSelect>(es); } +void Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4x3_rc3::IfcSpatialReferenceSelect >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_rc3::IfcSpatialElement Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcSpatialElement>(); } void Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::setRelatingStructure(const ::Ifc4x3_rc3::IfcSpatialElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[948]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[946]); } +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>(); } +::Ifc4x3_rc3::IfcProcess Ifc4x3_rc3::IfcRelSequence::RelatingProcess() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcProcess>(); } void Ifc4x3_rc3::IfcRelSequence::setRelatingProcess(const ::Ifc4x3_rc3::IfcProcess& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcProcess Ifc4x3_rc3::IfcRelSequence::RelatedProcess() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcProcess>(); } +::Ifc4x3_rc3::IfcProcess Ifc4x3_rc3::IfcRelSequence::RelatedProcess() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcProcess>(); } void Ifc4x3_rc3::IfcRelSequence::setRelatedProcess(const ::Ifc4x3_rc3::IfcProcess& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc3::IfcLagTime Ifc4x3_rc3::IfcRelSequence::TimeLag() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcLagTime{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcLagTime>(); } +::Ifc4x3_rc3::IfcLagTime Ifc4x3_rc3::IfcRelSequence::TimeLag() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcLagTime{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcLagTime>(); } void Ifc4x3_rc3::IfcRelSequence::setTimeLag(const ::Ifc4x3_rc3::IfcLagTime& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< ::Ifc4x3_rc3::IfcSequenceEnum::Value > Ifc4x3_rc3::IfcRelSequence::SequenceType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcSequenceEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc3::IfcRelSequence::setSequenceType(const std::optional< ::Ifc4x3_rc3::IfcSequenceEnum::Value >& v) { if (v) {set_attribute_value(7, enumeration_reference(&::Ifc4x3_rc3::IfcSequenceEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } @@ -14129,25 +14098,25 @@ std::optional< std::string > Ifc4x3_rc3::IfcRelSequence::UserDefinedSequenceType void Ifc4x3_rc3::IfcRelSequence::setUserDefinedSequenceType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelSequence::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[949]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelSequence::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[947]); } 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>(); } +::Ifc4x3_rc3::IfcSystem Ifc4x3_rc3::IfcRelServicesBuildings::RelatingSystem() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcSystem>(); } void Ifc4x3_rc3::IfcRelServicesBuildings::setRelatingSystem(const ::Ifc4x3_rc3::IfcSystem& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc3::IfcSpatialElement > Ifc4x3_rc3::IfcRelServicesBuildings::RelatedBuildings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc3::IfcSpatialElement>(es); } -void Ifc4x3_rc3::IfcRelServicesBuildings::setRelatedBuildings(const std::vector< ::Ifc4x3_rc3::IfcSpatialElement >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc3::IfcSpatialElement > Ifc4x3_rc3::IfcRelServicesBuildings::RelatedBuildings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc3::IfcSpatialElement>(es); } +void Ifc4x3_rc3::IfcRelServicesBuildings::setRelatedBuildings(const std::vector< ::Ifc4x3_rc3::IfcSpatialElement >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelServicesBuildings::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[950]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelServicesBuildings::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[948]); } +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>(); } +::Ifc4x3_rc3::IfcSpaceBoundarySelect Ifc4x3_rc3::IfcRelSpaceBoundary::RelatingSpace() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcSpaceBoundarySelect>(); } void Ifc4x3_rc3::IfcRelSpaceBoundary::setRelatingSpace(const ::Ifc4x3_rc3::IfcSpaceBoundarySelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcElement Ifc4x3_rc3::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcElement>(); } +::Ifc4x3_rc3::IfcElement Ifc4x3_rc3::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcElement>(); } void Ifc4x3_rc3::IfcRelSpaceBoundary::setRelatedBuildingElement(const ::Ifc4x3_rc3::IfcElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc3::IfcConnectionGeometry Ifc4x3_rc3::IfcRelSpaceBoundary::ConnectionGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcConnectionGeometry{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcConnectionGeometry>(); } +::Ifc4x3_rc3::IfcConnectionGeometry Ifc4x3_rc3::IfcRelSpaceBoundary::ConnectionGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcConnectionGeometry{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcConnectionGeometry>(); } void Ifc4x3_rc3::IfcRelSpaceBoundary::setConnectionGeometry(const ::Ifc4x3_rc3::IfcConnectionGeometry& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } ::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value Ifc4x3_rc3::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc3::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(const ::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } @@ -14155,41 +14124,41 @@ void Ifc4x3_rc3::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(const ::Ifc4x void Ifc4x3_rc3::IfcRelSpaceBoundary::setInternalOrExternalBoundary(const ::Ifc4x3_rc3::IfcInternalOrExternalEnum::Value& v) { set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcInternalOrExternalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelSpaceBoundary::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[951]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelSpaceBoundary::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[949]); } 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>(); } +::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>(); } void Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::setParentBoundary(const ::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -std::vector<::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel> Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[952], 9)); } +std::vector<::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel> Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[950], 9)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[952]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[950]); } 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>(); } +::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>(); } void Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(const ::Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -std::vector<::Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel> Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[953], 10)); } +std::vector<::Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel> Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[951], 10)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[953]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[951]); } 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>(); } +::Ifc4x3_rc3::IfcElement Ifc4x3_rc3::IfcRelVoidsElement::RelatingBuildingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcElement>(); } void Ifc4x3_rc3::IfcRelVoidsElement::setRelatingBuildingElement(const ::Ifc4x3_rc3::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcFeatureElementSubtraction Ifc4x3_rc3::IfcRelVoidsElement::RelatedOpeningElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcFeatureElementSubtraction>(); } +::Ifc4x3_rc3::IfcFeatureElementSubtraction Ifc4x3_rc3::IfcRelVoidsElement::RelatedOpeningElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcFeatureElementSubtraction>(); } void Ifc4x3_rc3::IfcRelVoidsElement::setRelatedOpeningElement(const ::Ifc4x3_rc3::IfcFeatureElementSubtraction& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRelVoidsElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[954]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelVoidsElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[952]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[920]); } 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 @@ -14197,25 +14166,25 @@ double Ifc4x3_rc3::IfcReparametrisedCompositeCurveSegment::ParamLength() const { void Ifc4x3_rc3::IfcReparametrisedCompositeCurveSegment::setParamLength(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcReparametrisedCompositeCurveSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[955]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcReparametrisedCompositeCurveSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[953]); } 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>(); } +::Ifc4x3_rc3::IfcRepresentationContext Ifc4x3_rc3::IfcRepresentation::ContextOfItems() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcRepresentationContext>(); } void Ifc4x3_rc3::IfcRepresentation::setContextOfItems(const ::Ifc4x3_rc3::IfcRepresentationContext& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x3_rc3::IfcRepresentation::RepresentationIdentifier() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcRepresentation::setRepresentationIdentifier(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x3_rc3::IfcRepresentation::RepresentationType() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcRepresentation::setRepresentationType(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector< ::Ifc4x3_rc3::IfcRepresentationItem > Ifc4x3_rc3::IfcRepresentation::Items() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc3::IfcRepresentationItem>(es); } -void Ifc4x3_rc3::IfcRepresentation::setItems(const std::vector< ::Ifc4x3_rc3::IfcRepresentationItem >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc3::IfcRepresentationItem > Ifc4x3_rc3::IfcRepresentation::Items() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc3::IfcRepresentationItem>(es); } +void Ifc4x3_rc3::IfcRepresentation::setItems(const std::vector< ::Ifc4x3_rc3::IfcRepresentationItem >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } -std::vector<::Ifc4x3_rc3::IfcRepresentationMap> Ifc4x3_rc3::IfcRepresentation::RepresentationMap() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[959], 1)); } -std::vector<::Ifc4x3_rc3::IfcPresentationLayerAssignment> Ifc4x3_rc3::IfcRepresentation::LayerAssignments() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[799], 2)); } -std::vector<::Ifc4x3_rc3::IfcProductRepresentation> Ifc4x3_rc3::IfcRepresentation::OfProductRepresentation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[810], 2)); } +std::vector<::Ifc4x3_rc3::IfcRepresentationMap> Ifc4x3_rc3::IfcRepresentation::RepresentationMap() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[957], 1)); } +std::vector<::Ifc4x3_rc3::IfcPresentationLayerAssignment> Ifc4x3_rc3::IfcRepresentation::LayerAssignments() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[797], 2)); } +std::vector<::Ifc4x3_rc3::IfcProductRepresentation> Ifc4x3_rc3::IfcRepresentation::OfProductRepresentation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[808], 2)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[956]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[954]); } +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; } @@ -14223,29 +14192,29 @@ void Ifc4x3_rc3::IfcRepresentationContext::setContextIdentifier(const std::optio std::optional< std::string > Ifc4x3_rc3::IfcRepresentationContext::ContextType() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcRepresentationContext::setContextType(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x3_rc3::IfcRepresentation> Ifc4x3_rc3::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[956], 0)); } +std::vector<::Ifc4x3_rc3::IfcRepresentation> Ifc4x3_rc3::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[954], 0)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRepresentationContext::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[957]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRepresentationContext::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[955]); } 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 -std::vector<::Ifc4x3_rc3::IfcPresentationLayerAssignment> Ifc4x3_rc3::IfcRepresentationItem::LayerAssignment() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[799], 2)); } -std::vector<::Ifc4x3_rc3::IfcStyledItem> Ifc4x3_rc3::IfcRepresentationItem::StyledByItem() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[1122], 0)); } +std::vector<::Ifc4x3_rc3::IfcPresentationLayerAssignment> Ifc4x3_rc3::IfcRepresentationItem::LayerAssignment() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[797], 2)); } +std::vector<::Ifc4x3_rc3::IfcStyledItem> Ifc4x3_rc3::IfcRepresentationItem::StyledByItem() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[1120], 0)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[958]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[956]); } 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>(); } +::Ifc4x3_rc3::IfcAxis2Placement Ifc4x3_rc3::IfcRepresentationMap::MappingOrigin() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcAxis2Placement>(); } void Ifc4x3_rc3::IfcRepresentationMap::setMappingOrigin(const ::Ifc4x3_rc3::IfcAxis2Placement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcRepresentation Ifc4x3_rc3::IfcRepresentationMap::MappedRepresentation() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcRepresentation>(); } +::Ifc4x3_rc3::IfcRepresentation Ifc4x3_rc3::IfcRepresentationMap::MappedRepresentation() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcRepresentation>(); } void Ifc4x3_rc3::IfcRepresentationMap::setMappedRepresentation(const ::Ifc4x3_rc3::IfcRepresentation& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector<::Ifc4x3_rc3::IfcShapeAspect> Ifc4x3_rc3::IfcRepresentationMap::HasShapeAspects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[1009], 4)); } -std::vector<::Ifc4x3_rc3::IfcMappedItem> Ifc4x3_rc3::IfcRepresentationMap::MapUsage() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[632], 0)); } +std::vector<::Ifc4x3_rc3::IfcShapeAspect> Ifc4x3_rc3::IfcRepresentationMap::HasShapeAspects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[1007], 4)); } +std::vector<::Ifc4x3_rc3::IfcMappedItem> Ifc4x3_rc3::IfcRepresentationMap::MapUsage() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[631], 0)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRepresentationMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[959]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRepresentationMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[957]); } 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 @@ -14254,30 +14223,30 @@ void Ifc4x3_rc3::IfcResource::setIdentification(const std::optional< std::string std::optional< std::string > Ifc4x3_rc3::IfcResource::LongDescription() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcResource::setLongDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3_rc3::IfcRelAssignsToResource> Ifc4x3_rc3::IfcResource::ResourceOf() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[913], 6)); } +std::vector<::Ifc4x3_rc3::IfcRelAssignsToResource> Ifc4x3_rc3::IfcResource::ResourceOf() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[911], 6)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[960]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[958]); } 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); } -void Ifc4x3_rc3::IfcResourceApprovalRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc3::IfcResourceObjectSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcApproval Ifc4x3_rc3::IfcResourceApprovalRelationship::RelatingApproval() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcApproval>(); } +std::vector< ::Ifc4x3_rc3::IfcResourceObjectSelect > Ifc4x3_rc3::IfcResourceApprovalRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcResourceObjectSelect>(es); } +void Ifc4x3_rc3::IfcResourceApprovalRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc3::IfcResourceObjectSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +::Ifc4x3_rc3::IfcApproval Ifc4x3_rc3::IfcResourceApprovalRelationship::RelatingApproval() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcApproval>(); } void Ifc4x3_rc3::IfcResourceApprovalRelationship::setRelatingApproval(const ::Ifc4x3_rc3::IfcApproval& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcResourceApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[961]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcResourceApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[959]); } +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>(); } +::Ifc4x3_rc3::IfcConstraint Ifc4x3_rc3::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcConstraint>(); } void Ifc4x3_rc3::IfcResourceConstraintRelationship::setRelatingConstraint(const ::Ifc4x3_rc3::IfcConstraint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_rc3::IfcResourceObjectSelect > Ifc4x3_rc3::IfcResourceConstraintRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc3::IfcResourceObjectSelect>(es); } -void Ifc4x3_rc3::IfcResourceConstraintRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc3::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc3::IfcResourceObjectSelect > Ifc4x3_rc3::IfcResourceConstraintRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc3::IfcResourceObjectSelect>(es); } +void Ifc4x3_rc3::IfcResourceConstraintRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc3::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcResourceConstraintRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[962]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcResourceConstraintRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[960]); } +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; } @@ -14286,7 +14255,7 @@ std::optional< std::string > Ifc4x3_rc3::IfcResourceLevelRelationship::Descripti void Ifc4x3_rc3::IfcResourceLevelRelationship::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcResourceLevelRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[963]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcResourceLevelRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[961]); } 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 @@ -14322,25 +14291,25 @@ std::optional< double > Ifc4x3_rc3::IfcResourceTime::Completion() const { if(get void Ifc4x3_rc3::IfcResourceTime::setCompletion(const std::optional< double >& v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcResourceTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[966]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcResourceTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[964]); } 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>(); } +::Ifc4x3_rc3::IfcAxis1Placement Ifc4x3_rc3::IfcRevolvedAreaSolid::Axis() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcAxis1Placement>(); } void Ifc4x3_rc3::IfcRevolvedAreaSolid::setAxis(const ::Ifc4x3_rc3::IfcAxis1Placement& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc4x3_rc3::IfcRevolvedAreaSolid::Angle() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcRevolvedAreaSolid::setAngle(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRevolvedAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[967]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRevolvedAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[965]); } 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>(); } +::Ifc4x3_rc3::IfcProfileDef Ifc4x3_rc3::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcProfileDef>(); } void Ifc4x3_rc3::IfcRevolvedAreaSolidTapered::setEndSweptArea(const ::Ifc4x3_rc3::IfcProfileDef& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRevolvedAreaSolidTapered::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[968]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRevolvedAreaSolidTapered::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[966]); } 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 @@ -14350,7 +14319,7 @@ double Ifc4x3_rc3::IfcRightCircularCone::BottomRadius() const { double v = get_ void Ifc4x3_rc3::IfcRightCircularCone::setBottomRadius(const double& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRightCircularCone::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[969]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRightCircularCone::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[967]); } 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 @@ -14360,7 +14329,7 @@ double Ifc4x3_rc3::IfcRightCircularCylinder::Radius() const { double v = get_at void Ifc4x3_rc3::IfcRightCircularCylinder::setRadius(const double& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRightCircularCylinder::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[970]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRightCircularCylinder::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[968]); } 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 @@ -14368,7 +14337,7 @@ std::optional< ::Ifc4x3_rc3::IfcRoadTypeEnum::Value > Ifc4x3_rc3::IfcRoad::Prede void Ifc4x3_rc3::IfcRoad::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcRoadTypeEnum::Value >& v) { if (v) {set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcRoadTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRoad::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[971]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRoad::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[969]); } 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 @@ -14376,7 +14345,7 @@ std::optional< ::Ifc4x3_rc3::IfcRoofTypeEnum::Value > Ifc4x3_rc3::IfcRoof::Prede void Ifc4x3_rc3::IfcRoof::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcRoofTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcRoofTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRoof::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[975]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRoof::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[973]); } 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 @@ -14384,13 +14353,13 @@ Ifc4x3_rc3::IfcRoof Ifc4x3_rc3::IfcRoof::initialize(std::string v1_GlobalId, ::I void Ifc4x3_rc3::IfcRoofType::setPredefinedType(const ::Ifc4x3_rc3::IfcRoofTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcRoofTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRoofType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[976]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRoofType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[974]); } +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; } void Ifc4x3_rc3::IfcRoot::setGlobalId(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcOwnerHistory Ifc4x3_rc3::IfcRoot::OwnerHistory() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc3::IfcOwnerHistory{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcOwnerHistory>(); } +::Ifc4x3_rc3::IfcOwnerHistory Ifc4x3_rc3::IfcRoot::OwnerHistory() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc3::IfcOwnerHistory{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcOwnerHistory>(); } void Ifc4x3_rc3::IfcRoot::setOwnerHistory(const ::Ifc4x3_rc3::IfcOwnerHistory& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_rc3::IfcRoot::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcRoot::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } @@ -14398,7 +14367,7 @@ std::optional< std::string > Ifc4x3_rc3::IfcRoot::Description() const { if(get_a void Ifc4x3_rc3::IfcRoot::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRoot::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[978]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRoot::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[976]); } 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 @@ -14406,7 +14375,7 @@ double Ifc4x3_rc3::IfcRoundedRectangleProfileDef::RoundingRadius() const { doub void Ifc4x3_rc3::IfcRoundedRectangleProfileDef::setRoundingRadius(const double& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcRoundedRectangleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[983]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcRoundedRectangleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[981]); } 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 @@ -14416,7 +14385,7 @@ void Ifc4x3_rc3::IfcSIUnit::setPrefix(const std::optional< ::Ifc4x3_rc3::IfcSIPr void Ifc4x3_rc3::IfcSIUnit::setName(const ::Ifc4x3_rc3::IfcSIUnitName::Value& v) { set_attribute_value(3, enumeration_reference(&::Ifc4x3_rc3::IfcSIUnitName::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSIUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1028]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSIUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1026]); } 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 @@ -14424,7 +14393,7 @@ std::optional< ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value > Ifc4x3_rc3::If void Ifc4x3_rc3::IfcSanitaryTerminal::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSanitaryTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[984]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSanitaryTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[982]); } 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 @@ -14432,8 +14401,8 @@ Ifc4x3_rc3::IfcSanitaryTerminal Ifc4x3_rc3::IfcSanitaryTerminal::initialize(std: void Ifc4x3_rc3::IfcSanitaryTerminalType::setPredefinedType(const ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSanitaryTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[985]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSanitaryTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[983]); } +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; } @@ -14444,14 +14413,14 @@ std::optional< std::string > Ifc4x3_rc3::IfcSchedulingTime::UserDefinedDataOrigi void Ifc4x3_rc3::IfcSchedulingTime::setUserDefinedDataOrigin(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSchedulingTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[987]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSchedulingTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[985]); } 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]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSeamCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[986]); } +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; } @@ -14462,19 +14431,19 @@ std::optional< double > Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::ConstantTerm void Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::setConstantTerm(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[989]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[987]); } 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)); } void Ifc4x3_rc3::IfcSectionProperties::setSectionType(const ::Ifc4x3_rc3::IfcSectionTypeEnum::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc4x3_rc3::IfcSectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcProfileDef Ifc4x3_rc3::IfcSectionProperties::StartProfile() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcProfileDef>(); } +::Ifc4x3_rc3::IfcProfileDef Ifc4x3_rc3::IfcSectionProperties::StartProfile() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcProfileDef>(); } void Ifc4x3_rc3::IfcSectionProperties::setStartProfile(const ::Ifc4x3_rc3::IfcProfileDef& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcProfileDef Ifc4x3_rc3::IfcSectionProperties::EndProfile() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcProfileDef{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcProfileDef>(); } +::Ifc4x3_rc3::IfcProfileDef Ifc4x3_rc3::IfcSectionProperties::EndProfile() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcProfileDef{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcProfileDef>(); } void Ifc4x3_rc3::IfcSectionProperties::setEndProfile(const ::Ifc4x3_rc3::IfcProfileDef& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSectionProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[996]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSectionProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[994]); } 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 @@ -14486,60 +14455,60 @@ std::optional< double > Ifc4x3_rc3::IfcSectionReinforcementProperties::Transvers void Ifc4x3_rc3::IfcSectionReinforcementProperties::setTransversePosition(const std::optional< double >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_rc3::IfcReinforcingBarRoleEnum::Value Ifc4x3_rc3::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x3_rc3::IfcReinforcingBarRoleEnum::FromString(get_attribute_value(3)); } void Ifc4x3_rc3::IfcSectionReinforcementProperties::setReinforcementRole(const ::Ifc4x3_rc3::IfcReinforcingBarRoleEnum::Value& v) { set_attribute_value(3, enumeration_reference(&::Ifc4x3_rc3::IfcReinforcingBarRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc3::IfcSectionProperties Ifc4x3_rc3::IfcSectionReinforcementProperties::SectionDefinition() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcSectionProperties>(); } +::Ifc4x3_rc3::IfcSectionProperties Ifc4x3_rc3::IfcSectionReinforcementProperties::SectionDefinition() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcSectionProperties>(); } void Ifc4x3_rc3::IfcSectionReinforcementProperties::setSectionDefinition(const ::Ifc4x3_rc3::IfcSectionProperties& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc3::IfcReinforcementBarProperties > Ifc4x3_rc3::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc3::IfcReinforcementBarProperties>(es); } -void Ifc4x3_rc3::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(const std::vector< ::Ifc4x3_rc3::IfcReinforcementBarProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc3::IfcReinforcementBarProperties > Ifc4x3_rc3::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc3::IfcReinforcementBarProperties>(es); } +void Ifc4x3_rc3::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(const std::vector< ::Ifc4x3_rc3::IfcReinforcementBarProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSectionReinforcementProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[997]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSectionReinforcementProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[995]); } +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>(); } +::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcSectionedSolid::Directrix() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCurve>(); } void Ifc4x3_rc3::IfcSectionedSolid::setDirectrix(const ::Ifc4x3_rc3::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc3::IfcProfileDef > Ifc4x3_rc3::IfcSectionedSolid::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcProfileDef>(es); } -void Ifc4x3_rc3::IfcSectionedSolid::setCrossSections(const std::vector< ::Ifc4x3_rc3::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc3::IfcProfileDef > Ifc4x3_rc3::IfcSectionedSolid::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcProfileDef>(es); } +void Ifc4x3_rc3::IfcSectionedSolid::setCrossSections(const std::vector< ::Ifc4x3_rc3::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSectionedSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[991]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSectionedSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[989]); } +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); } -void Ifc4x3_rc3::IfcSectionedSolidHorizontal::setCrossSectionPositions(const std::vector< ::Ifc4x3_rc3::IfcAxis2PlacementLinear >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc3::IfcCurveMeasureSelect > Ifc4x3_rc3::IfcSectionedSolidHorizontal::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcCurveMeasureSelect>(es); } +void Ifc4x3_rc3::IfcSectionedSolidHorizontal::setCrossSectionPositions(const std::vector< ::Ifc4x3_rc3::IfcCurveMeasureSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } bool Ifc4x3_rc3::IfcSectionedSolidHorizontal::FixedAxisVertical() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcSectionedSolidHorizontal::setFixedAxisVertical(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSectionedSolidHorizontal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[992]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSectionedSolidHorizontal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[990]); } +Ifc4x3_rc3::IfcSectionedSolidHorizontal Ifc4x3_rc3::IfcSectionedSolidHorizontal::initialize(::Ifc4x3_rc3::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc3::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc3::IfcCurveMeasureSelect > 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>(); } +::Ifc4x3_rc3::IfcCompositeCurve Ifc4x3_rc3::IfcSectionedSpine::SpineCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCompositeCurve>(); } void Ifc4x3_rc3::IfcSectionedSpine::setSpineCurve(const ::Ifc4x3_rc3::IfcCompositeCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc3::IfcProfileDef > Ifc4x3_rc3::IfcSectionedSpine::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcProfileDef>(es); } -void Ifc4x3_rc3::IfcSectionedSpine::setCrossSections(const std::vector< ::Ifc4x3_rc3::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x3_rc3::IfcAxis2Placement3D > Ifc4x3_rc3::IfcSectionedSpine::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcAxis2Placement3D>(es); } -void Ifc4x3_rc3::IfcSectionedSpine::setCrossSectionPositions(const std::vector< ::Ifc4x3_rc3::IfcAxis2Placement3D >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc3::IfcProfileDef > Ifc4x3_rc3::IfcSectionedSpine::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcProfileDef>(es); } +void Ifc4x3_rc3::IfcSectionedSpine::setCrossSections(const std::vector< ::Ifc4x3_rc3::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc3::IfcAxis2Placement3D > Ifc4x3_rc3::IfcSectionedSpine::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcAxis2Placement3D>(es); } +void Ifc4x3_rc3::IfcSectionedSpine::setCrossSectionPositions(const std::vector< ::Ifc4x3_rc3::IfcAxis2Placement3D >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSectionedSpine::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[993]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSectionedSpine::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[991]); } +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>(); } +::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcSectionedSurface::Directrix() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCurve>(); } void Ifc4x3_rc3::IfcSectionedSurface::setDirectrix(const ::Ifc4x3_rc3::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc3::IfcPointByDistanceExpression > Ifc4x3_rc3::IfcSectionedSurface::CrossSectionPositions() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcPointByDistanceExpression>(es); } -void Ifc4x3_rc3::IfcSectionedSurface::setCrossSectionPositions(const std::vector< ::Ifc4x3_rc3::IfcPointByDistanceExpression >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x3_rc3::IfcProfileDef > Ifc4x3_rc3::IfcSectionedSurface::CrossSections() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcProfileDef>(es); } -void Ifc4x3_rc3::IfcSectionedSurface::setCrossSections(const std::vector< ::Ifc4x3_rc3::IfcProfileDef >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc3::IfcPointByDistanceExpression > Ifc4x3_rc3::IfcSectionedSurface::CrossSectionPositions() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcPointByDistanceExpression>(es); } +void Ifc4x3_rc3::IfcSectionedSurface::setCrossSectionPositions(const std::vector< ::Ifc4x3_rc3::IfcPointByDistanceExpression >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc3::IfcProfileDef > Ifc4x3_rc3::IfcSectionedSurface::CrossSections() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcProfileDef>(es); } +void Ifc4x3_rc3::IfcSectionedSurface::setCrossSections(const std::vector< ::Ifc4x3_rc3::IfcProfileDef >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } bool Ifc4x3_rc3::IfcSectionedSurface::FixedAxisVertical() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcSectionedSurface::setFixedAxisVertical(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSectionedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[994]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSectionedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[992]); } +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)); } @@ -14547,25 +14516,25 @@ 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[997]); } 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>(); } +::Ifc4x3_rc3::IfcBoundedCurve Ifc4x3_rc3::IfcSegmentedReferenceCurve::BaseCurve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcBoundedCurve>(); } void Ifc4x3_rc3::IfcSegmentedReferenceCurve::setBaseCurve(const ::Ifc4x3_rc3::IfcBoundedCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcPlacement Ifc4x3_rc3::IfcSegmentedReferenceCurve::EndPoint() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcPlacement{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcPlacement>(); } +::Ifc4x3_rc3::IfcPlacement Ifc4x3_rc3::IfcSegmentedReferenceCurve::EndPoint() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcPlacement{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcPlacement>(); } void Ifc4x3_rc3::IfcSegmentedReferenceCurve::setEndPoint(const ::Ifc4x3_rc3::IfcPlacement& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSegmentedReferenceCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1000]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSegmentedReferenceCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[998]); } +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)); } void Ifc4x3_rc3::IfcSensor::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcSensorTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcSensorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSensor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1002]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSensor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1000]); } 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 @@ -14573,15 +14542,15 @@ Ifc4x3_rc3::IfcSensor Ifc4x3_rc3::IfcSensor::initialize(std::string v1_GlobalId, void Ifc4x3_rc3::IfcSensorType::setPredefinedType(const ::Ifc4x3_rc3::IfcSensorTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcSensorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSensorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1003]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSensorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1001]); } +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)); } void Ifc4x3_rc3::IfcShadingDevice::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcShadingDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1006]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcShadingDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1004]); } 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 @@ -14589,53 +14558,53 @@ Ifc4x3_rc3::IfcShadingDevice Ifc4x3_rc3::IfcShadingDevice::initialize(std::strin void Ifc4x3_rc3::IfcShadingDeviceType::setPredefinedType(const ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcShadingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1007]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcShadingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1005]); } +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); } -void Ifc4x3_rc3::IfcShapeAspect::setShapeRepresentations(const std::vector< ::Ifc4x3_rc3::IfcShapeModel >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc3::IfcShapeModel > Ifc4x3_rc3::IfcShapeAspect::ShapeRepresentations() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcShapeModel>(es); } +void Ifc4x3_rc3::IfcShapeAspect::setShapeRepresentations(const std::vector< ::Ifc4x3_rc3::IfcShapeModel >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x3_rc3::IfcShapeAspect::Name() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcShapeAspect::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x3_rc3::IfcShapeAspect::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcShapeAspect::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } boost::logic::tribool Ifc4x3_rc3::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcShapeAspect::setProductDefinitional(const boost::logic::tribool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc3::IfcProductRepresentationSelect Ifc4x3_rc3::IfcShapeAspect::PartOfProductDefinitionShape() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc3::IfcProductRepresentationSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcProductRepresentationSelect>(); } +::Ifc4x3_rc3::IfcProductRepresentationSelect Ifc4x3_rc3::IfcShapeAspect::PartOfProductDefinitionShape() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc3::IfcProductRepresentationSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcProductRepresentationSelect>(); } void Ifc4x3_rc3::IfcShapeAspect::setPartOfProductDefinitionShape(const ::Ifc4x3_rc3::IfcProductRepresentationSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcShapeAspect::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[434], 3)); } +std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcShapeAspect::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[433], 3)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcShapeAspect::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1009]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcShapeAspect::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1007]); } +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)); } +std::vector<::Ifc4x3_rc3::IfcShapeAspect> Ifc4x3_rc3::IfcShapeModel::OfShapeAspect() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[1007], 0)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcShapeModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1010]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcShapeModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1008]); } +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]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcShapeRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1009]); } +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); } -void Ifc4x3_rc3::IfcShellBasedSurfaceModel::setSbsmBoundary(const std::vector< ::Ifc4x3_rc3::IfcShell >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc3::IfcShell > Ifc4x3_rc3::IfcShellBasedSurfaceModel::SbsmBoundary() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcShell>(es); } +void Ifc4x3_rc3::IfcShellBasedSurfaceModel::setSbsmBoundary(const std::vector< ::Ifc4x3_rc3::IfcShell >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcShellBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1014]); } -Ifc4x3_rc3::IfcShellBasedSurfaceModel Ifc4x3_rc3::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_rc3::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary));; return *this; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcShellBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1012]); } +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)); } void Ifc4x3_rc3::IfcSign::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcSignTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcSignTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSign::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1015]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSign::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1013]); } 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 @@ -14643,15 +14612,15 @@ Ifc4x3_rc3::IfcSign Ifc4x3_rc3::IfcSign::initialize(std::string v1_GlobalId, ::I void Ifc4x3_rc3::IfcSignType::setPredefinedType(const ::Ifc4x3_rc3::IfcSignTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcSignTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSignType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1019]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSignType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1017]); } +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)); } void Ifc4x3_rc3::IfcSignal::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcSignalTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcSignalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSignal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1016]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSignal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1014]); } 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 @@ -14659,13 +14628,13 @@ Ifc4x3_rc3::IfcSignal Ifc4x3_rc3::IfcSignal::initialize(std::string v1_GlobalId, void Ifc4x3_rc3::IfcSignalType::setPredefinedType(const ::Ifc4x3_rc3::IfcSignalTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcSignalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSignalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1017]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSignalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1015]); } +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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSimpleProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1019]); } 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 @@ -14675,11 +14644,11 @@ std::optional< std::string > Ifc4x3_rc3::IfcSimplePropertyTemplate::PrimaryMeasu void Ifc4x3_rc3::IfcSimplePropertyTemplate::setPrimaryMeasureType(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< std::string > Ifc4x3_rc3::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcSimplePropertyTemplate::setSecondaryMeasureType(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_rc3::IfcPropertyEnumeration Ifc4x3_rc3::IfcSimplePropertyTemplate::Enumerators() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc3::IfcPropertyEnumeration{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc3::IfcPropertyEnumeration>(); } +::Ifc4x3_rc3::IfcPropertyEnumeration Ifc4x3_rc3::IfcSimplePropertyTemplate::Enumerators() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc3::IfcPropertyEnumeration{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc3::IfcPropertyEnumeration>(); } void Ifc4x3_rc3::IfcSimplePropertyTemplate::setEnumerators(const ::Ifc4x3_rc3::IfcPropertyEnumeration& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc3::IfcUnit Ifc4x3_rc3::IfcSimplePropertyTemplate::PrimaryUnit() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc3::IfcUnit{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc3::IfcUnit>(); } +::Ifc4x3_rc3::IfcUnit Ifc4x3_rc3::IfcSimplePropertyTemplate::PrimaryUnit() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc3::IfcUnit{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc3::IfcUnit>(); } void Ifc4x3_rc3::IfcSimplePropertyTemplate::setPrimaryUnit(const ::Ifc4x3_rc3::IfcUnit& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc3::IfcUnit Ifc4x3_rc3::IfcSimplePropertyTemplate::SecondaryUnit() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc3::IfcUnit{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc3::IfcUnit>(); } +::Ifc4x3_rc3::IfcUnit Ifc4x3_rc3::IfcSimplePropertyTemplate::SecondaryUnit() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc3::IfcUnit{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc3::IfcUnit>(); } void Ifc4x3_rc3::IfcSimplePropertyTemplate::setSecondaryUnit(const ::Ifc4x3_rc3::IfcUnit& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::optional< std::string > Ifc4x3_rc3::IfcSimplePropertyTemplate::Expression() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcSimplePropertyTemplate::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } @@ -14687,7 +14656,7 @@ std::optional< ::Ifc4x3_rc3::IfcStateEnum::Value > Ifc4x3_rc3::IfcSimpleProperty void Ifc4x3_rc3::IfcSimplePropertyTemplate::setAccessState(const std::optional< ::Ifc4x3_rc3::IfcStateEnum::Value >& v) { if (v) {set_attribute_value(11, enumeration_reference(&::Ifc4x3_rc3::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSimplePropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1022]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSimplePropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1020]); } 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 @@ -14697,7 +14666,7 @@ double Ifc4x3_rc3::IfcSine::LinearTerm() const { double v = get_attribute_value void Ifc4x3_rc3::IfcSine::setLinearTerm(const double& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSine::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1025]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSine::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1023]); } 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 @@ -14709,11 +14678,11 @@ std::optional< double > Ifc4x3_rc3::IfcSite::RefElevation() const { if(get_attri void Ifc4x3_rc3::IfcSite::setRefElevation(const std::optional< double >& v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } std::optional< std::string > Ifc4x3_rc3::IfcSite::LandTitleNumber() const { if(get_attribute_value(12).isNull()) { return std::nullopt; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc3::IfcSite::setLandTitleNumber(const std::optional< std::string >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x3_rc3::IfcPostalAddress Ifc4x3_rc3::IfcSite::SiteAddress() const { if(get_attribute_value(13).isNull()) { return ::Ifc4x3_rc3::IfcPostalAddress{}; } return ((express::Base)(get_attribute_value(13))).as<::Ifc4x3_rc3::IfcPostalAddress>(); } +::Ifc4x3_rc3::IfcPostalAddress Ifc4x3_rc3::IfcSite::SiteAddress() const { if(get_attribute_value(13).isNull()) { return ::Ifc4x3_rc3::IfcPostalAddress{}; } return ((express::base)(get_attribute_value(13))).as<::Ifc4x3_rc3::IfcPostalAddress>(); } void Ifc4x3_rc3::IfcSite::setSiteAddress(const ::Ifc4x3_rc3::IfcPostalAddress& v) { set_attribute_value(13, v);if constexpr (false)unset_attribute_value(13); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSite::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1027]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSite::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1025]); } 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< int64_t > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int64_t > /*[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 @@ -14721,19 +14690,19 @@ std::optional< ::Ifc4x3_rc3::IfcSlabTypeEnum::Value > Ifc4x3_rc3::IfcSlab::Prede void Ifc4x3_rc3::IfcSlab::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcSlabTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcSlabTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSlab::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1031]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSlab::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1029]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSlabElementedCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1030]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSlabStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1031]); } 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 @@ -14741,8 +14710,8 @@ Ifc4x3_rc3::IfcSlabStandardCase Ifc4x3_rc3::IfcSlabStandardCase::initialize(std: void Ifc4x3_rc3::IfcSlabType::setPredefinedType(const ::Ifc4x3_rc3::IfcSlabTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcSlabTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSlabType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1034]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSlabType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1032]); } +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; } @@ -14753,7 +14722,7 @@ std::optional< double > Ifc4x3_rc3::IfcSlippageConnectionCondition::SlippageZ() void Ifc4x3_rc3::IfcSlippageConnectionCondition::setSlippageZ(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSlippageConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1036]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSlippageConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1034]); } 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 @@ -14761,7 +14730,7 @@ std::optional< ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value > Ifc4x3_rc3::IfcSola void Ifc4x3_rc3::IfcSolarDevice::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSolarDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1037]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSolarDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1035]); } 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 @@ -14769,19 +14738,19 @@ Ifc4x3_rc3::IfcSolarDevice Ifc4x3_rc3::IfcSolarDevice::initialize(std::string v1 void Ifc4x3_rc3::IfcSolarDeviceType::setPredefinedType(const ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSolarDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1038]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSolarDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1036]); } +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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSolidModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1039]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSolidStratum::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1041]); } 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 @@ -14790,10 +14759,10 @@ void Ifc4x3_rc3::IfcSpace::setPredefinedType(const std::optional< ::Ifc4x3_rc3:: std::optional< double > Ifc4x3_rc3::IfcSpace::ElevationWithFlooring() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcSpace::setElevationWithFlooring(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -std::vector<::Ifc4x3_rc3::IfcRelCoversSpaces> Ifc4x3_rc3::IfcSpace::HasCoverings() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[934], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelSpaceBoundary> Ifc4x3_rc3::IfcSpace::BoundedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[951], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelCoversSpaces> Ifc4x3_rc3::IfcSpace::HasCoverings() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[932], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelSpaceBoundary> Ifc4x3_rc3::IfcSpace::BoundedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[949], 4)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSpace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1048]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSpace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1046]); } 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 @@ -14801,7 +14770,7 @@ std::optional< ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value > Ifc4x3_rc3::IfcSpac void Ifc4x3_rc3::IfcSpaceHeater::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSpaceHeater::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1050]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSpaceHeater::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1048]); } 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 @@ -14809,8 +14778,8 @@ Ifc4x3_rc3::IfcSpaceHeater Ifc4x3_rc3::IfcSpaceHeater::initialize(std::string v1 void Ifc4x3_rc3::IfcSpaceHeaterType::setPredefinedType(const ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSpaceHeaterType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1051]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSpaceHeaterType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1049]); } +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)); } @@ -14819,18 +14788,18 @@ std::optional< std::string > Ifc4x3_rc3::IfcSpaceType::LongName() const { if(get void Ifc4x3_rc3::IfcSpaceType::setLongName(const std::optional< std::string >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSpaceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1053]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSpaceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1051]); } +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; } void Ifc4x3_rc3::IfcSpatialElement::setLongName(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3_rc3::IfcRelContainedInSpatialStructure> Ifc4x3_rc3::IfcSpatialElement::ContainsElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[932], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelServicesBuildings> Ifc4x3_rc3::IfcSpatialElement::ServicedBySystems() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[950], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelReferencedInSpatialStructure> Ifc4x3_rc3::IfcSpatialElement::ReferencesElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[948], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelContainedInSpatialStructure> Ifc4x3_rc3::IfcSpatialElement::ContainsElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[930], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelServicesBuildings> Ifc4x3_rc3::IfcSpatialElement::ServicedBySystems() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[948], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelReferencedInSpatialStructure> Ifc4x3_rc3::IfcSpatialElement::ReferencesElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[946], 5)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSpatialElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1055]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSpatialElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1053]); } 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 @@ -14838,29 +14807,29 @@ std::optional< std::string > Ifc4x3_rc3::IfcSpatialElementType::ElementType() co void Ifc4x3_rc3::IfcSpatialElementType::setElementType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSpatialElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1056]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSpatialElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1054]); } +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)); } void Ifc4x3_rc3::IfcSpatialStructureElement::setCompositionType(const std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSpatialStructureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1058]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSpatialStructureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1056]); } 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]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSpatialStructureElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1057]); } +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)); } void Ifc4x3_rc3::IfcSpatialZone::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSpatialZone::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1060]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSpatialZone::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1058]); } 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 @@ -14870,15 +14839,15 @@ std::optional< std::string > Ifc4x3_rc3::IfcSpatialZoneType::LongName() const { void Ifc4x3_rc3::IfcSpatialZoneType::setLongName(const std::optional< std::string >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSpatialZoneType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1061]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSpatialZoneType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1059]); } +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; } void Ifc4x3_rc3::IfcSphere::setRadius(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSphere::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1067]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSphere::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1065]); } 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 @@ -14886,15 +14855,15 @@ double Ifc4x3_rc3::IfcSphericalSurface::Radius() const { double v = get_attribu void Ifc4x3_rc3::IfcSphericalSurface::setRadius(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSphericalSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1068]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSphericalSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1066]); } 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>(); } +::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>(); } void Ifc4x3_rc3::IfcSpiral::setPosition(const ::Ifc4x3_rc3::IfcAxis2Placement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1069]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1067]); } Ifc4x3_rc3::IfcSpiral Ifc4x3_rc3::IfcSpiral::initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcStackTerminal @@ -14902,7 +14871,7 @@ std::optional< ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value > Ifc4x3_rc3::IfcSt void Ifc4x3_rc3::IfcStackTerminal::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStackTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1070]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStackTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1068]); } 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 @@ -14910,15 +14879,15 @@ Ifc4x3_rc3::IfcStackTerminal Ifc4x3_rc3::IfcStackTerminal::initialize(std::strin void Ifc4x3_rc3::IfcStackTerminalType::setPredefinedType(const ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStackTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1071]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStackTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1069]); } +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)); } void Ifc4x3_rc3::IfcStair::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcStairTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcStairTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStair::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1073]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStair::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1071]); } 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 @@ -14934,7 +14903,7 @@ std::optional< ::Ifc4x3_rc3::IfcStairFlightTypeEnum::Value > Ifc4x3_rc3::IfcStai void Ifc4x3_rc3::IfcStairFlight::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcStairFlightTypeEnum::Value >& v) { if (v) {set_attribute_value(12, enumeration_reference(&::Ifc4x3_rc3::IfcStairFlightTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStairFlight::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1074]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStairFlight::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1072]); } 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< int64_t > v9_NumberOfRisers, std::optional< int64_t > 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 @@ -14942,59 +14911,59 @@ Ifc4x3_rc3::IfcStairFlight Ifc4x3_rc3::IfcStairFlight::initialize(std::string v1 void Ifc4x3_rc3::IfcStairFlightType::setPredefinedType(const ::Ifc4x3_rc3::IfcStairFlightTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcStairFlightTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStairFlightType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1075]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStairFlightType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1073]); } +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)); } void Ifc4x3_rc3::IfcStairType::setPredefinedType(const ::Ifc4x3_rc3::IfcStairTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcStairTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStairType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1077]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStairType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1075]); } +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; } void Ifc4x3_rc3::IfcStructuralAction::setDestabilizingLoad(const std::optional< bool >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1080]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1078]); } 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>(); } +::Ifc4x3_rc3::IfcStructuralLoad Ifc4x3_rc3::IfcStructuralActivity::AppliedLoad() const { return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc3::IfcStructuralLoad>(); } void Ifc4x3_rc3::IfcStructuralActivity::setAppliedLoad(const ::Ifc4x3_rc3::IfcStructuralLoad& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value Ifc4x3_rc3::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcStructuralActivity::setGlobalOrLocal(const ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value& v) { set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -std::vector<::Ifc4x3_rc3::IfcRelConnectsStructuralActivity> Ifc4x3_rc3::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[928], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelConnectsStructuralActivity> Ifc4x3_rc3::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[926], 5)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralActivity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1081]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralActivity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1079]); } 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)); } void Ifc4x3_rc3::IfcStructuralAnalysisModel::setPredefinedType(const ::Ifc4x3_rc3::IfcAnalysisModelTypeEnum::Value& v) { set_attribute_value(5, enumeration_reference(&::Ifc4x3_rc3::IfcAnalysisModelTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc3::IfcAxis2Placement3D Ifc4x3_rc3::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcAxis2Placement3D>(); } +::Ifc4x3_rc3::IfcAxis2Placement3D Ifc4x3_rc3::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcAxis2Placement3D>(); } void Ifc4x3_rc3::IfcStructuralAnalysisModel::setOrientationOf2DPlane(const ::Ifc4x3_rc3::IfcAxis2Placement3D& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::optional< std::vector< ::Ifc4x3_rc3::IfcStructuralLoadGroup > > Ifc4x3_rc3::IfcStructuralAnalysisModel::LoadedBy() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc3::IfcStructuralLoadGroup>(es); } -void Ifc4x3_rc3::IfcStructuralAnalysisModel::setLoadedBy(const std::optional< std::vector< ::Ifc4x3_rc3::IfcStructuralLoadGroup > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } -std::optional< std::vector< ::Ifc4x3_rc3::IfcStructuralResultGroup > > Ifc4x3_rc3::IfcStructuralAnalysisModel::HasResults() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc3::IfcStructuralResultGroup>(es); } -void Ifc4x3_rc3::IfcStructuralAnalysisModel::setHasResults(const std::optional< std::vector< ::Ifc4x3_rc3::IfcStructuralResultGroup > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } -::Ifc4x3_rc3::IfcObjectPlacement Ifc4x3_rc3::IfcStructuralAnalysisModel::SharedPlacement() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc3::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc3::IfcObjectPlacement>(); } +std::optional< std::vector< ::Ifc4x3_rc3::IfcStructuralLoadGroup > > Ifc4x3_rc3::IfcStructuralAnalysisModel::LoadedBy() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc3::IfcStructuralLoadGroup>(es); } +void Ifc4x3_rc3::IfcStructuralAnalysisModel::setLoadedBy(const std::optional< std::vector< ::Ifc4x3_rc3::IfcStructuralLoadGroup > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x3_rc3::IfcStructuralResultGroup > > Ifc4x3_rc3::IfcStructuralAnalysisModel::HasResults() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc3::IfcStructuralResultGroup>(es); } +void Ifc4x3_rc3::IfcStructuralAnalysisModel::setHasResults(const std::optional< std::vector< ::Ifc4x3_rc3::IfcStructuralResultGroup > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } +::Ifc4x3_rc3::IfcObjectPlacement Ifc4x3_rc3::IfcStructuralAnalysisModel::SharedPlacement() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc3::IfcObjectPlacement{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc3::IfcObjectPlacement>(); } void Ifc4x3_rc3::IfcStructuralAnalysisModel::setSharedPlacement(const ::Ifc4x3_rc3::IfcObjectPlacement& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralAnalysisModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1083]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralAnalysisModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1081]); } +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>(); } +::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>(); } void Ifc4x3_rc3::IfcStructuralConnection::setAppliedCondition(const ::Ifc4x3_rc3::IfcBoundaryCondition& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector<::Ifc4x3_rc3::IfcRelConnectsStructuralMember> Ifc4x3_rc3::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[929], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelConnectsStructuralMember> Ifc4x3_rc3::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[927], 5)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1084]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1082]); } 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 @@ -15002,7 +14971,7 @@ std::optional< std::string > Ifc4x3_rc3::IfcStructuralConnectionCondition::Name( void Ifc4x3_rc3::IfcStructuralConnectionCondition::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1085]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1083]); } 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 @@ -15012,31 +14981,31 @@ void Ifc4x3_rc3::IfcStructuralCurveAction::setProjectedOrTrue(const std::optiona void Ifc4x3_rc3::IfcStructuralCurveAction::setPredefinedType(const ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value& v) { set_attribute_value(11, enumeration_reference(&::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralCurveAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1086]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralCurveAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1084]); } 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>(); } +::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcStructuralCurveConnection::Axis() const { return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc3::IfcDirection>(); } void Ifc4x3_rc3::IfcStructuralCurveConnection::setAxis(const ::Ifc4x3_rc3::IfcDirection& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralCurveConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1088]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralCurveConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1086]); } 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)); } void Ifc4x3_rc3::IfcStructuralCurveMember::setPredefinedType(const ::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcStructuralCurveMember::Axis() const { return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc3::IfcDirection>(); } +::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcStructuralCurveMember::Axis() const { return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc3::IfcDirection>(); } void Ifc4x3_rc3::IfcStructuralCurveMember::setAxis(const ::Ifc4x3_rc3::IfcDirection& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralCurveMember::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1089]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralCurveMember::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1087]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralCurveMemberVarying::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1089]); } 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 @@ -15044,20 +15013,20 @@ Ifc4x3_rc3::IfcStructuralCurveMemberVarying Ifc4x3_rc3::IfcStructuralCurveMember void Ifc4x3_rc3::IfcStructuralCurveReaction::setPredefinedType(const ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralCurveReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1092]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralCurveReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1090]); } 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)); } +std::vector<::Ifc4x3_rc3::IfcRelConnectsStructuralActivity> Ifc4x3_rc3::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[926], 4)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1093]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1091]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLinearAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1092]); } 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 @@ -15065,7 +15034,7 @@ std::optional< std::string > Ifc4x3_rc3::IfcStructuralLoad::Name() const { if(ge void Ifc4x3_rc3::IfcStructuralLoad::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoad::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1095]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoad::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1093]); } 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 @@ -15073,18 +15042,18 @@ std::optional< std::vector< double > /*[3:3]*/ > Ifc4x3_rc3::IfcStructuralLoadCa void Ifc4x3_rc3::IfcStructuralLoadCase::setSelfWeightCoefficients(const std::optional< std::vector< double > /*[3:3]*/ >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1096]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1094]); } 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); } -void Ifc4x3_rc3::IfcStructuralLoadConfiguration::setValues(const std::vector< ::Ifc4x3_rc3::IfcStructuralLoadOrResult >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc3::IfcStructuralLoadOrResult > Ifc4x3_rc3::IfcStructuralLoadConfiguration::Values() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcStructuralLoadOrResult>(es); } +void Ifc4x3_rc3::IfcStructuralLoadConfiguration::setValues(const std::vector< ::Ifc4x3_rc3::IfcStructuralLoadOrResult >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< std::vector< std::vector< double > > > Ifc4x3_rc3::IfcStructuralLoadConfiguration::Locations() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector< std::vector< double > > v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcStructuralLoadConfiguration::setLocations(const std::optional< std::vector< std::vector< double > > >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadConfiguration::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1097]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadConfiguration::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1095]); } +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)); } @@ -15098,10 +15067,10 @@ void Ifc4x3_rc3::IfcStructuralLoadGroup::setCoefficient(const std::optional< dou std::optional< std::string > Ifc4x3_rc3::IfcStructuralLoadGroup::Purpose() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc3::IfcStructuralLoadGroup::setPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -std::vector<::Ifc4x3_rc3::IfcStructuralResultGroup> Ifc4x3_rc3::IfcStructuralLoadGroup::SourceOfResultGroup() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[1114], 6)); } -std::vector<::Ifc4x3_rc3::IfcStructuralAnalysisModel> Ifc4x3_rc3::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[1083], 7)); } +std::vector<::Ifc4x3_rc3::IfcStructuralResultGroup> Ifc4x3_rc3::IfcStructuralLoadGroup::SourceOfResultGroup() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[1112], 6)); } +std::vector<::Ifc4x3_rc3::IfcStructuralAnalysisModel> Ifc4x3_rc3::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[1081], 7)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1098]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1096]); } 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 @@ -15119,13 +15088,13 @@ std::optional< double > Ifc4x3_rc3::IfcStructuralLoadLinearForce::LinearMomentZ( void Ifc4x3_rc3::IfcStructuralLoadLinearForce::setLinearMomentZ(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadLinearForce::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1099]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadLinearForce::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1097]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadOrResult::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1098]); } 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 @@ -15137,7 +15106,7 @@ std::optional< double > Ifc4x3_rc3::IfcStructuralLoadPlanarForce::PlanarForceZ() void Ifc4x3_rc3::IfcStructuralLoadPlanarForce::setPlanarForceZ(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadPlanarForce::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1101]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadPlanarForce::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1099]); } 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 @@ -15155,7 +15124,7 @@ std::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::Rotatio void Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1102]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1100]); } 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 @@ -15163,7 +15132,7 @@ std::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleDisplacementDistortio void Ifc4x3_rc3::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadSingleDisplacementDistortion::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1103]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadSingleDisplacementDistortion::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1101]); } 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 @@ -15181,7 +15150,7 @@ std::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleForce::MomentZ() cons void Ifc4x3_rc3::IfcStructuralLoadSingleForce::setMomentZ(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadSingleForce::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1104]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadSingleForce::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1102]); } 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 @@ -15189,13 +15158,13 @@ std::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleForceWarping::Warping void Ifc4x3_rc3::IfcStructuralLoadSingleForceWarping::setWarpingMoment(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadSingleForceWarping::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1105]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadSingleForceWarping::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1103]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadStatic::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1104]); } 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 @@ -15207,59 +15176,59 @@ std::optional< double > Ifc4x3_rc3::IfcStructuralLoadTemperature::DeltaTZ() cons void Ifc4x3_rc3::IfcStructuralLoadTemperature::setDeltaTZ(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadTemperature::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1107]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadTemperature::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1105]); } 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)); } +std::vector<::Ifc4x3_rc3::IfcRelConnectsStructuralMember> Ifc4x3_rc3::IfcStructuralMember::ConnectedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[927], 4)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralMember::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1108]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralMember::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1106]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralPlanarAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1107]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralPointAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1108]); } 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>(); } +::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>(); } void Ifc4x3_rc3::IfcStructuralPointConnection::setConditionCoordinateSystem(const ::Ifc4x3_rc3::IfcAxis2Placement3D& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralPointConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1111]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralPointConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1109]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralPointReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1110]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1111]); } 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)); } void Ifc4x3_rc3::IfcStructuralResultGroup::setTheoryType(const ::Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::Value& v) { set_attribute_value(5, enumeration_reference(&::Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc3::IfcStructuralLoadGroup Ifc4x3_rc3::IfcStructuralResultGroup::ResultForLoadGroup() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcStructuralLoadGroup{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcStructuralLoadGroup>(); } +::Ifc4x3_rc3::IfcStructuralLoadGroup Ifc4x3_rc3::IfcStructuralResultGroup::ResultForLoadGroup() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcStructuralLoadGroup{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcStructuralLoadGroup>(); } void Ifc4x3_rc3::IfcStructuralResultGroup::setResultForLoadGroup(const ::Ifc4x3_rc3::IfcStructuralLoadGroup& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } bool Ifc4x3_rc3::IfcStructuralResultGroup::IsLinear() const { bool v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcStructuralResultGroup::setIsLinear(const bool& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector<::Ifc4x3_rc3::IfcStructuralAnalysisModel> Ifc4x3_rc3::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[1083], 8)); } +std::vector<::Ifc4x3_rc3::IfcStructuralAnalysisModel> Ifc4x3_rc3::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[1081], 8)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralResultGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1114]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralResultGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1112]); } 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 @@ -15269,13 +15238,13 @@ void Ifc4x3_rc3::IfcStructuralSurfaceAction::setProjectedOrTrue(const std::optio void Ifc4x3_rc3::IfcStructuralSurfaceAction::setPredefinedType(const ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value& v) { set_attribute_value(11, enumeration_reference(&::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralSurfaceAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1115]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralSurfaceAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1113]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralSurfaceConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1115]); } 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 @@ -15285,13 +15254,13 @@ std::optional< double > Ifc4x3_rc3::IfcStructuralSurfaceMember::Thickness() cons void Ifc4x3_rc3::IfcStructuralSurfaceMember::setThickness(const std::optional< double >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralSurfaceMember::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1118]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralSurfaceMember::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1116]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralSurfaceMemberVarying::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1118]); } 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 @@ -15299,81 +15268,81 @@ Ifc4x3_rc3::IfcStructuralSurfaceMemberVarying Ifc4x3_rc3::IfcStructuralSurfaceMe void Ifc4x3_rc3::IfcStructuralSurfaceReaction::setPredefinedType(const ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralSurfaceReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1121]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralSurfaceReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1119]); } 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]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStyleModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1122]); } +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>(); } +::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>(); } void Ifc4x3_rc3::IfcStyledItem::setItem(const ::Ifc4x3_rc3::IfcRepresentationItem& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc3::IfcPresentationStyle > Ifc4x3_rc3::IfcStyledItem::Styles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcPresentationStyle>(es); } -void Ifc4x3_rc3::IfcStyledItem::setStyles(const std::vector< ::Ifc4x3_rc3::IfcPresentationStyle >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc3::IfcPresentationStyle > Ifc4x3_rc3::IfcStyledItem::Styles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcPresentationStyle>(es); } +void Ifc4x3_rc3::IfcStyledItem::setStyles(const std::vector< ::Ifc4x3_rc3::IfcPresentationStyle >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_rc3::IfcStyledItem::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcStyledItem::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcStyledItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1122]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStyledItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1120]); } +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]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcStyledRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1121]); } +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)); } void Ifc4x3_rc3::IfcSubContractResource::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value >& v) { if (v) {set_attribute_value(10, enumeration_reference(&::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSubContractResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1125]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSubContractResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1123]); } +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)); } void Ifc4x3_rc3::IfcSubContractResourceType::setPredefinedType(const ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value& v) { set_attribute_value(11, enumeration_reference(&::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSubContractResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1126]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSubContractResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1124]); } +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>(); } +::Ifc4x3_rc3::IfcEdge Ifc4x3_rc3::IfcSubedge::ParentEdge() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcEdge>(); } void Ifc4x3_rc3::IfcSubedge::setParentEdge(const ::Ifc4x3_rc3::IfcEdge& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSubedge::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1128]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSubedge::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1126]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1127]); } 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>(); } +::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcSurfaceCurve::Curve3D() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCurve>(); } void Ifc4x3_rc3::IfcSurfaceCurve::setCurve3D(const ::Ifc4x3_rc3::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc3::IfcPcurve > Ifc4x3_rc3::IfcSurfaceCurve::AssociatedGeometry() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcPcurve>(es); } -void Ifc4x3_rc3::IfcSurfaceCurve::setAssociatedGeometry(const std::vector< ::Ifc4x3_rc3::IfcPcurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc3::IfcPcurve > Ifc4x3_rc3::IfcSurfaceCurve::AssociatedGeometry() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcPcurve>(es); } +void Ifc4x3_rc3::IfcSurfaceCurve::setAssociatedGeometry(const std::vector< ::Ifc4x3_rc3::IfcPcurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } ::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3_rc3::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::FromString(get_attribute_value(2)); } void Ifc4x3_rc3::IfcSurfaceCurve::setMasterRepresentation(const ::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1130]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1128]); } +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>(); } +::Ifc4x3_rc3::IfcSurface Ifc4x3_rc3::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcSurface>(); } void Ifc4x3_rc3::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(const ::Ifc4x3_rc3::IfcSurface& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceCurveSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1131]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceCurveSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1129]); } 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 @@ -15381,25 +15350,25 @@ std::optional< ::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3_rc3::IfcS void Ifc4x3_rc3::IfcSurfaceFeature::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceFeature::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1132]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceFeature::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1130]); } 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>(); } +::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcDirection>(); } void Ifc4x3_rc3::IfcSurfaceOfLinearExtrusion::setExtrudedDirection(const ::Ifc4x3_rc3::IfcDirection& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc4x3_rc3::IfcSurfaceOfLinearExtrusion::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcSurfaceOfLinearExtrusion::setDepth(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceOfLinearExtrusion::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1134]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceOfLinearExtrusion::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1132]); } 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>(); } +::Ifc4x3_rc3::IfcAxis1Placement Ifc4x3_rc3::IfcSurfaceOfRevolution::AxisPosition() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcAxis1Placement>(); } void Ifc4x3_rc3::IfcSurfaceOfRevolution::setAxisPosition(const ::Ifc4x3_rc3::IfcAxis1Placement& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceOfRevolution::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1135]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceOfRevolution::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1133]); } 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 @@ -15411,31 +15380,31 @@ std::optional< double > Ifc4x3_rc3::IfcSurfaceReinforcementArea::ShearReinforcem void Ifc4x3_rc3::IfcSurfaceReinforcementArea::setShearReinforcement(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceReinforcementArea::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1137]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceReinforcementArea::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1135]); } 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)); } void Ifc4x3_rc3::IfcSurfaceStyle::setSide(const ::Ifc4x3_rc3::IfcSurfaceSide::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4x3_rc3::IfcSurfaceSide::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x3_rc3::IfcSurfaceStyleElementSelect > Ifc4x3_rc3::IfcSurfaceStyle::Styles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcSurfaceStyleElementSelect>(es); } -void Ifc4x3_rc3::IfcSurfaceStyle::setStyles(const std::vector< ::Ifc4x3_rc3::IfcSurfaceStyleElementSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc3::IfcSurfaceStyleElementSelect > Ifc4x3_rc3::IfcSurfaceStyle::Styles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcSurfaceStyleElementSelect>(es); } +void Ifc4x3_rc3::IfcSurfaceStyle::setStyles(const std::vector< ::Ifc4x3_rc3::IfcSurfaceStyleElementSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1139]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1137]); } +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>(); } +::Ifc4x3_rc3::IfcColourRgb Ifc4x3_rc3::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcColourRgb>(); } void Ifc4x3_rc3::IfcSurfaceStyleLighting::setDiffuseTransmissionColour(const ::Ifc4x3_rc3::IfcColourRgb& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcColourRgb Ifc4x3_rc3::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcColourRgb>(); } +::Ifc4x3_rc3::IfcColourRgb Ifc4x3_rc3::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcColourRgb>(); } void Ifc4x3_rc3::IfcSurfaceStyleLighting::setDiffuseReflectionColour(const ::Ifc4x3_rc3::IfcColourRgb& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcColourRgb Ifc4x3_rc3::IfcSurfaceStyleLighting::TransmissionColour() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcColourRgb>(); } +::Ifc4x3_rc3::IfcColourRgb Ifc4x3_rc3::IfcSurfaceStyleLighting::TransmissionColour() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcColourRgb>(); } void Ifc4x3_rc3::IfcSurfaceStyleLighting::setTransmissionColour(const ::Ifc4x3_rc3::IfcColourRgb& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcColourRgb Ifc4x3_rc3::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcColourRgb>(); } +::Ifc4x3_rc3::IfcColourRgb Ifc4x3_rc3::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcColourRgb>(); } void Ifc4x3_rc3::IfcSurfaceStyleLighting::setReflectanceColour(const ::Ifc4x3_rc3::IfcColourRgb& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceStyleLighting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1141]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceStyleLighting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1139]); } 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 @@ -15445,46 +15414,46 @@ std::optional< double > Ifc4x3_rc3::IfcSurfaceStyleRefraction::DispersionFactor( void Ifc4x3_rc3::IfcSurfaceStyleRefraction::setDispersionFactor(const std::optional< double >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceStyleRefraction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1142]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceStyleRefraction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1140]); } 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>(); } +::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>(); } void Ifc4x3_rc3::IfcSurfaceStyleRendering::setDiffuseColour(const ::Ifc4x3_rc3::IfcColourOrFactor& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcColourOrFactor Ifc4x3_rc3::IfcSurfaceStyleRendering::TransmissionColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcColourOrFactor>(); } +::Ifc4x3_rc3::IfcColourOrFactor Ifc4x3_rc3::IfcSurfaceStyleRendering::TransmissionColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcColourOrFactor>(); } void Ifc4x3_rc3::IfcSurfaceStyleRendering::setTransmissionColour(const ::Ifc4x3_rc3::IfcColourOrFactor& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc3::IfcColourOrFactor Ifc4x3_rc3::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc3::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcColourOrFactor>(); } +::Ifc4x3_rc3::IfcColourOrFactor Ifc4x3_rc3::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc3::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcColourOrFactor>(); } void Ifc4x3_rc3::IfcSurfaceStyleRendering::setDiffuseTransmissionColour(const ::Ifc4x3_rc3::IfcColourOrFactor& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcColourOrFactor Ifc4x3_rc3::IfcSurfaceStyleRendering::ReflectionColour() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc3::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcColourOrFactor>(); } +::Ifc4x3_rc3::IfcColourOrFactor Ifc4x3_rc3::IfcSurfaceStyleRendering::ReflectionColour() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc3::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcColourOrFactor>(); } void Ifc4x3_rc3::IfcSurfaceStyleRendering::setReflectionColour(const ::Ifc4x3_rc3::IfcColourOrFactor& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc3::IfcColourOrFactor Ifc4x3_rc3::IfcSurfaceStyleRendering::SpecularColour() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcColourOrFactor>(); } +::Ifc4x3_rc3::IfcColourOrFactor Ifc4x3_rc3::IfcSurfaceStyleRendering::SpecularColour() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcColourOrFactor>(); } void Ifc4x3_rc3::IfcSurfaceStyleRendering::setSpecularColour(const ::Ifc4x3_rc3::IfcColourOrFactor& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc3::IfcSpecularHighlightSelect Ifc4x3_rc3::IfcSurfaceStyleRendering::SpecularHighlight() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc3::IfcSpecularHighlightSelect{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc3::IfcSpecularHighlightSelect>(); } +::Ifc4x3_rc3::IfcSpecularHighlightSelect Ifc4x3_rc3::IfcSurfaceStyleRendering::SpecularHighlight() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc3::IfcSpecularHighlightSelect{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc3::IfcSpecularHighlightSelect>(); } void Ifc4x3_rc3::IfcSurfaceStyleRendering::setSpecularHighlight(const ::Ifc4x3_rc3::IfcSpecularHighlightSelect& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_rc3::IfcReflectanceMethodEnum::Value Ifc4x3_rc3::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x3_rc3::IfcReflectanceMethodEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcSurfaceStyleRendering::setReflectanceMethod(const ::Ifc4x3_rc3::IfcReflectanceMethodEnum::Value& v) { set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcReflectanceMethodEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceStyleRendering::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1143]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceStyleRendering::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1141]); } 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>(); } +::Ifc4x3_rc3::IfcColourRgb Ifc4x3_rc3::IfcSurfaceStyleShading::SurfaceColour() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcColourRgb>(); } void Ifc4x3_rc3::IfcSurfaceStyleShading::setSurfaceColour(const ::Ifc4x3_rc3::IfcColourRgb& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< double > Ifc4x3_rc3::IfcSurfaceStyleShading::Transparency() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcSurfaceStyleShading::setTransparency(const std::optional< double >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceStyleShading::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1144]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceStyleShading::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1142]); } 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); } -void Ifc4x3_rc3::IfcSurfaceStyleWithTextures::setTextures(const std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > Ifc4x3_rc3::IfcSurfaceStyleWithTextures::Textures() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcSurfaceTexture>(es); } +void Ifc4x3_rc3::IfcSurfaceStyleWithTextures::setTextures(const std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceStyleWithTextures::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1145]); } -Ifc4x3_rc3::IfcSurfaceStyleWithTextures Ifc4x3_rc3::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures));; return *this; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceStyleWithTextures::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1143]); } +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; } @@ -15493,29 +15462,29 @@ bool Ifc4x3_rc3::IfcSurfaceTexture::RepeatT() const { bool v = get_attribute_va void Ifc4x3_rc3::IfcSurfaceTexture::setRepeatT(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_rc3::IfcSurfaceTexture::Mode() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcSurfaceTexture::setMode(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc3::IfcCartesianTransformationOperator2D Ifc4x3_rc3::IfcSurfaceTexture::TextureTransform() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcCartesianTransformationOperator2D>(); } +::Ifc4x3_rc3::IfcCartesianTransformationOperator2D Ifc4x3_rc3::IfcSurfaceTexture::TextureTransform() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcCartesianTransformationOperator2D>(); } void Ifc4x3_rc3::IfcSurfaceTexture::setTextureTransform(const ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcSurfaceTexture::Parameter() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcSurfaceTexture::setParameter(const std::optional< std::vector< std::string > /*[1:?]*/ >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector<::Ifc4x3_rc3::IfcTextureCoordinate> Ifc4x3_rc3::IfcSurfaceTexture::IsMappedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[1197], 0)); } -std::vector<::Ifc4x3_rc3::IfcSurfaceStyleWithTextures> Ifc4x3_rc3::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[1145], 0)); } +std::vector<::Ifc4x3_rc3::IfcTextureCoordinate> Ifc4x3_rc3::IfcSurfaceTexture::IsMappedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[1195], 0)); } +std::vector<::Ifc4x3_rc3::IfcSurfaceStyleWithTextures> Ifc4x3_rc3::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[1143], 0)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1146]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1144]); } 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>(); } +::Ifc4x3_rc3::IfcProfileDef Ifc4x3_rc3::IfcSweptAreaSolid::SweptArea() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcProfileDef>(); } void Ifc4x3_rc3::IfcSweptAreaSolid::setSweptArea(const ::Ifc4x3_rc3::IfcProfileDef& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcAxis2Placement3D Ifc4x3_rc3::IfcSweptAreaSolid::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc3::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcAxis2Placement3D>(); } +::Ifc4x3_rc3::IfcAxis2Placement3D Ifc4x3_rc3::IfcSweptAreaSolid::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc3::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcAxis2Placement3D>(); } void Ifc4x3_rc3::IfcSweptAreaSolid::setPosition(const ::Ifc4x3_rc3::IfcAxis2Placement3D& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1147]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1145]); } 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>(); } +::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcSweptDiskSolid::Directrix() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCurve>(); } void Ifc4x3_rc3::IfcSweptDiskSolid::setDirectrix(const ::Ifc4x3_rc3::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc3::IfcSweptDiskSolid::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcSweptDiskSolid::setRadius(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -15527,7 +15496,7 @@ std::optional< double > Ifc4x3_rc3::IfcSweptDiskSolid::EndParam() const { if(get void Ifc4x3_rc3::IfcSweptDiskSolid::setEndParam(const std::optional< double >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSweptDiskSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1148]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSweptDiskSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1146]); } 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 @@ -15535,17 +15504,17 @@ std::optional< double > Ifc4x3_rc3::IfcSweptDiskSolidPolygonal::FilletRadius() c void Ifc4x3_rc3::IfcSweptDiskSolidPolygonal::setFilletRadius(const std::optional< double >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSweptDiskSolidPolygonal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1149]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSweptDiskSolidPolygonal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1147]); } 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>(); } +::Ifc4x3_rc3::IfcProfileDef Ifc4x3_rc3::IfcSweptSurface::SweptCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcProfileDef>(); } void Ifc4x3_rc3::IfcSweptSurface::setSweptCurve(const ::Ifc4x3_rc3::IfcProfileDef& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcAxis2Placement3D Ifc4x3_rc3::IfcSweptSurface::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc3::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcAxis2Placement3D>(); } +::Ifc4x3_rc3::IfcAxis2Placement3D Ifc4x3_rc3::IfcSweptSurface::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc3::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcAxis2Placement3D>(); } void Ifc4x3_rc3::IfcSweptSurface::setPosition(const ::Ifc4x3_rc3::IfcAxis2Placement3D& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSweptSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1150]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSweptSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1148]); } 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 @@ -15553,7 +15522,7 @@ std::optional< ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value > Ifc4x3_rc3::Ifc void Ifc4x3_rc3::IfcSwitchingDevice::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSwitchingDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1151]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSwitchingDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1149]); } 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 @@ -15561,15 +15530,15 @@ Ifc4x3_rc3::IfcSwitchingDevice Ifc4x3_rc3::IfcSwitchingDevice::initialize(std::s void Ifc4x3_rc3::IfcSwitchingDeviceType::setPredefinedType(const ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSwitchingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1152]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSwitchingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1150]); } +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 -std::vector<::Ifc4x3_rc3::IfcRelServicesBuildings> Ifc4x3_rc3::IfcSystem::ServicesBuildings() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[950], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelReferencedInSpatialStructure> Ifc4x3_rc3::IfcSystem::ServicesFacilities() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[948], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelServicesBuildings> Ifc4x3_rc3::IfcSystem::ServicesBuildings() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[948], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelReferencedInSpatialStructure> Ifc4x3_rc3::IfcSystem::ServicesFacilities() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[946], 4)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1154]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1152]); } 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 @@ -15577,7 +15546,7 @@ std::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_r void Ifc4x3_rc3::IfcSystemFurnitureElement::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSystemFurnitureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1155]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSystemFurnitureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1153]); } 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 @@ -15585,8 +15554,8 @@ std::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_r void Ifc4x3_rc3::IfcSystemFurnitureElementType::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value >& v) { if (v) {set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcSystemFurnitureElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1156]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcSystemFurnitureElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1154]); } +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; } @@ -15609,20 +15578,20 @@ std::optional< double > Ifc4x3_rc3::IfcTShapeProfileDef::FlangeSlope() const { i void Ifc4x3_rc3::IfcTShapeProfileDef::setFlangeSlope(const std::optional< double >& v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1240]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1238]); } 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; } void Ifc4x3_rc3::IfcTable::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::optional< std::vector< ::Ifc4x3_rc3::IfcTableRow > > Ifc4x3_rc3::IfcTable::Rows() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcTableRow>(es); } -void Ifc4x3_rc3::IfcTable::setRows(const std::optional< std::vector< ::Ifc4x3_rc3::IfcTableRow > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } -std::optional< std::vector< ::Ifc4x3_rc3::IfcTableColumn > > Ifc4x3_rc3::IfcTable::Columns() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcTableColumn>(es); } -void Ifc4x3_rc3::IfcTable::setColumns(const std::optional< std::vector< ::Ifc4x3_rc3::IfcTableColumn > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4x3_rc3::IfcTableRow > > Ifc4x3_rc3::IfcTable::Rows() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcTableRow>(es); } +void Ifc4x3_rc3::IfcTable::setRows(const std::optional< std::vector< ::Ifc4x3_rc3::IfcTableRow > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } +std::optional< std::vector< ::Ifc4x3_rc3::IfcTableColumn > > Ifc4x3_rc3::IfcTable::Columns() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcTableColumn>(es); } +void Ifc4x3_rc3::IfcTable::setColumns(const std::optional< std::vector< ::Ifc4x3_rc3::IfcTableColumn > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTable::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1158]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTable::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1156]); } +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; } @@ -15631,31 +15600,31 @@ std::optional< std::string > Ifc4x3_rc3::IfcTableColumn::Name() const { if(get_a void Ifc4x3_rc3::IfcTableColumn::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x3_rc3::IfcTableColumn::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcTableColumn::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc3::IfcUnit Ifc4x3_rc3::IfcTableColumn::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcUnit>(); } +::Ifc4x3_rc3::IfcUnit Ifc4x3_rc3::IfcTableColumn::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcUnit>(); } void Ifc4x3_rc3::IfcTableColumn::setUnit(const ::Ifc4x3_rc3::IfcUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc3::IfcReference Ifc4x3_rc3::IfcTableColumn::ReferencePath() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc3::IfcReference{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcReference>(); } +::Ifc4x3_rc3::IfcReference Ifc4x3_rc3::IfcTableColumn::ReferencePath() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc3::IfcReference{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcReference>(); } void Ifc4x3_rc3::IfcTableColumn::setReferencePath(const ::Ifc4x3_rc3::IfcReference& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTableColumn::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1159]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTableColumn::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1157]); } 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); } -void Ifc4x3_rc3::IfcTableRow::setRowCells(const std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > >& v) { if (v) {set_attribute_value(0, cast_vector(*v));} else {unset_attribute_value(0);} } +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); } +void Ifc4x3_rc3::IfcTableRow::setRowCells(const std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > >& v) { if (v) {set_attribute_value(0, cast_vector(*v));} else {unset_attribute_value(0);} } std::optional< bool > Ifc4x3_rc3::IfcTableRow::IsHeading() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } bool v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcTableRow::setIsHeading(const std::optional< bool >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTableRow::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1160]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTableRow::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1158]); } +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)); } void Ifc4x3_rc3::IfcTank::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcTankTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcTankTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTank::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1161]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTank::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1159]); } 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 @@ -15663,8 +15632,8 @@ Ifc4x3_rc3::IfcTank Ifc4x3_rc3::IfcTank::initialize(std::string v1_GlobalId, ::I void Ifc4x3_rc3::IfcTankType::setPredefinedType(const ::Ifc4x3_rc3::IfcTankTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcTankTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTankType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1162]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTankType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1160]); } +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; } @@ -15675,13 +15644,13 @@ bool Ifc4x3_rc3::IfcTask::IsMilestone() const { bool v = get_attribute_value(9) void Ifc4x3_rc3::IfcTask::setIsMilestone(const bool& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::optional< int64_t > Ifc4x3_rc3::IfcTask::Priority() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcTask::setPriority(const std::optional< int64_t >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x3_rc3::IfcTaskTime Ifc4x3_rc3::IfcTask::TaskTime() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x3_rc3::IfcTaskTime{}; } return ((express::Base)(get_attribute_value(11))).as<::Ifc4x3_rc3::IfcTaskTime>(); } +::Ifc4x3_rc3::IfcTaskTime Ifc4x3_rc3::IfcTask::TaskTime() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x3_rc3::IfcTaskTime{}; } return ((express::base)(get_attribute_value(11))).as<::Ifc4x3_rc3::IfcTaskTime>(); } void Ifc4x3_rc3::IfcTask::setTaskTime(const ::Ifc4x3_rc3::IfcTaskTime& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } std::optional< ::Ifc4x3_rc3::IfcTaskTypeEnum::Value > Ifc4x3_rc3::IfcTask::PredefinedType() const { if(get_attribute_value(12).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcTaskTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x3_rc3::IfcTask::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcTaskTypeEnum::Value >& v) { if (v) {set_attribute_value(12, enumeration_reference(&::Ifc4x3_rc3::IfcTaskTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTask::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1164]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTask::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1162]); } 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< int64_t > 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 @@ -15721,15 +15690,15 @@ std::optional< double > Ifc4x3_rc3::IfcTaskTime::Completion() const { if(get_att void Ifc4x3_rc3::IfcTaskTime::setCompletion(const std::optional< double >& v) { if (v) {set_attribute_value(19, *v);} else {unset_attribute_value(19);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTaskTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1166]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTaskTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1164]); } 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>(); } +::Ifc4x3_rc3::IfcRecurrencePattern Ifc4x3_rc3::IfcTaskTimeRecurring::Recurrence() const { return ((express::base)(get_attribute_value(20))).as<::Ifc4x3_rc3::IfcRecurrencePattern>(); } void Ifc4x3_rc3::IfcTaskTimeRecurring::setRecurrence(const ::Ifc4x3_rc3::IfcRecurrencePattern& v) { set_attribute_value(20, v);if constexpr (false)unset_attribute_value(20); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTaskTimeRecurring::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1167]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTaskTimeRecurring::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1165]); } 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 @@ -15739,8 +15708,8 @@ std::optional< std::string > Ifc4x3_rc3::IfcTaskType::WorkMethod() const { if(ge void Ifc4x3_rc3::IfcTaskType::setWorkMethod(const std::optional< std::string >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTaskType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1168]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTaskType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1166]); } +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; } @@ -15757,7 +15726,7 @@ std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcTelecomAddr void Ifc4x3_rc3::IfcTelecomAddress::setMessagingIDs(const std::optional< std::vector< std::string > /*[1:?]*/ >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTelecomAddress::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1170]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTelecomAddress::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1168]); } 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 @@ -15779,7 +15748,7 @@ std::optional< double > Ifc4x3_rc3::IfcTendon::MinCurvatureRadius() const { if(g void Ifc4x3_rc3::IfcTendon::setMinCurvatureRadius(const std::optional< double >& v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTendon::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1173]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTendon::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1171]); } 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 @@ -15787,7 +15756,7 @@ std::optional< ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value > Ifc4x3_rc3::IfcTen void Ifc4x3_rc3::IfcTendonAnchor::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value >& v) { if (v) {set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTendonAnchor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1174]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTendonAnchor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1172]); } 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 @@ -15795,15 +15764,15 @@ Ifc4x3_rc3::IfcTendonAnchor Ifc4x3_rc3::IfcTendonAnchor::initialize(std::string void Ifc4x3_rc3::IfcTendonAnchorType::setPredefinedType(const ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTendonAnchorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1175]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTendonAnchorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1173]); } +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)); } void Ifc4x3_rc3::IfcTendonConduit::setPredefinedType(const ::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTendonConduit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1177]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTendonConduit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1175]); } 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 @@ -15811,8 +15780,8 @@ Ifc4x3_rc3::IfcTendonConduit Ifc4x3_rc3::IfcTendonConduit::initialize(std::strin void Ifc4x3_rc3::IfcTendonConduitType::setPredefinedType(const ::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTendonConduitType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1178]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTendonConduitType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1176]); } +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)); } @@ -15825,59 +15794,59 @@ std::optional< double > Ifc4x3_rc3::IfcTendonType::SheathDiameter() const { if(g void Ifc4x3_rc3::IfcTendonType::setSheathDiameter(const std::optional< double >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTendonType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1180]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTendonType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1178]); } +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>(); } +::Ifc4x3_rc3::IfcCartesianPointList3D Ifc4x3_rc3::IfcTessellatedFaceSet::Coordinates() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCartesianPointList3D>(); } void Ifc4x3_rc3::IfcTessellatedFaceSet::setCoordinates(const ::Ifc4x3_rc3::IfcCartesianPointList3D& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector<::Ifc4x3_rc3::IfcIndexedColourMap> Ifc4x3_rc3::IfcTessellatedFaceSet::HasColours() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[549], 0)); } -std::vector<::Ifc4x3_rc3::IfcIndexedTextureMap> Ifc4x3_rc3::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[553], 1)); } +std::vector<::Ifc4x3_rc3::IfcIndexedColourMap> Ifc4x3_rc3::IfcTessellatedFaceSet::HasColours() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[548], 0)); } +std::vector<::Ifc4x3_rc3::IfcIndexedTextureMap> Ifc4x3_rc3::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[552], 1)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTessellatedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1182]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTessellatedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1180]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTessellatedItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1181]); } 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; } void Ifc4x3_rc3::IfcTextLiteral::setLiteral(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcAxis2Placement Ifc4x3_rc3::IfcTextLiteral::Placement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcAxis2Placement>(); } +::Ifc4x3_rc3::IfcAxis2Placement Ifc4x3_rc3::IfcTextLiteral::Placement() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcAxis2Placement>(); } void Ifc4x3_rc3::IfcTextLiteral::setPlacement(const ::Ifc4x3_rc3::IfcAxis2Placement& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } ::Ifc4x3_rc3::IfcTextPath::Value Ifc4x3_rc3::IfcTextLiteral::Path() const { return ::Ifc4x3_rc3::IfcTextPath::FromString(get_attribute_value(2)); } void Ifc4x3_rc3::IfcTextLiteral::setPath(const ::Ifc4x3_rc3::IfcTextPath::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4x3_rc3::IfcTextPath::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTextLiteral::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1189]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTextLiteral::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1187]); } 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>(); } +::Ifc4x3_rc3::IfcPlanarExtent Ifc4x3_rc3::IfcTextLiteralWithExtent::Extent() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcPlanarExtent>(); } void Ifc4x3_rc3::IfcTextLiteralWithExtent::setExtent(const ::Ifc4x3_rc3::IfcPlanarExtent& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::string Ifc4x3_rc3::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcTextLiteralWithExtent::setBoxAlignment(const std::string& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTextLiteralWithExtent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1190]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTextLiteralWithExtent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1188]); } 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>(); } +::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>(); } void Ifc4x3_rc3::IfcTextStyle::setTextCharacterAppearance(const ::Ifc4x3_rc3::IfcTextStyleForDefinedFont& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcTextStyleTextModel Ifc4x3_rc3::IfcTextStyle::TextStyle() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcTextStyleTextModel{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcTextStyleTextModel>(); } +::Ifc4x3_rc3::IfcTextStyleTextModel Ifc4x3_rc3::IfcTextStyle::TextStyle() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcTextStyleTextModel{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcTextStyleTextModel>(); } void Ifc4x3_rc3::IfcTextStyle::setTextStyle(const ::Ifc4x3_rc3::IfcTextStyleTextModel& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcTextFontSelect Ifc4x3_rc3::IfcTextStyle::TextFontStyle() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcTextFontSelect>(); } +::Ifc4x3_rc3::IfcTextFontSelect Ifc4x3_rc3::IfcTextStyle::TextFontStyle() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcTextFontSelect>(); } void Ifc4x3_rc3::IfcTextStyle::setTextFontStyle(const ::Ifc4x3_rc3::IfcTextFontSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< bool > Ifc4x3_rc3::IfcTextStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } bool v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcTextStyle::setModelOrDraughting(const std::optional< bool >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTextStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1192]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTextStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1190]); } 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 @@ -15889,50 +15858,50 @@ std::optional< std::string > Ifc4x3_rc3::IfcTextStyleFontModel::FontVariant() co void Ifc4x3_rc3::IfcTextStyleFontModel::setFontVariant(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } std::optional< std::string > Ifc4x3_rc3::IfcTextStyleFontModel::FontWeight() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcTextStyleFontModel::setFontWeight(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc3::IfcSizeSelect Ifc4x3_rc3::IfcTextStyleFontModel::FontSize() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcSizeSelect>(); } +::Ifc4x3_rc3::IfcSizeSelect Ifc4x3_rc3::IfcTextStyleFontModel::FontSize() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcSizeSelect>(); } void Ifc4x3_rc3::IfcTextStyleFontModel::setFontSize(const ::Ifc4x3_rc3::IfcSizeSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTextStyleFontModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1193]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTextStyleFontModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1191]); } 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>(); } +::Ifc4x3_rc3::IfcColour Ifc4x3_rc3::IfcTextStyleForDefinedFont::Colour() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcColour>(); } void Ifc4x3_rc3::IfcTextStyleForDefinedFont::setColour(const ::Ifc4x3_rc3::IfcColour& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcColour Ifc4x3_rc3::IfcTextStyleForDefinedFont::BackgroundColour() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc3::IfcColour{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcColour>(); } +::Ifc4x3_rc3::IfcColour Ifc4x3_rc3::IfcTextStyleForDefinedFont::BackgroundColour() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc3::IfcColour{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcColour>(); } void Ifc4x3_rc3::IfcTextStyleForDefinedFont::setBackgroundColour(const ::Ifc4x3_rc3::IfcColour& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTextStyleForDefinedFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1194]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTextStyleForDefinedFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1192]); } 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>(); } +::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>(); } void Ifc4x3_rc3::IfcTextStyleTextModel::setTextIndent(const ::Ifc4x3_rc3::IfcSizeSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x3_rc3::IfcTextStyleTextModel::TextAlign() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcTextStyleTextModel::setTextAlign(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x3_rc3::IfcTextStyleTextModel::TextDecoration() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcTextStyleTextModel::setTextDecoration(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc3::IfcSizeSelect Ifc4x3_rc3::IfcTextStyleTextModel::LetterSpacing() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcSizeSelect>(); } +::Ifc4x3_rc3::IfcSizeSelect Ifc4x3_rc3::IfcTextStyleTextModel::LetterSpacing() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcSizeSelect>(); } void Ifc4x3_rc3::IfcTextStyleTextModel::setLetterSpacing(const ::Ifc4x3_rc3::IfcSizeSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc3::IfcSizeSelect Ifc4x3_rc3::IfcTextStyleTextModel::WordSpacing() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc3::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcSizeSelect>(); } +::Ifc4x3_rc3::IfcSizeSelect Ifc4x3_rc3::IfcTextStyleTextModel::WordSpacing() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc3::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcSizeSelect>(); } void Ifc4x3_rc3::IfcTextStyleTextModel::setWordSpacing(const ::Ifc4x3_rc3::IfcSizeSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::optional< std::string > Ifc4x3_rc3::IfcTextStyleTextModel::TextTransform() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcTextStyleTextModel::setTextTransform(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc3::IfcSizeSelect Ifc4x3_rc3::IfcTextStyleTextModel::LineHeight() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcSizeSelect>(); } +::Ifc4x3_rc3::IfcSizeSelect Ifc4x3_rc3::IfcTextStyleTextModel::LineHeight() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc3::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcSizeSelect>(); } void Ifc4x3_rc3::IfcTextStyleTextModel::setLineHeight(const ::Ifc4x3_rc3::IfcSizeSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTextStyleTextModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1195]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTextStyleTextModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1193]); } 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); } -void Ifc4x3_rc3::IfcTextureCoordinate::setMaps(const std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > Ifc4x3_rc3::IfcTextureCoordinate::Maps() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcSurfaceTexture>(es); } +void Ifc4x3_rc3::IfcTextureCoordinate::setMaps(const std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTextureCoordinate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1197]); } -Ifc4x3_rc3::IfcTextureCoordinate Ifc4x3_rc3::IfcTextureCoordinate::initialize(std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > v1_Maps) { set_attribute_value(0, cast_vector(v1_Maps));; return *this; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTextureCoordinate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1195]); } +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; } @@ -15941,25 +15910,25 @@ std::optional< std::vector< double > /*[1:?]*/ > Ifc4x3_rc3::IfcTextureCoordinat void Ifc4x3_rc3::IfcTextureCoordinateGenerator::setParameter(const std::optional< std::vector< double > /*[1:?]*/ >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTextureCoordinateGenerator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1198]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTextureCoordinateGenerator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1196]); } +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); } -void Ifc4x3_rc3::IfcTextureMap::setVertices(const std::vector< ::Ifc4x3_rc3::IfcTextureVertex >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcFace Ifc4x3_rc3::IfcTextureMap::MappedTo() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcFace>(); } +std::vector< ::Ifc4x3_rc3::IfcTextureVertex > Ifc4x3_rc3::IfcTextureMap::Vertices() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcTextureVertex>(es); } +void Ifc4x3_rc3::IfcTextureMap::setVertices(const std::vector< ::Ifc4x3_rc3::IfcTextureVertex >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +::Ifc4x3_rc3::IfcFace Ifc4x3_rc3::IfcTextureMap::MappedTo() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcFace>(); } void Ifc4x3_rc3::IfcTextureMap::setMappedTo(const ::Ifc4x3_rc3::IfcFace& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1199]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1197]); } +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; } void Ifc4x3_rc3::IfcTextureVertex::setCoordinates(const std::vector< double > /*[2:2]*/& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTextureVertex::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1200]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTextureVertex::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1198]); } 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 @@ -15967,7 +15936,7 @@ std::vector< std::vector< double > > Ifc4x3_rc3::IfcTextureVertexList::TexCoords void Ifc4x3_rc3::IfcTextureVertexList::setTexCoordsList(const std::vector< std::vector< double > >& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTextureVertexList::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1201]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTextureVertexList::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1199]); } 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 @@ -15977,12 +15946,10 @@ std::optional< double > Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::QuadraticTerm void Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::setQuadraticTerm(const std::optional< double >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } std::optional< double > Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::LinearTerm() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::setLinearTerm(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -std::optional< double > Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::ConstantTerm() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } -void Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::setConstantTerm(const std::optional< double >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1208]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1206]); } +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) { 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)); }; return *this; } // Function implementations for IfcTimePeriod std::string Ifc4x3_rc3::IfcTimePeriod::StartTime() const { std::string v = get_attribute_value(0); return v; } @@ -15991,7 +15958,7 @@ std::string Ifc4x3_rc3::IfcTimePeriod::EndTime() const { std::string v = get_at void Ifc4x3_rc3::IfcTimePeriod::setEndTime(const std::string& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTimePeriod::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1212]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTimePeriod::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1210]); } 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 @@ -16009,33 +15976,33 @@ void Ifc4x3_rc3::IfcTimeSeries::setTimeSeriesDataType(const ::Ifc4x3_rc3::IfcTim void Ifc4x3_rc3::IfcTimeSeries::setDataOrigin(const ::Ifc4x3_rc3::IfcDataOriginEnum::Value& v) { set_attribute_value(5, enumeration_reference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } std::optional< std::string > Ifc4x3_rc3::IfcTimeSeries::UserDefinedDataOrigin() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcTimeSeries::setUserDefinedDataOrigin(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_rc3::IfcUnit Ifc4x3_rc3::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc3::IfcUnit{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc3::IfcUnit>(); } +::Ifc4x3_rc3::IfcUnit Ifc4x3_rc3::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc3::IfcUnit{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc3::IfcUnit>(); } void Ifc4x3_rc3::IfcTimeSeries::setUnit(const ::Ifc4x3_rc3::IfcUnit& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcTimeSeries::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[434], 3)); } +std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcTimeSeries::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[433], 3)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1213]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1211]); } 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); } -void Ifc4x3_rc3::IfcTimeSeriesValue::setListValues(const std::vector< ::Ifc4x3_rc3::IfcValue >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc3::IfcValue > Ifc4x3_rc3::IfcTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcValue>(es); } +void Ifc4x3_rc3::IfcTimeSeriesValue::setListValues(const std::vector< ::Ifc4x3_rc3::IfcValue >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1215]); } -Ifc4x3_rc3::IfcTimeSeriesValue Ifc4x3_rc3::IfcTimeSeriesValue::initialize(std::vector< ::Ifc4x3_rc3::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues));; return *this; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1213]); } +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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTopologicalRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1215]); } 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]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTopologyRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1216]); } +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; } @@ -16044,7 +16011,7 @@ double Ifc4x3_rc3::IfcToroidalSurface::MinorRadius() const { double v = get_att void Ifc4x3_rc3::IfcToroidalSurface::setMinorRadius(const double& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcToroidalSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1219]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcToroidalSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1217]); } 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 @@ -16052,7 +16019,7 @@ std::optional< ::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value > Ifc4x3_rc3::IfcTra void Ifc4x3_rc3::IfcTrackElement::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcTrackElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTrackElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1221]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTrackElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1219]); } 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 @@ -16060,15 +16027,15 @@ Ifc4x3_rc3::IfcTrackElement Ifc4x3_rc3::IfcTrackElement::initialize(std::string void Ifc4x3_rc3::IfcTrackElementType::setPredefinedType(const ::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcTrackElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTrackElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1222]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTrackElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1220]); } +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)); } void Ifc4x3_rc3::IfcTransformer::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcTransformerTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcTransformerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTransformer::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1224]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTransformer::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1222]); } 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 @@ -16076,24 +16043,24 @@ Ifc4x3_rc3::IfcTransformer Ifc4x3_rc3::IfcTransformer::initialize(std::string v1 void Ifc4x3_rc3::IfcTransformerType::setPredefinedType(const ::Ifc4x3_rc3::IfcTransformerTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcTransformerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTransformerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1225]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTransformerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1223]); } +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>(); } +::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>(); } void Ifc4x3_rc3::IfcTransportElement::setPredefinedType(const ::Ifc4x3_rc3::IfcTransportElementTypeSelect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTransportElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1229]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTransportElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1227]); } 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>(); } +::Ifc4x3_rc3::IfcTransportElementTypeSelect Ifc4x3_rc3::IfcTransportElementType::PredefinedType() const { return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc3::IfcTransportElementTypeSelect>(); } void Ifc4x3_rc3::IfcTransportElementType::setPredefinedType(const ::Ifc4x3_rc3::IfcTransportElementTypeSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTransportElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1232]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTransportElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1230]); } +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; } @@ -16106,7 +16073,7 @@ double Ifc4x3_rc3::IfcTrapeziumProfileDef::TopXOffset() const { double v = get_ void Ifc4x3_rc3::IfcTrapeziumProfileDef::setTopXOffset(const double& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTrapeziumProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1234]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTrapeziumProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1232]); } 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 @@ -16120,7 +16087,7 @@ std::optional< std::vector< int64_t > /*[1:?]*/ > Ifc4x3_rc3::IfcTriangulatedFac void Ifc4x3_rc3::IfcTriangulatedFaceSet::setPnIndex(const std::optional< std::vector< int64_t > /*[1:?]*/ >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTriangulatedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1235]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTriangulatedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1233]); } 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< int64_t > > v4_CoordIndex, std::optional< std::vector< int64_t > /*[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 @@ -16128,31 +16095,31 @@ std::vector< int64_t > /*[1:?]*/ Ifc4x3_rc3::IfcTriangulatedIrregularNetwork::Fl void Ifc4x3_rc3::IfcTriangulatedIrregularNetwork::setFlags(const std::vector< int64_t > /*[1:?]*/& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTriangulatedIrregularNetwork::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1236]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTriangulatedIrregularNetwork::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1234]); } 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< int64_t > > v4_CoordIndex, std::optional< std::vector< int64_t > /*[1:?]*/ > v5_PnIndex, std::vector< int64_t > /*[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>(); } +::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcTrimmedCurve::BasisCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCurve>(); } void Ifc4x3_rc3::IfcTrimmedCurve::setBasisCurve(const ::Ifc4x3_rc3::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc3::IfcTrimmingSelect > Ifc4x3_rc3::IfcTrimmedCurve::Trim1() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcTrimmingSelect>(es); } -void Ifc4x3_rc3::IfcTrimmedCurve::setTrim1(const std::vector< ::Ifc4x3_rc3::IfcTrimmingSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x3_rc3::IfcTrimmingSelect > Ifc4x3_rc3::IfcTrimmedCurve::Trim2() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcTrimmingSelect>(es); } -void Ifc4x3_rc3::IfcTrimmedCurve::setTrim2(const std::vector< ::Ifc4x3_rc3::IfcTrimmingSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc3::IfcTrimmingSelect > Ifc4x3_rc3::IfcTrimmedCurve::Trim1() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcTrimmingSelect>(es); } +void Ifc4x3_rc3::IfcTrimmedCurve::setTrim1(const std::vector< ::Ifc4x3_rc3::IfcTrimmingSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc3::IfcTrimmingSelect > Ifc4x3_rc3::IfcTrimmedCurve::Trim2() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcTrimmingSelect>(es); } +void Ifc4x3_rc3::IfcTrimmedCurve::setTrim2(const std::vector< ::Ifc4x3_rc3::IfcTrimmingSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } bool Ifc4x3_rc3::IfcTrimmedCurve::SenseAgreement() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcTrimmedCurve::setSenseAgreement(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } ::Ifc4x3_rc3::IfcTrimmingPreference::Value Ifc4x3_rc3::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_rc3::IfcTrimmingPreference::FromString(get_attribute_value(4)); } void Ifc4x3_rc3::IfcTrimmedCurve::setMasterRepresentation(const ::Ifc4x3_rc3::IfcTrimmingPreference::Value& v) { set_attribute_value(4, enumeration_reference(&::Ifc4x3_rc3::IfcTrimmingPreference::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTrimmedCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1237]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTrimmedCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1235]); } +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)); } void Ifc4x3_rc3::IfcTubeBundle::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTubeBundle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1241]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTubeBundle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1239]); } 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 @@ -16160,19 +16127,19 @@ Ifc4x3_rc3::IfcTubeBundle Ifc4x3_rc3::IfcTubeBundle::initialize(std::string v1_G void Ifc4x3_rc3::IfcTubeBundleType::setPredefinedType(const ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTubeBundleType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1242]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTubeBundleType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1240]); } +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; } void Ifc4x3_rc3::IfcTypeObject::setApplicableOccurrence(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > Ifc4x3_rc3::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc3::IfcPropertySetDefinition>(es); } -void Ifc4x3_rc3::IfcTypeObject::setHasPropertySets(const std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > >& v) { if (v) {set_attribute_value(5, cast_vector(*v));} else {unset_attribute_value(5);} } +std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > Ifc4x3_rc3::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc3::IfcPropertySetDefinition>(es); } +void Ifc4x3_rc3::IfcTypeObject::setHasPropertySets(const std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > >& v) { if (v) {set_attribute_value(5, cast_vector(*v));} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3_rc3::IfcRelDefinesByType> Ifc4x3_rc3::IfcTypeObject::Types() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[941], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelDefinesByType> Ifc4x3_rc3::IfcTypeObject::Types() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[939], 5)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTypeObject::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1244]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTypeObject::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1242]); } +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; } @@ -16182,21 +16149,21 @@ void Ifc4x3_rc3::IfcTypeProcess::setLongDescription(const std::optional< std::st std::optional< std::string > Ifc4x3_rc3::IfcTypeProcess::ProcessType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcTypeProcess::setProcessType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_rc3::IfcRelAssignsToProcess> Ifc4x3_rc3::IfcTypeProcess::OperatesOn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[911], 6)); } +std::vector<::Ifc4x3_rc3::IfcRelAssignsToProcess> Ifc4x3_rc3::IfcTypeProcess::OperatesOn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[909], 6)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTypeProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1245]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTypeProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1243]); } +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); } -void Ifc4x3_rc3::IfcTypeProduct::setRepresentationMaps(const std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +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); } +void Ifc4x3_rc3::IfcTypeProduct::setRepresentationMaps(const std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } std::optional< std::string > Ifc4x3_rc3::IfcTypeProduct::Tag() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcTypeProduct::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3_rc3::IfcRelAssignsToProduct> Ifc4x3_rc3::IfcTypeProduct::ReferencedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[912], 6)); } +std::vector<::Ifc4x3_rc3::IfcRelAssignsToProduct> Ifc4x3_rc3::IfcTypeProduct::ReferencedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[910], 6)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTypeProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1246]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTypeProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1244]); } +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; } @@ -16206,10 +16173,10 @@ void Ifc4x3_rc3::IfcTypeResource::setLongDescription(const std::optional< std::s std::optional< std::string > Ifc4x3_rc3::IfcTypeResource::ResourceType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcTypeResource::setResourceType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_rc3::IfcRelAssignsToResource> Ifc4x3_rc3::IfcTypeResource::ResourceOf() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[913], 6)); } +std::vector<::Ifc4x3_rc3::IfcRelAssignsToResource> Ifc4x3_rc3::IfcTypeResource::ResourceOf() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[911], 6)); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcTypeResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1247]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcTypeResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1245]); } +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; } @@ -16228,23 +16195,23 @@ std::optional< double > Ifc4x3_rc3::IfcUShapeProfileDef::FlangeSlope() const { i void Ifc4x3_rc3::IfcUShapeProfileDef::setFlangeSlope(const std::optional< double >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcUShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1258]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcUShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1256]); } 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); } -void Ifc4x3_rc3::IfcUnitAssignment::setUnits(const std::vector< ::Ifc4x3_rc3::IfcUnit >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc3::IfcUnit > Ifc4x3_rc3::IfcUnitAssignment::Units() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcUnit>(es); } +void Ifc4x3_rc3::IfcUnitAssignment::setUnits(const std::vector< ::Ifc4x3_rc3::IfcUnit >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcUnitAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1255]); } -Ifc4x3_rc3::IfcUnitAssignment Ifc4x3_rc3::IfcUnitAssignment::initialize(std::vector< ::Ifc4x3_rc3::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units));; return *this; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcUnitAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1253]); } +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)); } void Ifc4x3_rc3::IfcUnitaryControlElement::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcUnitaryControlElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1249]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcUnitaryControlElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1247]); } 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 @@ -16252,15 +16219,15 @@ Ifc4x3_rc3::IfcUnitaryControlElement Ifc4x3_rc3::IfcUnitaryControlElement::initi void Ifc4x3_rc3::IfcUnitaryControlElementType::setPredefinedType(const ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcUnitaryControlElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1250]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcUnitaryControlElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1248]); } +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)); } void Ifc4x3_rc3::IfcUnitaryEquipment::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcUnitaryEquipment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1252]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcUnitaryEquipment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1250]); } 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 @@ -16268,15 +16235,15 @@ Ifc4x3_rc3::IfcUnitaryEquipment Ifc4x3_rc3::IfcUnitaryEquipment::initialize(std: void Ifc4x3_rc3::IfcUnitaryEquipmentType::setPredefinedType(const ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcUnitaryEquipmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1253]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcUnitaryEquipmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1251]); } +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)); } void Ifc4x3_rc3::IfcValve::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcValveTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcValveTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcValve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1260]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcValve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1258]); } 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 @@ -16284,39 +16251,39 @@ Ifc4x3_rc3::IfcValve Ifc4x3_rc3::IfcValve::initialize(std::string v1_GlobalId, : void Ifc4x3_rc3::IfcValveType::setPredefinedType(const ::Ifc4x3_rc3::IfcValveTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcValveTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcValveType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1261]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcValveType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1259]); } +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>(); } +::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcVector::Orientation() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcDirection>(); } void Ifc4x3_rc3::IfcVector::setOrientation(const ::Ifc4x3_rc3::IfcDirection& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc3::IfcVector::Magnitude() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcVector::setMagnitude(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcVector::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1264]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcVector::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1262]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcVertex::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1264]); } 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>(); } +::Ifc4x3_rc3::IfcVertex Ifc4x3_rc3::IfcVertexLoop::LoopVertex() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcVertex>(); } void Ifc4x3_rc3::IfcVertexLoop::setLoopVertex(const ::Ifc4x3_rc3::IfcVertex& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcVertexLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1267]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcVertexLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1265]); } 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>(); } +::Ifc4x3_rc3::IfcPoint Ifc4x3_rc3::IfcVertexPoint::VertexGeometry() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcPoint>(); } void Ifc4x3_rc3::IfcVertexPoint::setVertexGeometry(const ::Ifc4x3_rc3::IfcPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcVertexPoint::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1268]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcVertexPoint::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1266]); } Ifc4x3_rc3::IfcVertexPoint Ifc4x3_rc3::IfcVertexPoint::initialize(::Ifc4x3_rc3::IfcPoint v1_VertexGeometry) { set_attribute_value(0, (v1_VertexGeometry));; return *this; } // Function implementations for IfcVibrationDamper @@ -16324,7 +16291,7 @@ std::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc3::Ifc void Ifc4x3_rc3::IfcVibrationDamper::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcVibrationDamper::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1269]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcVibrationDamper::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1267]); } 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 @@ -16332,15 +16299,15 @@ std::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc3::Ifc void Ifc4x3_rc3::IfcVibrationDamperType::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value >& v) { if (v) {set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcVibrationDamperType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1270]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcVibrationDamperType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1268]); } +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)); } void Ifc4x3_rc3::IfcVibrationIsolator::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcVibrationIsolator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1272]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcVibrationIsolator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1270]); } 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 @@ -16348,8 +16315,8 @@ Ifc4x3_rc3::IfcVibrationIsolator Ifc4x3_rc3::IfcVibrationIsolator::initialize(st void Ifc4x3_rc3::IfcVibrationIsolatorType::setPredefinedType(const ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcVibrationIsolatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1273]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcVibrationIsolatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1271]); } +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; } @@ -16362,29 +16329,29 @@ double Ifc4x3_rc3::IfcVienneseBend::SegmentLength() const { double v = get_attr void Ifc4x3_rc3::IfcVienneseBend::setSegmentLength(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcVienneseBend::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1275]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcVienneseBend::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1273]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcVirtualElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1274]); } 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); } -void Ifc4x3_rc3::IfcVirtualGridIntersection::setIntersectingAxes(const std::vector< ::Ifc4x3_rc3::IfcGridAxis >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc3::IfcGridAxis > Ifc4x3_rc3::IfcVirtualGridIntersection::IntersectingAxes() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcGridAxis>(es); } +void Ifc4x3_rc3::IfcVirtualGridIntersection::setIntersectingAxes(const std::vector< ::Ifc4x3_rc3::IfcGridAxis >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } std::vector< double > /*[2:3]*/ Ifc4x3_rc3::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcVirtualGridIntersection::setOffsetDistances(const std::vector< double > /*[2:3]*/& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcVirtualGridIntersection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1277]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcVirtualGridIntersection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1275]); } +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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcVoidStratum::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1278]); } 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 @@ -16392,7 +16359,7 @@ std::optional< ::Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::Value > Ifc4x3_rc3::IfcV void Ifc4x3_rc3::IfcVoidingFeature::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcVoidingFeature::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1278]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcVoidingFeature::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1276]); } 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 @@ -16400,19 +16367,19 @@ std::optional< ::Ifc4x3_rc3::IfcWallTypeEnum::Value > Ifc4x3_rc3::IfcWall::Prede void Ifc4x3_rc3::IfcWall::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcWallTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcWallTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcWall::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1283]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcWall::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1281]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcWallElementedCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1282]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcWallStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1283]); } 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 @@ -16420,15 +16387,15 @@ Ifc4x3_rc3::IfcWallStandardCase Ifc4x3_rc3::IfcWallStandardCase::initialize(std: void Ifc4x3_rc3::IfcWallType::setPredefinedType(const ::Ifc4x3_rc3::IfcWallTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcWallTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcWallType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1286]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcWallType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1284]); } +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)); } void Ifc4x3_rc3::IfcWasteTerminal::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcWasteTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1291]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcWasteTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1289]); } 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 @@ -16436,13 +16403,13 @@ Ifc4x3_rc3::IfcWasteTerminal Ifc4x3_rc3::IfcWasteTerminal::initialize(std::strin void Ifc4x3_rc3::IfcWasteTerminalType::setPredefinedType(const ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value& v) { set_attribute_value(9, enumeration_reference(&::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcWasteTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1292]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcWasteTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1290]); } +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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcWaterStratum::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1292]); } 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 @@ -16458,7 +16425,7 @@ std::optional< std::string > Ifc4x3_rc3::IfcWindow::UserDefinedPartitioningType( void Ifc4x3_rc3::IfcWindow::setUserDefinedPartitioningType(const std::optional< std::string >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcWindow::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1295]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcWindow::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1293]); } 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 @@ -16478,7 +16445,7 @@ std::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::FirstMullionOffse void Ifc4x3_rc3::IfcWindowLiningProperties::setFirstMullionOffset(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } std::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::SecondMullionOffset() const { if(get_attribute_value(11).isNull()) { return std::nullopt; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc3::IfcWindowLiningProperties::setSecondMullionOffset(const std::optional< double >& v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -::Ifc4x3_rc3::IfcShapeAspect Ifc4x3_rc3::IfcWindowLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(12).isNull()) { return ::Ifc4x3_rc3::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(12))).as<::Ifc4x3_rc3::IfcShapeAspect>(); } +::Ifc4x3_rc3::IfcShapeAspect Ifc4x3_rc3::IfcWindowLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(12).isNull()) { return ::Ifc4x3_rc3::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(12))).as<::Ifc4x3_rc3::IfcShapeAspect>(); } void Ifc4x3_rc3::IfcWindowLiningProperties::setShapeAspectStyle(const ::Ifc4x3_rc3::IfcShapeAspect& v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } std::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::LiningOffset() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc3::IfcWindowLiningProperties::setLiningOffset(const std::optional< double >& v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } @@ -16488,7 +16455,7 @@ std::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::LiningToPanelOffs void Ifc4x3_rc3::IfcWindowLiningProperties::setLiningToPanelOffsetY(const std::optional< double >& v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcWindowLiningProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1296]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcWindowLiningProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1294]); } 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 @@ -16500,17 +16467,17 @@ std::optional< double > Ifc4x3_rc3::IfcWindowPanelProperties::FrameDepth() const void Ifc4x3_rc3::IfcWindowPanelProperties::setFrameDepth(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } std::optional< double > Ifc4x3_rc3::IfcWindowPanelProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcWindowPanelProperties::setFrameThickness(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc3::IfcShapeAspect Ifc4x3_rc3::IfcWindowPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc3::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc3::IfcShapeAspect>(); } +::Ifc4x3_rc3::IfcShapeAspect Ifc4x3_rc3::IfcWindowPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc3::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc3::IfcShapeAspect>(); } void Ifc4x3_rc3::IfcWindowPanelProperties::setShapeAspectStyle(const ::Ifc4x3_rc3::IfcShapeAspect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcWindowPanelProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1299]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcWindowPanelProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1297]); } 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]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcWindowStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1298]); } 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 @@ -16524,8 +16491,8 @@ bool Ifc4x3_rc3::IfcWindowStyle::Sizeable() const { bool v = get_attribute_valu void Ifc4x3_rc3::IfcWindowStyle::setSizeable(const bool& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -const ifcopenshell::entity& Ifc4x3_rc3::IfcWindowStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1301]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcWindowStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1299]); } +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)); } @@ -16538,26 +16505,26 @@ std::optional< std::string > Ifc4x3_rc3::IfcWindowType::UserDefinedPartitioningT void Ifc4x3_rc3::IfcWindowType::setUserDefinedPartitioningType(const std::optional< std::string >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcWindowType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1304]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcWindowType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1302]); } +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); } -void Ifc4x3_rc3::IfcWorkCalendar::setWorkingTimes(const std::optional< std::vector< ::Ifc4x3_rc3::IfcWorkTime > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x3_rc3::IfcWorkTime > > Ifc4x3_rc3::IfcWorkCalendar::ExceptionTimes() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc3::IfcWorkTime>(es); } -void Ifc4x3_rc3::IfcWorkCalendar::setExceptionTimes(const std::optional< std::vector< ::Ifc4x3_rc3::IfcWorkTime > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +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); } +void Ifc4x3_rc3::IfcWorkCalendar::setWorkingTimes(const std::optional< std::vector< ::Ifc4x3_rc3::IfcWorkTime > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +std::optional< std::vector< ::Ifc4x3_rc3::IfcWorkTime > > Ifc4x3_rc3::IfcWorkCalendar::ExceptionTimes() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc3::IfcWorkTime>(es); } +void Ifc4x3_rc3::IfcWorkCalendar::setExceptionTimes(const std::optional< std::vector< ::Ifc4x3_rc3::IfcWorkTime > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< ::Ifc4x3_rc3::IfcWorkCalendarTypeEnum::Value > Ifc4x3_rc3::IfcWorkCalendar::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcWorkCalendarTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcWorkCalendar::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcWorkCalendarTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc3::IfcWorkCalendarTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcWorkCalendar::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1307]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcWorkCalendar::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1305]); } +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; } void Ifc4x3_rc3::IfcWorkControl::setCreationDate(const std::string& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::optional< std::vector< ::Ifc4x3_rc3::IfcPerson > > Ifc4x3_rc3::IfcWorkControl::Creators() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc3::IfcPerson>(es); } -void Ifc4x3_rc3::IfcWorkControl::setCreators(const std::optional< std::vector< ::Ifc4x3_rc3::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x3_rc3::IfcPerson > > Ifc4x3_rc3::IfcWorkControl::Creators() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc3::IfcPerson>(es); } +void Ifc4x3_rc3::IfcWorkControl::setCreators(const std::optional< std::vector< ::Ifc4x3_rc3::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< std::string > Ifc4x3_rc3::IfcWorkControl::Purpose() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcWorkControl::setPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } std::optional< std::string > Ifc4x3_rc3::IfcWorkControl::Duration() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::string v = get_attribute_value(9); return v; } @@ -16570,27 +16537,27 @@ std::optional< std::string > Ifc4x3_rc3::IfcWorkControl::FinishTime() const { if void Ifc4x3_rc3::IfcWorkControl::setFinishTime(const std::optional< std::string >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcWorkControl::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1309]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcWorkControl::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1307]); } +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)); } void Ifc4x3_rc3::IfcWorkPlan::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcWorkPlanTypeEnum::Value >& v) { if (v) {set_attribute_value(13, enumeration_reference(&::Ifc4x3_rc3::IfcWorkPlanTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcWorkPlan::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1310]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcWorkPlan::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1308]); } +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)); } void Ifc4x3_rc3::IfcWorkSchedule::setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcWorkScheduleTypeEnum::Value >& v) { if (v) {set_attribute_value(13, enumeration_reference(&::Ifc4x3_rc3::IfcWorkScheduleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcWorkSchedule::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1312]); } -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; } +const ifcopenshell::entity& Ifc4x3_rc3::IfcWorkSchedule::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1310]); } +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>(); } +::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>(); } void Ifc4x3_rc3::IfcWorkTime::setRecurrencePattern(const ::Ifc4x3_rc3::IfcRecurrencePattern& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc3::IfcWorkTime::Start() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcWorkTime::setStart(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -16598,7 +16565,7 @@ std::optional< std::string > Ifc4x3_rc3::IfcWorkTime::Finish() const { if(get_at void Ifc4x3_rc3::IfcWorkTime::setFinish(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcWorkTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1314]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcWorkTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1312]); } 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 @@ -16616,7 +16583,7 @@ std::optional< double > Ifc4x3_rc3::IfcZShapeProfileDef::EdgeRadius() const { if void Ifc4x3_rc3::IfcZShapeProfileDef::setEdgeRadius(const std::optional< double >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcZShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1316]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcZShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1314]); } 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 @@ -16624,6 +16591,6 @@ std::optional< std::string > Ifc4x3_rc3::IfcZone::LongName() const { if(get_attr void Ifc4x3_rc3::IfcZone::setLongName(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -const ifcopenshell::entity& Ifc4x3_rc3::IfcZone::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1315]); } +const ifcopenshell::entity& Ifc4x3_rc3::IfcZone::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1313]); } 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 21732a6679..a4f6446d9c 100644 --- a/src/ifcparse/schemas/Ifc4x3_rc3.h +++ b/src/ifcparse/schemas/Ifc4x3_rc3.h @@ -19,7 +19,7 @@ /******************************************************************************** * * - * This file has been generated from IFC4x3_RC2.exp. Do not make modifications * + * This file has been generated from IFC4x3_RC3.exp. Do not make modifications * * but instead modify the python script that has been used to generate this. * * * ********************************************************************************/ @@ -52,7 +52,7 @@ IFC_SCHEMA_API static void clear_schema(); static const char* const Identifier; // Forward definitions -class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; class IfcActuatorType; class IfcAddress; class IfcAdvancedBrep; class IfcAdvancedBrepWithVoids; class IfcAdvancedFace; class IfcAirTerminal; class IfcAirTerminalBox; class IfcAirTerminalBoxType; class IfcAirTerminalType; class IfcAirToAirHeatRecovery; class IfcAirToAirHeatRecoveryType; class IfcAlarm; class IfcAlarmType; class IfcAlignment; class IfcAlignmentCant; class IfcAlignmentCantSegment; class IfcAlignmentHorizontal; class IfcAlignmentHorizontalSegment; class IfcAlignmentParameterSegment; class IfcAlignmentSegment; class IfcAlignmentVertical; class IfcAlignmentVerticalSegment; class IfcAnnotation; class IfcAnnotationFillArea; class IfcApplication; class IfcAppliedValue; class IfcApproval; class IfcApprovalRelationship; class IfcArbitraryClosedProfileDef; class IfcArbitraryOpenProfileDef; class IfcArbitraryProfileDefWithVoids; class IfcAsset; class IfcAsymmetricIShapeProfileDef; class IfcAudioVisualAppliance; class IfcAudioVisualApplianceType; class IfcAxis1Placement; class IfcAxis2Placement2D; class IfcAxis2Placement3D; class IfcAxis2PlacementLinear; class IfcBSplineCurve; class IfcBSplineCurveWithKnots; class IfcBSplineSurface; class IfcBSplineSurfaceWithKnots; class IfcBeam; class IfcBeamStandardCase; class IfcBeamType; class IfcBearing; class IfcBearingType; class IfcBlobTexture; class IfcBlock; class IfcBoiler; class IfcBoilerType; class IfcBooleanClippingResult; class IfcBooleanResult; class IfcBorehole; class IfcBoundaryCondition; class IfcBoundaryCurve; class IfcBoundaryEdgeCondition; class IfcBoundaryFaceCondition; class IfcBoundaryNodeCondition; class IfcBoundaryNodeConditionWarping; class IfcBoundedCurve; class IfcBoundedSurface; class IfcBoundingBox; class IfcBoxedHalfSpace; class IfcBridge; class IfcBuilding; class IfcBuildingElementPart; class IfcBuildingElementPartType; class IfcBuildingElementProxy; class IfcBuildingElementProxyType; class IfcBuildingStorey; class IfcBuildingSystem; class IfcBuiltElement; class IfcBuiltElementType; class IfcBuiltSystem; class IfcBurner; class IfcBurnerType; class IfcCShapeProfileDef; class IfcCableCarrierFitting; class IfcCableCarrierFittingType; class IfcCableCarrierSegment; class IfcCableCarrierSegmentType; class IfcCableFitting; class IfcCableFittingType; class IfcCableSegment; class IfcCableSegmentType; class IfcCaissonFoundation; class IfcCaissonFoundationType; class IfcCartesianPoint; class IfcCartesianPointList; class IfcCartesianPointList2D; class IfcCartesianPointList3D; class IfcCartesianTransformationOperator; class IfcCartesianTransformationOperator2D; class IfcCartesianTransformationOperator2DnonUniform; class IfcCartesianTransformationOperator3D; class IfcCartesianTransformationOperator3DnonUniform; class IfcCenterLineProfileDef; class IfcChiller; class IfcChillerType; class IfcChimney; class IfcChimneyType; class IfcCircle; class IfcCircleHollowProfileDef; class IfcCircleProfileDef; class IfcCivilElement; class IfcCivilElementType; class IfcClassification; class IfcClassificationReference; class IfcClosedShell; class IfcClothoid; class IfcCoil; class IfcCoilType; class IfcColourRgb; class IfcColourRgbList; class IfcColourSpecification; class IfcColumn; class IfcColumnStandardCase; class IfcColumnType; class IfcCommunicationsAppliance; class IfcCommunicationsApplianceType; class IfcComplexProperty; class IfcComplexPropertyTemplate; class IfcCompositeCurve; class IfcCompositeCurveOnSurface; class IfcCompositeCurveSegment; class IfcCompositeProfileDef; class IfcCompressor; class IfcCompressorType; class IfcCondenser; class IfcCondenserType; class IfcConic; class IfcConnectedFaceSet; class IfcConnectionCurveGeometry; class IfcConnectionGeometry; class IfcConnectionPointEccentricity; class IfcConnectionPointGeometry; class IfcConnectionSurfaceGeometry; class IfcConnectionVolumeGeometry; class IfcConstraint; class IfcConstructionEquipmentResource; class IfcConstructionEquipmentResourceType; class IfcConstructionMaterialResource; class IfcConstructionMaterialResourceType; class IfcConstructionProductResource; class IfcConstructionProductResourceType; class IfcConstructionResource; class IfcConstructionResourceType; class IfcContext; class IfcContextDependentUnit; class IfcControl; class IfcController; class IfcControllerType; class IfcConversionBasedUnit; class IfcConversionBasedUnitWithOffset; class IfcConveyorSegment; class IfcConveyorSegmentType; class IfcCooledBeam; class IfcCooledBeamType; class IfcCoolingTower; class IfcCoolingTowerType; class IfcCoordinateOperation; class IfcCoordinateReferenceSystem; class IfcCosine; class IfcCostItem; class IfcCostSchedule; class IfcCostValue; class IfcCourse; class IfcCourseType; class IfcCovering; class IfcCoveringType; class IfcCrewResource; class IfcCrewResourceType; class IfcCsgPrimitive3D; class IfcCsgSolid; class IfcCurrencyRelationship; class IfcCurtainWall; class IfcCurtainWallType; class IfcCurve; class IfcCurveBoundedPlane; class IfcCurveBoundedSurface; class IfcCurveSegment; class IfcCurveStyle; class IfcCurveStyleFont; class IfcCurveStyleFontAndScaling; class IfcCurveStyleFontPattern; class IfcCylindricalSurface; class IfcDamper; class IfcDamperType; class IfcDeepFoundation; class IfcDeepFoundationType; class IfcDerivedProfileDef; class IfcDerivedUnit; class IfcDerivedUnitElement; class IfcDimensionalExponents; class IfcDirection; class IfcDirectrixCurveSweptAreaSolid; class IfcDirectrixDerivedReferenceSweptAreaSolid; class IfcDirectrixDistanceSweptAreaSolid; class IfcDiscreteAccessory; class IfcDiscreteAccessoryType; class IfcDistributionBoard; class IfcDistributionBoardType; class IfcDistributionChamberElement; class IfcDistributionChamberElementType; class IfcDistributionCircuit; class IfcDistributionControlElement; class IfcDistributionControlElementType; class IfcDistributionElement; class IfcDistributionElementType; class IfcDistributionFlowElement; class IfcDistributionFlowElementType; class IfcDistributionPort; class IfcDistributionSystem; class IfcDocumentInformation; class IfcDocumentInformationRelationship; class IfcDocumentReference; class IfcDoor; class IfcDoorLiningProperties; class IfcDoorPanelProperties; class IfcDoorStandardCase; class IfcDoorStyle; class IfcDoorType; class IfcDraughtingPreDefinedColour; class IfcDraughtingPreDefinedCurveFont; class IfcDuctFitting; class IfcDuctFittingType; class IfcDuctSegment; class IfcDuctSegmentType; class IfcDuctSilencer; class IfcDuctSilencerType; class IfcEarthworksCut; class IfcEarthworksElement; class IfcEarthworksFill; class IfcEdge; class IfcEdgeCurve; class IfcEdgeLoop; class IfcElectricAppliance; class IfcElectricApplianceType; class IfcElectricDistributionBoard; class IfcElectricDistributionBoardType; class IfcElectricFlowStorageDevice; class IfcElectricFlowStorageDeviceType; class IfcElectricFlowTreatmentDevice; class IfcElectricFlowTreatmentDeviceType; class IfcElectricGenerator; class IfcElectricGeneratorType; class IfcElectricMotor; class IfcElectricMotorType; class IfcElectricTimeControl; class IfcElectricTimeControlType; class IfcElement; class IfcElementAssembly; class IfcElementAssemblyType; class IfcElementComponent; class IfcElementComponentType; class IfcElementQuantity; class IfcElementType; class IfcElementarySurface; class IfcEllipse; class IfcEllipseProfileDef; class IfcEnergyConversionDevice; class IfcEnergyConversionDeviceType; class IfcEngine; class IfcEngineType; class IfcEvaporativeCooler; class IfcEvaporativeCoolerType; class IfcEvaporator; class IfcEvaporatorType; class IfcEvent; class IfcEventTime; class IfcEventType; class IfcExtendedProperties; class IfcExternalInformation; class IfcExternalReference; class IfcExternalReferenceRelationship; class IfcExternalSpatialElement; class IfcExternalSpatialStructureElement; class IfcExternallyDefinedHatchStyle; class IfcExternallyDefinedSurfaceStyle; class IfcExternallyDefinedTextFont; class IfcExtrudedAreaSolid; class IfcExtrudedAreaSolidTapered; class IfcFace; class IfcFaceBasedSurfaceModel; class IfcFaceBound; class IfcFaceOuterBound; class IfcFaceSurface; class IfcFacetedBrep; class IfcFacetedBrepWithVoids; class IfcFacility; class IfcFacilityPart; class IfcFailureConnectionCondition; class IfcFan; class IfcFanType; class IfcFastener; class IfcFastenerType; class IfcFeatureElement; class IfcFeatureElementAddition; class IfcFeatureElementSubtraction; class IfcFillAreaStyle; class IfcFillAreaStyleHatching; class IfcFillAreaStyleTiles; class IfcFilter; class IfcFilterType; class IfcFireSuppressionTerminal; class IfcFireSuppressionTerminalType; class IfcFixedReferenceSweptAreaSolid; class IfcFlowController; class IfcFlowControllerType; class IfcFlowFitting; class IfcFlowFittingType; class IfcFlowInstrument; class IfcFlowInstrumentType; class IfcFlowMeter; class IfcFlowMeterType; class IfcFlowMovingDevice; class IfcFlowMovingDeviceType; class IfcFlowSegment; class IfcFlowSegmentType; class IfcFlowStorageDevice; class IfcFlowStorageDeviceType; class IfcFlowTerminal; class IfcFlowTerminalType; class IfcFlowTreatmentDevice; class IfcFlowTreatmentDeviceType; class IfcFooting; class IfcFootingType; class IfcFurnishingElement; class IfcFurnishingElementType; class IfcFurniture; class IfcFurnitureType; class IfcGeographicElement; class IfcGeographicElementType; class IfcGeometricCurveSet; class IfcGeometricRepresentationContext; class IfcGeometricRepresentationItem; class IfcGeometricRepresentationSubContext; class IfcGeometricSet; class IfcGeomodel; class IfcGeoslice; class IfcGeotechnicalAssembly; class IfcGeotechnicalElement; class IfcGeotechnicalStratum; class IfcGradientCurve; class IfcGrid; class IfcGridAxis; class IfcGridPlacement; class IfcGroup; class IfcHalfSpaceSolid; class IfcHeatExchanger; class IfcHeatExchangerType; class IfcHumidifier; class IfcHumidifierType; class IfcIShapeProfileDef; class IfcImageTexture; class IfcImpactProtectionDevice; class IfcImpactProtectionDeviceType; class IfcInclinedReferenceSweptAreaSolid; class IfcIndexedColourMap; class IfcIndexedPolyCurve; class IfcIndexedPolygonalFace; class IfcIndexedPolygonalFaceWithVoids; class IfcIndexedTextureMap; class IfcIndexedTriangleTextureMap; class IfcInterceptor; class IfcInterceptorType; class IfcIntersectionCurve; class IfcInventory; class IfcIrregularTimeSeries; class IfcIrregularTimeSeriesValue; class IfcJunctionBox; class IfcJunctionBoxType; class IfcKerb; class IfcKerbType; class IfcLShapeProfileDef; class IfcLaborResource; class IfcLaborResourceType; class IfcLagTime; class IfcLamp; class IfcLampType; class IfcLibraryInformation; class IfcLibraryReference; class IfcLightDistributionData; class IfcLightFixture; class IfcLightFixtureType; class IfcLightIntensityDistribution; class IfcLightSource; class IfcLightSourceAmbient; class IfcLightSourceDirectional; class IfcLightSourceGoniometric; class IfcLightSourcePositional; class IfcLightSourceSpot; class IfcLine; class IfcLinearElement; class IfcLinearPlacement; class IfcLinearPositioningElement; class IfcLiquidTerminal; class IfcLiquidTerminalType; class IfcLocalPlacement; class IfcLoop; class IfcManifoldSolidBrep; class IfcMapConversion; class IfcMappedItem; class IfcMarineFacility; class IfcMaterial; class IfcMaterialClassificationRelationship; class IfcMaterialConstituent; class IfcMaterialConstituentSet; class IfcMaterialDefinition; class IfcMaterialDefinitionRepresentation; class IfcMaterialLayer; class IfcMaterialLayerSet; class IfcMaterialLayerSetUsage; class IfcMaterialLayerWithOffsets; class IfcMaterialList; class IfcMaterialProfile; class IfcMaterialProfileSet; class IfcMaterialProfileSetUsage; class IfcMaterialProfileSetUsageTapering; class IfcMaterialProfileWithOffsets; class IfcMaterialProperties; class IfcMaterialRelationship; class IfcMaterialUsageDefinition; class IfcMeasureWithUnit; class IfcMechanicalFastener; class IfcMechanicalFastenerType; class IfcMedicalDevice; class IfcMedicalDeviceType; class IfcMember; class IfcMemberStandardCase; class IfcMemberType; class IfcMetric; class IfcMirroredProfileDef; class IfcMobileTelecommunicationsAppliance; class IfcMobileTelecommunicationsApplianceType; class IfcMonetaryUnit; class IfcMooringDevice; class IfcMooringDeviceType; class IfcMotorConnection; class IfcMotorConnectionType; class IfcNamedUnit; class IfcNavigationElement; class IfcNavigationElementType; class IfcObject; class IfcObjectDefinition; class IfcObjectPlacement; class IfcObjective; class IfcOccupant; class IfcOffsetCurve; class IfcOffsetCurve2D; class IfcOffsetCurve3D; class IfcOffsetCurveByDistances; class IfcOpenCrossProfileDef; class IfcOpenShell; class IfcOpeningElement; class IfcOpeningStandardCase; class IfcOrganization; class IfcOrganizationRelationship; class IfcOrientedEdge; class IfcOuterBoundaryCurve; class IfcOutlet; class IfcOutletType; class IfcOwnerHistory; class IfcParameterizedProfileDef; class IfcPath; class IfcPavement; class IfcPavementType; class IfcPcurve; class IfcPerformanceHistory; class IfcPermeableCoveringProperties; class IfcPermit; class IfcPerson; class IfcPersonAndOrganization; class IfcPhysicalComplexQuantity; class IfcPhysicalQuantity; class IfcPhysicalSimpleQuantity; class IfcPile; class IfcPileType; class IfcPipeFitting; class IfcPipeFittingType; class IfcPipeSegment; class IfcPipeSegmentType; class IfcPixelTexture; class IfcPlacement; class IfcPlanarBox; class IfcPlanarExtent; class IfcPlane; class IfcPlant; class IfcPlate; class IfcPlateStandardCase; class IfcPlateType; class IfcPoint; class IfcPointByDistanceExpression; class IfcPointOnCurve; class IfcPointOnSurface; class IfcPolyLoop; class IfcPolygonalBoundedHalfSpace; class IfcPolygonalFaceSet; class IfcPolyline; class IfcPolynomialCurve; class IfcPort; class IfcPositioningElement; class IfcPostalAddress; class IfcPreDefinedColour; class IfcPreDefinedCurveFont; class IfcPreDefinedItem; class IfcPreDefinedProperties; class IfcPreDefinedPropertySet; class IfcPreDefinedTextFont; class IfcPresentationItem; class IfcPresentationLayerAssignment; class IfcPresentationLayerWithStyle; class IfcPresentationStyle; class IfcProcedure; class IfcProcedureType; class IfcProcess; class IfcProduct; class IfcProductDefinitionShape; class IfcProductRepresentation; class IfcProfileDef; class IfcProfileProperties; class IfcProject; class IfcProjectLibrary; class IfcProjectOrder; class IfcProjectedCRS; class IfcProjectionElement; class IfcProperty; class IfcPropertyAbstraction; class IfcPropertyBoundedValue; class IfcPropertyDefinition; class IfcPropertyDependencyRelationship; class IfcPropertyEnumeratedValue; class IfcPropertyEnumeration; class IfcPropertyListValue; class IfcPropertyReferenceValue; class IfcPropertySet; class IfcPropertySetDefinition; class IfcPropertySetTemplate; class IfcPropertySingleValue; class IfcPropertyTableValue; class IfcPropertyTemplate; class IfcPropertyTemplateDefinition; class IfcProtectiveDevice; class IfcProtectiveDeviceTrippingUnit; class IfcProtectiveDeviceTrippingUnitType; class IfcProtectiveDeviceType; class IfcProxy; class IfcPump; class IfcPumpType; class IfcQuantityArea; class IfcQuantityCount; class IfcQuantityLength; class IfcQuantitySet; class IfcQuantityTime; class IfcQuantityVolume; class IfcQuantityWeight; class IfcRail; class IfcRailType; class IfcRailing; class IfcRailingType; class IfcRailway; class IfcRamp; class IfcRampFlight; class IfcRampFlightType; class IfcRampType; class IfcRationalBSplineCurveWithKnots; class IfcRationalBSplineSurfaceWithKnots; class IfcRectangleHollowProfileDef; class IfcRectangleProfileDef; class IfcRectangularPyramid; class IfcRectangularTrimmedSurface; class IfcRecurrencePattern; class IfcReference; class IfcReferent; class IfcRegularTimeSeries; class IfcReinforcedSoil; class IfcReinforcementBarProperties; class IfcReinforcementDefinitionProperties; class IfcReinforcingBar; class IfcReinforcingBarType; class IfcReinforcingElement; class IfcReinforcingElementType; class IfcReinforcingMesh; class IfcReinforcingMeshType; class IfcRelAggregates; class IfcRelAssigns; class IfcRelAssignsToActor; class IfcRelAssignsToControl; class IfcRelAssignsToGroup; class IfcRelAssignsToGroupByFactor; class IfcRelAssignsToProcess; class IfcRelAssignsToProduct; class IfcRelAssignsToResource; class IfcRelAssociates; class IfcRelAssociatesApproval; class IfcRelAssociatesClassification; class IfcRelAssociatesConstraint; class IfcRelAssociatesDocument; class IfcRelAssociatesLibrary; class IfcRelAssociatesMaterial; class IfcRelAssociatesProfileDef; class IfcRelConnects; class IfcRelConnectsElements; class IfcRelConnectsPathElements; class IfcRelConnectsPortToElement; class IfcRelConnectsPorts; class IfcRelConnectsStructuralActivity; class IfcRelConnectsStructuralMember; class IfcRelConnectsWithEccentricity; class IfcRelConnectsWithRealizingElements; class IfcRelContainedInSpatialStructure; class IfcRelCoversBldgElements; class IfcRelCoversSpaces; class IfcRelDeclares; class IfcRelDecomposes; class IfcRelDefines; class IfcRelDefinesByObject; class IfcRelDefinesByProperties; class IfcRelDefinesByTemplate; class IfcRelDefinesByType; class IfcRelFillsElement; class IfcRelFlowControlElements; class IfcRelInterferesElements; class IfcRelNests; class IfcRelPositions; class IfcRelProjectsElement; class IfcRelReferencedInSpatialStructure; class IfcRelSequence; class IfcRelServicesBuildings; class IfcRelSpaceBoundary; class IfcRelSpaceBoundary1stLevel; class IfcRelSpaceBoundary2ndLevel; class IfcRelVoidsElement; class IfcRelationship; class IfcReparametrisedCompositeCurveSegment; class IfcRepresentation; class IfcRepresentationContext; class IfcRepresentationItem; class IfcRepresentationMap; class IfcResource; class IfcResourceApprovalRelationship; class IfcResourceConstraintRelationship; class IfcResourceLevelRelationship; class IfcResourceTime; class IfcRevolvedAreaSolid; class IfcRevolvedAreaSolidTapered; class IfcRightCircularCone; class IfcRightCircularCylinder; class IfcRoad; class IfcRoof; class IfcRoofType; class IfcRoot; class IfcRoundedRectangleProfileDef; class IfcSIUnit; class IfcSanitaryTerminal; class IfcSanitaryTerminalType; class IfcSchedulingTime; class IfcSeamCurve; class IfcSecondOrderPolynomialSpiral; class IfcSectionProperties; class IfcSectionReinforcementProperties; class IfcSectionedSolid; class IfcSectionedSolidHorizontal; class IfcSectionedSpine; class IfcSectionedSurface; class IfcSegment; class IfcSegmentedReferenceCurve; class IfcSensor; class IfcSensorType; class IfcShadingDevice; class IfcShadingDeviceType; class IfcShapeAspect; class IfcShapeModel; class IfcShapeRepresentation; class IfcShellBasedSurfaceModel; class IfcSign; class IfcSignType; class IfcSignal; class IfcSignalType; class IfcSimpleProperty; class IfcSimplePropertyTemplate; class IfcSine; class IfcSite; class IfcSlab; class IfcSlabElementedCase; class IfcSlabStandardCase; class IfcSlabType; class IfcSlippageConnectionCondition; class IfcSolarDevice; class IfcSolarDeviceType; class IfcSolidModel; class IfcSolidStratum; class IfcSpace; class IfcSpaceHeater; class IfcSpaceHeaterType; class IfcSpaceType; class IfcSpatialElement; class IfcSpatialElementType; class IfcSpatialStructureElement; class IfcSpatialStructureElementType; class IfcSpatialZone; class IfcSpatialZoneType; class IfcSphere; class IfcSphericalSurface; class IfcSpiral; class IfcStackTerminal; class IfcStackTerminalType; class IfcStair; class IfcStairFlight; class IfcStairFlightType; class IfcStairType; class IfcStructuralAction; class IfcStructuralActivity; class IfcStructuralAnalysisModel; class IfcStructuralConnection; class IfcStructuralConnectionCondition; class IfcStructuralCurveAction; class IfcStructuralCurveConnection; class IfcStructuralCurveMember; class IfcStructuralCurveMemberVarying; class IfcStructuralCurveReaction; class IfcStructuralItem; class IfcStructuralLinearAction; class IfcStructuralLoad; class IfcStructuralLoadCase; class IfcStructuralLoadConfiguration; class IfcStructuralLoadGroup; class IfcStructuralLoadLinearForce; class IfcStructuralLoadOrResult; class IfcStructuralLoadPlanarForce; class IfcStructuralLoadSingleDisplacement; class IfcStructuralLoadSingleDisplacementDistortion; class IfcStructuralLoadSingleForce; class IfcStructuralLoadSingleForceWarping; class IfcStructuralLoadStatic; class IfcStructuralLoadTemperature; class IfcStructuralMember; class IfcStructuralPlanarAction; class IfcStructuralPointAction; class IfcStructuralPointConnection; class IfcStructuralPointReaction; class IfcStructuralReaction; class IfcStructuralResultGroup; class IfcStructuralSurfaceAction; class IfcStructuralSurfaceConnection; class IfcStructuralSurfaceMember; class IfcStructuralSurfaceMemberVarying; class IfcStructuralSurfaceReaction; class IfcStyleModel; class IfcStyledItem; class IfcStyledRepresentation; class IfcSubContractResource; class IfcSubContractResourceType; class IfcSubedge; class IfcSurface; class IfcSurfaceCurve; class IfcSurfaceCurveSweptAreaSolid; class IfcSurfaceFeature; class IfcSurfaceOfLinearExtrusion; class IfcSurfaceOfRevolution; class IfcSurfaceReinforcementArea; class IfcSurfaceStyle; class IfcSurfaceStyleLighting; class IfcSurfaceStyleRefraction; class IfcSurfaceStyleRendering; class IfcSurfaceStyleShading; class IfcSurfaceStyleWithTextures; class IfcSurfaceTexture; class IfcSweptAreaSolid; class IfcSweptDiskSolid; class IfcSweptDiskSolidPolygonal; class IfcSweptSurface; class IfcSwitchingDevice; class IfcSwitchingDeviceType; class IfcSystem; class IfcSystemFurnitureElement; class IfcSystemFurnitureElementType; class IfcTShapeProfileDef; class IfcTable; class IfcTableColumn; class IfcTableRow; class IfcTank; class IfcTankType; class IfcTask; class IfcTaskTime; class IfcTaskTimeRecurring; class IfcTaskType; class IfcTelecomAddress; class IfcTendon; class IfcTendonAnchor; class IfcTendonAnchorType; class IfcTendonConduit; class IfcTendonConduitType; class IfcTendonType; class IfcTessellatedFaceSet; class IfcTessellatedItem; class IfcTextLiteral; class IfcTextLiteralWithExtent; class IfcTextStyle; class IfcTextStyleFontModel; class IfcTextStyleForDefinedFont; class IfcTextStyleTextModel; class IfcTextureCoordinate; class IfcTextureCoordinateGenerator; class IfcTextureMap; class IfcTextureVertex; class IfcTextureVertexList; class IfcThirdOrderPolynomialSpiral; class IfcTimePeriod; class IfcTimeSeries; class IfcTimeSeriesValue; class IfcTopologicalRepresentationItem; class IfcTopologyRepresentation; class IfcToroidalSurface; class IfcTrackElement; class IfcTrackElementType; class IfcTransformer; class IfcTransformerType; class IfcTransportElement; class IfcTransportElementType; class IfcTrapeziumProfileDef; class IfcTriangulatedFaceSet; class IfcTriangulatedIrregularNetwork; class IfcTrimmedCurve; class IfcTubeBundle; class IfcTubeBundleType; class IfcTypeObject; class IfcTypeProcess; class IfcTypeProduct; class IfcTypeResource; class IfcUShapeProfileDef; class IfcUnitAssignment; class IfcUnitaryControlElement; class IfcUnitaryControlElementType; class IfcUnitaryEquipment; class IfcUnitaryEquipmentType; class IfcValve; class IfcValveType; class IfcVector; class IfcVertex; class IfcVertexLoop; class IfcVertexPoint; class IfcVibrationDamper; class IfcVibrationDamperType; class IfcVibrationIsolator; class IfcVibrationIsolatorType; class IfcVienneseBend; class IfcVirtualElement; class IfcVirtualGridIntersection; class IfcVoidStratum; class IfcVoidingFeature; class IfcWall; class IfcWallElementedCase; class IfcWallStandardCase; class IfcWallType; class IfcWasteTerminal; class IfcWasteTerminalType; class IfcWaterStratum; class IfcWindow; class IfcWindowLiningProperties; class IfcWindowPanelProperties; class IfcWindowStandardCase; class IfcWindowStyle; class IfcWindowType; class IfcWorkCalendar; class IfcWorkControl; class IfcWorkPlan; class IfcWorkSchedule; class IfcWorkTime; class IfcZShapeProfileDef; class IfcZone; class IfcAbsorbedDoseMeasure; class IfcAccelerationMeasure; class IfcAmountOfSubstanceMeasure; class IfcAngularVelocityMeasure; class IfcArcIndex; class IfcAreaDensityMeasure; class IfcAreaMeasure; class IfcBinary; class IfcBoolean; class IfcBoxAlignment; class IfcCardinalPointReference; class IfcComplexNumber; class IfcCompoundPlaneAngleMeasure; class IfcContextDependentMeasure; class IfcCountMeasure; class IfcCurvatureMeasure; class IfcDate; class IfcDateTime; class IfcDayInMonthNumber; class IfcDayInWeekNumber; class IfcDescriptiveMeasure; class IfcDimensionCount; class IfcDoseEquivalentMeasure; class IfcDuration; class IfcDynamicViscosityMeasure; class IfcElectricCapacitanceMeasure; class IfcElectricChargeMeasure; class IfcElectricConductanceMeasure; class IfcElectricCurrentMeasure; class IfcElectricResistanceMeasure; class IfcElectricVoltageMeasure; class IfcEnergyMeasure; class IfcFontStyle; class IfcFontVariant; class IfcFontWeight; class IfcForceMeasure; class IfcFrequencyMeasure; class IfcGloballyUniqueId; class IfcHeatFluxDensityMeasure; class IfcHeatingValueMeasure; class IfcIdentifier; class IfcIlluminanceMeasure; class IfcInductanceMeasure; class IfcInteger; class IfcIntegerCountRateMeasure; class IfcIonConcentrationMeasure; class IfcIsothermalMoistureCapacityMeasure; class IfcKinematicViscosityMeasure; class IfcLabel; class IfcLanguageId; class IfcLengthMeasure; class IfcLineIndex; class IfcLinearForceMeasure; class IfcLinearMomentMeasure; class IfcLinearStiffnessMeasure; class IfcLinearVelocityMeasure; class IfcLogical; class IfcLuminousFluxMeasure; class IfcLuminousIntensityDistributionMeasure; class IfcLuminousIntensityMeasure; class IfcMagneticFluxDensityMeasure; class IfcMagneticFluxMeasure; class IfcMassDensityMeasure; class IfcMassFlowRateMeasure; class IfcMassMeasure; class IfcMassPerLengthMeasure; class IfcModulusOfElasticityMeasure; class IfcModulusOfLinearSubgradeReactionMeasure; class IfcModulusOfRotationalSubgradeReactionMeasure; class IfcModulusOfSubgradeReactionMeasure; class IfcMoistureDiffusivityMeasure; class IfcMolecularWeightMeasure; class IfcMomentOfInertiaMeasure; class IfcMonetaryMeasure; class IfcMonthInYearNumber; class IfcNonNegativeLengthMeasure; class IfcNormalisedRatioMeasure; class IfcNumericMeasure; class IfcPHMeasure; class IfcParameterValue; class IfcPlanarForceMeasure; class IfcPlaneAngleMeasure; class IfcPositiveInteger; class IfcPositiveLengthMeasure; class IfcPositivePlaneAngleMeasure; class IfcPositiveRatioMeasure; class IfcPowerMeasure; class IfcPresentableText; class IfcPressureMeasure; class IfcPropertySetDefinitionSet; class IfcRadioActivityMeasure; class IfcRatioMeasure; class IfcReal; class IfcRotationalFrequencyMeasure; class IfcRotationalMassMeasure; class IfcRotationalStiffnessMeasure; class IfcSectionModulusMeasure; class IfcSectionalAreaIntegralMeasure; class IfcShearModulusMeasure; class IfcSolidAngleMeasure; class IfcSoundPowerLevelMeasure; class IfcSoundPowerMeasure; class IfcSoundPressureLevelMeasure; class IfcSoundPressureMeasure; class IfcSpecificHeatCapacityMeasure; class IfcSpecularExponent; class IfcSpecularRoughness; class IfcTemperatureGradientMeasure; class IfcTemperatureRateOfChangeMeasure; class IfcText; class IfcTextAlignment; class IfcTextDecoration; class IfcTextFontName; class IfcTextTransformation; class IfcThermalAdmittanceMeasure; class IfcThermalConductivityMeasure; class IfcThermalExpansionCoefficientMeasure; class IfcThermalResistanceMeasure; class IfcThermalTransmittanceMeasure; class IfcThermodynamicTemperatureMeasure; class IfcTime; class IfcTimeMeasure; class IfcTimeStamp; class IfcTorqueMeasure; class IfcURIReference; class IfcVaporPermeabilityMeasure; class IfcVolumeMeasure; class IfcVolumetricFlowRateMeasure; class IfcWarpingConstantMeasure; class IfcWarpingMomentMeasure; class IfcActorSelect; class IfcAppliedValueSelect; class IfcAxis2Placement; class IfcBendingParameterSelect; class IfcBooleanOperand; class IfcClassificationReferenceSelect; class IfcClassificationSelect; class IfcColour; class IfcColourOrFactor; class IfcCoordinateReferenceSystemSelect; class IfcCsgSelect; class IfcCurveFontOrScaledCurveFontSelect; class IfcCurveMeasureSelect; class IfcCurveOnSurface; class IfcCurveOrEdgeCurve; class IfcCurveStyleFontSelect; class IfcDefinitionSelect; class IfcDerivedMeasureValue; class IfcDocumentSelect; class IfcFacilityPartTypeSelect; class IfcFillStyleSelect; class IfcGeometricSetSelect; class IfcGridPlacementDirectionSelect; class IfcHatchLineDistanceSelect; class IfcImpactProtectionDeviceTypeSelect; class IfcInterferenceSelect; class IfcLayeredItem; class IfcLibrarySelect; class IfcLightDistributionDataSourceSelect; class IfcMaterialSelect; class IfcMeasureValue; class IfcMetricValueSelect; class IfcModulusOfRotationalSubgradeReactionSelect; class IfcModulusOfSubgradeReactionSelect; class IfcModulusOfTranslationalSubgradeReactionSelect; class IfcObjectReferenceSelect; class IfcPointOrVertexPoint; class IfcProcessSelect; class IfcProductRepresentationSelect; class IfcProductSelect; class IfcPropertySetDefinitionSelect; class IfcResourceObjectSelect; class IfcResourceSelect; class IfcRotationalStiffnessSelect; class IfcSegmentIndexSelect; class IfcShell; class IfcSimpleValue; class IfcSizeSelect; class IfcSolidOrShell; class IfcSpaceBoundarySelect; class IfcSpatialReferenceSelect; class IfcSpecularHighlightSelect; class IfcStructuralActivityAssignmentSelect; class IfcSurfaceOrFaceSurface; class IfcSurfaceStyleElementSelect; class IfcTextFontSelect; class IfcTimeOrRatioSelect; class IfcTranslationalStiffnessSelect; class IfcTransportElementTypeSelect; class IfcTrimmingSelect; class IfcUnit; class IfcValue; class IfcVectorOrDirection; class IfcWarpingStiffnessSelect; class IfcActionRequestTypeEnum; class IfcActionSourceTypeEnum; class IfcActionTypeEnum; class IfcActuatorTypeEnum; class IfcAddressTypeEnum; class IfcAirTerminalBoxTypeEnum; class IfcAirTerminalTypeEnum; class IfcAirToAirHeatRecoveryTypeEnum; class IfcAlarmTypeEnum; class IfcAlignmentCantSegmentTypeEnum; class IfcAlignmentHorizontalSegmentTypeEnum; class IfcAlignmentTypeEnum; class IfcAlignmentVerticalSegmentTypeEnum; class IfcAnalysisModelTypeEnum; class IfcAnalysisTheoryTypeEnum; class IfcAnnotationTypeEnum; class IfcArithmeticOperatorEnum; class IfcAssemblyPlaceEnum; class IfcAudioVisualApplianceTypeEnum; class IfcBSplineCurveForm; class IfcBSplineSurfaceForm; class IfcBeamTypeEnum; class IfcBearingTypeDisplacementEnum; class IfcBearingTypeEnum; class IfcBenchmarkEnum; class IfcBoilerTypeEnum; class IfcBooleanOperator; class IfcBridgePartTypeEnum; class IfcBridgeTypeEnum; class IfcBuildingElementPartTypeEnum; class IfcBuildingElementProxyTypeEnum; class IfcBuildingSystemTypeEnum; class IfcBuiltSystemTypeEnum; class IfcBurnerTypeEnum; class IfcCableCarrierFittingTypeEnum; class IfcCableCarrierSegmentTypeEnum; class IfcCableFittingTypeEnum; class IfcCableSegmentTypeEnum; class IfcCaissonFoundationTypeEnum; class IfcChangeActionEnum; class IfcChillerTypeEnum; class IfcChimneyTypeEnum; class IfcCoilTypeEnum; class IfcColumnTypeEnum; class IfcCommunicationsApplianceTypeEnum; class IfcComplexPropertyTemplateTypeEnum; class IfcCompressorTypeEnum; class IfcCondenserTypeEnum; class IfcConnectionTypeEnum; class IfcConstraintEnum; class IfcConstructionEquipmentResourceTypeEnum; class IfcConstructionMaterialResourceTypeEnum; class IfcConstructionProductResourceTypeEnum; class IfcControllerTypeEnum; class IfcConveyorSegmentTypeEnum; class IfcCooledBeamTypeEnum; class IfcCoolingTowerTypeEnum; class IfcCostItemTypeEnum; class IfcCostScheduleTypeEnum; class IfcCourseTypeEnum; class IfcCoveringTypeEnum; class IfcCrewResourceTypeEnum; class IfcCurtainWallTypeEnum; class IfcCurveInterpolationEnum; class IfcDamperTypeEnum; class IfcDataOriginEnum; class IfcDerivedUnitEnum; class IfcDirectionSenseEnum; class IfcDiscreteAccessoryTypeEnum; class IfcDistributionBoardTypeEnum; class IfcDistributionChamberElementTypeEnum; class IfcDistributionPortTypeEnum; class IfcDistributionSystemEnum; class IfcDocumentConfidentialityEnum; class IfcDocumentStatusEnum; class IfcDoorPanelOperationEnum; class IfcDoorPanelPositionEnum; class IfcDoorStyleConstructionEnum; class IfcDoorStyleOperationEnum; class IfcDoorTypeEnum; class IfcDoorTypeOperationEnum; class IfcDuctFittingTypeEnum; class IfcDuctSegmentTypeEnum; class IfcDuctSilencerTypeEnum; class IfcEarthworksCutTypeEnum; class IfcEarthworksFillTypeEnum; class IfcElectricApplianceTypeEnum; class IfcElectricDistributionBoardTypeEnum; class IfcElectricFlowStorageDeviceTypeEnum; class IfcElectricFlowTreatmentDeviceTypeEnum; class IfcElectricGeneratorTypeEnum; class IfcElectricMotorTypeEnum; class IfcElectricTimeControlTypeEnum; class IfcElementAssemblyTypeEnum; class IfcElementCompositionEnum; class IfcEngineTypeEnum; class IfcEvaporativeCoolerTypeEnum; class IfcEvaporatorTypeEnum; class IfcEventTriggerTypeEnum; class IfcEventTypeEnum; class IfcExternalSpatialElementTypeEnum; class IfcFacilityPartCommonTypeEnum; class IfcFacilityUsageEnum; class IfcFanTypeEnum; class IfcFastenerTypeEnum; class IfcFilterTypeEnum; class IfcFireSuppressionTerminalTypeEnum; class IfcFlowDirectionEnum; class IfcFlowInstrumentTypeEnum; class IfcFlowMeterTypeEnum; class IfcFootingTypeEnum; class IfcFurnitureTypeEnum; class IfcGeographicElementTypeEnum; class IfcGeometricProjectionEnum; class IfcGlobalOrLocalEnum; class IfcGridTypeEnum; class IfcHeatExchangerTypeEnum; class IfcHumidifierTypeEnum; class IfcImpactProtectionDeviceTypeEnum; class IfcInterceptorTypeEnum; class IfcInternalOrExternalEnum; class IfcInventoryTypeEnum; class IfcJunctionBoxTypeEnum; class IfcKnotType; class IfcLaborResourceTypeEnum; class IfcLampTypeEnum; class IfcLayerSetDirectionEnum; class IfcLightDistributionCurveEnum; class IfcLightEmissionSourceEnum; class IfcLightFixtureTypeEnum; class IfcLiquidTerminalTypeEnum; class IfcLoadGroupTypeEnum; class IfcLogicalOperatorEnum; class IfcMarineFacilityTypeEnum; class IfcMarinePartTypeEnum; class IfcMechanicalFastenerTypeEnum; class IfcMedicalDeviceTypeEnum; class IfcMemberTypeEnum; class IfcMobileTelecommunicationsApplianceTypeEnum; class IfcMooringDeviceTypeEnum; class IfcMotorConnectionTypeEnum; class IfcNavigationElementTypeEnum; class IfcObjectTypeEnum; class IfcObjectiveEnum; class IfcOccupantTypeEnum; class IfcOpeningElementTypeEnum; class IfcOutletTypeEnum; class IfcPavementTypeEnum; class IfcPerformanceHistoryTypeEnum; class IfcPermeableCoveringOperationEnum; class IfcPermitTypeEnum; class IfcPhysicalOrVirtualEnum; class IfcPileConstructionEnum; class IfcPileTypeEnum; class IfcPipeFittingTypeEnum; class IfcPipeSegmentTypeEnum; class IfcPlateTypeEnum; class IfcPreferredSurfaceCurveRepresentation; class IfcProcedureTypeEnum; class IfcProfileTypeEnum; class IfcProjectOrderTypeEnum; class IfcProjectedOrTrueLengthEnum; class IfcProjectionElementTypeEnum; class IfcPropertySetTemplateTypeEnum; class IfcProtectiveDeviceTrippingUnitTypeEnum; class IfcProtectiveDeviceTypeEnum; class IfcPumpTypeEnum; class IfcRailTypeEnum; class IfcRailingTypeEnum; class IfcRailwayPartTypeEnum; class IfcRailwayTypeEnum; class IfcRampFlightTypeEnum; class IfcRampTypeEnum; class IfcRecurrenceTypeEnum; class IfcReferentTypeEnum; class IfcReflectanceMethodEnum; class IfcReinforcedSoilTypeEnum; class IfcReinforcingBarRoleEnum; class IfcReinforcingBarSurfaceEnum; class IfcReinforcingBarTypeEnum; class IfcReinforcingMeshTypeEnum; class IfcRoadPartTypeEnum; class IfcRoadTypeEnum; class IfcRoleEnum; class IfcRoofTypeEnum; class IfcSIPrefix; class IfcSIUnitName; class IfcSanitaryTerminalTypeEnum; class IfcSectionTypeEnum; class IfcSensorTypeEnum; class IfcSequenceEnum; class IfcShadingDeviceTypeEnum; class IfcSignTypeEnum; class IfcSignalTypeEnum; class IfcSimplePropertyTemplateTypeEnum; class IfcSlabTypeEnum; class IfcSolarDeviceTypeEnum; class IfcSpaceHeaterTypeEnum; class IfcSpaceTypeEnum; class IfcSpatialZoneTypeEnum; class IfcStackTerminalTypeEnum; class IfcStairFlightTypeEnum; class IfcStairTypeEnum; class IfcStateEnum; class IfcStructuralCurveActivityTypeEnum; class IfcStructuralCurveMemberTypeEnum; class IfcStructuralSurfaceActivityTypeEnum; class IfcStructuralSurfaceMemberTypeEnum; class IfcSubContractResourceTypeEnum; class IfcSurfaceFeatureTypeEnum; class IfcSurfaceSide; class IfcSwitchingDeviceTypeEnum; class IfcSystemFurnitureElementTypeEnum; class IfcTankTypeEnum; class IfcTaskDurationEnum; class IfcTaskTypeEnum; class IfcTendonAnchorTypeEnum; class IfcTendonConduitTypeEnum; class IfcTendonTypeEnum; class IfcTextPath; class IfcTimeSeriesDataTypeEnum; class IfcTrackElementTypeEnum; class IfcTransformerTypeEnum; class IfcTransitionCode; class IfcTransportElementFixedTypeEnum; class IfcTransportElementNonFixedTypeEnum; class IfcTrimmingPreference; class IfcTubeBundleTypeEnum; class IfcUnitEnum; class IfcUnitaryControlElementTypeEnum; class IfcUnitaryEquipmentTypeEnum; class IfcValveTypeEnum; class IfcVibrationDamperTypeEnum; class IfcVibrationIsolatorTypeEnum; class IfcVoidingFeatureTypeEnum; class IfcWallTypeEnum; class IfcWasteTerminalTypeEnum; class IfcWindowPanelOperationEnum; class IfcWindowPanelPositionEnum; class IfcWindowStyleConstructionEnum; class IfcWindowStyleOperationEnum; class IfcWindowTypeEnum; class IfcWindowTypePartitioningEnum; class IfcWorkCalendarTypeEnum; class IfcWorkPlanTypeEnum; class IfcWorkScheduleTypeEnum; +class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; class IfcActuatorType; class IfcAddress; class IfcAdvancedBrep; class IfcAdvancedBrepWithVoids; class IfcAdvancedFace; class IfcAirTerminal; class IfcAirTerminalBox; class IfcAirTerminalBoxType; class IfcAirTerminalType; class IfcAirToAirHeatRecovery; class IfcAirToAirHeatRecoveryType; class IfcAlarm; class IfcAlarmType; class IfcAlignment; class IfcAlignmentCant; class IfcAlignmentCantSegment; class IfcAlignmentHorizontal; class IfcAlignmentHorizontalSegment; class IfcAlignmentParameterSegment; class IfcAlignmentSegment; class IfcAlignmentVertical; class IfcAlignmentVerticalSegment; class IfcAnnotation; class IfcAnnotationFillArea; class IfcApplication; class IfcAppliedValue; class IfcApproval; class IfcApprovalRelationship; class IfcArbitraryClosedProfileDef; class IfcArbitraryOpenProfileDef; class IfcArbitraryProfileDefWithVoids; class IfcAsset; class IfcAsymmetricIShapeProfileDef; class IfcAudioVisualAppliance; class IfcAudioVisualApplianceType; class IfcAxis1Placement; class IfcAxis2Placement2D; class IfcAxis2Placement3D; class IfcAxis2PlacementLinear; class IfcBSplineCurve; class IfcBSplineCurveWithKnots; class IfcBSplineSurface; class IfcBSplineSurfaceWithKnots; class IfcBeam; class IfcBeamStandardCase; class IfcBeamType; class IfcBearing; class IfcBearingType; class IfcBlobTexture; class IfcBlock; class IfcBoiler; class IfcBoilerType; class IfcBooleanClippingResult; class IfcBooleanResult; class IfcBorehole; class IfcBoundaryCondition; class IfcBoundaryCurve; class IfcBoundaryEdgeCondition; class IfcBoundaryFaceCondition; class IfcBoundaryNodeCondition; class IfcBoundaryNodeConditionWarping; class IfcBoundedCurve; class IfcBoundedSurface; class IfcBoundingBox; class IfcBoxedHalfSpace; class IfcBridge; class IfcBuilding; class IfcBuildingElementPart; class IfcBuildingElementPartType; class IfcBuildingElementProxy; class IfcBuildingElementProxyType; class IfcBuildingStorey; class IfcBuildingSystem; class IfcBuiltElement; class IfcBuiltElementType; class IfcBuiltSystem; class IfcBurner; class IfcBurnerType; class IfcCShapeProfileDef; class IfcCableCarrierFitting; class IfcCableCarrierFittingType; class IfcCableCarrierSegment; class IfcCableCarrierSegmentType; class IfcCableFitting; class IfcCableFittingType; class IfcCableSegment; class IfcCableSegmentType; class IfcCaissonFoundation; class IfcCaissonFoundationType; class IfcCartesianPoint; class IfcCartesianPointList; class IfcCartesianPointList2D; class IfcCartesianPointList3D; class IfcCartesianTransformationOperator; class IfcCartesianTransformationOperator2D; class IfcCartesianTransformationOperator2DnonUniform; class IfcCartesianTransformationOperator3D; class IfcCartesianTransformationOperator3DnonUniform; class IfcCenterLineProfileDef; class IfcChiller; class IfcChillerType; class IfcChimney; class IfcChimneyType; class IfcCircle; class IfcCircleHollowProfileDef; class IfcCircleProfileDef; class IfcCivilElement; class IfcCivilElementType; class IfcClassification; class IfcClassificationReference; class IfcClosedShell; class IfcClothoid; class IfcCoil; class IfcCoilType; class IfcColourRgb; class IfcColourRgbList; class IfcColourSpecification; class IfcColumn; class IfcColumnStandardCase; class IfcColumnType; class IfcCommunicationsAppliance; class IfcCommunicationsApplianceType; class IfcComplexProperty; class IfcComplexPropertyTemplate; class IfcCompositeCurve; class IfcCompositeCurveOnSurface; class IfcCompositeCurveSegment; class IfcCompositeProfileDef; class IfcCompressor; class IfcCompressorType; class IfcCondenser; class IfcCondenserType; class IfcConic; class IfcConnectedFaceSet; class IfcConnectionCurveGeometry; class IfcConnectionGeometry; class IfcConnectionPointEccentricity; class IfcConnectionPointGeometry; class IfcConnectionSurfaceGeometry; class IfcConnectionVolumeGeometry; class IfcConstraint; class IfcConstructionEquipmentResource; class IfcConstructionEquipmentResourceType; class IfcConstructionMaterialResource; class IfcConstructionMaterialResourceType; class IfcConstructionProductResource; class IfcConstructionProductResourceType; class IfcConstructionResource; class IfcConstructionResourceType; class IfcContext; class IfcContextDependentUnit; class IfcControl; class IfcController; class IfcControllerType; class IfcConversionBasedUnit; class IfcConversionBasedUnitWithOffset; class IfcConveyorSegment; class IfcConveyorSegmentType; class IfcCooledBeam; class IfcCooledBeamType; class IfcCoolingTower; class IfcCoolingTowerType; class IfcCoordinateOperation; class IfcCoordinateReferenceSystem; class IfcCosine; class IfcCostItem; class IfcCostSchedule; class IfcCostValue; class IfcCourse; class IfcCourseType; class IfcCovering; class IfcCoveringType; class IfcCrewResource; class IfcCrewResourceType; class IfcCsgPrimitive3D; class IfcCsgSolid; class IfcCurrencyRelationship; class IfcCurtainWall; class IfcCurtainWallType; class IfcCurve; class IfcCurveBoundedPlane; class IfcCurveBoundedSurface; class IfcCurveSegment; class IfcCurveStyle; class IfcCurveStyleFont; class IfcCurveStyleFontAndScaling; class IfcCurveStyleFontPattern; class IfcCylindricalSurface; class IfcDamper; class IfcDamperType; class IfcDeepFoundation; class IfcDeepFoundationType; class IfcDerivedProfileDef; class IfcDerivedUnit; class IfcDerivedUnitElement; class IfcDimensionalExponents; class IfcDirection; class IfcDirectrixCurveSweptAreaSolid; class IfcDirectrixDistanceSweptAreaSolid; class IfcDiscreteAccessory; class IfcDiscreteAccessoryType; class IfcDistributionBoard; class IfcDistributionBoardType; class IfcDistributionChamberElement; class IfcDistributionChamberElementType; class IfcDistributionCircuit; class IfcDistributionControlElement; class IfcDistributionControlElementType; class IfcDistributionElement; class IfcDistributionElementType; class IfcDistributionFlowElement; class IfcDistributionFlowElementType; class IfcDistributionPort; class IfcDistributionSystem; class IfcDocumentInformation; class IfcDocumentInformationRelationship; class IfcDocumentReference; class IfcDoor; class IfcDoorLiningProperties; class IfcDoorPanelProperties; class IfcDoorStandardCase; class IfcDoorStyle; class IfcDoorType; class IfcDraughtingPreDefinedColour; class IfcDraughtingPreDefinedCurveFont; class IfcDuctFitting; class IfcDuctFittingType; class IfcDuctSegment; class IfcDuctSegmentType; class IfcDuctSilencer; class IfcDuctSilencerType; class IfcEarthworksCut; class IfcEarthworksElement; class IfcEarthworksFill; class IfcEdge; class IfcEdgeCurve; class IfcEdgeLoop; class IfcElectricAppliance; class IfcElectricApplianceType; class IfcElectricDistributionBoard; class IfcElectricDistributionBoardType; class IfcElectricFlowStorageDevice; class IfcElectricFlowStorageDeviceType; class IfcElectricFlowTreatmentDevice; class IfcElectricFlowTreatmentDeviceType; class IfcElectricGenerator; class IfcElectricGeneratorType; class IfcElectricMotor; class IfcElectricMotorType; class IfcElectricTimeControl; class IfcElectricTimeControlType; class IfcElement; class IfcElementAssembly; class IfcElementAssemblyType; class IfcElementComponent; class IfcElementComponentType; class IfcElementQuantity; class IfcElementType; class IfcElementarySurface; class IfcEllipse; class IfcEllipseProfileDef; class IfcEnergyConversionDevice; class IfcEnergyConversionDeviceType; class IfcEngine; class IfcEngineType; class IfcEvaporativeCooler; class IfcEvaporativeCoolerType; class IfcEvaporator; class IfcEvaporatorType; class IfcEvent; class IfcEventTime; class IfcEventType; class IfcExtendedProperties; class IfcExternalInformation; class IfcExternalReference; class IfcExternalReferenceRelationship; class IfcExternalSpatialElement; class IfcExternalSpatialStructureElement; class IfcExternallyDefinedHatchStyle; class IfcExternallyDefinedSurfaceStyle; class IfcExternallyDefinedTextFont; class IfcExtrudedAreaSolid; class IfcExtrudedAreaSolidTapered; class IfcFace; class IfcFaceBasedSurfaceModel; class IfcFaceBound; class IfcFaceOuterBound; class IfcFaceSurface; class IfcFacetedBrep; class IfcFacetedBrepWithVoids; class IfcFacility; class IfcFacilityPart; class IfcFailureConnectionCondition; class IfcFan; class IfcFanType; class IfcFastener; class IfcFastenerType; class IfcFeatureElement; class IfcFeatureElementAddition; class IfcFeatureElementSubtraction; class IfcFillAreaStyle; class IfcFillAreaStyleHatching; class IfcFillAreaStyleTiles; class IfcFilter; class IfcFilterType; class IfcFireSuppressionTerminal; class IfcFireSuppressionTerminalType; class IfcFixedReferenceSweptAreaSolid; class IfcFlowController; class IfcFlowControllerType; class IfcFlowFitting; class IfcFlowFittingType; class IfcFlowInstrument; class IfcFlowInstrumentType; class IfcFlowMeter; class IfcFlowMeterType; class IfcFlowMovingDevice; class IfcFlowMovingDeviceType; class IfcFlowSegment; class IfcFlowSegmentType; class IfcFlowStorageDevice; class IfcFlowStorageDeviceType; class IfcFlowTerminal; class IfcFlowTerminalType; class IfcFlowTreatmentDevice; class IfcFlowTreatmentDeviceType; class IfcFooting; class IfcFootingType; class IfcFurnishingElement; class IfcFurnishingElementType; class IfcFurniture; class IfcFurnitureType; class IfcGeographicElement; class IfcGeographicElementType; class IfcGeometricCurveSet; class IfcGeometricRepresentationContext; class IfcGeometricRepresentationItem; class IfcGeometricRepresentationSubContext; class IfcGeometricSet; class IfcGeomodel; class IfcGeoslice; class IfcGeotechnicalAssembly; class IfcGeotechnicalElement; class IfcGeotechnicalStratum; class IfcGradientCurve; class IfcGrid; class IfcGridAxis; class IfcGridPlacement; class IfcGroup; class IfcHalfSpaceSolid; class IfcHeatExchanger; class IfcHeatExchangerType; class IfcHumidifier; class IfcHumidifierType; class IfcIShapeProfileDef; class IfcImageTexture; class IfcImpactProtectionDevice; class IfcImpactProtectionDeviceType; class IfcInclinedReferenceSweptAreaSolid; class IfcIndexedColourMap; class IfcIndexedPolyCurve; class IfcIndexedPolygonalFace; class IfcIndexedPolygonalFaceWithVoids; class IfcIndexedTextureMap; class IfcIndexedTriangleTextureMap; class IfcInterceptor; class IfcInterceptorType; class IfcIntersectionCurve; class IfcInventory; class IfcIrregularTimeSeries; class IfcIrregularTimeSeriesValue; class IfcJunctionBox; class IfcJunctionBoxType; class IfcKerb; class IfcKerbType; class IfcLShapeProfileDef; class IfcLaborResource; class IfcLaborResourceType; class IfcLagTime; class IfcLamp; class IfcLampType; class IfcLibraryInformation; class IfcLibraryReference; class IfcLightDistributionData; class IfcLightFixture; class IfcLightFixtureType; class IfcLightIntensityDistribution; class IfcLightSource; class IfcLightSourceAmbient; class IfcLightSourceDirectional; class IfcLightSourceGoniometric; class IfcLightSourcePositional; class IfcLightSourceSpot; class IfcLine; class IfcLinearElement; class IfcLinearPlacement; class IfcLinearPositioningElement; class IfcLiquidTerminal; class IfcLiquidTerminalType; class IfcLocalPlacement; class IfcLoop; class IfcManifoldSolidBrep; class IfcMapConversion; class IfcMappedItem; class IfcMarineFacility; class IfcMaterial; class IfcMaterialClassificationRelationship; class IfcMaterialConstituent; class IfcMaterialConstituentSet; class IfcMaterialDefinition; class IfcMaterialDefinitionRepresentation; class IfcMaterialLayer; class IfcMaterialLayerSet; class IfcMaterialLayerSetUsage; class IfcMaterialLayerWithOffsets; class IfcMaterialList; class IfcMaterialProfile; class IfcMaterialProfileSet; class IfcMaterialProfileSetUsage; class IfcMaterialProfileSetUsageTapering; class IfcMaterialProfileWithOffsets; class IfcMaterialProperties; class IfcMaterialRelationship; class IfcMaterialUsageDefinition; class IfcMeasureWithUnit; class IfcMechanicalFastener; class IfcMechanicalFastenerType; class IfcMedicalDevice; class IfcMedicalDeviceType; class IfcMember; class IfcMemberStandardCase; class IfcMemberType; class IfcMetric; class IfcMirroredProfileDef; class IfcMobileTelecommunicationsAppliance; class IfcMobileTelecommunicationsApplianceType; class IfcMonetaryUnit; class IfcMooringDevice; class IfcMooringDeviceType; class IfcMotorConnection; class IfcMotorConnectionType; class IfcNamedUnit; class IfcNavigationElement; class IfcNavigationElementType; class IfcObject; class IfcObjectDefinition; class IfcObjectPlacement; class IfcObjective; class IfcOccupant; class IfcOffsetCurve; class IfcOffsetCurve2D; class IfcOffsetCurve3D; class IfcOffsetCurveByDistances; class IfcOpenCrossProfileDef; class IfcOpenShell; class IfcOpeningElement; class IfcOpeningStandardCase; class IfcOrganization; class IfcOrganizationRelationship; class IfcOrientedEdge; class IfcOuterBoundaryCurve; class IfcOutlet; class IfcOutletType; class IfcOwnerHistory; class IfcParameterizedProfileDef; class IfcPath; class IfcPavement; class IfcPavementType; class IfcPcurve; class IfcPerformanceHistory; class IfcPermeableCoveringProperties; class IfcPermit; class IfcPerson; class IfcPersonAndOrganization; class IfcPhysicalComplexQuantity; class IfcPhysicalQuantity; class IfcPhysicalSimpleQuantity; class IfcPile; class IfcPileType; class IfcPipeFitting; class IfcPipeFittingType; class IfcPipeSegment; class IfcPipeSegmentType; class IfcPixelTexture; class IfcPlacement; class IfcPlanarBox; class IfcPlanarExtent; class IfcPlane; class IfcPlant; class IfcPlate; class IfcPlateStandardCase; class IfcPlateType; class IfcPoint; class IfcPointByDistanceExpression; class IfcPointOnCurve; class IfcPointOnSurface; class IfcPolyLoop; class IfcPolygonalBoundedHalfSpace; class IfcPolygonalFaceSet; class IfcPolyline; class IfcPolynomialCurve; class IfcPort; class IfcPositioningElement; class IfcPostalAddress; class IfcPreDefinedColour; class IfcPreDefinedCurveFont; class IfcPreDefinedItem; class IfcPreDefinedProperties; class IfcPreDefinedPropertySet; class IfcPreDefinedTextFont; class IfcPresentationItem; class IfcPresentationLayerAssignment; class IfcPresentationLayerWithStyle; class IfcPresentationStyle; class IfcProcedure; class IfcProcedureType; class IfcProcess; class IfcProduct; class IfcProductDefinitionShape; class IfcProductRepresentation; class IfcProfileDef; class IfcProfileProperties; class IfcProject; class IfcProjectLibrary; class IfcProjectOrder; class IfcProjectedCRS; class IfcProjectionElement; class IfcProperty; class IfcPropertyAbstraction; class IfcPropertyBoundedValue; class IfcPropertyDefinition; class IfcPropertyDependencyRelationship; class IfcPropertyEnumeratedValue; class IfcPropertyEnumeration; class IfcPropertyListValue; class IfcPropertyReferenceValue; class IfcPropertySet; class IfcPropertySetDefinition; class IfcPropertySetTemplate; class IfcPropertySingleValue; class IfcPropertyTableValue; class IfcPropertyTemplate; class IfcPropertyTemplateDefinition; class IfcProtectiveDevice; class IfcProtectiveDeviceTrippingUnit; class IfcProtectiveDeviceTrippingUnitType; class IfcProtectiveDeviceType; class IfcProxy; class IfcPump; class IfcPumpType; class IfcQuantityArea; class IfcQuantityCount; class IfcQuantityLength; class IfcQuantitySet; class IfcQuantityTime; class IfcQuantityVolume; class IfcQuantityWeight; class IfcRail; class IfcRailType; class IfcRailing; class IfcRailingType; class IfcRailway; class IfcRamp; class IfcRampFlight; class IfcRampFlightType; class IfcRampType; class IfcRationalBSplineCurveWithKnots; class IfcRationalBSplineSurfaceWithKnots; class IfcRectangleHollowProfileDef; class IfcRectangleProfileDef; class IfcRectangularPyramid; class IfcRectangularTrimmedSurface; class IfcRecurrencePattern; class IfcReference; class IfcReferent; class IfcRegularTimeSeries; class IfcReinforcedSoil; class IfcReinforcementBarProperties; class IfcReinforcementDefinitionProperties; class IfcReinforcingBar; class IfcReinforcingBarType; class IfcReinforcingElement; class IfcReinforcingElementType; class IfcReinforcingMesh; class IfcReinforcingMeshType; class IfcRelAggregates; class IfcRelAssigns; class IfcRelAssignsToActor; class IfcRelAssignsToControl; class IfcRelAssignsToGroup; class IfcRelAssignsToGroupByFactor; class IfcRelAssignsToProcess; class IfcRelAssignsToProduct; class IfcRelAssignsToResource; class IfcRelAssociates; class IfcRelAssociatesApproval; class IfcRelAssociatesClassification; class IfcRelAssociatesConstraint; class IfcRelAssociatesDocument; class IfcRelAssociatesLibrary; class IfcRelAssociatesMaterial; class IfcRelAssociatesProfileDef; class IfcRelConnects; class IfcRelConnectsElements; class IfcRelConnectsPathElements; class IfcRelConnectsPortToElement; class IfcRelConnectsPorts; class IfcRelConnectsStructuralActivity; class IfcRelConnectsStructuralMember; class IfcRelConnectsWithEccentricity; class IfcRelConnectsWithRealizingElements; class IfcRelContainedInSpatialStructure; class IfcRelCoversBldgElements; class IfcRelCoversSpaces; class IfcRelDeclares; class IfcRelDecomposes; class IfcRelDefines; class IfcRelDefinesByObject; class IfcRelDefinesByProperties; class IfcRelDefinesByTemplate; class IfcRelDefinesByType; class IfcRelFillsElement; class IfcRelFlowControlElements; class IfcRelInterferesElements; class IfcRelNests; class IfcRelPositions; class IfcRelProjectsElement; class IfcRelReferencedInSpatialStructure; class IfcRelSequence; class IfcRelServicesBuildings; class IfcRelSpaceBoundary; class IfcRelSpaceBoundary1stLevel; class IfcRelSpaceBoundary2ndLevel; class IfcRelVoidsElement; class IfcRelationship; class IfcReparametrisedCompositeCurveSegment; class IfcRepresentation; class IfcRepresentationContext; class IfcRepresentationItem; class IfcRepresentationMap; class IfcResource; class IfcResourceApprovalRelationship; class IfcResourceConstraintRelationship; class IfcResourceLevelRelationship; class IfcResourceTime; class IfcRevolvedAreaSolid; class IfcRevolvedAreaSolidTapered; class IfcRightCircularCone; class IfcRightCircularCylinder; class IfcRoad; class IfcRoof; class IfcRoofType; class IfcRoot; class IfcRoundedRectangleProfileDef; class IfcSIUnit; class IfcSanitaryTerminal; class IfcSanitaryTerminalType; class IfcSchedulingTime; class IfcSeamCurve; class IfcSecondOrderPolynomialSpiral; class IfcSectionProperties; class IfcSectionReinforcementProperties; class IfcSectionedSolid; class IfcSectionedSolidHorizontal; class IfcSectionedSpine; class IfcSectionedSurface; class IfcSegment; class IfcSegmentedReferenceCurve; class IfcSensor; class IfcSensorType; class IfcShadingDevice; class IfcShadingDeviceType; class IfcShapeAspect; class IfcShapeModel; class IfcShapeRepresentation; class IfcShellBasedSurfaceModel; class IfcSign; class IfcSignType; class IfcSignal; class IfcSignalType; class IfcSimpleProperty; class IfcSimplePropertyTemplate; class IfcSine; class IfcSite; class IfcSlab; class IfcSlabElementedCase; class IfcSlabStandardCase; class IfcSlabType; class IfcSlippageConnectionCondition; class IfcSolarDevice; class IfcSolarDeviceType; class IfcSolidModel; class IfcSolidStratum; class IfcSpace; class IfcSpaceHeater; class IfcSpaceHeaterType; class IfcSpaceType; class IfcSpatialElement; class IfcSpatialElementType; class IfcSpatialStructureElement; class IfcSpatialStructureElementType; class IfcSpatialZone; class IfcSpatialZoneType; class IfcSphere; class IfcSphericalSurface; class IfcSpiral; class IfcStackTerminal; class IfcStackTerminalType; class IfcStair; class IfcStairFlight; class IfcStairFlightType; class IfcStairType; class IfcStructuralAction; class IfcStructuralActivity; class IfcStructuralAnalysisModel; class IfcStructuralConnection; class IfcStructuralConnectionCondition; class IfcStructuralCurveAction; class IfcStructuralCurveConnection; class IfcStructuralCurveMember; class IfcStructuralCurveMemberVarying; class IfcStructuralCurveReaction; class IfcStructuralItem; class IfcStructuralLinearAction; class IfcStructuralLoad; class IfcStructuralLoadCase; class IfcStructuralLoadConfiguration; class IfcStructuralLoadGroup; class IfcStructuralLoadLinearForce; class IfcStructuralLoadOrResult; class IfcStructuralLoadPlanarForce; class IfcStructuralLoadSingleDisplacement; class IfcStructuralLoadSingleDisplacementDistortion; class IfcStructuralLoadSingleForce; class IfcStructuralLoadSingleForceWarping; class IfcStructuralLoadStatic; class IfcStructuralLoadTemperature; class IfcStructuralMember; class IfcStructuralPlanarAction; class IfcStructuralPointAction; class IfcStructuralPointConnection; class IfcStructuralPointReaction; class IfcStructuralReaction; class IfcStructuralResultGroup; class IfcStructuralSurfaceAction; class IfcStructuralSurfaceConnection; class IfcStructuralSurfaceMember; class IfcStructuralSurfaceMemberVarying; class IfcStructuralSurfaceReaction; class IfcStyleModel; class IfcStyledItem; class IfcStyledRepresentation; class IfcSubContractResource; class IfcSubContractResourceType; class IfcSubedge; class IfcSurface; class IfcSurfaceCurve; class IfcSurfaceCurveSweptAreaSolid; class IfcSurfaceFeature; class IfcSurfaceOfLinearExtrusion; class IfcSurfaceOfRevolution; class IfcSurfaceReinforcementArea; class IfcSurfaceStyle; class IfcSurfaceStyleLighting; class IfcSurfaceStyleRefraction; class IfcSurfaceStyleRendering; class IfcSurfaceStyleShading; class IfcSurfaceStyleWithTextures; class IfcSurfaceTexture; class IfcSweptAreaSolid; class IfcSweptDiskSolid; class IfcSweptDiskSolidPolygonal; class IfcSweptSurface; class IfcSwitchingDevice; class IfcSwitchingDeviceType; class IfcSystem; class IfcSystemFurnitureElement; class IfcSystemFurnitureElementType; class IfcTShapeProfileDef; class IfcTable; class IfcTableColumn; class IfcTableRow; class IfcTank; class IfcTankType; class IfcTask; class IfcTaskTime; class IfcTaskTimeRecurring; class IfcTaskType; class IfcTelecomAddress; class IfcTendon; class IfcTendonAnchor; class IfcTendonAnchorType; class IfcTendonConduit; class IfcTendonConduitType; class IfcTendonType; class IfcTessellatedFaceSet; class IfcTessellatedItem; class IfcTextLiteral; class IfcTextLiteralWithExtent; class IfcTextStyle; class IfcTextStyleFontModel; class IfcTextStyleForDefinedFont; class IfcTextStyleTextModel; class IfcTextureCoordinate; class IfcTextureCoordinateGenerator; class IfcTextureMap; class IfcTextureVertex; class IfcTextureVertexList; class IfcThirdOrderPolynomialSpiral; class IfcTimePeriod; class IfcTimeSeries; class IfcTimeSeriesValue; class IfcTopologicalRepresentationItem; class IfcTopologyRepresentation; class IfcToroidalSurface; class IfcTrackElement; class IfcTrackElementType; class IfcTransformer; class IfcTransformerType; class IfcTransportElement; class IfcTransportElementType; class IfcTrapeziumProfileDef; class IfcTriangulatedFaceSet; class IfcTriangulatedIrregularNetwork; class IfcTrimmedCurve; class IfcTubeBundle; class IfcTubeBundleType; class IfcTypeObject; class IfcTypeProcess; class IfcTypeProduct; class IfcTypeResource; class IfcUShapeProfileDef; class IfcUnitAssignment; class IfcUnitaryControlElement; class IfcUnitaryControlElementType; class IfcUnitaryEquipment; class IfcUnitaryEquipmentType; class IfcValve; class IfcValveType; class IfcVector; class IfcVertex; class IfcVertexLoop; class IfcVertexPoint; class IfcVibrationDamper; class IfcVibrationDamperType; class IfcVibrationIsolator; class IfcVibrationIsolatorType; class IfcVienneseBend; class IfcVirtualElement; class IfcVirtualGridIntersection; class IfcVoidStratum; class IfcVoidingFeature; class IfcWall; class IfcWallElementedCase; class IfcWallStandardCase; class IfcWallType; class IfcWasteTerminal; class IfcWasteTerminalType; class IfcWaterStratum; class IfcWindow; class IfcWindowLiningProperties; class IfcWindowPanelProperties; class IfcWindowStandardCase; class IfcWindowStyle; class IfcWindowType; class IfcWorkCalendar; class IfcWorkControl; class IfcWorkPlan; class IfcWorkSchedule; class IfcWorkTime; class IfcZShapeProfileDef; class IfcZone; class IfcAbsorbedDoseMeasure; class IfcAccelerationMeasure; class IfcAmountOfSubstanceMeasure; class IfcAngularVelocityMeasure; class IfcArcIndex; class IfcAreaDensityMeasure; class IfcAreaMeasure; class IfcBinary; class IfcBoolean; class IfcBoxAlignment; class IfcCardinalPointReference; class IfcComplexNumber; class IfcCompoundPlaneAngleMeasure; class IfcContextDependentMeasure; class IfcCountMeasure; class IfcCurvatureMeasure; class IfcDate; class IfcDateTime; class IfcDayInMonthNumber; class IfcDayInWeekNumber; class IfcDescriptiveMeasure; class IfcDimensionCount; class IfcDoseEquivalentMeasure; class IfcDuration; class IfcDynamicViscosityMeasure; class IfcElectricCapacitanceMeasure; class IfcElectricChargeMeasure; class IfcElectricConductanceMeasure; class IfcElectricCurrentMeasure; class IfcElectricResistanceMeasure; class IfcElectricVoltageMeasure; class IfcEnergyMeasure; class IfcFontStyle; class IfcFontVariant; class IfcFontWeight; class IfcForceMeasure; class IfcFrequencyMeasure; class IfcGloballyUniqueId; class IfcHeatFluxDensityMeasure; class IfcHeatingValueMeasure; class IfcIdentifier; class IfcIlluminanceMeasure; class IfcInductanceMeasure; class IfcInteger; class IfcIntegerCountRateMeasure; class IfcIonConcentrationMeasure; class IfcIsothermalMoistureCapacityMeasure; class IfcKinematicViscosityMeasure; class IfcLabel; class IfcLanguageId; class IfcLengthMeasure; class IfcLineIndex; class IfcLinearForceMeasure; class IfcLinearMomentMeasure; class IfcLinearStiffnessMeasure; class IfcLinearVelocityMeasure; class IfcLogical; class IfcLuminousFluxMeasure; class IfcLuminousIntensityDistributionMeasure; class IfcLuminousIntensityMeasure; class IfcMagneticFluxDensityMeasure; class IfcMagneticFluxMeasure; class IfcMassDensityMeasure; class IfcMassFlowRateMeasure; class IfcMassMeasure; class IfcMassPerLengthMeasure; class IfcModulusOfElasticityMeasure; class IfcModulusOfLinearSubgradeReactionMeasure; class IfcModulusOfRotationalSubgradeReactionMeasure; class IfcModulusOfSubgradeReactionMeasure; class IfcMoistureDiffusivityMeasure; class IfcMolecularWeightMeasure; class IfcMomentOfInertiaMeasure; class IfcMonetaryMeasure; class IfcMonthInYearNumber; class IfcNonNegativeLengthMeasure; class IfcNormalisedRatioMeasure; class IfcNumericMeasure; class IfcPHMeasure; class IfcParameterValue; class IfcPlanarForceMeasure; class IfcPlaneAngleMeasure; class IfcPositiveInteger; class IfcPositiveLengthMeasure; class IfcPositivePlaneAngleMeasure; class IfcPositiveRatioMeasure; class IfcPowerMeasure; class IfcPresentableText; class IfcPressureMeasure; class IfcPropertySetDefinitionSet; class IfcRadioActivityMeasure; class IfcRatioMeasure; class IfcReal; class IfcRotationalFrequencyMeasure; class IfcRotationalMassMeasure; class IfcRotationalStiffnessMeasure; class IfcSectionModulusMeasure; class IfcSectionalAreaIntegralMeasure; class IfcShearModulusMeasure; class IfcSolidAngleMeasure; class IfcSoundPowerLevelMeasure; class IfcSoundPowerMeasure; class IfcSoundPressureLevelMeasure; class IfcSoundPressureMeasure; class IfcSpecificHeatCapacityMeasure; class IfcSpecularExponent; class IfcSpecularRoughness; class IfcTemperatureGradientMeasure; class IfcTemperatureRateOfChangeMeasure; class IfcText; class IfcTextAlignment; class IfcTextDecoration; class IfcTextFontName; class IfcTextTransformation; class IfcThermalAdmittanceMeasure; class IfcThermalConductivityMeasure; class IfcThermalExpansionCoefficientMeasure; class IfcThermalResistanceMeasure; class IfcThermalTransmittanceMeasure; class IfcThermodynamicTemperatureMeasure; class IfcTime; class IfcTimeMeasure; class IfcTimeStamp; class IfcTorqueMeasure; class IfcURIReference; class IfcVaporPermeabilityMeasure; class IfcVolumeMeasure; class IfcVolumetricFlowRateMeasure; class IfcWarpingConstantMeasure; class IfcWarpingMomentMeasure; class IfcActorSelect; class IfcAppliedValueSelect; class IfcAxis2Placement; class IfcBendingParameterSelect; class IfcBooleanOperand; class IfcClassificationReferenceSelect; class IfcClassificationSelect; class IfcColour; class IfcColourOrFactor; class IfcCoordinateReferenceSystemSelect; class IfcCsgSelect; class IfcCurveFontOrScaledCurveFontSelect; class IfcCurveMeasureSelect; class IfcCurveOnSurface; class IfcCurveOrEdgeCurve; class IfcCurveStyleFontSelect; class IfcDefinitionSelect; class IfcDerivedMeasureValue; class IfcDocumentSelect; class IfcFacilityPartTypeSelect; class IfcFillStyleSelect; class IfcGeometricSetSelect; class IfcGridPlacementDirectionSelect; class IfcHatchLineDistanceSelect; class IfcImpactProtectionDeviceTypeSelect; class IfcInterferenceSelect; class IfcLayeredItem; class IfcLibrarySelect; class IfcLightDistributionDataSourceSelect; class IfcMaterialSelect; class IfcMeasureValue; class IfcMetricValueSelect; class IfcModulusOfRotationalSubgradeReactionSelect; class IfcModulusOfSubgradeReactionSelect; class IfcModulusOfTranslationalSubgradeReactionSelect; class IfcObjectReferenceSelect; class IfcPointOrVertexPoint; class IfcProcessSelect; class IfcProductRepresentationSelect; class IfcProductSelect; class IfcPropertySetDefinitionSelect; class IfcResourceObjectSelect; class IfcResourceSelect; class IfcRotationalStiffnessSelect; class IfcSegmentIndexSelect; class IfcShell; class IfcSimpleValue; class IfcSizeSelect; class IfcSolidOrShell; class IfcSpaceBoundarySelect; class IfcSpatialReferenceSelect; class IfcSpecularHighlightSelect; class IfcStructuralActivityAssignmentSelect; class IfcSurfaceOrFaceSurface; class IfcSurfaceStyleElementSelect; class IfcTextFontSelect; class IfcTimeOrRatioSelect; class IfcTranslationalStiffnessSelect; class IfcTransportElementTypeSelect; class IfcTrimmingSelect; class IfcUnit; class IfcValue; class IfcVectorOrDirection; class IfcWarpingStiffnessSelect; class IfcActionRequestTypeEnum; class IfcActionSourceTypeEnum; class IfcActionTypeEnum; class IfcActuatorTypeEnum; class IfcAddressTypeEnum; class IfcAirTerminalBoxTypeEnum; class IfcAirTerminalTypeEnum; class IfcAirToAirHeatRecoveryTypeEnum; class IfcAlarmTypeEnum; class IfcAlignmentCantSegmentTypeEnum; class IfcAlignmentHorizontalSegmentTypeEnum; class IfcAlignmentTypeEnum; class IfcAlignmentVerticalSegmentTypeEnum; class IfcAnalysisModelTypeEnum; class IfcAnalysisTheoryTypeEnum; class IfcAnnotationTypeEnum; class IfcArithmeticOperatorEnum; class IfcAssemblyPlaceEnum; class IfcAudioVisualApplianceTypeEnum; class IfcBSplineCurveForm; class IfcBSplineSurfaceForm; class IfcBeamTypeEnum; class IfcBearingTypeDisplacementEnum; class IfcBearingTypeEnum; class IfcBenchmarkEnum; class IfcBoilerTypeEnum; class IfcBooleanOperator; class IfcBridgePartTypeEnum; class IfcBridgeTypeEnum; class IfcBuildingElementPartTypeEnum; class IfcBuildingElementProxyTypeEnum; class IfcBuildingSystemTypeEnum; class IfcBuiltSystemTypeEnum; class IfcBurnerTypeEnum; class IfcCableCarrierFittingTypeEnum; class IfcCableCarrierSegmentTypeEnum; class IfcCableFittingTypeEnum; class IfcCableSegmentTypeEnum; class IfcCaissonFoundationTypeEnum; class IfcChangeActionEnum; class IfcChillerTypeEnum; class IfcChimneyTypeEnum; class IfcCoilTypeEnum; class IfcColumnTypeEnum; class IfcCommunicationsApplianceTypeEnum; class IfcComplexPropertyTemplateTypeEnum; class IfcCompressorTypeEnum; class IfcCondenserTypeEnum; class IfcConnectionTypeEnum; class IfcConstraintEnum; class IfcConstructionEquipmentResourceTypeEnum; class IfcConstructionMaterialResourceTypeEnum; class IfcConstructionProductResourceTypeEnum; class IfcControllerTypeEnum; class IfcConveyorSegmentTypeEnum; class IfcCooledBeamTypeEnum; class IfcCoolingTowerTypeEnum; class IfcCostItemTypeEnum; class IfcCostScheduleTypeEnum; class IfcCourseTypeEnum; class IfcCoveringTypeEnum; class IfcCrewResourceTypeEnum; class IfcCurtainWallTypeEnum; class IfcCurveInterpolationEnum; class IfcDamperTypeEnum; class IfcDataOriginEnum; class IfcDerivedUnitEnum; class IfcDirectionSenseEnum; class IfcDiscreteAccessoryTypeEnum; class IfcDistributionBoardTypeEnum; class IfcDistributionChamberElementTypeEnum; class IfcDistributionPortTypeEnum; class IfcDistributionSystemEnum; class IfcDocumentConfidentialityEnum; class IfcDocumentStatusEnum; class IfcDoorPanelOperationEnum; class IfcDoorPanelPositionEnum; class IfcDoorStyleConstructionEnum; class IfcDoorStyleOperationEnum; class IfcDoorTypeEnum; class IfcDoorTypeOperationEnum; class IfcDuctFittingTypeEnum; class IfcDuctSegmentTypeEnum; class IfcDuctSilencerTypeEnum; class IfcEarthworksCutTypeEnum; class IfcEarthworksFillTypeEnum; class IfcElectricApplianceTypeEnum; class IfcElectricDistributionBoardTypeEnum; class IfcElectricFlowStorageDeviceTypeEnum; class IfcElectricFlowTreatmentDeviceTypeEnum; class IfcElectricGeneratorTypeEnum; class IfcElectricMotorTypeEnum; class IfcElectricTimeControlTypeEnum; class IfcElementAssemblyTypeEnum; class IfcElementCompositionEnum; class IfcEngineTypeEnum; class IfcEvaporativeCoolerTypeEnum; class IfcEvaporatorTypeEnum; class IfcEventTriggerTypeEnum; class IfcEventTypeEnum; class IfcExternalSpatialElementTypeEnum; class IfcFacilityPartCommonTypeEnum; class IfcFacilityUsageEnum; class IfcFanTypeEnum; class IfcFastenerTypeEnum; class IfcFilterTypeEnum; class IfcFireSuppressionTerminalTypeEnum; class IfcFlowDirectionEnum; class IfcFlowInstrumentTypeEnum; class IfcFlowMeterTypeEnum; class IfcFootingTypeEnum; class IfcFurnitureTypeEnum; class IfcGeographicElementTypeEnum; class IfcGeometricProjectionEnum; class IfcGlobalOrLocalEnum; class IfcGridTypeEnum; class IfcHeatExchangerTypeEnum; class IfcHumidifierTypeEnum; class IfcImpactProtectionDeviceTypeEnum; class IfcInterceptorTypeEnum; class IfcInternalOrExternalEnum; class IfcInventoryTypeEnum; class IfcJunctionBoxTypeEnum; class IfcKnotType; class IfcLaborResourceTypeEnum; class IfcLampTypeEnum; class IfcLayerSetDirectionEnum; class IfcLightDistributionCurveEnum; class IfcLightEmissionSourceEnum; class IfcLightFixtureTypeEnum; class IfcLiquidTerminalTypeEnum; class IfcLoadGroupTypeEnum; class IfcLogicalOperatorEnum; class IfcMarineFacilityTypeEnum; class IfcMarinePartTypeEnum; class IfcMechanicalFastenerTypeEnum; class IfcMedicalDeviceTypeEnum; class IfcMemberTypeEnum; class IfcMobileTelecommunicationsApplianceTypeEnum; class IfcMooringDeviceTypeEnum; class IfcMotorConnectionTypeEnum; class IfcNavigationElementTypeEnum; class IfcObjectTypeEnum; class IfcObjectiveEnum; class IfcOccupantTypeEnum; class IfcOpeningElementTypeEnum; class IfcOutletTypeEnum; class IfcPerformanceHistoryTypeEnum; class IfcPermeableCoveringOperationEnum; class IfcPermitTypeEnum; class IfcPhysicalOrVirtualEnum; class IfcPileConstructionEnum; class IfcPileTypeEnum; class IfcPipeFittingTypeEnum; class IfcPipeSegmentTypeEnum; class IfcPlateTypeEnum; class IfcPreferredSurfaceCurveRepresentation; class IfcProcedureTypeEnum; class IfcProfileTypeEnum; class IfcProjectOrderTypeEnum; class IfcProjectedOrTrueLengthEnum; class IfcProjectionElementTypeEnum; class IfcPropertySetTemplateTypeEnum; class IfcProtectiveDeviceTrippingUnitTypeEnum; class IfcProtectiveDeviceTypeEnum; class IfcPumpTypeEnum; class IfcRailTypeEnum; class IfcRailingTypeEnum; class IfcRailwayPartTypeEnum; class IfcRailwayTypeEnum; class IfcRampFlightTypeEnum; class IfcRampTypeEnum; class IfcRecurrenceTypeEnum; class IfcReferentTypeEnum; class IfcReflectanceMethodEnum; class IfcReinforcedSoilTypeEnum; class IfcReinforcingBarRoleEnum; class IfcReinforcingBarSurfaceEnum; class IfcReinforcingBarTypeEnum; class IfcReinforcingMeshTypeEnum; class IfcRoadPartTypeEnum; class IfcRoadTypeEnum; class IfcRoleEnum; class IfcRoofTypeEnum; class IfcSIPrefix; class IfcSIUnitName; class IfcSanitaryTerminalTypeEnum; class IfcSectionTypeEnum; class IfcSensorTypeEnum; class IfcSequenceEnum; class IfcShadingDeviceTypeEnum; class IfcSignTypeEnum; class IfcSignalTypeEnum; class IfcSimplePropertyTemplateTypeEnum; class IfcSlabTypeEnum; class IfcSolarDeviceTypeEnum; class IfcSpaceHeaterTypeEnum; class IfcSpaceTypeEnum; class IfcSpatialZoneTypeEnum; class IfcStackTerminalTypeEnum; class IfcStairFlightTypeEnum; class IfcStairTypeEnum; class IfcStateEnum; class IfcStructuralCurveActivityTypeEnum; class IfcStructuralCurveMemberTypeEnum; class IfcStructuralSurfaceActivityTypeEnum; class IfcStructuralSurfaceMemberTypeEnum; class IfcSubContractResourceTypeEnum; class IfcSurfaceFeatureTypeEnum; class IfcSurfaceSide; class IfcSwitchingDeviceTypeEnum; class IfcSystemFurnitureElementTypeEnum; class IfcTankTypeEnum; class IfcTaskDurationEnum; class IfcTaskTypeEnum; class IfcTendonAnchorTypeEnum; class IfcTendonConduitTypeEnum; class IfcTendonTypeEnum; class IfcTextPath; class IfcTimeSeriesDataTypeEnum; class IfcTrackElementTypeEnum; class IfcTransformerTypeEnum; class IfcTransitionCode; class IfcTransportElementFixedTypeEnum; class IfcTransportElementNonFixedTypeEnum; class IfcTrimmingPreference; class IfcTubeBundleTypeEnum; class IfcUnitEnum; class IfcUnitaryControlElementTypeEnum; class IfcUnitaryEquipmentTypeEnum; class IfcValveTypeEnum; class IfcVibrationDamperTypeEnum; class IfcVibrationIsolatorTypeEnum; class IfcVoidingFeatureTypeEnum; class IfcWallTypeEnum; class IfcWasteTerminalTypeEnum; class IfcWindowPanelOperationEnum; class IfcWindowPanelPositionEnum; class IfcWindowStyleConstructionEnum; class IfcWindowStyleOperationEnum; class IfcWindowTypeEnum; class IfcWindowTypePartitioningEnum; class IfcWorkCalendarTypeEnum; class IfcWorkPlanTypeEnum; class IfcWorkScheduleTypeEnum; /// The actor select type allows a person, or an organization, or a person associated with an organization to be referenced. /// @@ -65,28 +65,28 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcOrganization An organization. /// IfcPerson A person. /// IfcPersonAndOrganization A person related to an organization. -class IFC_SCHEMA_API IfcActorSelect : public express::Select { +class IFC_SCHEMA_API IfcActorSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOrganization as() const { return express::Base::as(); } + // IfcOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPerson as() const { return express::Base::as(); } + // IfcPerson as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPersonAndOrganization as() const { return express::Base::as(); } + // IfcPersonAndOrganization as() const { return express::base::as(); } - IfcActorSelect(const IfcOrganization& c) : express::Select(c) {}; + IfcActorSelect(const IfcOrganization& c) : express::select(c) {}; - IfcActorSelect(const IfcPerson& c) : express::Select(c) {}; + IfcActorSelect(const IfcPerson& c) : express::select(c) {}; - IfcActorSelect(const IfcPersonAndOrganization& c) : express::Select(c) {}; + IfcActorSelect(const IfcPersonAndOrganization& c) : express::select(c) {}; }; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. @@ -103,694 +103,694 @@ public: /// Selecting IfcMeasureWithUnit allows the specification of both the actual figure for the value together with the currency in which the value is represented. /// Selecting IfcMonetaryMeasure allows the specification only of the value, the currency being as set by the global context /// 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_SCHEMA_API IfcAppliedValueSelect : public express::Select { +class IFC_SCHEMA_API IfcAppliedValueSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureWithUnit as() const { return express::Base::as(); } + // IfcMeasureWithUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReference as() const { return express::Base::as(); } + // IfcReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcValue as() const { return express::Base::as(); } + // IfcValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedMeasureValue as() const { return express::Base::as(); } + // IfcDerivedMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureValue as() const { return express::Base::as(); } + // IfcMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSimpleValue as() const { return express::Base::as(); } + // IfcSimpleValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } - IfcAppliedValueSelect(const IfcMeasureWithUnit& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMeasureWithUnit& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcReference& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcReference& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDerivedMeasureValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDerivedMeasureValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcForceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcForceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPHMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPHMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPowerMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPressureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcWarpingMomentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMeasureValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMeasureValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAreaMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcComplexNumber& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcComplexNumber& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcCountMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcCountMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcNumericMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcParameterValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcParameterValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRatioMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTimeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcVolumeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSimpleValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSimpleValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcBinary& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcBinary& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcBoolean& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDate& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDate& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDateTime& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDateTime& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDuration& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDuration& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIdentifier& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIdentifier& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcInteger& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcInteger& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLabel& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLabel& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLogical& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLogical& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositiveInteger& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcReal& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcReal& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcText& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcText& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTime& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTime& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTimeStamp& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTimeStamp& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. @@ -798,43 +798,43 @@ public: /// NOTE: Corresponding STEP type: axis2_placement, please refer to ISO/IS 10303-42:1994, p. 19 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 1.5 -class IFC_SCHEMA_API IfcAxis2Placement : public express::Select { +class IFC_SCHEMA_API IfcAxis2Placement : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAxis2Placement2D as() const { return express::Base::as(); } + // IfcAxis2Placement2D as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAxis2Placement3D as() const { return express::Base::as(); } + // IfcAxis2Placement3D as() const { return express::base::as(); } - IfcAxis2Placement(const IfcAxis2Placement2D& c) : express::Select(c) {}; + IfcAxis2Placement(const IfcAxis2Placement2D& c) : express::select(c) {}; - IfcAxis2Placement(const IfcAxis2Placement3D& c) : express::Select(c) {}; + IfcAxis2Placement(const IfcAxis2Placement3D& c) : express::select(c) {}; }; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// /// HISTORY New type in IFC Release 2x4 -class IFC_SCHEMA_API IfcBendingParameterSelect : public express::Select { +class IFC_SCHEMA_API IfcBendingParameterSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } - IfcBendingParameterSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcBendingParameterSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcBendingParameterSelect(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcBendingParameterSelect(const IfcPlaneAngleMeasure& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies @@ -853,40 +853,40 @@ public: /// (IfcSolidModel) are defined for being valid Boolean operands. /// /// HISTORY: New Type in IFC Release 1.5.1 -class IFC_SCHEMA_API IfcBooleanOperand : public express::Select { +class IFC_SCHEMA_API IfcBooleanOperand : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBooleanResult as() const { return express::Base::as(); } + // IfcBooleanResult as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCsgPrimitive3D as() const { return express::Base::as(); } + // IfcCsgPrimitive3D as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHalfSpaceSolid as() const { return express::Base::as(); } + // IfcHalfSpaceSolid as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidModel as() const { return express::Base::as(); } + // IfcSolidModel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTessellatedFaceSet as() const { return express::Base::as(); } + // IfcTessellatedFaceSet as() const { return express::base::as(); } - IfcBooleanOperand(const IfcBooleanResult& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcBooleanResult& c) : express::select(c) {}; - IfcBooleanOperand(const IfcCsgPrimitive3D& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcCsgPrimitive3D& c) : express::select(c) {}; - IfcBooleanOperand(const IfcHalfSpaceSolid& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcHalfSpaceSolid& c) : express::select(c) {}; - IfcBooleanOperand(const IfcSolidModel& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcSolidModel& c) : express::select(c) {}; - IfcBooleanOperand(const IfcTessellatedFaceSet& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcTessellatedFaceSet& c) : express::select(c) {}; }; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. @@ -897,22 +897,22 @@ public: /// /// IfcClassification (for classification information) /// IfcClassificationReference (for reference into a classification source) -class IFC_SCHEMA_API IfcClassificationReferenceSelect : public express::Select { +class IFC_SCHEMA_API IfcClassificationReferenceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassification as() const { return express::Base::as(); } + // IfcClassification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassificationReference as() const { return express::Base::as(); } + // IfcClassificationReference as() const { return express::base::as(); } - IfcClassificationReferenceSelect(const IfcClassification& c) : express::Select(c) {}; + IfcClassificationReferenceSelect(const IfcClassification& c) : express::select(c) {}; - IfcClassificationReferenceSelect(const IfcClassificationReference& c) : express::Select(c) {}; + IfcClassificationReferenceSelect(const IfcClassificationReference& c) : express::select(c) {}; }; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. @@ -928,22 +928,22 @@ public: /// /// IfcClassification (for referencing a classification system) /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) -class IFC_SCHEMA_API IfcClassificationSelect : public express::Select { +class IFC_SCHEMA_API IfcClassificationSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassification as() const { return express::Base::as(); } + // IfcClassification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassificationReference as() const { return express::Base::as(); } + // IfcClassificationReference as() const { return express::base::as(); } - IfcClassificationSelect(const IfcClassification& c) : express::Select(c) {}; + IfcClassificationSelect(const IfcClassification& c) : express::select(c) {}; - IfcClassificationSelect(const IfcClassificationReference& c) : express::Select(c) {}; + IfcClassificationSelect(const IfcClassificationReference& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. @@ -951,64 +951,64 @@ public: /// NOTE  Corresponding STEP name: colour. It has been made into a SELECT type in IFC to avoid multiple inheritance for pre defined colour. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_SCHEMA_API IfcColour : public express::Select { +class IFC_SCHEMA_API IfcColour : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColourSpecification as() const { return express::Base::as(); } + // IfcColourSpecification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedColour as() const { return express::Base::as(); } + // IfcPreDefinedColour as() const { return express::base::as(); } - IfcColour(const IfcColourSpecification& c) : express::Select(c) {}; + IfcColour(const IfcColourSpecification& c) : express::select(c) {}; - IfcColour(const IfcPreDefinedColour& c) : express::Select(c) {}; + IfcColour(const IfcPreDefinedColour& c) : express::select(c) {}; }; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcColourOrFactor : public express::Select { +class IFC_SCHEMA_API IfcColourOrFactor : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColourRgb as() const { return express::Base::as(); } + // IfcColourRgb as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } - IfcColourOrFactor(const IfcColourRgb& c) : express::Select(c) {}; + IfcColourOrFactor(const IfcColourRgb& c) : express::select(c) {}; - IfcColourOrFactor(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcColourOrFactor(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; }; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// /// HISTORY  New select type in IFC2x4. -class IFC_SCHEMA_API IfcCoordinateReferenceSystemSelect : public express::Select { +class IFC_SCHEMA_API IfcCoordinateReferenceSystemSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCoordinateReferenceSystem as() const { return express::Base::as(); } + // IfcCoordinateReferenceSystem as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcGeometricRepresentationContext as() const { return express::Base::as(); } + // IfcGeometricRepresentationContext as() const { return express::base::as(); } - IfcCoordinateReferenceSystemSelect(const IfcCoordinateReferenceSystem& c) : express::Select(c) {}; + IfcCoordinateReferenceSystemSelect(const IfcCoordinateReferenceSystem& c) : express::select(c) {}; - IfcCoordinateReferenceSystemSelect(const IfcGeometricRepresentationContext& c) : express::Select(c) {}; + IfcCoordinateReferenceSystemSelect(const IfcGeometricRepresentationContext& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. @@ -1017,22 +1017,22 @@ public: /// NOTE Corresponding ISO 10303-42 type: csg_select, please refer to ISO/IS 10303-42:1994, p.168 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcCsgSelect : public express::Select { +class IFC_SCHEMA_API IfcCsgSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBooleanResult as() const { return express::Base::as(); } + // IfcBooleanResult as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCsgPrimitive3D as() const { return express::Base::as(); } + // IfcCsgPrimitive3D as() const { return express::base::as(); } - IfcCsgSelect(const IfcBooleanResult& c) : express::Select(c) {}; + IfcCsgSelect(const IfcBooleanResult& c) : express::select(c) {}; - IfcCsgSelect(const IfcCsgPrimitive3D& c) : express::Select(c) {}; + IfcCsgSelect(const IfcCsgPrimitive3D& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. @@ -1040,78 +1040,78 @@ public: /// NOTE Corresponding ISO 10303 name: curve_font_or_scaled_curve_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_SCHEMA_API IfcCurveFontOrScaledCurveFontSelect : public express::Select { +class IFC_SCHEMA_API IfcCurveFontOrScaledCurveFontSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFontAndScaling as() const { return express::Base::as(); } + // IfcCurveStyleFontAndScaling as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFontSelect as() const { return express::Base::as(); } + // IfcCurveStyleFontSelect as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFont as() const { return express::Base::as(); } + // IfcCurveStyleFont as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedCurveFont as() const { return express::Base::as(); } + // IfcPreDefinedCurveFont as() const { return express::base::as(); } - IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontAndScaling& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontAndScaling& c) : express::select(c) {}; - IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontSelect& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontSelect& c) : express::select(c) {}; - IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFont& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFont& c) : express::select(c) {}; - IfcCurveFontOrScaledCurveFontSelect(const IfcPreDefinedCurveFont& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcPreDefinedCurveFont& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcCurveMeasureSelect : public express::Select { +class IFC_SCHEMA_API IfcCurveMeasureSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } - IfcCurveMeasureSelect(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcCurveMeasureSelect(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcCurveMeasureSelect(const IfcParameterValue& c) : express::Select(c) {}; + IfcCurveMeasureSelect(const IfcParameterValue& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcCurveOnSurface : public express::Select { +class IFC_SCHEMA_API IfcCurveOnSurface : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompositeCurveOnSurface as() const { return express::Base::as(); } + // IfcCompositeCurveOnSurface as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPcurve as() const { return express::Base::as(); } + // IfcPcurve as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceCurve as() const { return express::Base::as(); } + // IfcSurfaceCurve as() const { return express::base::as(); } - IfcCurveOnSurface(const IfcCompositeCurveOnSurface& c) : express::Select(c) {}; + IfcCurveOnSurface(const IfcCompositeCurveOnSurface& c) : express::select(c) {}; - IfcCurveOnSurface(const IfcPcurve& c) : express::Select(c) {}; + IfcCurveOnSurface(const IfcPcurve& c) : express::select(c) {}; - IfcCurveOnSurface(const IfcSurfaceCurve& c) : express::Select(c) {}; + IfcCurveOnSurface(const IfcSurfaceCurve& c) : express::select(c) {}; }; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve @@ -1122,22 +1122,22 @@ public: /// IfcEdgeCurve /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_SCHEMA_API IfcCurveOrEdgeCurve : public express::Select { +class IFC_SCHEMA_API IfcCurveOrEdgeCurve : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoundedCurve as() const { return express::Base::as(); } + // IfcBoundedCurve as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEdgeCurve as() const { return express::Base::as(); } + // IfcEdgeCurve as() const { return express::base::as(); } - IfcCurveOrEdgeCurve(const IfcBoundedCurve& c) : express::Select(c) {}; + IfcCurveOrEdgeCurve(const IfcBoundedCurve& c) : express::select(c) {}; - IfcCurveOrEdgeCurve(const IfcEdgeCurve& c) : express::Select(c) {}; + IfcCurveOrEdgeCurve(const IfcEdgeCurve& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. @@ -1145,22 +1145,22 @@ public: /// NOTE Corresponding ISO 10303 name: curve_style_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_SCHEMA_API IfcCurveStyleFontSelect : public express::Select { +class IFC_SCHEMA_API IfcCurveStyleFontSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFont as() const { return express::Base::as(); } + // IfcCurveStyleFont as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedCurveFont as() const { return express::Base::as(); } + // IfcPreDefinedCurveFont as() const { return express::base::as(); } - IfcCurveStyleFontSelect(const IfcCurveStyleFont& c) : express::Select(c) {}; + IfcCurveStyleFontSelect(const IfcCurveStyleFont& c) : express::select(c) {}; - IfcCurveStyleFontSelect(const IfcPreDefinedCurveFont& c) : express::Select(c) {}; + IfcCurveStyleFontSelect(const IfcPreDefinedCurveFont& c) : express::select(c) {}; }; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. @@ -1170,22 +1170,22 @@ public: /// IfcPropertyDefinition /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcDefinitionSelect : public express::Select { +class IFC_SCHEMA_API IfcDefinitionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcObjectDefinition as() const { return express::Base::as(); } + // IfcObjectDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertyDefinition as() const { return express::Base::as(); } + // IfcPropertyDefinition as() const { return express::base::as(); } - IfcDefinitionSelect(const IfcObjectDefinition& c) : express::Select(c) {}; + IfcDefinitionSelect(const IfcObjectDefinition& c) : express::select(c) {}; - IfcDefinitionSelect(const IfcPropertyDefinition& c) : express::Select(c) {}; + IfcDefinitionSelect(const IfcPropertyDefinition& c) : express::select(c) {}; }; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. @@ -1262,436 +1262,436 @@ public: /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. -class IFC_SCHEMA_API IfcDerivedMeasureValue : public express::Select { +class IFC_SCHEMA_API IfcDerivedMeasureValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } - IfcDerivedMeasureValue(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcForceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcForceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPHMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPHMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPowerMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPressureMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcWarpingMomentMeasure& c) : express::select(c) {}; }; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. @@ -1702,59 +1702,59 @@ public: /// /// IfcDocumentInformation (for "metadata" of an external document) /// IfcDocumentReference (for reference within a document) -class IFC_SCHEMA_API IfcDocumentSelect : public express::Select { +class IFC_SCHEMA_API IfcDocumentSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDocumentInformation as() const { return express::Base::as(); } + // IfcDocumentInformation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDocumentReference as() const { return express::Base::as(); } + // IfcDocumentReference as() const { return express::base::as(); } - IfcDocumentSelect(const IfcDocumentInformation& c) : express::Select(c) {}; + IfcDocumentSelect(const IfcDocumentInformation& c) : express::select(c) {}; - IfcDocumentSelect(const IfcDocumentReference& c) : express::Select(c) {}; + IfcDocumentSelect(const IfcDocumentReference& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcFacilityPartTypeSelect : public express::Select { +class IFC_SCHEMA_API IfcFacilityPartTypeSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBridgePartTypeEnum as() const { return express::Base::as(); } + // IfcBridgePartTypeEnum as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFacilityPartCommonTypeEnum as() const { return express::Base::as(); } + // IfcFacilityPartCommonTypeEnum as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMarinePartTypeEnum as() const { return express::Base::as(); } + // IfcMarinePartTypeEnum as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRailwayPartTypeEnum as() const { return express::Base::as(); } + // IfcRailwayPartTypeEnum as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRoadPartTypeEnum as() const { return express::Base::as(); } + // IfcRoadPartTypeEnum as() const { return express::base::as(); } - IfcFacilityPartTypeSelect(const IfcBridgePartTypeEnum& c) : express::Select(c) {}; + IfcFacilityPartTypeSelect(const IfcBridgePartTypeEnum& c) : express::select(c) {}; - IfcFacilityPartTypeSelect(const IfcFacilityPartCommonTypeEnum& c) : express::Select(c) {}; + IfcFacilityPartTypeSelect(const IfcFacilityPartCommonTypeEnum& c) : express::select(c) {}; - IfcFacilityPartTypeSelect(const IfcMarinePartTypeEnum& c) : express::Select(c) {}; + IfcFacilityPartTypeSelect(const IfcMarinePartTypeEnum& c) : express::select(c) {}; - IfcFacilityPartTypeSelect(const IfcRailwayPartTypeEnum& c) : express::Select(c) {}; + IfcFacilityPartTypeSelect(const IfcRailwayPartTypeEnum& c) : express::select(c) {}; - IfcFacilityPartTypeSelect(const IfcRoadPartTypeEnum& c) : express::Select(c) {}; + IfcFacilityPartTypeSelect(const IfcRoadPartTypeEnum& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. @@ -1763,46 +1763,46 @@ public: /// the final definition of the formal standard. /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcFillStyleSelect : public express::Select { +class IFC_SCHEMA_API IfcFillStyleSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColour as() const { return express::Base::as(); } + // IfcColour as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColourSpecification as() const { return express::Base::as(); } + // IfcColourSpecification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedColour as() const { return express::Base::as(); } + // IfcPreDefinedColour as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternallyDefinedHatchStyle as() const { return express::Base::as(); } + // IfcExternallyDefinedHatchStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFillAreaStyleHatching as() const { return express::Base::as(); } + // IfcFillAreaStyleHatching as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFillAreaStyleTiles as() const { return express::Base::as(); } + // IfcFillAreaStyleTiles as() const { return express::base::as(); } - IfcFillStyleSelect(const IfcColour& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcColour& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcColourSpecification& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcColourSpecification& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcPreDefinedColour& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcPreDefinedColour& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcExternallyDefinedHatchStyle& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcExternallyDefinedHatchStyle& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcFillAreaStyleHatching& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcFillAreaStyleHatching& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcFillAreaStyleTiles& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcFillAreaStyleTiles& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. @@ -1810,28 +1810,28 @@ public: /// NOTE: Corresponding ISO 10303 type: geometric_set_select. Please refer to ISO/IS 10303-42:1994, p. 169 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 2x. -class IFC_SCHEMA_API IfcGeometricSetSelect : public express::Select { +class IFC_SCHEMA_API IfcGeometricSetSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurve as() const { return express::Base::as(); } + // IfcCurve as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPoint as() const { return express::Base::as(); } + // IfcPoint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurface as() const { return express::Base::as(); } + // IfcSurface as() const { return express::base::as(); } - IfcGeometricSetSelect(const IfcCurve& c) : express::Select(c) {}; + IfcGeometricSetSelect(const IfcCurve& c) : express::select(c) {}; - IfcGeometricSetSelect(const IfcPoint& c) : express::Select(c) {}; + IfcGeometricSetSelect(const IfcPoint& c) : express::select(c) {}; - IfcGeometricSetSelect(const IfcSurface& c) : express::Select(c) {}; + IfcGeometricSetSelect(const IfcSurface& c) : express::select(c) {}; }; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. @@ -1842,87 +1842,87 @@ public: /// IfcVirtualGridIntersection /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcGridPlacementDirectionSelect : public express::Select { +class IFC_SCHEMA_API IfcGridPlacementDirectionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDirection as() const { return express::Base::as(); } + // IfcDirection as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVirtualGridIntersection as() const { return express::Base::as(); } + // IfcVirtualGridIntersection as() const { return express::base::as(); } - IfcGridPlacementDirectionSelect(const IfcDirection& c) : express::Select(c) {}; + IfcGridPlacementDirectionSelect(const IfcDirection& c) : express::select(c) {}; - IfcGridPlacementDirectionSelect(const IfcVirtualGridIntersection& c) : express::Select(c) {}; + IfcGridPlacementDirectionSelect(const IfcVirtualGridIntersection& c) : express::select(c) {}; }; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcHatchLineDistanceSelect : public express::Select { +class IFC_SCHEMA_API IfcHatchLineDistanceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVector as() const { return express::Base::as(); } + // IfcVector as() const { return express::base::as(); } - IfcHatchLineDistanceSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcHatchLineDistanceSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcHatchLineDistanceSelect(const IfcVector& c) : express::Select(c) {}; + IfcHatchLineDistanceSelect(const IfcVector& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcImpactProtectionDeviceTypeSelect : public express::Select { +class IFC_SCHEMA_API IfcImpactProtectionDeviceTypeSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcImpactProtectionDeviceTypeEnum as() const { return express::Base::as(); } + // IfcImpactProtectionDeviceTypeEnum as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVibrationDamperTypeEnum as() const { return express::Base::as(); } + // IfcVibrationDamperTypeEnum as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVibrationIsolatorTypeEnum as() const { return express::Base::as(); } + // IfcVibrationIsolatorTypeEnum as() const { return express::base::as(); } - IfcImpactProtectionDeviceTypeSelect(const IfcImpactProtectionDeviceTypeEnum& c) : express::Select(c) {}; + IfcImpactProtectionDeviceTypeSelect(const IfcImpactProtectionDeviceTypeEnum& c) : express::select(c) {}; - IfcImpactProtectionDeviceTypeSelect(const IfcVibrationDamperTypeEnum& c) : express::Select(c) {}; + IfcImpactProtectionDeviceTypeSelect(const IfcVibrationDamperTypeEnum& c) : express::select(c) {}; - IfcImpactProtectionDeviceTypeSelect(const IfcVibrationIsolatorTypeEnum& c) : express::Select(c) {}; + IfcImpactProtectionDeviceTypeSelect(const IfcVibrationIsolatorTypeEnum& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcInterferenceSelect : public express::Select { +class IFC_SCHEMA_API IfcInterferenceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElement as() const { return express::Base::as(); } + // IfcElement as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpatialElement as() const { return express::Base::as(); } + // IfcSpatialElement as() const { return express::base::as(); } - IfcInterferenceSelect(const IfcElement& c) : express::Select(c) {}; + IfcInterferenceSelect(const IfcElement& c) : express::select(c) {}; - IfcInterferenceSelect(const IfcSpatialElement& c) : express::Select(c) {}; + IfcInterferenceSelect(const IfcSpatialElement& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. @@ -1932,22 +1932,22 @@ public: /// NOTE: Corresponding ISO 10303 name: layered_item. It was called layered_things in the ISO/CD version and had been renamed to layered_item in the ISO/IS final version. Please refer to ISO/IS 10303-46:1994, p. 13 for the final definition of the formal standard. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcLayeredItem : public express::Select { +class IFC_SCHEMA_API IfcLayeredItem : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRepresentation as() const { return express::Base::as(); } + // IfcRepresentation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRepresentationItem as() const { return express::Base::as(); } + // IfcRepresentationItem as() const { return express::base::as(); } - IfcLayeredItem(const IfcRepresentation& c) : express::Select(c) {}; + IfcLayeredItem(const IfcRepresentation& c) : express::select(c) {}; - IfcLayeredItem(const IfcRepresentationItem& c) : express::Select(c) {}; + IfcLayeredItem(const IfcRepresentationItem& c) : express::select(c) {}; }; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. @@ -1960,22 +1960,22 @@ public: /// IfcLibraryReference (for reference into a library of information by location) /// /// 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_SCHEMA_API IfcLibrarySelect : public express::Select { +class IFC_SCHEMA_API IfcLibrarySelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLibraryInformation as() const { return express::Base::as(); } + // IfcLibraryInformation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLibraryReference as() const { return express::Base::as(); } + // IfcLibraryReference as() const { return express::base::as(); } - IfcLibrarySelect(const IfcLibraryInformation& c) : express::Select(c) {}; + IfcLibrarySelect(const IfcLibraryInformation& c) : express::select(c) {}; - IfcLibrarySelect(const IfcLibraryReference& c) : express::Select(c) {}; + IfcLibrarySelect(const IfcLibraryReference& c) : express::select(c) {}; }; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. @@ -2000,22 +2000,22 @@ public: /// directions covers all cases. /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcLightDistributionDataSourceSelect : public express::Select { +class IFC_SCHEMA_API IfcLightDistributionDataSourceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalReference as() const { return express::Base::as(); } + // IfcExternalReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLightIntensityDistribution as() const { return express::Base::as(); } + // IfcLightIntensityDistribution as() const { return express::base::as(); } - IfcLightDistributionDataSourceSelect(const IfcExternalReference& c) : express::Select(c) {}; + IfcLightDistributionDataSourceSelect(const IfcExternalReference& c) : express::select(c) {}; - IfcLightDistributionDataSourceSelect(const IfcLightIntensityDistribution& c) : express::Select(c) {}; + IfcLightDistributionDataSourceSelect(const IfcLightIntensityDistribution& c) : express::select(c) {}; }; /// IfcMaterialSelect provides selection of either a material @@ -2044,28 +2044,28 @@ public: /// /// IFC2x4 CHANGE The select now includes two new abstract entities IfcMaterialDefinition /// and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards. -class IFC_SCHEMA_API IfcMaterialSelect : public express::Select { +class IFC_SCHEMA_API IfcMaterialSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialDefinition as() const { return express::Base::as(); } + // IfcMaterialDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialList as() const { return express::Base::as(); } + // IfcMaterialList as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialUsageDefinition as() const { return express::Base::as(); } + // IfcMaterialUsageDefinition as() const { return express::base::as(); } - IfcMaterialSelect(const IfcMaterialDefinition& c) : express::Select(c) {}; + IfcMaterialSelect(const IfcMaterialDefinition& c) : express::select(c) {}; - IfcMaterialSelect(const IfcMaterialList& c) : express::Select(c) {}; + IfcMaterialSelect(const IfcMaterialList& c) : express::select(c) {}; - IfcMaterialSelect(const IfcMaterialUsageDefinition& c) : express::Select(c) {}; + IfcMaterialSelect(const IfcMaterialUsageDefinition& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). @@ -2077,148 +2077,148 @@ public: /// HISTORY New type in IFC Release 1.5.1. /// /// IFC 2x4 change: added IfcNonNegativeLengthMeasure -class IFC_SCHEMA_API IfcMeasureValue : public express::Select { +class IFC_SCHEMA_API IfcMeasureValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } - IfcMeasureValue(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcAreaMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcComplexNumber& c) : express::Select(c) {}; + IfcMeasureValue(const IfcComplexNumber& c) : express::select(c) {}; - IfcMeasureValue(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcCountMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcCountMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcLengthMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcMassMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcMassMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcNumericMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcParameterValue& c) : express::Select(c) {}; + IfcMeasureValue(const IfcParameterValue& c) : express::select(c) {}; - IfcMeasureValue(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcRatioMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcTimeMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcVolumeMeasure& c) : express::select(c) {}; }; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. @@ -2233,838 +2233,838 @@ public: /// IfcTable /// IfcText /// IfcTimeSeries -class IFC_SCHEMA_API IfcMetricValueSelect : public express::Select { +class IFC_SCHEMA_API IfcMetricValueSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAppliedValue as() const { return express::Base::as(); } + // IfcAppliedValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureWithUnit as() const { return express::Base::as(); } + // IfcMeasureWithUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReference as() const { return express::Base::as(); } + // IfcReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTable as() const { return express::Base::as(); } + // IfcTable as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeSeries as() const { return express::Base::as(); } + // IfcTimeSeries as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcValue as() const { return express::Base::as(); } + // IfcValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedMeasureValue as() const { return express::Base::as(); } + // IfcDerivedMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureValue as() const { return express::Base::as(); } + // IfcMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSimpleValue as() const { return express::Base::as(); } + // IfcSimpleValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } - IfcMetricValueSelect(const IfcAppliedValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAppliedValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMeasureWithUnit& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMeasureWithUnit& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcReference& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcReference& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTable& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTable& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTimeSeries& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTimeSeries& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDerivedMeasureValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDerivedMeasureValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcForceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcForceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPHMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPHMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPowerMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPressureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcWarpingMomentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMeasureValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMeasureValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAreaMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcComplexNumber& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcComplexNumber& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcCountMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcCountMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcNumericMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcParameterValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcParameterValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRatioMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTimeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcVolumeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSimpleValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSimpleValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcBinary& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcBinary& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcBoolean& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDate& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDate& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDateTime& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDateTime& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDuration& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDuration& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIdentifier& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIdentifier& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcInteger& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcInteger& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLabel& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLabel& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLogical& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLogical& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositiveInteger& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcReal& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcReal& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcText& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcText& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTime& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTime& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTimeStamp& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTimeStamp& c) : express::select(c) {}; }; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionSelect : public express::Select { +class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } - IfcModulusOfRotationalSubgradeReactionSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcModulusOfRotationalSubgradeReactionSelect(const IfcBoolean& c) : express::select(c) {}; - IfcModulusOfRotationalSubgradeReactionSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcModulusOfRotationalSubgradeReactionSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; }; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcModulusOfSubgradeReactionSelect : public express::Select { +class IFC_SCHEMA_API IfcModulusOfSubgradeReactionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } - IfcModulusOfSubgradeReactionSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcModulusOfSubgradeReactionSelect(const IfcBoolean& c) : express::select(c) {}; - IfcModulusOfSubgradeReactionSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcModulusOfSubgradeReactionSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; }; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcModulusOfTranslationalSubgradeReactionSelect : public express::Select { +class IFC_SCHEMA_API IfcModulusOfTranslationalSubgradeReactionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } - IfcModulusOfTranslationalSubgradeReactionSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcModulusOfTranslationalSubgradeReactionSelect(const IfcBoolean& c) : express::select(c) {}; - IfcModulusOfTranslationalSubgradeReactionSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcModulusOfTranslationalSubgradeReactionSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; }; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// /// HISTORY  New select type in IFC Release 2.0. -class IFC_SCHEMA_API IfcObjectReferenceSelect : public express::Select { +class IFC_SCHEMA_API IfcObjectReferenceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAddress as() const { return express::Base::as(); } + // IfcAddress as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAppliedValue as() const { return express::Base::as(); } + // IfcAppliedValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalReference as() const { return express::Base::as(); } + // IfcExternalReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialDefinition as() const { return express::Base::as(); } + // IfcMaterialDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOrganization as() const { return express::Base::as(); } + // IfcOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPerson as() const { return express::Base::as(); } + // IfcPerson as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPersonAndOrganization as() const { return express::Base::as(); } + // IfcPersonAndOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTable as() const { return express::Base::as(); } + // IfcTable as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeSeries as() const { return express::Base::as(); } + // IfcTimeSeries as() const { return express::base::as(); } - IfcObjectReferenceSelect(const IfcAddress& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcAddress& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcAppliedValue& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcAppliedValue& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcExternalReference& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcExternalReference& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcMaterialDefinition& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcMaterialDefinition& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcOrganization& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcOrganization& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcPerson& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcPerson& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcPersonAndOrganization& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcPersonAndOrganization& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcTable& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcTable& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcTimeSeries& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcTimeSeries& c) : express::select(c) {}; }; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. @@ -3074,22 +3074,22 @@ public: /// IfcVertexPoint /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_SCHEMA_API IfcPointOrVertexPoint : public express::Select { +class IFC_SCHEMA_API IfcPointOrVertexPoint : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPoint as() const { return express::Base::as(); } + // IfcPoint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVertexPoint as() const { return express::Base::as(); } + // IfcVertexPoint as() const { return express::base::as(); } - IfcPointOrVertexPoint(const IfcPoint& c) : express::Select(c) {}; + IfcPointOrVertexPoint(const IfcPoint& c) : express::select(c) {}; - IfcPointOrVertexPoint(const IfcVertexPoint& c) : express::Select(c) {}; + IfcPointOrVertexPoint(const IfcVertexPoint& c) : express::select(c) {}; }; /// IfcProcessSelectprovides the option to either @@ -3102,41 +3102,41 @@ public: /// IfcTypeProcess /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcProcessSelect : public express::Select { +class IFC_SCHEMA_API IfcProcessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProcess as() const { return express::Base::as(); } + // IfcProcess as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTypeProcess as() const { return express::Base::as(); } + // IfcTypeProcess as() const { return express::base::as(); } - IfcProcessSelect(const IfcProcess& c) : express::Select(c) {}; + IfcProcessSelect(const IfcProcess& c) : express::select(c) {}; - IfcProcessSelect(const IfcTypeProcess& c) : express::Select(c) {}; + IfcProcessSelect(const IfcTypeProcess& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcProductRepresentationSelect : public express::Select { +class IFC_SCHEMA_API IfcProductRepresentationSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProductDefinitionShape as() const { return express::Base::as(); } + // IfcProductDefinitionShape as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRepresentationMap as() const { return express::Base::as(); } + // IfcRepresentationMap as() const { return express::base::as(); } - IfcProductRepresentationSelect(const IfcProductDefinitionShape& c) : express::Select(c) {}; + IfcProductRepresentationSelect(const IfcProductDefinitionShape& c) : express::select(c) {}; - IfcProductRepresentationSelect(const IfcRepresentationMap& c) : express::Select(c) {}; + IfcProductRepresentationSelect(const IfcRepresentationMap& c) : express::select(c) {}; }; /// IfcProductSelectprovides the option to either select a @@ -3148,152 +3148,152 @@ public: /// IfcTypeProduct /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcProductSelect : public express::Select { +class IFC_SCHEMA_API IfcProductSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProduct as() const { return express::Base::as(); } + // IfcProduct as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTypeProduct as() const { return express::Base::as(); } + // IfcTypeProduct as() const { return express::base::as(); } - IfcProductSelect(const IfcProduct& c) : express::Select(c) {}; + IfcProductSelect(const IfcProduct& c) : express::select(c) {}; - IfcProductSelect(const IfcTypeProduct& c) : express::Select(c) {}; + IfcProductSelect(const IfcTypeProduct& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcPropertySetDefinitionSelect : public express::Select { +class IFC_SCHEMA_API IfcPropertySetDefinitionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertySetDefinition as() const { return express::Base::as(); } + // IfcPropertySetDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertySetDefinitionSet as() const { return express::Base::as(); } + // IfcPropertySetDefinitionSet as() const { return express::base::as(); } - IfcPropertySetDefinitionSelect(const IfcPropertySetDefinition& c) : express::Select(c) {}; + IfcPropertySetDefinitionSelect(const IfcPropertySetDefinition& c) : express::select(c) {}; - IfcPropertySetDefinitionSelect(const IfcPropertySetDefinitionSet& c) : express::Select(c) {}; + IfcPropertySetDefinitionSelect(const IfcPropertySetDefinitionSet& c) : express::select(c) {}; }; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// /// HISTORY  New Select type in IFC2x4. -class IFC_SCHEMA_API IfcResourceObjectSelect : public express::Select { +class IFC_SCHEMA_API IfcResourceObjectSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcActorRole as() const { return express::Base::as(); } + // IfcActorRole as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAppliedValue as() const { return express::Base::as(); } + // IfcAppliedValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcApproval as() const { return express::Base::as(); } + // IfcApproval as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcConstraint as() const { return express::Base::as(); } + // IfcConstraint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentUnit as() const { return express::Base::as(); } + // IfcContextDependentUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcConversionBasedUnit as() const { return express::Base::as(); } + // IfcConversionBasedUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalInformation as() const { return express::Base::as(); } + // IfcExternalInformation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalReference as() const { return express::Base::as(); } + // IfcExternalReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialDefinition as() const { return express::Base::as(); } + // IfcMaterialDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOrganization as() const { return express::Base::as(); } + // IfcOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPerson as() const { return express::Base::as(); } + // IfcPerson as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPersonAndOrganization as() const { return express::Base::as(); } + // IfcPersonAndOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPhysicalQuantity as() const { return express::Base::as(); } + // IfcPhysicalQuantity as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProfileDef as() const { return express::Base::as(); } + // IfcProfileDef as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertyAbstraction as() const { return express::Base::as(); } + // IfcPropertyAbstraction as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShapeAspect as() const { return express::Base::as(); } + // IfcShapeAspect as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeSeries as() const { return express::Base::as(); } + // IfcTimeSeries as() const { return express::base::as(); } - IfcResourceObjectSelect(const IfcActorRole& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcActorRole& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcAppliedValue& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcAppliedValue& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcApproval& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcApproval& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcConstraint& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcConstraint& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcContextDependentUnit& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcContextDependentUnit& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcConversionBasedUnit& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcConversionBasedUnit& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcExternalInformation& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcExternalInformation& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcExternalReference& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcExternalReference& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcMaterialDefinition& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcMaterialDefinition& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcOrganization& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcOrganization& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPerson& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPerson& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPersonAndOrganization& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPersonAndOrganization& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPhysicalQuantity& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPhysicalQuantity& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcProfileDef& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcProfileDef& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPropertyAbstraction& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPropertyAbstraction& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcShapeAspect& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcShapeAspect& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcTimeSeries& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcTimeSeries& c) : express::select(c) {}; }; /// IfcResourceSelectprovides the option to either select a @@ -3305,62 +3305,62 @@ public: /// IfcTypeResource /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcResourceSelect : public express::Select { +class IFC_SCHEMA_API IfcResourceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcResource as() const { return express::Base::as(); } + // IfcResource as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTypeResource as() const { return express::Base::as(); } + // IfcTypeResource as() const { return express::base::as(); } - IfcResourceSelect(const IfcResource& c) : express::Select(c) {}; + IfcResourceSelect(const IfcResource& c) : express::select(c) {}; - IfcResourceSelect(const IfcTypeResource& c) : express::Select(c) {}; + IfcResourceSelect(const IfcTypeResource& c) : express::select(c) {}; }; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcRotationalStiffnessSelect : public express::Select { +class IFC_SCHEMA_API IfcRotationalStiffnessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } - IfcRotationalStiffnessSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcRotationalStiffnessSelect(const IfcBoolean& c) : express::select(c) {}; - IfcRotationalStiffnessSelect(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcRotationalStiffnessSelect(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcSegmentIndexSelect : public express::Select { +class IFC_SCHEMA_API IfcSegmentIndexSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcArcIndex as() const { return express::Base::as(); } + // IfcArcIndex as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLineIndex as() const { return express::Base::as(); } + // IfcLineIndex as() const { return express::base::as(); } - IfcSegmentIndexSelect(const IfcArcIndex& c) : express::Select(c) {}; + IfcSegmentIndexSelect(const IfcArcIndex& c) : express::select(c) {}; - IfcSegmentIndexSelect(const IfcLineIndex& c) : express::Select(c) {}; + IfcSegmentIndexSelect(const IfcLineIndex& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. @@ -3374,22 +3374,22 @@ public: /// NOTE  Corresponding ISO 10303 type: shell. Please refer to ISO/IS 10303-42:1994, p. 127 for the final definition of the formal standard. Only the select items closed_shell (IfcClosedShell) and open_shell (IfcOpenShell) have been incorporated in the current IFC release. /// /// HISTORY  New type in IFC2x. -class IFC_SCHEMA_API IfcShell : public express::Select { +class IFC_SCHEMA_API IfcShell : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClosedShell as() const { return express::Base::as(); } + // IfcClosedShell as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOpenShell as() const { return express::Base::as(); } + // IfcOpenShell as() const { return express::base::as(); } - IfcShell(const IfcClosedShell& c) : express::Select(c) {}; + IfcShell(const IfcClosedShell& c) : express::select(c) {}; - IfcShell(const IfcOpenShell& c) : express::Select(c) {}; + IfcShell(const IfcOpenShell& c) : express::select(c) {}; }; /// IfcSimpleValue is a select type for selecting between simple value types. @@ -3411,94 +3411,94 @@ public: /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. -class IFC_SCHEMA_API IfcSimpleValue : public express::Select { +class IFC_SCHEMA_API IfcSimpleValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } - IfcSimpleValue(const IfcBinary& c) : express::Select(c) {}; + IfcSimpleValue(const IfcBinary& c) : express::select(c) {}; - IfcSimpleValue(const IfcBoolean& c) : express::Select(c) {}; + IfcSimpleValue(const IfcBoolean& c) : express::select(c) {}; - IfcSimpleValue(const IfcDate& c) : express::Select(c) {}; + IfcSimpleValue(const IfcDate& c) : express::select(c) {}; - IfcSimpleValue(const IfcDateTime& c) : express::Select(c) {}; + IfcSimpleValue(const IfcDateTime& c) : express::select(c) {}; - IfcSimpleValue(const IfcDuration& c) : express::Select(c) {}; + IfcSimpleValue(const IfcDuration& c) : express::select(c) {}; - IfcSimpleValue(const IfcIdentifier& c) : express::Select(c) {}; + IfcSimpleValue(const IfcIdentifier& c) : express::select(c) {}; - IfcSimpleValue(const IfcInteger& c) : express::Select(c) {}; + IfcSimpleValue(const IfcInteger& c) : express::select(c) {}; - IfcSimpleValue(const IfcLabel& c) : express::Select(c) {}; + IfcSimpleValue(const IfcLabel& c) : express::select(c) {}; - IfcSimpleValue(const IfcLogical& c) : express::Select(c) {}; + IfcSimpleValue(const IfcLogical& c) : express::select(c) {}; - IfcSimpleValue(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcSimpleValue(const IfcPositiveInteger& c) : express::select(c) {}; - IfcSimpleValue(const IfcReal& c) : express::Select(c) {}; + IfcSimpleValue(const IfcReal& c) : express::select(c) {}; - IfcSimpleValue(const IfcText& c) : express::Select(c) {}; + IfcSimpleValue(const IfcText& c) : express::select(c) {}; - IfcSimpleValue(const IfcTime& c) : express::Select(c) {}; + IfcSimpleValue(const IfcTime& c) : express::select(c) {}; - IfcSimpleValue(const IfcTimeStamp& c) : express::Select(c) {}; + IfcSimpleValue(const IfcTimeStamp& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. @@ -3513,46 +3513,46 @@ public: /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. -class IFC_SCHEMA_API IfcSizeSelect : public express::Select { +class IFC_SCHEMA_API IfcSizeSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } - IfcSizeSelect(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcRatioMeasure& c) : express::select(c) {}; }; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. @@ -3562,22 +3562,22 @@ public: /// IfcClosedShell /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcSolidOrShell : public express::Select { +class IFC_SCHEMA_API IfcSolidOrShell : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClosedShell as() const { return express::Base::as(); } + // IfcClosedShell as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidModel as() const { return express::Base::as(); } + // IfcSolidModel as() const { return express::base::as(); } - IfcSolidOrShell(const IfcClosedShell& c) : express::Select(c) {}; + IfcSolidOrShell(const IfcClosedShell& c) : express::select(c) {}; - IfcSolidOrShell(const IfcSolidModel& c) : express::Select(c) {}; + IfcSolidOrShell(const IfcSolidModel& c) : express::select(c) {}; }; /// Definition from IAI: The @@ -3592,41 +3592,41 @@ public: /// /// HISTORY New select type /// in IFC2x4. -class IFC_SCHEMA_API IfcSpaceBoundarySelect : public express::Select { +class IFC_SCHEMA_API IfcSpaceBoundarySelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalSpatialElement as() const { return express::Base::as(); } + // IfcExternalSpatialElement as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpace as() const { return express::Base::as(); } + // IfcSpace as() const { return express::base::as(); } - IfcSpaceBoundarySelect(const IfcExternalSpatialElement& c) : express::Select(c) {}; + IfcSpaceBoundarySelect(const IfcExternalSpatialElement& c) : express::select(c) {}; - IfcSpaceBoundarySelect(const IfcSpace& c) : express::Select(c) {}; + IfcSpaceBoundarySelect(const IfcSpace& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcSpatialReferenceSelect : public express::Select { +class IFC_SCHEMA_API IfcSpatialReferenceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcGroup as() const { return express::Base::as(); } + // IfcGroup as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProduct as() const { return express::Base::as(); } + // IfcProduct as() const { return express::base::as(); } - IfcSpatialReferenceSelect(const IfcGroup& c) : express::Select(c) {}; + IfcSpatialReferenceSelect(const IfcGroup& c) : express::select(c) {}; - IfcSpatialReferenceSelect(const IfcProduct& c) : express::Select(c) {}; + IfcSpatialReferenceSelect(const IfcProduct& c) : express::select(c) {}; }; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. @@ -3639,22 +3639,22 @@ public: /// For each surface side style only one of the two methods is needed for calculating the specular part of the equation. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcSpecularHighlightSelect : public express::Select { +class IFC_SCHEMA_API IfcSpecularHighlightSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecularExponent as() const { return express::Base::as(); } + // IfcSpecularExponent as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecularRoughness as() const { return express::Base::as(); } + // IfcSpecularRoughness as() const { return express::base::as(); } - IfcSpecularHighlightSelect(const IfcSpecularExponent& c) : express::Select(c) {}; + IfcSpecularHighlightSelect(const IfcSpecularExponent& c) : express::select(c) {}; - IfcSpecularHighlightSelect(const IfcSpecularRoughness& c) : express::Select(c) {}; + IfcSpecularHighlightSelect(const IfcSpecularRoughness& c) : express::select(c) {}; }; /// Definition from IAI: This type definition shall be used to @@ -3666,22 +3666,22 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcStructuralActivityAssignmentSelect : public express::Select { +class IFC_SCHEMA_API IfcStructuralActivityAssignmentSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElement as() const { return express::Base::as(); } + // IfcElement as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcStructuralItem as() const { return express::Base::as(); } + // IfcStructuralItem as() const { return express::base::as(); } - IfcStructuralActivityAssignmentSelect(const IfcElement& c) : express::Select(c) {}; + IfcStructuralActivityAssignmentSelect(const IfcElement& c) : express::select(c) {}; - IfcStructuralActivityAssignmentSelect(const IfcStructuralItem& c) : express::Select(c) {}; + IfcStructuralActivityAssignmentSelect(const IfcStructuralItem& c) : express::select(c) {}; }; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface @@ -3693,28 +3693,28 @@ public: /// IfcFaceBasedSurfaceModel (a connected face set, representing a faceted surface as an approximation of a non planar, non rectangular bounded surface) /// /// HISTORY  New select type in IFC2x3. -class IFC_SCHEMA_API IfcSurfaceOrFaceSurface : public express::Select { +class IFC_SCHEMA_API IfcSurfaceOrFaceSurface : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFaceBasedSurfaceModel as() const { return express::Base::as(); } + // IfcFaceBasedSurfaceModel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFaceSurface as() const { return express::Base::as(); } + // IfcFaceSurface as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurface as() const { return express::Base::as(); } + // IfcSurface as() const { return express::base::as(); } - IfcSurfaceOrFaceSurface(const IfcFaceBasedSurfaceModel& c) : express::Select(c) {}; + IfcSurfaceOrFaceSurface(const IfcFaceBasedSurfaceModel& c) : express::select(c) {}; - IfcSurfaceOrFaceSurface(const IfcFaceSurface& c) : express::Select(c) {}; + IfcSurfaceOrFaceSurface(const IfcFaceSurface& c) : express::select(c) {}; - IfcSurfaceOrFaceSurface(const IfcSurface& c) : express::Select(c) {}; + IfcSurfaceOrFaceSurface(const IfcSurface& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. @@ -3726,40 +3726,40 @@ public: /// NOTE: Corresponding ISO 10303 type: surface_style_element_select. Please refer to ISO/IS 10303-46:1994, p. 85 for the final definition of the formal standard. /// /// HISTORY: New Select type in IFC2x2. -class IFC_SCHEMA_API IfcSurfaceStyleElementSelect : public express::Select { +class IFC_SCHEMA_API IfcSurfaceStyleElementSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternallyDefinedSurfaceStyle as() const { return express::Base::as(); } + // IfcExternallyDefinedSurfaceStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleLighting as() const { return express::Base::as(); } + // IfcSurfaceStyleLighting as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleRefraction as() const { return express::Base::as(); } + // IfcSurfaceStyleRefraction as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleShading as() const { return express::Base::as(); } + // IfcSurfaceStyleShading as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleWithTextures as() const { return express::Base::as(); } + // IfcSurfaceStyleWithTextures as() const { return express::base::as(); } - IfcSurfaceStyleElementSelect(const IfcExternallyDefinedSurfaceStyle& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcExternallyDefinedSurfaceStyle& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleLighting& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleLighting& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleRefraction& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleRefraction& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleShading& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleShading& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleWithTextures& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleWithTextures& c) : express::select(c) {}; }; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. @@ -3769,82 +3769,82 @@ public: /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. -class IFC_SCHEMA_API IfcTextFontSelect : public express::Select { +class IFC_SCHEMA_API IfcTextFontSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternallyDefinedTextFont as() const { return express::Base::as(); } + // IfcExternallyDefinedTextFont as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedTextFont as() const { return express::Base::as(); } + // IfcPreDefinedTextFont as() const { return express::base::as(); } - IfcTextFontSelect(const IfcExternallyDefinedTextFont& c) : express::Select(c) {}; + IfcTextFontSelect(const IfcExternallyDefinedTextFont& c) : express::select(c) {}; - IfcTextFontSelect(const IfcPreDefinedTextFont& c) : express::Select(c) {}; + IfcTextFontSelect(const IfcPreDefinedTextFont& c) : express::select(c) {}; }; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 -class IFC_SCHEMA_API IfcTimeOrRatioSelect : public express::Select { +class IFC_SCHEMA_API IfcTimeOrRatioSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } - IfcTimeOrRatioSelect(const IfcDuration& c) : express::Select(c) {}; + IfcTimeOrRatioSelect(const IfcDuration& c) : express::select(c) {}; - IfcTimeOrRatioSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcTimeOrRatioSelect(const IfcRatioMeasure& c) : express::select(c) {}; }; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcTranslationalStiffnessSelect : public express::Select { +class IFC_SCHEMA_API IfcTranslationalStiffnessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } - IfcTranslationalStiffnessSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcTranslationalStiffnessSelect(const IfcBoolean& c) : express::select(c) {}; - IfcTranslationalStiffnessSelect(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcTranslationalStiffnessSelect(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcTransportElementTypeSelect : public express::Select { +class IFC_SCHEMA_API IfcTransportElementTypeSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTransportElementFixedTypeEnum as() const { return express::Base::as(); } + // IfcTransportElementFixedTypeEnum as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTransportElementNonFixedTypeEnum as() const { return express::Base::as(); } + // IfcTransportElementNonFixedTypeEnum as() const { return express::base::as(); } - IfcTransportElementTypeSelect(const IfcTransportElementFixedTypeEnum& c) : express::Select(c) {}; + IfcTransportElementTypeSelect(const IfcTransportElementFixedTypeEnum& c) : express::select(c) {}; - IfcTransportElementTypeSelect(const IfcTransportElementNonFixedTypeEnum& c) : express::Select(c) {}; + IfcTransportElementTypeSelect(const IfcTransportElementNonFixedTypeEnum& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. @@ -3852,22 +3852,22 @@ public: /// NOTE Corresponding ISO 10303 type: trimming_select, please refer to ISO/IS 10303-42:1994, p. 20 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.0 -class IFC_SCHEMA_API IfcTrimmingSelect : public express::Select { +class IFC_SCHEMA_API IfcTrimmingSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCartesianPoint as() const { return express::Base::as(); } + // IfcCartesianPoint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } - IfcTrimmingSelect(const IfcCartesianPoint& c) : express::Select(c) {}; + IfcTrimmingSelect(const IfcCartesianPoint& c) : express::select(c) {}; - IfcTrimmingSelect(const IfcParameterValue& c) : express::Select(c) {}; + IfcTrimmingSelect(const IfcParameterValue& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. @@ -3883,28 +3883,28 @@ public: /// IfcMonetaryUnit: A unit for defining currencies. /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcUnit : public express::Select { +class IFC_SCHEMA_API IfcUnit : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedUnit as() const { return express::Base::as(); } + // IfcDerivedUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryUnit as() const { return express::Base::as(); } + // IfcMonetaryUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNamedUnit as() const { return express::Base::as(); } + // IfcNamedUnit as() const { return express::base::as(); } - IfcUnit(const IfcDerivedUnit& c) : express::Select(c) {}; + IfcUnit(const IfcDerivedUnit& c) : express::select(c) {}; - IfcUnit(const IfcMonetaryUnit& c) : express::Select(c) {}; + IfcUnit(const IfcMonetaryUnit& c) : express::select(c) {}; - IfcUnit(const IfcNamedUnit& c) : express::Select(c) {}; + IfcUnit(const IfcNamedUnit& c) : express::select(c) {}; }; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, @@ -3917,676 +3917,676 @@ public: /// IfcDerivedMeasureValue A select type for derived measure types. /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcValue : public express::Select { +class IFC_SCHEMA_API IfcValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedMeasureValue as() const { return express::Base::as(); } + // IfcDerivedMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureValue as() const { return express::Base::as(); } + // IfcMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSimpleValue as() const { return express::Base::as(); } + // IfcSimpleValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } - IfcValue(const IfcDerivedMeasureValue& c) : express::Select(c) {}; + IfcValue(const IfcDerivedMeasureValue& c) : express::select(c) {}; - IfcValue(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcValue(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcValue(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcValue(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcValue(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcValue(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcValue(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcValue(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcValue(const IfcForceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcForceMeasure& c) : express::select(c) {}; - IfcValue(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcValue(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcValue(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcValue(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcValue(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcValue(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcValue(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcValue(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcValue(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcValue(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcValue(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcValue(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcValue(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcValue(const IfcPHMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPHMeasure& c) : express::select(c) {}; - IfcValue(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcValue(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPowerMeasure& c) : express::select(c) {}; - IfcValue(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPressureMeasure& c) : express::select(c) {}; - IfcValue(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcValue(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcValue(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcValue(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcValue(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcValue(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcValue(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcValue(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcValue(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcValue(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcValue(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcValue(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcValue(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcValue(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcValue(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcValue(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcValue(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcWarpingMomentMeasure& c) : express::select(c) {}; - IfcValue(const IfcMeasureValue& c) : express::Select(c) {}; + IfcValue(const IfcMeasureValue& c) : express::select(c) {}; - IfcValue(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAreaMeasure& c) : express::select(c) {}; - IfcValue(const IfcComplexNumber& c) : express::Select(c) {}; + IfcValue(const IfcComplexNumber& c) : express::select(c) {}; - IfcValue(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcValue(const IfcCountMeasure& c) : express::Select(c) {}; + IfcValue(const IfcCountMeasure& c) : express::select(c) {}; - IfcValue(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcValue(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcValue(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassMeasure& c) : express::select(c) {}; - IfcValue(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcValue(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcValue(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcValue(const IfcNumericMeasure& c) : express::select(c) {}; - IfcValue(const IfcParameterValue& c) : express::Select(c) {}; + IfcValue(const IfcParameterValue& c) : express::select(c) {}; - IfcValue(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcValue(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRatioMeasure& c) : express::select(c) {}; - IfcValue(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcValue(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTimeMeasure& c) : express::select(c) {}; - IfcValue(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcVolumeMeasure& c) : express::select(c) {}; - IfcValue(const IfcSimpleValue& c) : express::Select(c) {}; + IfcValue(const IfcSimpleValue& c) : express::select(c) {}; - IfcValue(const IfcBinary& c) : express::Select(c) {}; + IfcValue(const IfcBinary& c) : express::select(c) {}; - IfcValue(const IfcBoolean& c) : express::Select(c) {}; + IfcValue(const IfcBoolean& c) : express::select(c) {}; - IfcValue(const IfcDate& c) : express::Select(c) {}; + IfcValue(const IfcDate& c) : express::select(c) {}; - IfcValue(const IfcDateTime& c) : express::Select(c) {}; + IfcValue(const IfcDateTime& c) : express::select(c) {}; - IfcValue(const IfcDuration& c) : express::Select(c) {}; + IfcValue(const IfcDuration& c) : express::select(c) {}; - IfcValue(const IfcIdentifier& c) : express::Select(c) {}; + IfcValue(const IfcIdentifier& c) : express::select(c) {}; - IfcValue(const IfcInteger& c) : express::Select(c) {}; + IfcValue(const IfcInteger& c) : express::select(c) {}; - IfcValue(const IfcLabel& c) : express::Select(c) {}; + IfcValue(const IfcLabel& c) : express::select(c) {}; - IfcValue(const IfcLogical& c) : express::Select(c) {}; + IfcValue(const IfcLogical& c) : express::select(c) {}; - IfcValue(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcValue(const IfcPositiveInteger& c) : express::select(c) {}; - IfcValue(const IfcReal& c) : express::Select(c) {}; + IfcValue(const IfcReal& c) : express::select(c) {}; - IfcValue(const IfcText& c) : express::Select(c) {}; + IfcValue(const IfcText& c) : express::select(c) {}; - IfcValue(const IfcTime& c) : express::Select(c) {}; + IfcValue(const IfcTime& c) : express::select(c) {}; - IfcValue(const IfcTimeStamp& c) : express::Select(c) {}; + IfcValue(const IfcTimeStamp& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This type is used to @@ -4597,43 +4597,43 @@ public: /// definition of the formal standard. /// HISTORY New Type in IFC Release /// 1.5 -class IFC_SCHEMA_API IfcVectorOrDirection : public express::Select { +class IFC_SCHEMA_API IfcVectorOrDirection : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDirection as() const { return express::Base::as(); } + // IfcDirection as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVector as() const { return express::Base::as(); } + // IfcVector as() const { return express::base::as(); } - IfcVectorOrDirection(const IfcDirection& c) : express::Select(c) {}; + IfcVectorOrDirection(const IfcDirection& c) : express::select(c) {}; - IfcVectorOrDirection(const IfcVector& c) : express::Select(c) {}; + IfcVectorOrDirection(const IfcVector& c) : express::select(c) {}; }; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcWarpingStiffnessSelect : public express::Select { +class IFC_SCHEMA_API IfcWarpingStiffnessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } - IfcWarpingStiffnessSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcWarpingStiffnessSelect(const IfcBoolean& c) : express::select(c) {}; - IfcWarpingStiffnessSelect(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcWarpingStiffnessSelect(const IfcWarpingMomentMeasure& c) : express::select(c) {}; }; /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. @@ -4647,9 +4647,9 @@ public: /// VERBAL: Request was made verbally in person. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcActionRequestTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActionRequestTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcActionRequestType_EMAIL, IfcActionRequestType_FAX, IfcActionRequestType_PHONE, IfcActionRequestType_POST, IfcActionRequestType_VERBAL, IfcActionRequestType_USERDEFINED, IfcActionRequestType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4665,9 +4665,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcActionSourceTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActionSourceTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4685,9 +4685,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcActionTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActionTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcActionType_PERMANENT_G, IfcActionType_VARIABLE_Q, IfcActionType_EXTRAORDINARY_A, IfcActionType_USERDEFINED, IfcActionType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4714,9 +4714,9 @@ public: /// /// See property set of actuator common attributes for specification of /// properties for hand operated actuators. -class IFC_SCHEMA_API IfcActuatorTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActuatorTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcActuatorType_ELECTRICACTUATOR, IfcActuatorType_HANDOPERATEDACTUATOR, IfcActuatorType_HYDRAULICACTUATOR, IfcActuatorType_PNEUMATICACTUATOR, IfcActuatorType_THERMOSTATICACTUATOR, IfcActuatorType_USERDEFINED, IfcActuatorType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4738,9 +4738,9 @@ public: /// HOME A home address. /// DISTRIBUTIONPOINT A postal distribution point address. /// USERDEFINED A user defined address type to be provided. -class IFC_SCHEMA_API IfcAddressTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAddressTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAddressType_OFFICE, IfcAddressType_SITE, IfcAddressType_HOME, IfcAddressType_DISTRIBUTIONPOINT, IfcAddressType_USERDEFINED} Value; static const char* ToString(Value v); @@ -4762,9 +4762,9 @@ public: /// NOTDEFINED: Undefined terminal box. /// /// HISTORY: New enumeration in IFC R2.0 -class IFC_SCHEMA_API IfcAirTerminalBoxTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAirTerminalBoxTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAirTerminalBoxType_CONSTANTFLOW, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREDEPENDANT, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREINDEPENDANT, IfcAirTerminalBoxType_USERDEFINED, IfcAirTerminalBoxType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4788,9 +4788,9 @@ public: /// NOTE: Architectural louvres within doors or windows are defined by IfcPermeableCoveringProperties. /// /// HISTORY: New enumeration in IFC R2x2. Modified in IFC R2x4 to add LOUVRE and remove EYEBALL, IRIS, LINEARGRILLE, LINEARDIFFUSER -class IFC_SCHEMA_API IfcAirTerminalTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAirTerminalTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAirTerminalType_DIFFUSER, IfcAirTerminalType_GRILLE, IfcAirTerminalType_LOUVRE, IfcAirTerminalType_REGISTER, IfcAirTerminalType_USERDEFINED, IfcAirTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4817,9 +4817,9 @@ public: /// NOTDEFINED: Undefined air to air heat recovery type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcAirToAirHeatRecoveryTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAirToAirHeatRecoveryTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4844,9 +4844,9 @@ public: /// WHISTLE: An audible alarm. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcAlarmTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAlarmTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4858,11 +4858,11 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcAlignmentCantSegmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAlignmentCantSegmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; - typedef enum {IfcAlignmentCantSegmentType_CONSTANTCANT, IfcAlignmentCantSegmentType_LINEARTRANSITION, IfcAlignmentCantSegmentType_HELMERTCURVE, IfcAlignmentCantSegmentType_BLOSSCURVE, IfcAlignmentCantSegmentType_COSINECURVE, IfcAlignmentCantSegmentType_SINECURVE, IfcAlignmentCantSegmentType_VIENNESEBEND} Value; + 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); @@ -4872,11 +4872,11 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcAlignmentHorizontalSegmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAlignmentHorizontalSegmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; - typedef enum {IfcAlignmentHorizontalSegmentType_LINE, IfcAlignmentHorizontalSegmentType_CIRCULARARC, IfcAlignmentHorizontalSegmentType_CLOTHOID, IfcAlignmentHorizontalSegmentType_CUBIC, IfcAlignmentHorizontalSegmentType_HELMERTCURVE, IfcAlignmentHorizontalSegmentType_BLOSSCURVE, IfcAlignmentHorizontalSegmentType_CUBICSPIRAL, IfcAlignmentHorizontalSegmentType_COSINECURVE, IfcAlignmentHorizontalSegmentType_SINECURVE, IfcAlignmentHorizontalSegmentType_VIENNESEBEND} Value; + typedef enum {IfcAlignmentHorizontalSegmentType_LINE, IfcAlignmentHorizontalSegmentType_CIRCULARARC, IfcAlignmentHorizontalSegmentType_CLOTHOID, IfcAlignmentHorizontalSegmentType_CUBIC, IfcAlignmentHorizontalSegmentType_BIQUADRATICPARABOLA, IfcAlignmentHorizontalSegmentType_BLOSSCURVE, IfcAlignmentHorizontalSegmentType_CUBICSPIRAL, IfcAlignmentHorizontalSegmentType_COSINECURVE, IfcAlignmentHorizontalSegmentType_SINECURVE, IfcAlignmentHorizontalSegmentType_VIENNESEBEND} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); @@ -4886,9 +4886,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcAlignmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAlignmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAlignmentType_USERDEFINED, IfcAlignmentType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4900,9 +4900,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcAlignmentVerticalSegmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAlignmentVerticalSegmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAlignmentVerticalSegmentType_CONSTANTGRADIENT, IfcAlignmentVerticalSegmentType_CIRCULARARC, IfcAlignmentVerticalSegmentType_PARABOLICARC, IfcAlignmentVerticalSegmentType_CLOTHOID} Value; static const char* ToString(Value v); @@ -4919,9 +4919,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcAnalysisModelTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAnalysisModelTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4939,9 +4939,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcAnalysisTheoryTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAnalysisTheoryTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4953,9 +4953,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcAnnotationTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAnnotationTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4978,9 +4978,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcArithmeticOperatorEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcArithmeticOperatorEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcArithmeticOperator_ADD, IfcArithmeticOperator_DIVIDE, IfcArithmeticOperator_MULTIPLY, IfcArithmeticOperator_SUBTRACT} Value; static const char* ToString(Value v); @@ -5003,9 +5003,9 @@ public: /// SITE - this assembly is assembled at site /// /// FACTORY - this assembly is assembled in a factory -class IFC_SCHEMA_API IfcAssemblyPlaceEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAssemblyPlaceEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAssemblyPlace_SITE, IfcAssemblyPlace_FACTORY, IfcAssemblyPlace_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5030,9 +5030,9 @@ public: /// SWITCHER: A device that receives audio and/or video signals, switches sources, and transmits signals to downstream devices. /// TELEPHONE: A telecommunications device that is used to transmit and receive sound, and optionally video. /// TUNER: An electronic receiver that detects, demodulates, and amplifies transmitted signals. -class IFC_SCHEMA_API IfcAudioVisualApplianceTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAudioVisualApplianceTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5057,9 +5057,9 @@ public: /// NOTE Corresponding ISO 10303 type: b_spline_curve_form. Please refer to ISO/IS 10303-42:1994, p. 15 for the final definition of the formal standard. /// /// HISTORY New type in Release IFC2x2. -class IFC_SCHEMA_API IfcBSplineCurveForm : public express::DeclaredType { +class IFC_SCHEMA_API IfcBSplineCurveForm : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5071,9 +5071,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBSplineSurfaceForm : public express::DeclaredType { +class IFC_SCHEMA_API IfcBSplineSurfaceForm : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5123,9 +5123,9 @@ public: /// IFC2x4 CHANGE The enumerators /// HOLLOWCORE and SPANDREL have been /// added. -class IFC_SCHEMA_API IfcBeamTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBeamTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5137,9 +5137,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBearingTypeDisplacementEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBearingTypeDisplacementEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBearingTypeDisplacement_FIXED_MOVEMENT, IfcBearingTypeDisplacement_GUIDED_LONGITUDINAL, IfcBearingTypeDisplacement_GUIDED_TRANSVERSAL, IfcBearingTypeDisplacement_FREE_MOVEMENT, IfcBearingTypeDisplacement_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5151,9 +5151,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBearingTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBearingTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5204,9 +5204,9 @@ public: /// /// NOTINCLUDEDIN /// 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_SCHEMA_API IfcBenchmarkEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBenchmarkEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5226,9 +5226,9 @@ public: /// NOTDEFINED: Undefined Boiler type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcBoilerTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBoilerTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBoilerType_WATER, IfcBoilerType_STEAM, IfcBoilerType_USERDEFINED, IfcBoilerType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5248,9 +5248,9 @@ public: /// NOTE Corresponding STEP type: boolean_operator, please refer to ISO/IS 10303-42:1994, p.167 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcBooleanOperator : public express::DeclaredType { +class IFC_SCHEMA_API IfcBooleanOperator : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBooleanOperator_UNION, IfcBooleanOperator_INTERSECTION, IfcBooleanOperator_DIFFERENCE} Value; static const char* ToString(Value v); @@ -5262,9 +5262,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBridgePartTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBridgePartTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5276,9 +5276,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBridgeTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBridgeTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5297,9 +5297,9 @@ public: /// NOTDEFINED: Undefined accessory /// /// HISTORY New Enumeration in IFC 2x4. -class IFC_SCHEMA_API IfcBuildingElementPartTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBuildingElementPartTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBuildingElementPartType_INSULATION, IfcBuildingElementPartType_PRECASTPANEL, IfcBuildingElementPartType_APRON, IfcBuildingElementPartType_ARMOURUNIT, IfcBuildingElementPartType_SAFETYCAGE, IfcBuildingElementPartType_USERDEFINED, IfcBuildingElementPartType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5321,9 +5321,9 @@ public: /// USERDEFINED /// /// NOTDEFINED -class IFC_SCHEMA_API IfcBuildingElementProxyTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBuildingElementProxyTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBuildingElementProxyType_COMPLEX, IfcBuildingElementProxyType_ELEMENT, IfcBuildingElementProxyType_PARTIAL, IfcBuildingElementProxyType_PROVISIONFORVOID, IfcBuildingElementProxyType_PROVISIONFORSPACE, IfcBuildingElementProxyType_USERDEFINED, IfcBuildingElementProxyType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5348,9 +5348,9 @@ public: /// natural sun light, /// TRANSPORT: System of all transport elements in a /// building that enables the transport of people or goods. -class IFC_SCHEMA_API IfcBuildingSystemTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBuildingSystemTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5362,9 +5362,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBuiltSystemTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBuiltSystemTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5382,9 +5382,9 @@ public: /// NOTDEFINED: Undefined burner type. /// /// HISTORY: New enumeration in IFC R2x4. -class IFC_SCHEMA_API IfcBurnerTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBurnerTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBurnerType_USERDEFINED, IfcBurnerType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5405,9 +5405,9 @@ public: /// TEE: A fitting at which a branch is taken from the main route of the cable carrier. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableCarrierFittingTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableCarrierFittingTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcCableCarrierFittingType_BEND, IfcCableCarrierFittingType_CROSS, IfcCableCarrierFittingType_REDUCER, IfcCableCarrierFittingType_TEE, IfcCableCarrierFittingType_USERDEFINED, IfcCableCarrierFittingType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5428,9 +5428,9 @@ public: /// CONDUITSEGMENT: An enclosed tubular carrier segment through which cables are pulled. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableCarrierSegmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableCarrierSegmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5452,9 +5452,9 @@ public: /// TRANSITION: A fitting that joins two cable segments of different connector types. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableFittingTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableFittingTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5477,9 +5477,9 @@ public: /// CORESEGMENT: A self contained element of a cable that comprises one or more conductors and sheathing.The core of one lead is normally single wired or multiwired which are intertwined. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableSegmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableSegmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5491,9 +5491,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcCaissonFoundationTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCaissonFoundationTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcCaissonFoundationType_WELL, IfcCaissonFoundationType_CAISSON, IfcCaissonFoundationType_USERDEFINED, IfcCaissonFoundationType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5515,9 +5515,9 @@ public: /// Consider Application A will create an IFC dataset that it wants to publish to others for modification and have the ability to subsequently merge these changes back into the original model. Before publication, it may want to set the IfcChangeActionEnum to NOCHANGE to establish a baseline so that other application changes can be easily identified. Application B then receives this IFC dataset and adds a new object and sets IfcChangeActionEnum to ADDED with Application B defined as the OwningApplication. Application B then modifies an existing object and (re)defines the LastModifiedDate to the time of the modification, LastModifyingUser to the IfcPersonAndOrganization making the change, and sets the LastModifyingApplication to Application B. When Application A receives this modified dataset, it can determine which objects have been added and modified by Application B and either merge or reject these changes as necessary. Consequently, the intent is that an application only modifies the value of IfcChangeActionEnum when it does something to the object, with the further intent that a model server is responsible for clearing the IfcChangeActionEnum back to NOCHANGE when it is ready to be republished. /// /// HISTORY: New enumeration in IFC R2.0. Modified in IFC2x4. -class IFC_SCHEMA_API IfcChangeActionEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcChangeActionEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcChangeAction_NOCHANGE, IfcChangeAction_MODIFIED, IfcChangeAction_ADDED, IfcChangeAction_DELETED, IfcChangeAction_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5538,9 +5538,9 @@ public: /// NOTDEFINED: Undefined chiller type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcChillerTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcChillerTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcChillerType_AIRCOOLED, IfcChillerType_WATERCOOLED, IfcChillerType_HEATRECOVERY, IfcChillerType_USERDEFINED, IfcChillerType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5561,9 +5561,9 @@ public: /// NOTE Currently there are no specific enumerators /// defined, the IfcChimneyTypeEnum has been added /// for future extensions. -class IFC_SCHEMA_API IfcChimneyTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcChimneyTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcChimneyType_USERDEFINED, IfcChimneyType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5596,9 +5596,9 @@ public: /// NOTDEFINED: Undefined coil type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcCoilTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCoilTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5623,9 +5623,9 @@ public: /// future releases of IFC. /// HISTORY New Enumeration /// in Release IFC2x Edition 2. -class IFC_SCHEMA_API IfcColumnTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcColumnTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcColumnType_COLUMN, IfcColumnType_PILASTER, IfcColumnType_PIERSTEM, IfcColumnType_PIERSTEM_SEGMENT, IfcColumnType_STANDCOLUMN, IfcColumnType_USERDEFINED, IfcColumnType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5652,9 +5652,9 @@ public: /// REPEATER: A repeater is an electronic device that receives a signal and retransmits it at a higher level and/or higher power, or onto the other side of an obstruction, so that the signal can cover longer distances without degradation. /// ROUTER: A router is a networking device whose software and hardware are usually tailored to the tasks of routing and forwarding information. For example, on the Internet, information is directed to various paths by routers. /// 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_SCHEMA_API IfcCommunicationsApplianceTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCommunicationsApplianceTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5673,9 +5673,9 @@ public: /// /// P_COMPLEX: the properties defined by this IfcComplexPropertyTemplate are of type IfcComplexProperty. /// Q_COMPLEX: the properties defined by this IfcComplexPropertyTemplate are of type IfcPhysicalComplexQuantity. -class IFC_SCHEMA_API IfcComplexPropertyTemplateTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcComplexPropertyTemplateTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcComplexPropertyTemplateType_P_COMPLEX, IfcComplexPropertyTemplateType_Q_COMPLEX} Value; static const char* ToString(Value v); @@ -5708,9 +5708,9 @@ public: /// NOTDEFINED: Undefined compressor type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcCompressorTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCompressorTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5734,9 +5734,9 @@ public: /// NOTDEFINED: Undefined condenser type. /// /// HISTORY: New enumeration in IFC 2x2. WATERCOOLED added in IFC 2x4. -class IFC_SCHEMA_API IfcCondenserTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCondenserTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5767,9 +5767,9 @@ public: /// RelatedConnectionType: AtStart /// /// Figure 65 — Connection types /*[3:3]*/ v); operator std::vector< int64_t > /*[3:3]*/() const; }; -class IFC_SCHEMA_API IfcAreaDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcAreaDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcAreaDensityMeasure initialize(double v); @@ -11968,18 +11954,18 @@ public: /// NOTE Corresponding ISO 10303 name: area_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcAreaMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcAreaMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcAreaMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcBinary : public express::DeclaredType { +class IFC_SCHEMA_API IfcBinary : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcBinary initialize(boost::dynamic_bitset<> v); @@ -11990,9 +11976,9 @@ public: /// Type: BOOLEAN /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcBoolean : public express::DeclaredType { +class IFC_SCHEMA_API IfcBoolean : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcBoolean initialize(bool v); @@ -12041,9 +12027,9 @@ public: /// Figure 284 illustrates an example extrusion shape with arbitrary profile (IfcArbitraryClosedProfileDef), aligned "mid-depth right" on the member axis. The line of sight follows the extrusion direction Z which points into the drawing plane of above illustration. Hence, "left" is in the positive X direction of the IfcProfileDef. "Top" is in the positive Y direction of the IfcProfileDef. /// /// Figure 284 — Cardinal point extrusion -class IFC_SCHEMA_API IfcCardinalPointReference : public express::DeclaredType { +class IFC_SCHEMA_API IfcCardinalPointReference : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCardinalPointReference initialize(int64_t v); @@ -12060,9 +12046,9 @@ public: /// Type: ARRAY [1:2] OF REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_SCHEMA_API IfcComplexNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcComplexNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcComplexNumber initialize(std::vector< double > /*[1:2]*/ v); @@ -12116,9 +12102,9 @@ public: ///      + FORMAT(ABS(c[4]), '##');  -- -50° 58' 33" 110400 /// /// 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_SCHEMA_API IfcCompoundPlaneAngleMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcCompoundPlaneAngleMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCompoundPlaneAngleMeasure initialize(std::vector< int64_t > /*[3:4]*/ v); @@ -12130,9 +12116,9 @@ public: /// NOTE Corresponding ISO 10303 name: context_dependent_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcContextDependentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcContextDependentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcContextDependentMeasure initialize(double v); @@ -12144,9 +12130,9 @@ public: /// NOTE Corresponding ISO 10303 name: count_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcCountMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcCountMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCountMeasure initialize(double v); @@ -12159,9 +12145,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcCurvatureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcCurvatureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCurvatureMeasure initialize(double v); @@ -12173,9 +12159,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcDate : public express::DeclaredType { +class IFC_SCHEMA_API IfcDate : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDate initialize(std::string v); @@ -12199,9 +12185,9 @@ public: /// otherwise they are forbidden. The year 0000 is prohibited. /// /// HISTORY: New type in IFC2x4 -class IFC_SCHEMA_API IfcDateTime : public express::DeclaredType { +class IFC_SCHEMA_API IfcDateTime : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDateTime initialize(std::string v); @@ -12219,9 +12205,9 @@ public: /// Release 1.5.1. /// IFC2x4 CHANGE Where rule /// ValidRange added. -class IFC_SCHEMA_API IfcDayInMonthNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcDayInMonthNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDayInMonthNumber initialize(int64_t v); @@ -12261,9 +12247,9 @@ public: /// Type: INTEGER /// HISTORY New type in /// IFC2x4. -class IFC_SCHEMA_API IfcDayInWeekNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcDayInWeekNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDayInWeekNumber initialize(int64_t v); @@ -12275,9 +12261,9 @@ public: /// NOTE Corresponding ISO 10303 name:descriptive_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDescriptiveMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcDescriptiveMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDescriptiveMeasure initialize(std::string v); @@ -12290,9 +12276,9 @@ public: /// NOTE Corresponding ISO 10303 type: dimension_count, please refer to ISO/IS 10303-42:1994, p. 14 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5 -class IFC_SCHEMA_API IfcDimensionCount : public express::DeclaredType { +class IFC_SCHEMA_API IfcDimensionCount : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDimensionCount initialize(int64_t v); @@ -12303,9 +12289,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcDoseEquivalentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcDoseEquivalentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDoseEquivalentMeasure initialize(double v); @@ -12316,9 +12302,9 @@ public: /// EXAMPLE: P0002-10-15T10:30:20 (duration of two years, 10 months, 15 days, 10 hours, 30 minutes and 20 seconds). /// /// HISTORY: New type in IFC2x4 -class IFC_SCHEMA_API IfcDuration : public express::DeclaredType { +class IFC_SCHEMA_API IfcDuration : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDuration initialize(std::string v); @@ -12330,9 +12316,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcDynamicViscosityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcDynamicViscosityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDynamicViscosityMeasure initialize(double v); @@ -12343,9 +12329,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricCapacitanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricCapacitanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricCapacitanceMeasure initialize(double v); @@ -12356,9 +12342,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricChargeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricChargeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricChargeMeasure initialize(double v); @@ -12369,9 +12355,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricConductanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricConductanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricConductanceMeasure initialize(double v); @@ -12384,9 +12370,9 @@ public: /// NOTE Corresponding ISO 10303 name: electric_current_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcElectricCurrentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricCurrentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricCurrentMeasure initialize(double v); @@ -12397,9 +12383,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricResistanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricResistanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricResistanceMeasure initialize(double v); @@ -12410,9 +12396,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcElectricVoltageMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricVoltageMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricVoltageMeasure initialize(double v); @@ -12423,9 +12409,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcEnergyMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcEnergyMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcEnergyMeasure initialize(double v); @@ -12445,9 +12431,9 @@ public: /// NOTE  Corresponding CSS1 definitions is font-style. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcFontStyle : public express::DeclaredType { +class IFC_SCHEMA_API IfcFontStyle : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFontStyle initialize(std::string v); @@ -12465,9 +12451,9 @@ public: /// NOTE  Corresponding CSS1 definitions is font-variant. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcFontVariant : public express::DeclaredType { +class IFC_SCHEMA_API IfcFontVariant : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFontVariant initialize(std::string v); @@ -12496,9 +12482,9 @@ public: /// NOTE  Corresponding CSS1 definitions is font-weight. /// /// HISTORY  New type in IFC2x2 Addendum 2. -class IFC_SCHEMA_API IfcFontWeight : public express::DeclaredType { +class IFC_SCHEMA_API IfcFontWeight : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFontWeight initialize(std::string v); @@ -12509,9 +12495,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcForceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcForceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcForceMeasure initialize(double v); @@ -12522,9 +12508,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcFrequencyMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcFrequencyMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFrequencyMeasure initialize(double v); @@ -12543,9 +12529,9 @@ public: /// Refer to the BuildingSMART website (www.buildingsmart-tech.org) for more information and sample encoding algorithms. /// /// HISTORY  New type in IFC R1.5.1. -class IFC_SCHEMA_API IfcGloballyUniqueId : public express::DeclaredType { +class IFC_SCHEMA_API IfcGloballyUniqueId : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcGloballyUniqueId initialize(std::string v); @@ -12556,9 +12542,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcHeatFluxDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcHeatFluxDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcHeatFluxDensityMeasure initialize(double v); @@ -12567,9 +12553,9 @@ public: /// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. /// /// HISTORY: This is new type in IFC2x2. -class IFC_SCHEMA_API IfcHeatingValueMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcHeatingValueMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcHeatingValueMeasure initialize(double v); @@ -12589,9 +12575,9 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// 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_SCHEMA_API IfcIdentifier : public express::DeclaredType { +class IFC_SCHEMA_API IfcIdentifier : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIdentifier initialize(std::string v); @@ -12602,9 +12588,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcIlluminanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIlluminanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIlluminanceMeasure initialize(double v); @@ -12615,9 +12601,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcInductanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcInductanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcInductanceMeasure initialize(double v); @@ -12630,9 +12616,9 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcInteger : public express::DeclaredType { +class IFC_SCHEMA_API IfcInteger : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcInteger initialize(int64_t v); @@ -12645,9 +12631,9 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcIntegerCountRateMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIntegerCountRateMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIntegerCountRateMeasure initialize(int64_t v); @@ -12656,9 +12642,9 @@ public: /// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcIonConcentrationMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIonConcentrationMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIonConcentrationMeasure initialize(double v); @@ -12669,9 +12655,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcIsothermalMoistureCapacityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIsothermalMoistureCapacityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIsothermalMoistureCapacityMeasure initialize(double v); @@ -12682,9 +12668,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcKinematicViscosityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcKinematicViscosityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcKinematicViscosityMeasure initialize(double v); @@ -12704,9 +12690,9 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// 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_SCHEMA_API IfcLabel : public express::DeclaredType { +class IFC_SCHEMA_API IfcLabel : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLabel initialize(std::string v); @@ -12737,18 +12723,18 @@ public: /// NOTE Corresponding ISO 10303 name: length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcLengthMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLengthMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLengthMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcLineIndex : public express::DeclaredType { +class IFC_SCHEMA_API IfcLineIndex : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLineIndex initialize(std::vector< int64_t > /*[2:?]*/ v); @@ -12759,9 +12745,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLinearForceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearForceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearForceMeasure initialize(double v); @@ -12772,9 +12758,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLinearMomentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearMomentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearMomentMeasure initialize(double v); @@ -12785,9 +12771,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLinearStiffnessMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearStiffnessMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearStiffnessMeasure initialize(double v); @@ -12798,9 +12784,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcLinearVelocityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearVelocityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearVelocityMeasure initialize(double v); @@ -12811,9 +12797,9 @@ public: /// Type: LOGICAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLogical : public express::DeclaredType { +class IFC_SCHEMA_API IfcLogical : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLogical initialize(boost::logic::tribool v); @@ -12824,9 +12810,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLuminousFluxMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLuminousFluxMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLuminousFluxMeasure initialize(double v); @@ -12839,9 +12825,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcLuminousIntensityDistributionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLuminousIntensityDistributionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLuminousIntensityDistributionMeasure initialize(double v); @@ -12854,9 +12840,9 @@ public: /// NOTE Corresponding ISO 10303 name: luminous_intensity_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcLuminousIntensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLuminousIntensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLuminousIntensityMeasure initialize(double v); @@ -12867,9 +12853,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMagneticFluxDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMagneticFluxDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMagneticFluxDensityMeasure initialize(double v); @@ -12880,9 +12866,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMagneticFluxMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMagneticFluxMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMagneticFluxMeasure initialize(double v); @@ -12893,9 +12879,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcMassDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassDensityMeasure initialize(double v); @@ -12906,9 +12892,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcMassFlowRateMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassFlowRateMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassFlowRateMeasure initialize(double v); @@ -12921,9 +12907,9 @@ public: /// NOTE Corresponding ISO 10303 name: mass_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcMassMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassMeasure initialize(double v); @@ -12936,9 +12922,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcMassPerLengthMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassPerLengthMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassPerLengthMeasure initialize(double v); @@ -12949,9 +12935,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcModulusOfElasticityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfElasticityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfElasticityMeasure initialize(double v); @@ -12962,9 +12948,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_SCHEMA_API IfcModulusOfLinearSubgradeReactionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfLinearSubgradeReactionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfLinearSubgradeReactionMeasure initialize(double v); @@ -12975,9 +12961,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfRotationalSubgradeReactionMeasure initialize(double v); @@ -12992,9 +12978,9 @@ public: /// Figure 290 illustrates elastic support of a planar member. /// /// Figure 290 — Modulus of subgrade reaction measure -class IFC_SCHEMA_API IfcModulusOfSubgradeReactionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfSubgradeReactionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfSubgradeReactionMeasure initialize(double v); @@ -13005,9 +12991,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMoistureDiffusivityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMoistureDiffusivityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMoistureDiffusivityMeasure initialize(double v); @@ -13018,9 +13004,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMolecularWeightMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMolecularWeightMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMolecularWeightMeasure initialize(double v); @@ -13031,9 +13017,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMomentOfInertiaMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMomentOfInertiaMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMomentOfInertiaMeasure initialize(double v); @@ -13043,9 +13029,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcMonetaryMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMonetaryMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMonetaryMeasure initialize(double v); @@ -13107,9 +13093,9 @@ public: /// standard. /// HISTORY New type in IFC /// Release 1.5.1. -class IFC_SCHEMA_API IfcMonthInYearNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcMonthInYearNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMonthInYearNumber initialize(int64_t v); @@ -13134,9 +13120,9 @@ public: /// NOTE Corresponding ISO 10303 name: numeric_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcNumericMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcNumericMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcNumericMeasure initialize(double v); @@ -13145,9 +13131,9 @@ public: /// 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. /// /// HISTORY: New type in IFC 2x2. -class IFC_SCHEMA_API IfcPHMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPHMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPHMeasure initialize(double v); @@ -13160,9 +13146,9 @@ public: /// NOTE Corresponding STEP name: parameter_value, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcParameterValue : public express::DeclaredType { +class IFC_SCHEMA_API IfcParameterValue : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcParameterValue initialize(double v); @@ -13173,9 +13159,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcPlanarForceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPlanarForceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPlanarForceMeasure initialize(double v); @@ -13192,9 +13178,9 @@ public: /// NOTE Corresponding ISO 10303 name: plane_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcPlaneAngleMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPlaneAngleMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPlaneAngleMeasure initialize(double v); @@ -13242,9 +13228,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcPowerMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPowerMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPowerMeasure initialize(double v); @@ -13259,9 +13245,9 @@ public: /// NOTE  Corresponding ISO 10303 name: presentable_text. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. /// /// HISTORY  New type in IFC2x2. -class IFC_SCHEMA_API IfcPresentableText : public express::DeclaredType { +class IFC_SCHEMA_API IfcPresentableText : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPresentableText initialize(std::string v); @@ -13272,18 +13258,18 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcPressureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPressureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPressureMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcPropertySetDefinitionSet : public express::DeclaredType { +class IFC_SCHEMA_API IfcPropertySetDefinitionSet : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPropertySetDefinitionSet initialize(std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > v); @@ -13294,9 +13280,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcRadioActivityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRadioActivityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRadioActivityMeasure initialize(double v); @@ -13312,9 +13298,9 @@ public: /// NOTE Corresponding STEP name: ratio_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcRatioMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRatioMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRatioMeasure initialize(double v); @@ -13327,9 +13313,9 @@ public: /// Type: REAL /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcReal : public express::DeclaredType { +class IFC_SCHEMA_API IfcReal : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcReal initialize(double v); @@ -13340,9 +13326,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcRotationalFrequencyMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRotationalFrequencyMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRotationalFrequencyMeasure initialize(double v); @@ -13354,9 +13340,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcRotationalMassMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRotationalMassMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRotationalMassMeasure initialize(double v); @@ -13367,9 +13353,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcRotationalStiffnessMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRotationalStiffnessMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRotationalStiffnessMeasure initialize(double v); @@ -13380,9 +13366,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_SCHEMA_API IfcSectionModulusMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSectionModulusMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSectionModulusMeasure initialize(double v); @@ -13393,9 +13379,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcSectionalAreaIntegralMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSectionalAreaIntegralMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSectionalAreaIntegralMeasure initialize(double v); @@ -13406,9 +13392,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcShearModulusMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcShearModulusMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcShearModulusMeasure initialize(double v); @@ -13421,18 +13407,18 @@ public: /// NOTE Corresponding ISO 10303 name: solid_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcSolidAngleMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSolidAngleMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSolidAngleMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcSoundPowerLevelMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPowerLevelMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPowerLevelMeasure initialize(double v); @@ -13443,18 +13429,18 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcSoundPowerMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPowerMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPowerMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcSoundPressureLevelMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPressureLevelMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPressureLevelMeasure initialize(double v); @@ -13465,9 +13451,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcSoundPressureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPressureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPressureMeasure initialize(double v); @@ -13478,9 +13464,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcSpecificHeatCapacityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSpecificHeatCapacityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSpecificHeatCapacityMeasure initialize(double v); @@ -13493,9 +13479,9 @@ public: /// NOTE: The datatype relates to the definition of specular_exponent in ISO 10303-46 entity surface_style_reflectance_ambient_diffuse_specular. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcSpecularExponent : public express::DeclaredType { +class IFC_SCHEMA_API IfcSpecularExponent : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSpecularExponent initialize(double v); @@ -13510,9 +13496,9 @@ public: /// NOTE: The datatype relates to the definition of "shiness" in VRML97, which is the reciprocate value to the specular roughness. /// /// HISTORY: New type in Release IFC2x2. -class IFC_SCHEMA_API IfcSpecularRoughness : public express::DeclaredType { +class IFC_SCHEMA_API IfcSpecularRoughness : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSpecularRoughness initialize(double v); @@ -13523,9 +13509,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcTemperatureGradientMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTemperatureGradientMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTemperatureGradientMeasure initialize(double v); @@ -13536,9 +13522,9 @@ public: /// Type: REAL /// /// HISTORY  New type in IFC2x4. -class IFC_SCHEMA_API IfcTemperatureRateOfChangeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTemperatureRateOfChangeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTemperatureRateOfChangeMeasure initialize(double v); @@ -13555,9 +13541,9 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// 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_SCHEMA_API IfcText : public express::DeclaredType { +class IFC_SCHEMA_API IfcText : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcText initialize(std::string v); @@ -13573,9 +13559,9 @@ public: /// NOTE  Corresponding CSS1 definition is text-align. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcTextAlignment : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextAlignment : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextAlignment initialize(std::string v); @@ -13594,9 +13580,9 @@ public: /// NOTE  Corresponding CSS1 definition is text-decoration. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcTextDecoration : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextDecoration : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextDecoration initialize(std::string v); @@ -13621,9 +13607,9 @@ public: /// HISTORY  New type in IFC2x2 Addendum 2. /// /// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. -class IFC_SCHEMA_API IfcTextFontName : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextFontName : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextFontName initialize(std::string v); @@ -13639,9 +13625,9 @@ public: /// NOTE  Corresponding CSS1 definition is text-transform. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcTextTransformation : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextTransformation : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextTransformation initialize(std::string v); @@ -13652,9 +13638,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcThermalAdmittanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalAdmittanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalAdmittanceMeasure initialize(double v); @@ -13665,9 +13651,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcThermalConductivityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalConductivityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalConductivityMeasure initialize(double v); @@ -13677,9 +13663,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcThermalExpansionCoefficientMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalExpansionCoefficientMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalExpansionCoefficientMeasure initialize(double v); @@ -13689,9 +13675,9 @@ public: /// Usually measured in m2 Kelvin/Watt. /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcThermalResistanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalResistanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalResistanceMeasure initialize(double v); @@ -13702,9 +13688,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcThermalTransmittanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalTransmittanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalTransmittanceMeasure initialize(double v); @@ -13717,9 +13703,9 @@ public: /// NOTE Corresponding ISO 10303 name: thermodynamic_temperature_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcThermodynamicTemperatureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermodynamicTemperatureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermodynamicTemperatureMeasure initialize(double v); @@ -13733,9 +13719,9 @@ public: /// 13:20:00-05:00. /// /// HISTORY: New type in IFC2x4 -class IFC_SCHEMA_API IfcTime : public express::DeclaredType { +class IFC_SCHEMA_API IfcTime : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTime initialize(std::string v); @@ -13748,9 +13734,9 @@ public: /// NOTE Corresponding ISO 10303 name: time_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcTimeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTimeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTimeMeasure initialize(double v); @@ -13760,9 +13746,9 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcTimeStamp : public express::DeclaredType { +class IFC_SCHEMA_API IfcTimeStamp : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTimeStamp initialize(int64_t v); @@ -13773,9 +13759,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcTorqueMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTorqueMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTorqueMeasure initialize(double v); @@ -13788,9 +13774,9 @@ public: /// designed to make it easy to map other namespaces (that share the properties of URNs) into URN-space. /// /// HISTORY New defined datatype in IFC 2x4. -class IFC_SCHEMA_API IfcURIReference : public express::DeclaredType { +class IFC_SCHEMA_API IfcURIReference : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcURIReference initialize(std::string v); @@ -13801,9 +13787,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcVaporPermeabilityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcVaporPermeabilityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcVaporPermeabilityMeasure initialize(double v); @@ -13816,9 +13802,9 @@ public: /// NOTE Corresponding ISO 10303 name: volume_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcVolumeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcVolumeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcVolumeMeasure initialize(double v); @@ -13829,9 +13815,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcVolumetricFlowRateMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcVolumetricFlowRateMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcVolumetricFlowRateMeasure initialize(double v); @@ -13842,9 +13828,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcWarpingConstantMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcWarpingConstantMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcWarpingConstantMeasure initialize(double v); @@ -13855,9 +13841,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcWarpingMomentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcWarpingMomentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcWarpingMomentMeasure initialize(double v); @@ -13935,9 +13921,9 @@ public: /// Corresponds to the following entity in ISO-10303-41: organization_role and person_role. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_SCHEMA_API IfcActorRole : public express::Entity { +class IFC_SCHEMA_API IfcActorRole : public express::entity { public: - using express::Entity::Entity; + 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. @@ -13962,9 +13948,9 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: address. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcAddress : public express::Entity { +class IFC_SCHEMA_API IfcAddress : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Identifies the logical location of the address. std::optional< ::Ifc4x3_rc3::IfcAddressTypeEnum::Value > Purpose() const; @@ -13985,9 +13971,9 @@ public: IfcAddress initialize(std::optional< ::Ifc4x3_rc3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose); }; -class IFC_SCHEMA_API IfcAlignmentParameterSegment : public express::Entity { +class IFC_SCHEMA_API IfcAlignmentParameterSegment : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::optional< std::string > StartTag() const; void setStartTag(const std::optional< std::string >& v); @@ -14023,9 +14009,9 @@ public: /// 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_SCHEMA_API IfcApplication : public express::Entity { +class IFC_SCHEMA_API IfcApplication : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Name of the application developer, being requested to be member of the IAI. ::Ifc4x3_rc3::IfcOrganization ApplicationDeveloper() const; @@ -14057,9 +14043,9 @@ public: /// An instance of IfcAppliedValue may have a unit basis asserted. This is defined as an IfcMeasureWithUnit that determines the extent of the unit value for application purposes. It is assumed that when this attribute is asserted, then the value given to IfcAppliedValue is that for unit quantity. This is not enforced within the IFC schema and thus needs to be controlled within an application. /// /// 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_SCHEMA_API IfcAppliedValue : public express::Entity { +class IFC_SCHEMA_API IfcAppliedValue : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A name or additional clarification given to a cost value. std::optional< std::string > Name() const; @@ -14105,9 +14091,9 @@ public: /// HISTORY New Entity in IFC Release 2.0 /// /// 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_SCHEMA_API IfcApproval : public express::Entity { +class IFC_SCHEMA_API IfcApproval : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A computer interpretable identifier by which the approval is known. std::optional< std::string > Identifier() const; @@ -14166,9 +14152,9 @@ public: /// HISTORY: New entity /// in Release IFC2x Edition /// 2. -class IFC_SCHEMA_API IfcBoundaryCondition : public express::Entity { +class IFC_SCHEMA_API IfcBoundaryCondition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optionally defines a name for this boundary condition. std::optional< std::string > Name() const; @@ -14310,9 +14296,9 @@ public: /// HISTORY  New entity in IFC Release 1.5. /// /// 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_SCHEMA_API IfcConnectionGeometry : public express::Entity { +class IFC_SCHEMA_API IfcConnectionGeometry : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; static const ifcopenshell::entity& Class(); @@ -14402,9 +14388,9 @@ public: /// A constraint must have a name applied through the IfcConstraint.Name attribute and optionally, a description through IfcConstraint.Description. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade or IfcConstraint.UserDefinedGrade whilst the source, creating actor and time at which the constraint is created may be optionally asserted through IfcConstraint.ConstraintSource, IfcConstraint.CreatingActor and IfcConstraint.CreationTime. /// /// 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_SCHEMA_API IfcConstraint : public express::Entity { +class IFC_SCHEMA_API IfcConstraint : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; @@ -14482,9 +14468,9 @@ public: /// and any map or other coordinate reference system. /// /// HISTORY  New entity in IFC2x4. -class IFC_SCHEMA_API IfcCoordinateOperation : public express::Entity { +class IFC_SCHEMA_API IfcCoordinateOperation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Source coordinate reference system for the operation. ::Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect SourceCRS() const; @@ -14518,9 +14504,9 @@ public: /// Specifications. /// /// HISTORY  New entity in IFC2x4. -class IFC_SCHEMA_API IfcCoordinateReferenceSystem : public express::Entity { +class IFC_SCHEMA_API IfcCoordinateReferenceSystem : public express::entity { public: - using express::Entity::Entity; + 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. @@ -14604,9 +14590,9 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDerivedUnit : public express::Entity { +class IFC_SCHEMA_API IfcDerivedUnit : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The group of units and their exponents that define the derived unit. std::vector< ::Ifc4x3_rc3::IfcDerivedUnitElement > Elements() const; @@ -14629,9 +14615,9 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit_element, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDerivedUnitElement : public express::Entity { +class IFC_SCHEMA_API IfcDerivedUnitElement : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The fixed quantity which is used as the mathematical factor. ::Ifc4x3_rc3::IfcNamedUnit Unit() const; @@ -14660,9 +14646,9 @@ public: /// for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDimensionalExponents : public express::Entity { +class IFC_SCHEMA_API IfcDimensionalExponents : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The power of the length base quantity. int64_t LengthExponent() const; @@ -14695,9 +14681,9 @@ public: /// all external information entities. /// /// HISTORY New entity in IFC2x4. -class IFC_SCHEMA_API IfcExternalInformation : public express::Entity { +class IFC_SCHEMA_API IfcExternalInformation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; static const ifcopenshell::entity& Class(); @@ -14712,9 +14698,9 @@ public: /// IfcExternalReference is an abstract supertype of all external reference entities. /// /// HISTORY New entity in IFC2x. -class IFC_SCHEMA_API IfcExternalReference : public express::Entity { +class IFC_SCHEMA_API IfcExternalReference : public express::entity { public: - using express::Entity::Entity; + 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. /// @@ -14809,9 +14795,9 @@ public: /// underlying AxisCurve supports this concept. /// /// Figure 242 — Grid axis -class IFC_SCHEMA_API IfcGridAxis : public express::Entity { +class IFC_SCHEMA_API IfcGridAxis : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The tag or name for this grid axis. std::optional< std::string > AxisTag() const; @@ -14833,9 +14819,9 @@ public: /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// /// HISTORY: New entity in IFC 2x2. -class IFC_SCHEMA_API IfcIrregularTimeSeriesValue : public express::Entity { +class IFC_SCHEMA_API IfcIrregularTimeSeriesValue : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The specification of the time point. std::string TimeStamp() const; @@ -14930,9 +14916,9 @@ public: /// For each pair of MainPlaneAngle and SecondaryPlaneAngle the LuminousIntensity is provided (the unit is given by the IfcUnitAssignment referring to the LuminousIntensityDistributionUnit, normally cd/klm). /// /// HISTORY: New entity in IFC2x2. -class IFC_SCHEMA_API IfcLightDistributionData : public express::Entity { +class IFC_SCHEMA_API IfcLightDistributionData : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; @@ -14952,9 +14938,9 @@ public: /// 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_SCHEMA_API IfcLightIntensityDistribution : public express::Entity { +class IFC_SCHEMA_API IfcLightIntensityDistribution : public express::entity { public: - using express::Entity::Entity; + 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; @@ -15019,9 +15005,9 @@ public: /// HISTORY New entity in IFC2x. /// /// IFC2x4 CHANGE The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. -class IFC_SCHEMA_API IfcMaterialClassificationRelationship : public express::Entity { +class IFC_SCHEMA_API IfcMaterialClassificationRelationship : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The material classifications identifying the type of material. std::vector< ::Ifc4x3_rc3::IfcClassificationSelect > MaterialClassifications() const; @@ -15057,9 +15043,9 @@ public: /// IfcRelAssociatesMaterial. /// /// HISTORY New entity in IFC2x4 -class IFC_SCHEMA_API IfcMaterialDefinition : public express::Entity { +class IFC_SCHEMA_API IfcMaterialDefinition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects @@ -15255,9 +15241,9 @@ public: /// /// IFC2x4 CHANGE The entity IfcMaterialList is deprecated and shall no longer /// be used. Use IfcMaterialConstituentSet instead. -class IFC_SCHEMA_API IfcMaterialList : public express::Entity { +class IFC_SCHEMA_API IfcMaterialList : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Materials used in a composition of substances. std::vector< ::Ifc4x3_rc3::IfcMaterial > Materials() const; @@ -15373,9 +15359,9 @@ public: /// IfcMaterialUsageDefinition to a subtype of /// IfcElementType, it shall only be assigned to an element /// occurrence. -class IFC_SCHEMA_API IfcMaterialUsageDefinition : public express::Entity { +class IFC_SCHEMA_API IfcMaterialUsageDefinition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial @@ -15392,9 +15378,9 @@ public: /// NOTE Corresponding ISO 10303 name: measure_with_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcMeasureWithUnit : public express::Entity { +class IFC_SCHEMA_API IfcMeasureWithUnit : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The value of the physical quantity when expressed in the specified units. ::Ifc4x3_rc3::IfcValue ValueComponent() const; @@ -15482,9 +15468,9 @@ public: /// HISTORY: New entity in IFC Release 2x. /// /// IFC2x4 CHANGE: Type of the attribute Currency changed. -class IFC_SCHEMA_API IfcMonetaryUnit : public express::Entity { +class IFC_SCHEMA_API IfcMonetaryUnit : public express::entity { public: - using express::Entity::Entity; + 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; @@ -15498,9 +15484,9 @@ public: /// NOTE Corresponding ISO 10303 name: named_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcNamedUnit : public express::Entity { +class IFC_SCHEMA_API IfcNamedUnit : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The dimensional exponents of the SI base units by which the named unit is defined. ::Ifc4x3_rc3::IfcDimensionalExponents Dimensions() const; @@ -15523,9 +15509,9 @@ public: /// In any case the object placement has to unambiguously define the object coordinate system as either two-dimensional axis placement (IfcAxis2Placement2D) or three-dimensional axis placement (IfcAxis2Placement3D). The axis placement may have to be calculated. /// /// HISTORY New entity in IFC Release 2x. -class IFC_SCHEMA_API IfcObjectPlacement : public express::Entity { +class IFC_SCHEMA_API IfcObjectPlacement : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; ::Ifc4x3_rc3::IfcObjectPlacement PlacementRelTo() const; void setPlacementRelTo(const ::Ifc4x3_rc3::IfcObjectPlacement& v); @@ -15570,9 +15556,9 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. -class IFC_SCHEMA_API IfcOrganization : public express::Entity { +class IFC_SCHEMA_API IfcOrganization : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Identification of the organization. std::optional< std::string > Identification() const; @@ -15607,9 +15593,9 @@ public: /// /// If LastModifiedDate is defined but ChangeAction is not asserted, then the state of ChangeAction is assumed to be UNDEFINED. /// If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate. -class IFC_SCHEMA_API IfcOwnerHistory : public express::Entity { +class IFC_SCHEMA_API IfcOwnerHistory : public express::entity { public: - using express::Entity::Entity; + 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; @@ -15648,9 +15634,9 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. -class IFC_SCHEMA_API IfcPerson : public express::Entity { +class IFC_SCHEMA_API IfcPerson : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Identification of the person. std::optional< std::string > Identification() const; @@ -15692,9 +15678,9 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: person_and_organization. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_SCHEMA_API IfcPersonAndOrganization : public express::Entity { +class IFC_SCHEMA_API IfcPersonAndOrganization : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The person who is related to the organization. ::Ifc4x3_rc3::IfcPerson ThePerson() const; @@ -15714,9 +15700,9 @@ public: /// The Name attribute defines the actual usage or kind of measure. The interpretation of the name label has to be established within the actual exchange context. In addition an informative text may be associated to each quantity by the Description attribute. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_SCHEMA_API IfcPhysicalQuantity : public express::Entity { +class IFC_SCHEMA_API IfcPhysicalQuantity : public express::entity { public: - using express::Entity::Entity; + 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; @@ -15789,9 +15775,9 @@ public: 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_SCHEMA_API IfcPresentationItem : public express::Entity { +class IFC_SCHEMA_API IfcPresentationItem : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; static const ifcopenshell::entity& Class(); @@ -15812,9 +15798,9 @@ public: /// Figure 305 illustrates assignment of items by shape representation or representation item. The set of AssignedItems can either include a whole shape representation, or individual geometric representation items. If both, the IfcShapeRepresentation has a layer assignment, and an individual geometric representation item in the set of IfcShapeRepresentation.Items, then the layer assignment of the IfcGeometricRepresentationItem overides the layer assignment of the IfcShapeRepresentation. /// /// Figure 305 — Presentation layer assignment -class IFC_SCHEMA_API IfcPresentationLayerAssignment : public express::Entity { +class IFC_SCHEMA_API IfcPresentationLayerAssignment : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Name of the layer. std::string Name() const; @@ -15874,9 +15860,9 @@ public: /// Each subtype of  IfcPresentationStyle can be assigned to IfcGeometricRepresentationItem's via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or one of its subtypes. /// /// HISTORY  New entity in IFC2x3. -class IFC_SCHEMA_API IfcPresentationStyle : public express::Entity { +class IFC_SCHEMA_API IfcPresentationStyle : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Name of the presentation style. std::optional< std::string > Name() const; @@ -15902,9 +15888,9 @@ public: /// IFC2x3 NOTE Users should not instantiate the entity from IFC2x Edition 3 onwards. /// /// IFC2x4 CHANGE  Entity made abstract. -class IFC_SCHEMA_API IfcProductRepresentation : public express::Entity { +class IFC_SCHEMA_API IfcProductRepresentation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The word or group of words by which the product representation is known. std::optional< std::string > Name() const; @@ -16089,9 +16075,9 @@ public: /// possible to directly instantiate IfcProfileDef and further specify /// the profile only by external reference or by profile properties. The latter /// are tracked by the inverse attribute HasProperties. -class IFC_SCHEMA_API IfcProfileDef : public express::Entity { +class IFC_SCHEMA_API IfcProfileDef : public express::entity { public: - using express::Entity::Entity; + 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; @@ -16153,9 +16139,9 @@ public: 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_SCHEMA_API IfcPropertyAbstraction : public express::Entity { +class IFC_SCHEMA_API IfcPropertyAbstraction : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects @@ -16357,9 +16343,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcRecurrencePattern : public express::Entity { +class IFC_SCHEMA_API IfcRecurrencePattern : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Defines the recurrence type that gives meaning to the used /// attributes and decides about possible attribute @@ -16403,9 +16389,9 @@ public: IfcRecurrencePattern initialize(::Ifc4x3_rc3::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int64_t > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v4_MonthComponent, std::optional< int64_t > v5_Position, std::optional< int64_t > v6_Interval, std::optional< int64_t > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_rc3::IfcTimePeriod > > v8_TimePeriods); }; -class IFC_SCHEMA_API IfcReference : public express::Entity { +class IFC_SCHEMA_API IfcReference : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::optional< std::string > TypeIdentifier() const; void setTypeIdentifier(const std::optional< std::string >& v); @@ -16467,9 +16453,9 @@ public: /// IFC2x4 CHANGE  Entity /// IfcRepresentation has been changed into an ABSTRACT /// supertype. -class IFC_SCHEMA_API IfcRepresentation : public express::Entity { +class IFC_SCHEMA_API IfcRepresentation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Definition of the representation context for which the different subtypes of representation are valid. ::Ifc4x3_rc3::IfcRepresentationContext ContextOfItems() const; @@ -16501,9 +16487,9 @@ public: /// /// IFC2x4 CHANGE Entity made abstract, had been deprecated from instantiation since /// IFC2x2. -class IFC_SCHEMA_API IfcRepresentationContext : public express::Entity { +class IFC_SCHEMA_API IfcRepresentationContext : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The optional identifier of the representation context as used within a project. std::optional< std::string > ContextIdentifier() const; @@ -16548,9 +16534,9 @@ public: /// HISTORY  New entity in IFC Release 2x. /// /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. -class IFC_SCHEMA_API IfcRepresentationItem : public express::Entity { +class IFC_SCHEMA_API IfcRepresentationItem : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcPresentationLayerAssignment > LayerAssignment() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems std::vector< IfcStyledItem > StyledByItem() const; // INVERSE IfcStyledItem::Item @@ -16569,9 +16555,9 @@ public: /// NOTE  The definition of a mapping which is used to specify a new representation item comprises a representation map and a mapped item entity. Without both entities, the mapping is not fully defined. Two entities are specified to allow the same source representation to be mapped into multiple new representations. /// /// HISTORY  New entity in IFC Release 2x. -class IFC_SCHEMA_API IfcRepresentationMap : public express::Entity { +class IFC_SCHEMA_API IfcRepresentationMap : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// An axis2 placement that defines the position about which the mapped /// representation is mapped. @@ -16589,9 +16575,9 @@ public: /// IfcResourceLevelRelationship is an abstract base class for relationships between resource-level entities. /// /// HISTORY New Entity in IFC 2x4 -class IFC_SCHEMA_API IfcResourceLevelRelationship : public express::Entity { +class IFC_SCHEMA_API IfcResourceLevelRelationship : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A name used to identify or qualify the relationship. std::optional< std::string > Name() const; @@ -16612,9 +16598,9 @@ public: /// HISTORY New entity in IFC Release 1.0 /// /// IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL. -class IFC_SCHEMA_API IfcRoot : public express::Entity { +class IFC_SCHEMA_API IfcRoot : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; @@ -16662,9 +16648,9 @@ public: /// IfcSchedulingTime is the abstract supertype of entities that capture time-related information of processes. /// /// HISTORY: New entity in IFC2x4. -class IFC_SCHEMA_API IfcSchedulingTime : public express::Entity { +class IFC_SCHEMA_API IfcSchedulingTime : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optional name for the time definition. std::optional< std::string > Name() const; @@ -16717,9 +16703,9 @@ public: /// IfcRepresentationMap's that are used by an /// IfcTypeProduct through the /// RepresentationMaps attribute. -class IFC_SCHEMA_API IfcShapeAspect : public express::Entity { +class IFC_SCHEMA_API IfcShapeAspect : public express::entity { public: - using express::Entity::Entity; + 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 @@ -16918,9 +16904,9 @@ public: /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. -class IFC_SCHEMA_API IfcStructuralConnectionCondition : public express::Entity { +class IFC_SCHEMA_API IfcStructuralConnectionCondition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optionally defines a name for this connection condition. std::optional< std::string > Name() const; @@ -16932,9 +16918,9 @@ public: /// 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_SCHEMA_API IfcStructuralLoad : public express::Entity { +class IFC_SCHEMA_API IfcStructuralLoad : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optionally defines a name for this load. std::optional< std::string > Name() const; @@ -17387,9 +17373,9 @@ public: /// HISTORY  New entity in IFC R1.5. /// /// IFC2x4 CHANGE  Columns attribute added. -class IFC_SCHEMA_API IfcTable : public express::Entity { +class IFC_SCHEMA_API IfcTable : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A unique name which is intended to describe the usage of the Table. std::optional< std::string > Name() const; @@ -17409,9 +17395,9 @@ public: /// The use of IfcTableColumn supercedes the IsHeading flag associated with IfcTableRow. /// /// HISTORY  New entity in IFC2x4. -class IFC_SCHEMA_API IfcTableColumn : public express::Entity { +class IFC_SCHEMA_API IfcTableColumn : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Table column identifier. std::optional< std::string > Identifier() const; @@ -17444,9 +17430,9 @@ public: /// Figure 338 — Table row use alternative /// /// HISTORY  New entity in IFC R1.5. -class IFC_SCHEMA_API IfcTableRow : public express::Entity { +class IFC_SCHEMA_API IfcTableRow : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The data value of the table cell.. std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > > RowCells() const; @@ -17940,9 +17926,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcTimePeriod : public express::Entity { +class IFC_SCHEMA_API IfcTimePeriod : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Start time of the time period. std::string StartTime() const; @@ -17959,9 +17945,9 @@ public: /// The modeling of buildings and their performance involves data that are generated and recorded over a period of time. Such data cover a large spectrum, from weather data to schedules of all kinds to status measurements to reporting to everything else that has a time related aspect. Their correct placement in time is essential for their proper understanding and use, and the IfcTimeSeries subtypes provide the appropriate data structures to accommodate these types of data. /// /// HISTORY: New entity in IFC 2x2. -class IFC_SCHEMA_API IfcTimeSeries : public express::Entity { +class IFC_SCHEMA_API IfcTimeSeries : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// An unique name for the time series. std::string Name() const; @@ -18001,9 +17987,9 @@ public: /// Figure 241 — Time series value /// /// HISTORY  New entity in IFC2x2. -class IFC_SCHEMA_API IfcTimeSeriesValue : public express::Entity { +class IFC_SCHEMA_API IfcTimeSeriesValue : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A list of time-series values. At least one value is required. std::vector< ::Ifc4x3_rc3::IfcValue > ListValues() const; @@ -18072,9 +18058,9 @@ public: /// NOTE  A project (IfcProject) has a unit assignment which establishes a set of units which will be used globally within the project, if not otherwise defined. Other objects may have local unit assignments if there is a requirement for them to make use of units which do not fall within the project unit assignment. /// /// HISTORY  New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcUnitAssignment : public express::Entity { +class IFC_SCHEMA_API IfcUnitAssignment : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Units to be included within a unit assignment. std::vector< ::Ifc4x3_rc3::IfcUnit > Units() const; @@ -18180,9 +18166,9 @@ public: /// OffsetDistances[1] is a negative length measure /// /// Figure 248 — Virtual grid intersection negative offset -class IFC_SCHEMA_API IfcVirtualGridIntersection : public express::Entity { +class IFC_SCHEMA_API IfcVirtualGridIntersection : public express::entity { public: - using express::Entity::Entity; + 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; @@ -18240,11 +18226,13 @@ public: void setStartCantRight(const double& v); std::optional< double > EndCantRight() const; void setEndCantRight(const std::optional< double >& v); + std::optional< double > SmoothingLength() const; + void setSmoothingLength(const std::optional< double >& v); ::Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - 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); + 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_rc3::IfcAlignmentCantSegmentTypeEnum::Value v10_PredefinedType); }; class IFC_SCHEMA_API IfcAlignmentHorizontalSegment : public IfcAlignmentParameterSegment { @@ -29316,13 +29304,13 @@ class IFC_SCHEMA_API IfcSectionedSolidHorizontal : public IfcSectionedSolid { public: using IfcSectionedSolid::IfcSectionedSolid; - std::vector< ::Ifc4x3_rc3::IfcAxis2PlacementLinear > CrossSectionPositions() const; - void setCrossSectionPositions(const std::vector< ::Ifc4x3_rc3::IfcAxis2PlacementLinear >& v); + std::vector< ::Ifc4x3_rc3::IfcCurveMeasureSelect > CrossSectionPositions() const; + void setCrossSectionPositions(const std::vector< ::Ifc4x3_rc3::IfcCurveMeasureSelect >& v); bool FixedAxisVertical() const; void setFixedAxisVertical(const bool& v); static const ifcopenshell::entity& Class(); - IfcSectionedSolidHorizontal 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::IfcCurveMeasureSelect > v3_CrossSectionPositions, bool v4_FixedAxisVertical); }; class IFC_SCHEMA_API IfcSectionedSurface : public IfcSurface { @@ -30778,11 +30766,9 @@ public: void setQuadraticTerm(const std::optional< double >& v); std::optional< double > LinearTerm() const; void setLinearTerm(const std::optional< double >& v); - std::optional< double > ConstantTerm() const; - void setConstantTerm(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - 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); + IfcThirdOrderPolynomialSpiral initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position, double v2_QubicTerm, std::optional< double > v3_QuadraticTerm, std::optional< double > v4_LinearTerm); }; class IFC_SCHEMA_API IfcToroidalSurface : public IfcElementarySurface { @@ -32749,15 +32735,6 @@ public: static const ifcopenshell::entity& Class(); 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_SCHEMA_API IfcDirectrixDerivedReferenceSweptAreaSolid : public IfcFixedReferenceSweptAreaSolid { -public: - using IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid; - - - static const ifcopenshell::entity& Class(); - 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 /// shared property set definitions of an element and an optional set @@ -36030,11 +36007,11 @@ class IFC_SCHEMA_API IfcPavementType : public IfcBuiltElementType { public: using IfcBuiltElementType::IfcBuiltElementType; - ::Ifc4x3_rc3::IfcPavementTypeEnum::Value PredefinedType() const; - void setPredefinedType(const ::Ifc4x3_rc3::IfcPavementTypeEnum::Value& v); + bool Flexible() const; + void setFlexible(const bool& v); static const ifcopenshell::entity& Class(); - 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); + 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, 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. /// @@ -40658,9 +40635,11 @@ class IFC_SCHEMA_API IfcAlignmentHorizontal : public IfcLinearElement { public: using IfcLinearElement::IfcLinearElement; + std::optional< double > StartDistAlong() const; + void setStartDistAlong(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - 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); + 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, std::optional< double > v8_StartDistAlong); }; class IFC_SCHEMA_API IfcAlignmentSegment : public IfcLinearElement { @@ -46869,11 +46848,11 @@ class IFC_SCHEMA_API IfcPavement : public IfcBuiltElement { public: using IfcBuiltElement::IfcBuiltElement; - std::optional< ::Ifc4x3_rc3::IfcPavementTypeEnum::Value > PredefinedType() const; - void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcPavementTypeEnum::Value >& v); + std::optional< bool > Flexible() const; + void setFlexible(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - 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); + 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< 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. /// diff --git a/src/ifcparse/schemas/Ifc4x3_rc4-definitions.h b/src/ifcparse/schemas/Ifc4x3_rc4-definitions.h index ad6e1c1eaf..9405cbb4c1 100644 --- a/src/ifcparse/schemas/Ifc4x3_rc4-definitions.h +++ b/src/ifcparse/schemas/Ifc4x3_rc4-definitions.h @@ -19,7 +19,7 @@ /******************************************************************************** * * - * This file has been generated from IFC4x3_RC2.exp. Do not make modifications * + * This file has been generated from IFC4x3_RC4.exp. Do not make modifications * * but instead modify the python script that has been used to generate this. * * * ********************************************************************************/ diff --git a/src/ifcparse/schemas/Ifc4x3_rc4-schema.cpp b/src/ifcparse/schemas/Ifc4x3_rc4-schema.cpp index 78ff122366..aa23998e02 100644 --- a/src/ifcparse/schemas/Ifc4x3_rc4-schema.cpp +++ b/src/ifcparse/schemas/Ifc4x3_rc4-schema.cpp @@ -19,7 +19,7 @@ /******************************************************************************** * * - * This file has been generated from IFC4x3_RC2.exp. Do not make modifications * + * This file has been generated from IFC4x3_RC4.exp. Do not make modifications * * but instead modify the python script that has been used to generate this. * * * ********************************************************************************/ diff --git a/src/ifcparse/schemas/Ifc4x3_rc4.cpp b/src/ifcparse/schemas/Ifc4x3_rc4.cpp index f0f2adaecf..81e9e1b74e 100644 --- a/src/ifcparse/schemas/Ifc4x3_rc4.cpp +++ b/src/ifcparse/schemas/Ifc4x3_rc4.cpp @@ -19,7 +19,7 @@ /******************************************************************************** * * - * This file has been generated from IFC4x3_RC2.exp. Do not make modifications * + * This file has been generated from IFC4x3_RC4.exp. Do not make modifications * * but instead modify the python script that has been used to generate this. * * * ********************************************************************************/ @@ -44,7 +44,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcActionRequestTypeEnum::Clas /* Ifc4x3_rc4::IfcActionRequestTypeEnum::IfcActionRequestTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcActionRequestTypeEnum::IfcActionRequestTypeEnum(Value v) { @@ -73,7 +73,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcActionSourceTypeEnum::Class /* Ifc4x3_rc4::IfcActionSourceTypeEnum::IfcActionSourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcActionSourceTypeEnum::IfcActionSourceTypeEnum(Value v) { @@ -102,7 +102,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcActionTypeEnum::Class() { r /* Ifc4x3_rc4::IfcActionTypeEnum::IfcActionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcActionTypeEnum::IfcActionTypeEnum(Value v) { @@ -131,7 +131,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcActuatorTypeEnum::Class() { /* Ifc4x3_rc4::IfcActuatorTypeEnum::IfcActuatorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcActuatorTypeEnum::IfcActuatorTypeEnum(Value v) { @@ -160,7 +160,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcAddressTypeEnum::Class() { /* Ifc4x3_rc4::IfcAddressTypeEnum::IfcAddressTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcAddressTypeEnum::IfcAddressTypeEnum(Value v) { @@ -189,7 +189,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Cla /* Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum(Value v) { @@ -218,7 +218,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcAirTerminalTypeEnum::Class( /* Ifc4x3_rc4::IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum(Value v) { @@ -247,7 +247,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnu /* Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum(Value v) { @@ -276,7 +276,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcAlarmTypeEnum::Class() { re /* Ifc4x3_rc4::IfcAlarmTypeEnum::IfcAlarmTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcAlarmTypeEnum::IfcAlarmTypeEnum(Value v) { @@ -305,7 +305,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnu /* Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::IfcAlignmentCantSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::IfcAlignmentCantSegmentTypeEnum(Value v) { @@ -334,7 +334,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcAlignmentHorizontalSegmentT /* Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::IfcAlignmentHorizontalSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::IfcAlignmentHorizontalSegmentTypeEnum(Value v) { @@ -363,7 +363,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcAlignmentTypeEnum::Class() /* Ifc4x3_rc4::IfcAlignmentTypeEnum::IfcAlignmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcAlignmentTypeEnum::IfcAlignmentTypeEnum(Value v) { @@ -392,7 +392,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcAlignmentVerticalSegmentTyp /* Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::IfcAlignmentVerticalSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::IfcAlignmentVerticalSegmentTypeEnum(Value v) { @@ -421,7 +421,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcAnalysisModelTypeEnum::Clas /* Ifc4x3_rc4::IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum(Value v) { @@ -450,7 +450,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::Cla /* Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum(Value v) { @@ -479,7 +479,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcAnnotationTypeEnum::Class() /* Ifc4x3_rc4::IfcAnnotationTypeEnum::IfcAnnotationTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcAnnotationTypeEnum::IfcAnnotationTypeEnum(Value v) { @@ -508,7 +508,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcArithmeticOperatorEnum::Cla /* Ifc4x3_rc4::IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum(Value v) { @@ -537,7 +537,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcAssemblyPlaceEnum::Class() /* Ifc4x3_rc4::IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum(Value v) { @@ -566,7 +566,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnu /* Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum(Value v) { @@ -595,7 +595,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcBSplineCurveForm::Class() { /* Ifc4x3_rc4::IfcBSplineCurveForm::IfcBSplineCurveForm(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcBSplineCurveForm::IfcBSplineCurveForm(Value v) { @@ -624,7 +624,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcBSplineSurfaceForm::Class() /* Ifc4x3_rc4::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm(Value v) { @@ -653,7 +653,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcBeamTypeEnum::Class() { ret /* Ifc4x3_rc4::IfcBeamTypeEnum::IfcBeamTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcBeamTypeEnum::IfcBeamTypeEnum(Value v) { @@ -682,7 +682,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcBearingTypeDisplacementEnum /* Ifc4x3_rc4::IfcBearingTypeDisplacementEnum::IfcBearingTypeDisplacementEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcBearingTypeDisplacementEnum::IfcBearingTypeDisplacementEnum(Value v) { @@ -711,7 +711,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcBearingTypeEnum::Class() { /* Ifc4x3_rc4::IfcBearingTypeEnum::IfcBearingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcBearingTypeEnum::IfcBearingTypeEnum(Value v) { @@ -740,7 +740,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcBenchmarkEnum::Class() { re /* Ifc4x3_rc4::IfcBenchmarkEnum::IfcBenchmarkEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcBenchmarkEnum::IfcBenchmarkEnum(Value v) { @@ -769,7 +769,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcBoilerTypeEnum::Class() { r /* Ifc4x3_rc4::IfcBoilerTypeEnum::IfcBoilerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcBoilerTypeEnum::IfcBoilerTypeEnum(Value v) { @@ -798,7 +798,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcBooleanOperator::Class() { /* Ifc4x3_rc4::IfcBooleanOperator::IfcBooleanOperator(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcBooleanOperator::IfcBooleanOperator(Value v) { @@ -827,7 +827,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcBridgePartTypeEnum::Class() /* Ifc4x3_rc4::IfcBridgePartTypeEnum::IfcBridgePartTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcBridgePartTypeEnum::IfcBridgePartTypeEnum(Value v) { @@ -856,7 +856,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcBridgeTypeEnum::Class() { r /* Ifc4x3_rc4::IfcBridgeTypeEnum::IfcBridgeTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcBridgeTypeEnum::IfcBridgeTypeEnum(Value v) { @@ -885,7 +885,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcBuildingElementPartTypeEnum /* Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum(Value v) { @@ -914,7 +914,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcBuildingElementProxyTypeEnu /* Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum(Value v) { @@ -943,7 +943,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Cla /* Ifc4x3_rc4::IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum(Value v) { @@ -972,7 +972,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Class( /* Ifc4x3_rc4::IfcBuiltSystemTypeEnum::IfcBuiltSystemTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcBuiltSystemTypeEnum::IfcBuiltSystemTypeEnum(Value v) { @@ -1001,7 +1001,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcBurnerTypeEnum::Class() { r /* Ifc4x3_rc4::IfcBurnerTypeEnum::IfcBurnerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcBurnerTypeEnum::IfcBurnerTypeEnum(Value v) { @@ -1030,7 +1030,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum /* Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum(Value v) { @@ -1059,7 +1059,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum /* Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum(Value v) { @@ -1088,7 +1088,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcCableFittingTypeEnum::Class /* Ifc4x3_rc4::IfcCableFittingTypeEnum::IfcCableFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcCableFittingTypeEnum::IfcCableFittingTypeEnum(Value v) { @@ -1117,7 +1117,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcCableSegmentTypeEnum::Class /* Ifc4x3_rc4::IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum(Value v) { @@ -1146,7 +1146,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcCaissonFoundationTypeEnum:: /* Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::IfcCaissonFoundationTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::IfcCaissonFoundationTypeEnum(Value v) { @@ -1175,7 +1175,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcChangeActionEnum::Class() { /* Ifc4x3_rc4::IfcChangeActionEnum::IfcChangeActionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcChangeActionEnum::IfcChangeActionEnum(Value v) { @@ -1204,7 +1204,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcChillerTypeEnum::Class() { /* Ifc4x3_rc4::IfcChillerTypeEnum::IfcChillerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcChillerTypeEnum::IfcChillerTypeEnum(Value v) { @@ -1233,7 +1233,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcChimneyTypeEnum::Class() { /* Ifc4x3_rc4::IfcChimneyTypeEnum::IfcChimneyTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcChimneyTypeEnum::IfcChimneyTypeEnum(Value v) { @@ -1262,7 +1262,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcCoilTypeEnum::Class() { ret /* Ifc4x3_rc4::IfcCoilTypeEnum::IfcCoilTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcCoilTypeEnum::IfcCoilTypeEnum(Value v) { @@ -1291,7 +1291,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcColumnTypeEnum::Class() { r /* Ifc4x3_rc4::IfcColumnTypeEnum::IfcColumnTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcColumnTypeEnum::IfcColumnTypeEnum(Value v) { @@ -1320,7 +1320,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcCommunicationsApplianceType /* Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum(Value v) { @@ -1349,7 +1349,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcComplexPropertyTemplateType /* Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum(Value v) { @@ -1378,7 +1378,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcCompressorTypeEnum::Class() /* Ifc4x3_rc4::IfcCompressorTypeEnum::IfcCompressorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcCompressorTypeEnum::IfcCompressorTypeEnum(Value v) { @@ -1407,7 +1407,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcCondenserTypeEnum::Class() /* Ifc4x3_rc4::IfcCondenserTypeEnum::IfcCondenserTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcCondenserTypeEnum::IfcCondenserTypeEnum(Value v) { @@ -1436,7 +1436,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcConnectionTypeEnum::Class() /* Ifc4x3_rc4::IfcConnectionTypeEnum::IfcConnectionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcConnectionTypeEnum::IfcConnectionTypeEnum(Value v) { @@ -1465,7 +1465,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcConstraintEnum::Class() { r /* Ifc4x3_rc4::IfcConstraintEnum::IfcConstraintEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcConstraintEnum::IfcConstraintEnum(Value v) { @@ -1494,7 +1494,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcConstructionEquipmentResour /* Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum(Value v) { @@ -1523,7 +1523,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcConstructionMaterialResourc /* Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum(Value v) { @@ -1552,7 +1552,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcConstructionProductResource /* Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum(Value v) { @@ -1581,7 +1581,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcControllerTypeEnum::Class() /* Ifc4x3_rc4::IfcControllerTypeEnum::IfcControllerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcControllerTypeEnum::IfcControllerTypeEnum(Value v) { @@ -1610,7 +1610,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Cl /* Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::IfcConveyorSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::IfcConveyorSegmentTypeEnum(Value v) { @@ -1639,7 +1639,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcCooledBeamTypeEnum::Class() /* Ifc4x3_rc4::IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum(Value v) { @@ -1668,7 +1668,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Class /* Ifc4x3_rc4::IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum(Value v) { @@ -1697,7 +1697,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcCostItemTypeEnum::Class() { /* Ifc4x3_rc4::IfcCostItemTypeEnum::IfcCostItemTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcCostItemTypeEnum::IfcCostItemTypeEnum(Value v) { @@ -1726,7 +1726,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcCostScheduleTypeEnum::Class /* Ifc4x3_rc4::IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum(Value v) { @@ -1755,7 +1755,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcCourseTypeEnum::Class() { r /* Ifc4x3_rc4::IfcCourseTypeEnum::IfcCourseTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcCourseTypeEnum::IfcCourseTypeEnum(Value v) { @@ -1784,7 +1784,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcCoveringTypeEnum::Class() { /* Ifc4x3_rc4::IfcCoveringTypeEnum::IfcCoveringTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcCoveringTypeEnum::IfcCoveringTypeEnum(Value v) { @@ -1813,7 +1813,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcCrewResourceTypeEnum::Class /* Ifc4x3_rc4::IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum(Value v) { @@ -1842,7 +1842,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcCurtainWallTypeEnum::Class( /* Ifc4x3_rc4::IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum(Value v) { @@ -1871,7 +1871,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcCurveInterpolationEnum::Cla /* Ifc4x3_rc4::IfcCurveInterpolationEnum::IfcCurveInterpolationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcCurveInterpolationEnum::IfcCurveInterpolationEnum(Value v) { @@ -1900,7 +1900,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcDamperTypeEnum::Class() { r /* Ifc4x3_rc4::IfcDamperTypeEnum::IfcDamperTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcDamperTypeEnum::IfcDamperTypeEnum(Value v) { @@ -1929,7 +1929,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcDataOriginEnum::Class() { r /* Ifc4x3_rc4::IfcDataOriginEnum::IfcDataOriginEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcDataOriginEnum::IfcDataOriginEnum(Value v) { @@ -1958,7 +1958,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcDerivedUnitEnum::Class() { /* Ifc4x3_rc4::IfcDerivedUnitEnum::IfcDerivedUnitEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcDerivedUnitEnum::IfcDerivedUnitEnum(Value v) { @@ -1987,7 +1987,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcDirectionSenseEnum::Class() /* Ifc4x3_rc4::IfcDirectionSenseEnum::IfcDirectionSenseEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcDirectionSenseEnum::IfcDirectionSenseEnum(Value v) { @@ -2016,7 +2016,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum:: /* Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum(Value v) { @@ -2045,7 +2045,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcDistributionBoardTypeEnum:: /* Ifc4x3_rc4::IfcDistributionBoardTypeEnum::IfcDistributionBoardTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcDistributionBoardTypeEnum::IfcDistributionBoardTypeEnum(Value v) { @@ -2074,7 +2074,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcDistributionChamberElementT /* Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum(Value v) { @@ -2103,7 +2103,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcDistributionPortTypeEnum::C /* Ifc4x3_rc4::IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum(Value v) { @@ -2132,7 +2132,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcDistributionSystemEnum::Cla /* Ifc4x3_rc4::IfcDistributionSystemEnum::IfcDistributionSystemEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcDistributionSystemEnum::IfcDistributionSystemEnum(Value v) { @@ -2161,7 +2161,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcDocumentConfidentialityEnum /* Ifc4x3_rc4::IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum(Value v) { @@ -2190,7 +2190,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcDocumentStatusEnum::Class() /* Ifc4x3_rc4::IfcDocumentStatusEnum::IfcDocumentStatusEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcDocumentStatusEnum::IfcDocumentStatusEnum(Value v) { @@ -2219,7 +2219,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcDoorPanelOperationEnum::Cla /* Ifc4x3_rc4::IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum(Value v) { @@ -2248,7 +2248,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcDoorPanelPositionEnum::Clas /* Ifc4x3_rc4::IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum(Value v) { @@ -2277,7 +2277,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcDoorStyleConstructionEnum:: /* Ifc4x3_rc4::IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum(Value v) { @@ -2306,7 +2306,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcDoorStyleOperationEnum::Cla /* Ifc4x3_rc4::IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum(Value v) { @@ -2335,7 +2335,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcDoorTypeEnum::Class() { ret /* Ifc4x3_rc4::IfcDoorTypeEnum::IfcDoorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcDoorTypeEnum::IfcDoorTypeEnum(Value v) { @@ -2364,7 +2364,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcDoorTypeOperationEnum::Clas /* Ifc4x3_rc4::IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum(Value v) { @@ -2393,7 +2393,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcDuctFittingTypeEnum::Class( /* Ifc4x3_rc4::IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum(Value v) { @@ -2422,7 +2422,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Class( /* Ifc4x3_rc4::IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum(Value v) { @@ -2451,7 +2451,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Class /* Ifc4x3_rc4::IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum(Value v) { @@ -2480,7 +2480,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Clas /* Ifc4x3_rc4::IfcEarthworksCutTypeEnum::IfcEarthworksCutTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcEarthworksCutTypeEnum::IfcEarthworksCutTypeEnum(Value v) { @@ -2509,7 +2509,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Cla /* Ifc4x3_rc4::IfcEarthworksFillTypeEnum::IfcEarthworksFillTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcEarthworksFillTypeEnum::IfcEarthworksFillTypeEnum(Value v) { @@ -2538,7 +2538,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcElectricApplianceTypeEnum:: /* Ifc4x3_rc4::IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum(Value v) { @@ -2567,7 +2567,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcElectricDistributionBoardTy /* Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum(Value v) { @@ -2596,7 +2596,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcElectricFlowStorageDeviceTy /* Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum(Value v) { @@ -2625,7 +2625,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcElectricFlowTreatmentDevice /* Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::IfcElectricFlowTreatmentDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::IfcElectricFlowTreatmentDeviceTypeEnum(Value v) { @@ -2654,7 +2654,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcElectricGeneratorTypeEnum:: /* Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum(Value v) { @@ -2683,7 +2683,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcElectricMotorTypeEnum::Clas /* Ifc4x3_rc4::IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum(Value v) { @@ -2712,7 +2712,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcElectricTimeControlTypeEnum /* Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum(Value v) { @@ -2741,7 +2741,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Cl /* Ifc4x3_rc4::IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum(Value v) { @@ -2770,7 +2770,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcElementCompositionEnum::Cla /* Ifc4x3_rc4::IfcElementCompositionEnum::IfcElementCompositionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcElementCompositionEnum::IfcElementCompositionEnum(Value v) { @@ -2799,7 +2799,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcEngineTypeEnum::Class() { r /* Ifc4x3_rc4::IfcEngineTypeEnum::IfcEngineTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcEngineTypeEnum::IfcEngineTypeEnum(Value v) { @@ -2828,7 +2828,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum:: /* Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum(Value v) { @@ -2857,7 +2857,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcEvaporatorTypeEnum::Class() /* Ifc4x3_rc4::IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum(Value v) { @@ -2886,7 +2886,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcEventTriggerTypeEnum::Class /* Ifc4x3_rc4::IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum(Value v) { @@ -2915,7 +2915,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcEventTypeEnum::Class() { re /* Ifc4x3_rc4::IfcEventTypeEnum::IfcEventTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcEventTypeEnum::IfcEventTypeEnum(Value v) { @@ -2944,7 +2944,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcExternalSpatialElementTypeE /* Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum(Value v) { @@ -2973,7 +2973,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcFacilityPartCommonTypeEnum: /* Ifc4x3_rc4::IfcFacilityPartCommonTypeEnum::IfcFacilityPartCommonTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcFacilityPartCommonTypeEnum::IfcFacilityPartCommonTypeEnum(Value v) { @@ -3002,7 +3002,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcFacilityUsageEnum::Class() /* Ifc4x3_rc4::IfcFacilityUsageEnum::IfcFacilityUsageEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcFacilityUsageEnum::IfcFacilityUsageEnum(Value v) { @@ -3031,7 +3031,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcFanTypeEnum::Class() { retu /* Ifc4x3_rc4::IfcFanTypeEnum::IfcFanTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcFanTypeEnum::IfcFanTypeEnum(Value v) { @@ -3060,7 +3060,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcFastenerTypeEnum::Class() { /* Ifc4x3_rc4::IfcFastenerTypeEnum::IfcFastenerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcFastenerTypeEnum::IfcFastenerTypeEnum(Value v) { @@ -3089,7 +3089,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcFilterTypeEnum::Class() { r /* Ifc4x3_rc4::IfcFilterTypeEnum::IfcFilterTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcFilterTypeEnum::IfcFilterTypeEnum(Value v) { @@ -3118,7 +3118,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcFireSuppressionTerminalType /* Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum(Value v) { @@ -3147,7 +3147,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcFlowDirectionEnum::Class() /* Ifc4x3_rc4::IfcFlowDirectionEnum::IfcFlowDirectionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcFlowDirectionEnum::IfcFlowDirectionEnum(Value v) { @@ -3176,7 +3176,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Cla /* Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum(Value v) { @@ -3205,7 +3205,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcFlowMeterTypeEnum::Class() /* Ifc4x3_rc4::IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum(Value v) { @@ -3234,7 +3234,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcFootingTypeEnum::Class() { /* Ifc4x3_rc4::IfcFootingTypeEnum::IfcFootingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcFootingTypeEnum::IfcFootingTypeEnum(Value v) { @@ -3263,7 +3263,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcFurnitureTypeEnum::Class() /* Ifc4x3_rc4::IfcFurnitureTypeEnum::IfcFurnitureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcFurnitureTypeEnum::IfcFurnitureTypeEnum(Value v) { @@ -3292,7 +3292,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcGeographicElementTypeEnum:: /* Ifc4x3_rc4::IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum(Value v) { @@ -3321,7 +3321,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcGeometricProjectionEnum::Cl /* Ifc4x3_rc4::IfcGeometricProjectionEnum::IfcGeometricProjectionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcGeometricProjectionEnum::IfcGeometricProjectionEnum(Value v) { @@ -3350,7 +3350,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class() /* Ifc4x3_rc4::IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum(Value v) { @@ -3379,7 +3379,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcGridTypeEnum::Class() { ret /* Ifc4x3_rc4::IfcGridTypeEnum::IfcGridTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcGridTypeEnum::IfcGridTypeEnum(Value v) { @@ -3408,7 +3408,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Clas /* Ifc4x3_rc4::IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum(Value v) { @@ -3437,7 +3437,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcHumidifierTypeEnum::Class() /* Ifc4x3_rc4::IfcHumidifierTypeEnum::IfcHumidifierTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcHumidifierTypeEnum::IfcHumidifierTypeEnum(Value v) { @@ -3466,7 +3466,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcImpactProtectionDeviceTypeE /* Ifc4x3_rc4::IfcImpactProtectionDeviceTypeEnum::IfcImpactProtectionDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcImpactProtectionDeviceTypeEnum::IfcImpactProtectionDeviceTypeEnum(Value v) { @@ -3495,7 +3495,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcInterceptorTypeEnum::Class( /* Ifc4x3_rc4::IfcInterceptorTypeEnum::IfcInterceptorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcInterceptorTypeEnum::IfcInterceptorTypeEnum(Value v) { @@ -3524,7 +3524,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcInternalOrExternalEnum::Cla /* Ifc4x3_rc4::IfcInternalOrExternalEnum::IfcInternalOrExternalEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcInternalOrExternalEnum::IfcInternalOrExternalEnum(Value v) { @@ -3553,7 +3553,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcInventoryTypeEnum::Class() /* Ifc4x3_rc4::IfcInventoryTypeEnum::IfcInventoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcInventoryTypeEnum::IfcInventoryTypeEnum(Value v) { @@ -3582,7 +3582,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Class( /* Ifc4x3_rc4::IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum(Value v) { @@ -3611,7 +3611,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcKnotType::Class() { return /* Ifc4x3_rc4::IfcKnotType::IfcKnotType(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcKnotType::IfcKnotType(Value v) { @@ -3640,7 +3640,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcLaborResourceTypeEnum::Clas /* Ifc4x3_rc4::IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum(Value v) { @@ -3669,7 +3669,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcLampTypeEnum::Class() { ret /* Ifc4x3_rc4::IfcLampTypeEnum::IfcLampTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcLampTypeEnum::IfcLampTypeEnum(Value v) { @@ -3698,7 +3698,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcLayerSetDirectionEnum::Clas /* Ifc4x3_rc4::IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum(Value v) { @@ -3727,7 +3727,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcLightDistributionCurveEnum: /* Ifc4x3_rc4::IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum(Value v) { @@ -3756,7 +3756,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcLightEmissionSourceEnum::Cl /* Ifc4x3_rc4::IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum(Value v) { @@ -3785,7 +3785,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcLightFixtureTypeEnum::Class /* Ifc4x3_rc4::IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum(Value v) { @@ -3814,7 +3814,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Cla /* Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::IfcLiquidTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::IfcLiquidTerminalTypeEnum(Value v) { @@ -3843,7 +3843,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcLoadGroupTypeEnum::Class() /* Ifc4x3_rc4::IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum(Value v) { @@ -3872,7 +3872,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcLogicalOperatorEnum::Class( /* Ifc4x3_rc4::IfcLogicalOperatorEnum::IfcLogicalOperatorEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcLogicalOperatorEnum::IfcLogicalOperatorEnum(Value v) { @@ -3901,7 +3901,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Cla /* Ifc4x3_rc4::IfcMarineFacilityTypeEnum::IfcMarineFacilityTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcMarineFacilityTypeEnum::IfcMarineFacilityTypeEnum(Value v) { @@ -3930,7 +3930,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcMarinePartTypeEnum::Class() /* Ifc4x3_rc4::IfcMarinePartTypeEnum::IfcMarinePartTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcMarinePartTypeEnum::IfcMarinePartTypeEnum(Value v) { @@ -3959,7 +3959,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum: /* Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum(Value v) { @@ -3988,7 +3988,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Clas /* Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum(Value v) { @@ -4017,7 +4017,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcMemberTypeEnum::Class() { r /* Ifc4x3_rc4::IfcMemberTypeEnum::IfcMemberTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcMemberTypeEnum::IfcMemberTypeEnum(Value v) { @@ -4046,7 +4046,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcMobileTelecommunicationsApp /* Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunicationsApplianceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunicationsApplianceTypeEnum(Value v) { @@ -4075,7 +4075,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Clas /* Ifc4x3_rc4::IfcMooringDeviceTypeEnum::IfcMooringDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcMooringDeviceTypeEnum::IfcMooringDeviceTypeEnum(Value v) { @@ -4104,7 +4104,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Cl /* Ifc4x3_rc4::IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum(Value v) { @@ -4133,7 +4133,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcNavigationElementTypeEnum:: /* Ifc4x3_rc4::IfcNavigationElementTypeEnum::IfcNavigationElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcNavigationElementTypeEnum::IfcNavigationElementTypeEnum(Value v) { @@ -4162,7 +4162,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcObjectTypeEnum::Class() { r /* Ifc4x3_rc4::IfcObjectTypeEnum::IfcObjectTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcObjectTypeEnum::IfcObjectTypeEnum(Value v) { @@ -4191,7 +4191,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcObjectiveEnum::Class() { re /* Ifc4x3_rc4::IfcObjectiveEnum::IfcObjectiveEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcObjectiveEnum::IfcObjectiveEnum(Value v) { @@ -4220,7 +4220,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcOccupantTypeEnum::Class() { /* Ifc4x3_rc4::IfcOccupantTypeEnum::IfcOccupantTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcOccupantTypeEnum::IfcOccupantTypeEnum(Value v) { @@ -4249,7 +4249,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcOpeningElementTypeEnum::Cla /* Ifc4x3_rc4::IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum(Value v) { @@ -4278,7 +4278,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcOutletTypeEnum::Class() { r /* Ifc4x3_rc4::IfcOutletTypeEnum::IfcOutletTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcOutletTypeEnum::IfcOutletTypeEnum(Value v) { @@ -4307,7 +4307,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcPavementTypeEnum::Class() { /* Ifc4x3_rc4::IfcPavementTypeEnum::IfcPavementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcPavementTypeEnum::IfcPavementTypeEnum(Value v) { @@ -4336,7 +4336,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum: /* Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum(Value v) { @@ -4365,7 +4365,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcPermeableCoveringOperationE /* Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum(Value v) { @@ -4394,7 +4394,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcPermitTypeEnum::Class() { r /* Ifc4x3_rc4::IfcPermitTypeEnum::IfcPermitTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcPermitTypeEnum::IfcPermitTypeEnum(Value v) { @@ -4423,7 +4423,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Clas /* Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum(Value v) { @@ -4452,7 +4452,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcPileConstructionEnum::Class /* Ifc4x3_rc4::IfcPileConstructionEnum::IfcPileConstructionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcPileConstructionEnum::IfcPileConstructionEnum(Value v) { @@ -4481,7 +4481,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcPileTypeEnum::Class() { ret /* Ifc4x3_rc4::IfcPileTypeEnum::IfcPileTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcPileTypeEnum::IfcPileTypeEnum(Value v) { @@ -4510,7 +4510,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcPipeFittingTypeEnum::Class( /* Ifc4x3_rc4::IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum(Value v) { @@ -4539,7 +4539,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Class( /* Ifc4x3_rc4::IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum(Value v) { @@ -4568,7 +4568,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcPlateTypeEnum::Class() { re /* Ifc4x3_rc4::IfcPlateTypeEnum::IfcPlateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcPlateTypeEnum::IfcPlateTypeEnum(Value v) { @@ -4597,7 +4597,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcPreferredSurfaceCurveRepres /* Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation(Value v) { @@ -4626,7 +4626,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcProcedureTypeEnum::Class() /* Ifc4x3_rc4::IfcProcedureTypeEnum::IfcProcedureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcProcedureTypeEnum::IfcProcedureTypeEnum(Value v) { @@ -4655,7 +4655,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcProfileTypeEnum::Class() { /* Ifc4x3_rc4::IfcProfileTypeEnum::IfcProfileTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcProfileTypeEnum::IfcProfileTypeEnum(Value v) { @@ -4684,7 +4684,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcProjectOrderTypeEnum::Class /* Ifc4x3_rc4::IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum(Value v) { @@ -4713,7 +4713,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum:: /* Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum(Value v) { @@ -4742,7 +4742,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcProjectionElementTypeEnum:: /* Ifc4x3_rc4::IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum(Value v) { @@ -4771,7 +4771,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum /* Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum(Value v) { @@ -4800,7 +4800,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcProtectiveDeviceTrippingUni /* Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum(Value v) { @@ -4829,7 +4829,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::C /* Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum(Value v) { @@ -4858,7 +4858,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcPumpTypeEnum::Class() { ret /* Ifc4x3_rc4::IfcPumpTypeEnum::IfcPumpTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcPumpTypeEnum::IfcPumpTypeEnum(Value v) { @@ -4887,7 +4887,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcRailTypeEnum::Class() { ret /* Ifc4x3_rc4::IfcRailTypeEnum::IfcRailTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcRailTypeEnum::IfcRailTypeEnum(Value v) { @@ -4916,7 +4916,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcRailingTypeEnum::Class() { /* Ifc4x3_rc4::IfcRailingTypeEnum::IfcRailingTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcRailingTypeEnum::IfcRailingTypeEnum(Value v) { @@ -4945,7 +4945,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcRailwayPartTypeEnum::Class( /* Ifc4x3_rc4::IfcRailwayPartTypeEnum::IfcRailwayPartTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcRailwayPartTypeEnum::IfcRailwayPartTypeEnum(Value v) { @@ -4974,7 +4974,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcRailwayTypeEnum::Class() { /* Ifc4x3_rc4::IfcRailwayTypeEnum::IfcRailwayTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcRailwayTypeEnum::IfcRailwayTypeEnum(Value v) { @@ -5003,7 +5003,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcRampFlightTypeEnum::Class() /* Ifc4x3_rc4::IfcRampFlightTypeEnum::IfcRampFlightTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcRampFlightTypeEnum::IfcRampFlightTypeEnum(Value v) { @@ -5032,7 +5032,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcRampTypeEnum::Class() { ret /* Ifc4x3_rc4::IfcRampTypeEnum::IfcRampTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcRampTypeEnum::IfcRampTypeEnum(Value v) { @@ -5061,7 +5061,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcRecurrenceTypeEnum::Class() /* Ifc4x3_rc4::IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum(Value v) { @@ -5090,7 +5090,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcReferentTypeEnum::Class() { /* Ifc4x3_rc4::IfcReferentTypeEnum::IfcReferentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcReferentTypeEnum::IfcReferentTypeEnum(Value v) { @@ -5119,7 +5119,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcReflectanceMethodEnum::Clas /* Ifc4x3_rc4::IfcReflectanceMethodEnum::IfcReflectanceMethodEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcReflectanceMethodEnum::IfcReflectanceMethodEnum(Value v) { @@ -5148,7 +5148,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Cla /* Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::IfcReinforcedSoilTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::IfcReinforcedSoilTypeEnum(Value v) { @@ -5177,7 +5177,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcReinforcingBarRoleEnum::Cla /* Ifc4x3_rc4::IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum(Value v) { @@ -5206,7 +5206,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum:: /* Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum(Value v) { @@ -5235,7 +5235,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Cla /* Ifc4x3_rc4::IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum(Value v) { @@ -5264,7 +5264,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Cl /* Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum(Value v) { @@ -5293,7 +5293,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcRoadPartTypeEnum::Class() { /* Ifc4x3_rc4::IfcRoadPartTypeEnum::IfcRoadPartTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcRoadPartTypeEnum::IfcRoadPartTypeEnum(Value v) { @@ -5322,7 +5322,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcRoadTypeEnum::Class() { ret /* Ifc4x3_rc4::IfcRoadTypeEnum::IfcRoadTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcRoadTypeEnum::IfcRoadTypeEnum(Value v) { @@ -5351,7 +5351,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcRoleEnum::Class() { return /* Ifc4x3_rc4::IfcRoleEnum::IfcRoleEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcRoleEnum::IfcRoleEnum(Value v) { @@ -5380,7 +5380,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcRoofTypeEnum::Class() { ret /* Ifc4x3_rc4::IfcRoofTypeEnum::IfcRoofTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcRoofTypeEnum::IfcRoofTypeEnum(Value v) { @@ -5409,7 +5409,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcSIPrefix::Class() { return /* Ifc4x3_rc4::IfcSIPrefix::IfcSIPrefix(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcSIPrefix::IfcSIPrefix(Value v) { @@ -5438,7 +5438,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcSIUnitName::Class() { retur /* Ifc4x3_rc4::IfcSIUnitName::IfcSIUnitName(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcSIUnitName::IfcSIUnitName(Value v) { @@ -5467,7 +5467,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::C /* Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum(Value v) { @@ -5496,7 +5496,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcSectionTypeEnum::Class() { /* Ifc4x3_rc4::IfcSectionTypeEnum::IfcSectionTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcSectionTypeEnum::IfcSectionTypeEnum(Value v) { @@ -5525,7 +5525,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcSensorTypeEnum::Class() { r /* Ifc4x3_rc4::IfcSensorTypeEnum::IfcSensorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcSensorTypeEnum::IfcSensorTypeEnum(Value v) { @@ -5554,7 +5554,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcSequenceEnum::Class() { ret /* Ifc4x3_rc4::IfcSequenceEnum::IfcSequenceEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcSequenceEnum::IfcSequenceEnum(Value v) { @@ -5583,7 +5583,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Clas /* Ifc4x3_rc4::IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum(Value v) { @@ -5612,7 +5612,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcSignTypeEnum::Class() { ret /* Ifc4x3_rc4::IfcSignTypeEnum::IfcSignTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcSignTypeEnum::IfcSignTypeEnum(Value v) { @@ -5641,7 +5641,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcSignalTypeEnum::Class() { r /* Ifc4x3_rc4::IfcSignalTypeEnum::IfcSignalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcSignalTypeEnum::IfcSignalTypeEnum(Value v) { @@ -5670,7 +5670,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcSimplePropertyTemplateTypeE /* Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum(Value v) { @@ -5699,7 +5699,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcSlabTypeEnum::Class() { ret /* Ifc4x3_rc4::IfcSlabTypeEnum::IfcSlabTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcSlabTypeEnum::IfcSlabTypeEnum(Value v) { @@ -5728,7 +5728,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Class( /* Ifc4x3_rc4::IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum(Value v) { @@ -5757,7 +5757,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Class( /* Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum(Value v) { @@ -5786,7 +5786,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcSpaceTypeEnum::Class() { re /* Ifc4x3_rc4::IfcSpaceTypeEnum::IfcSpaceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcSpaceTypeEnum::IfcSpaceTypeEnum(Value v) { @@ -5815,7 +5815,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Class( /* Ifc4x3_rc4::IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum(Value v) { @@ -5844,7 +5844,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcStackTerminalTypeEnum::Clas /* Ifc4x3_rc4::IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum(Value v) { @@ -5873,7 +5873,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcStairFlightTypeEnum::Class( /* Ifc4x3_rc4::IfcStairFlightTypeEnum::IfcStairFlightTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcStairFlightTypeEnum::IfcStairFlightTypeEnum(Value v) { @@ -5902,7 +5902,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcStairTypeEnum::Class() { re /* Ifc4x3_rc4::IfcStairTypeEnum::IfcStairTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcStairTypeEnum::IfcStairTypeEnum(Value v) { @@ -5931,7 +5931,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcStateEnum::Class() { return /* Ifc4x3_rc4::IfcStateEnum::IfcStateEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcStateEnum::IfcStateEnum(Value v) { @@ -5960,7 +5960,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcStructuralCurveActivityType /* Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum(Value v) { @@ -5989,7 +5989,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcStructuralCurveMemberTypeEn /* Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum(Value v) { @@ -6018,7 +6018,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcStructuralSurfaceActivityTy /* Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum(Value v) { @@ -6047,7 +6047,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcStructuralSurfaceMemberType /* Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum(Value v) { @@ -6076,7 +6076,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcSubContractResourceTypeEnum /* Ifc4x3_rc4::IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum(Value v) { @@ -6105,7 +6105,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Cla /* Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum(Value v) { @@ -6134,7 +6134,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcSurfaceSide::Class() { retu /* Ifc4x3_rc4::IfcSurfaceSide::IfcSurfaceSide(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcSurfaceSide::IfcSurfaceSide(Value v) { @@ -6163,7 +6163,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Cl /* Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum(Value v) { @@ -6192,7 +6192,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcSystemFurnitureElementTypeE /* Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum(Value v) { @@ -6221,7 +6221,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcTankTypeEnum::Class() { ret /* Ifc4x3_rc4::IfcTankTypeEnum::IfcTankTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcTankTypeEnum::IfcTankTypeEnum(Value v) { @@ -6250,7 +6250,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcTaskDurationEnum::Class() { /* Ifc4x3_rc4::IfcTaskDurationEnum::IfcTaskDurationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcTaskDurationEnum::IfcTaskDurationEnum(Value v) { @@ -6279,7 +6279,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcTaskTypeEnum::Class() { ret /* Ifc4x3_rc4::IfcTaskTypeEnum::IfcTaskTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcTaskTypeEnum::IfcTaskTypeEnum(Value v) { @@ -6308,7 +6308,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Class /* Ifc4x3_rc4::IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum(Value v) { @@ -6337,7 +6337,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcTendonConduitTypeEnum::Clas /* Ifc4x3_rc4::IfcTendonConduitTypeEnum::IfcTendonConduitTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcTendonConduitTypeEnum::IfcTendonConduitTypeEnum(Value v) { @@ -6366,7 +6366,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcTendonTypeEnum::Class() { r /* Ifc4x3_rc4::IfcTendonTypeEnum::IfcTendonTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcTendonTypeEnum::IfcTendonTypeEnum(Value v) { @@ -6395,7 +6395,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcTextPath::Class() { return /* Ifc4x3_rc4::IfcTextPath::IfcTextPath(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcTextPath::IfcTextPath(Value v) { @@ -6424,7 +6424,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Cla /* Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum(Value v) { @@ -6453,7 +6453,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcTrackElementTypeEnum::Class /* Ifc4x3_rc4::IfcTrackElementTypeEnum::IfcTrackElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcTrackElementTypeEnum::IfcTrackElementTypeEnum(Value v) { @@ -6482,7 +6482,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcTransformerTypeEnum::Class( /* Ifc4x3_rc4::IfcTransformerTypeEnum::IfcTransformerTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcTransformerTypeEnum::IfcTransformerTypeEnum(Value v) { @@ -6511,7 +6511,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcTransitionCode::Class() { r /* Ifc4x3_rc4::IfcTransitionCode::IfcTransitionCode(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcTransitionCode::IfcTransitionCode(Value v) { @@ -6540,7 +6540,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcTransportElementFixedTypeEn /* Ifc4x3_rc4::IfcTransportElementFixedTypeEnum::IfcTransportElementFixedTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcTransportElementFixedTypeEnum::IfcTransportElementFixedTypeEnum(Value v) { @@ -6569,7 +6569,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcTransportElementNonFixedTyp /* Ifc4x3_rc4::IfcTransportElementNonFixedTypeEnum::IfcTransportElementNonFixedTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcTransportElementNonFixedTypeEnum::IfcTransportElementNonFixedTypeEnum(Value v) { @@ -6598,7 +6598,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcTrimmingPreference::Class() /* Ifc4x3_rc4::IfcTrimmingPreference::IfcTrimmingPreference(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcTrimmingPreference::IfcTrimmingPreference(Value v) { @@ -6627,7 +6627,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcTubeBundleTypeEnum::Class() /* Ifc4x3_rc4::IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum(Value v) { @@ -6656,7 +6656,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcUnitEnum::Class() { return /* Ifc4x3_rc4::IfcUnitEnum::IfcUnitEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcUnitEnum::IfcUnitEnum(Value v) { @@ -6685,7 +6685,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcUnitaryControlElementTypeEn /* Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum(Value v) { @@ -6714,7 +6714,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::C /* Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum(Value v) { @@ -6743,7 +6743,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcValveTypeEnum::Class() { re /* Ifc4x3_rc4::IfcValveTypeEnum::IfcValveTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcValveTypeEnum::IfcValveTypeEnum(Value v) { @@ -6772,7 +6772,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Cl /* Ifc4x3_rc4::IfcVibrationDamperTypeEnum::IfcVibrationDamperTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcVibrationDamperTypeEnum::IfcVibrationDamperTypeEnum(Value v) { @@ -6801,7 +6801,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum:: /* Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum(Value v) { @@ -6830,7 +6830,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Cla /* Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum(Value v) { @@ -6859,7 +6859,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcWallTypeEnum::Class() { ret /* Ifc4x3_rc4::IfcWallTypeEnum::IfcWallTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcWallTypeEnum::IfcWallTypeEnum(Value v) { @@ -6888,7 +6888,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Clas /* Ifc4x3_rc4::IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum(Value v) { @@ -6917,7 +6917,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcWindowPanelOperationEnum::C /* Ifc4x3_rc4::IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum(Value v) { @@ -6946,7 +6946,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcWindowPanelPositionEnum::Cl /* Ifc4x3_rc4::IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum(Value v) { @@ -6975,7 +6975,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcWindowStyleConstructionEnum /* Ifc4x3_rc4::IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum(Value v) { @@ -7004,7 +7004,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcWindowStyleOperationEnum::C /* Ifc4x3_rc4::IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum(Value v) { @@ -7033,7 +7033,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcWindowTypeEnum::Class() { r /* Ifc4x3_rc4::IfcWindowTypeEnum::IfcWindowTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcWindowTypeEnum::IfcWindowTypeEnum(Value v) { @@ -7062,7 +7062,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcWindowTypePartitioningEnum: /* Ifc4x3_rc4::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum(Value v) { @@ -7091,7 +7091,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Class /* Ifc4x3_rc4::IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum(Value v) { @@ -7120,7 +7120,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcWorkPlanTypeEnum::Class() { /* Ifc4x3_rc4::IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum(Value v) { @@ -7149,7 +7149,7 @@ const ifcopenshell::enumeration_type& Ifc4x3_rc4::IfcWorkScheduleTypeEnum::Class /* Ifc4x3_rc4::IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum(const std::weak_ptr& e) - : express::DeclaredType(e) + : express::declared_type(e) {} Ifc4x3_rc4::IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum(Value v) { @@ -7749,8 +7749,8 @@ Ifc4x3_rc4::IfcPressureMeasure::operator double() const { return get_attribute_v // Function implementations for IfcPropertySetDefinitionSet const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcPropertySetDefinitionSet::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[834]); } -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); } +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]); } @@ -7966,7 +7966,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcActionRequest::Class() { return *((if 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>(); } +::Ifc4x3_rc4::IfcActorSelect Ifc4x3_rc4::IfcActor::TheActor() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcActorSelect>(); } void Ifc4x3_rc4::IfcActor::setTheActor(const ::Ifc4x3_rc4::IfcActorSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } std::vector<::Ifc4x3_rc4::IfcRelAssignsToActor> Ifc4x3_rc4::IfcActor::IsActingUpon() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[906], 6)); } @@ -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]); } -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; } +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)); } @@ -8024,18 +8024,18 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcAdvancedBrep::Class() { return *((ifc 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); } -void Ifc4x3_rc4::IfcAdvancedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_rc4::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc4::IfcClosedShell > Ifc4x3_rc4::IfcAdvancedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcClosedShell>(es); } +void Ifc4x3_rc4::IfcAdvancedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_rc4::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_rc4::IfcAdvancedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[15]); } -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; } +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]); } -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; } +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)); } @@ -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]); } -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; } +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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -8144,7 +8144,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcAlignmentHorizontal::Class() { return 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>(); } +::Ifc4x3_rc4::IfcCartesianPoint Ifc4x3_rc4::IfcAlignmentHorizontalSegment::StartPoint() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcCartesianPoint>(); } void Ifc4x3_rc4::IfcAlignmentHorizontalSegment::setStartPoint(const ::Ifc4x3_rc4::IfcCartesianPoint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc4x3_rc4::IfcAlignmentHorizontalSegment::StartDirection() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcAlignmentHorizontalSegment::setStartDirection(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -8174,7 +8174,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcAlignmentParameterSegment::Class() { 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>(); } +::Ifc4x3_rc4::IfcAlignmentParameterSegment Ifc4x3_rc4::IfcAlignmentSegment::DesignParameters() const { return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc4::IfcAlignmentParameterSegment>(); } void Ifc4x3_rc4::IfcAlignmentSegment::setDesignParameters(const ::Ifc4x3_rc4::IfcAlignmentParameterSegment& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -8217,17 +8217,17 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcAnnotation::Class() { return *((ifcop 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>(); } +::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcAnnotationFillArea::OuterBoundary() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCurve>(); } void Ifc4x3_rc4::IfcAnnotationFillArea::setOuterBoundary(const ::Ifc4x3_rc4::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::optional< std::vector< ::Ifc4x3_rc4::IfcCurve > > Ifc4x3_rc4::IfcAnnotationFillArea::InnerBoundaries() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcCurve>(es); } -void Ifc4x3_rc4::IfcAnnotationFillArea::setInnerBoundaries(const std::optional< std::vector< ::Ifc4x3_rc4::IfcCurve > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } +std::optional< std::vector< ::Ifc4x3_rc4::IfcCurve > > Ifc4x3_rc4::IfcAnnotationFillArea::InnerBoundaries() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcCurve>(es); } +void Ifc4x3_rc4::IfcAnnotationFillArea::setInnerBoundaries(const std::optional< std::vector< ::Ifc4x3_rc4::IfcCurve > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } const ifcopenshell::entity& Ifc4x3_rc4::IfcAnnotationFillArea::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[47]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcOrganization Ifc4x3_rc4::IfcApplication::ApplicationDeveloper() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcOrganization>(); } void Ifc4x3_rc4::IfcApplication::setApplicationDeveloper(const ::Ifc4x3_rc4::IfcOrganization& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::string Ifc4x3_rc4::IfcApplication::Version() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcApplication::setVersion(const std::string& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8245,9 +8245,9 @@ std::optional< std::string > Ifc4x3_rc4::IfcAppliedValue::Name() const { if(get_ void Ifc4x3_rc4::IfcAppliedValue::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_rc4::IfcAppliedValue::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcAppliedValue::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc4::IfcAppliedValueSelect Ifc4x3_rc4::IfcAppliedValue::AppliedValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcAppliedValueSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcAppliedValueSelect>(); } +::Ifc4x3_rc4::IfcAppliedValueSelect Ifc4x3_rc4::IfcAppliedValue::AppliedValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcAppliedValueSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcAppliedValueSelect>(); } void Ifc4x3_rc4::IfcAppliedValue::setAppliedValue(const ::Ifc4x3_rc4::IfcAppliedValueSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcMeasureWithUnit Ifc4x3_rc4::IfcAppliedValue::UnitBasis() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcMeasureWithUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcMeasureWithUnit>(); } +::Ifc4x3_rc4::IfcMeasureWithUnit Ifc4x3_rc4::IfcAppliedValue::UnitBasis() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcMeasureWithUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcMeasureWithUnit>(); } void Ifc4x3_rc4::IfcAppliedValue::setUnitBasis(const ::Ifc4x3_rc4::IfcMeasureWithUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc4::IfcAppliedValue::ApplicableDate() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcAppliedValue::setApplicableDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -8259,13 +8259,13 @@ std::optional< std::string > Ifc4x3_rc4::IfcAppliedValue::Condition() const { if void Ifc4x3_rc4::IfcAppliedValue::setCondition(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } std::optional< ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value > Ifc4x3_rc4::IfcAppliedValue::ArithmeticOperator() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcAppliedValue::setArithmeticOperator(const std::optional< ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > Ifc4x3_rc4::IfcAppliedValue::Components() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc4::IfcAppliedValue>(es); } -void Ifc4x3_rc4::IfcAppliedValue::setComponents(const std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > Ifc4x3_rc4::IfcAppliedValue::Components() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc4::IfcAppliedValue>(es); } +void Ifc4x3_rc4::IfcAppliedValue::setComponents(const std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } 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]); } -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; } +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; } @@ -8282,9 +8282,9 @@ std::optional< std::string > Ifc4x3_rc4::IfcApproval::Level() const { if(get_att void Ifc4x3_rc4::IfcApproval::setLevel(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< std::string > Ifc4x3_rc4::IfcApproval::Qualifier() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcApproval::setQualifier(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_rc4::IfcActorSelect Ifc4x3_rc4::IfcApproval::RequestingApproval() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc4::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc4::IfcActorSelect>(); } +::Ifc4x3_rc4::IfcActorSelect Ifc4x3_rc4::IfcApproval::RequestingApproval() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc4::IfcActorSelect{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc4::IfcActorSelect>(); } void Ifc4x3_rc4::IfcApproval::setRequestingApproval(const ::Ifc4x3_rc4::IfcActorSelect& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc4::IfcActorSelect Ifc4x3_rc4::IfcApproval::GivingApproval() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc4::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc4::IfcActorSelect>(); } +::Ifc4x3_rc4::IfcActorSelect Ifc4x3_rc4::IfcApproval::GivingApproval() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc4::IfcActorSelect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc4::IfcActorSelect>(); } void Ifc4x3_rc4::IfcApproval::setGivingApproval(const ::Ifc4x3_rc4::IfcActorSelect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcApproval::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[433], 3)); } @@ -8297,17 +8297,17 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcApproval::Class() { return *((ifcopen 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>(); } +::Ifc4x3_rc4::IfcApproval Ifc4x3_rc4::IfcApprovalRelationship::RelatingApproval() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcApproval>(); } void Ifc4x3_rc4::IfcApprovalRelationship::setRelatingApproval(const ::Ifc4x3_rc4::IfcApproval& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_rc4::IfcApproval > Ifc4x3_rc4::IfcApprovalRelationship::RelatedApprovals() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc4::IfcApproval>(es); } -void Ifc4x3_rc4::IfcApprovalRelationship::setRelatedApprovals(const std::vector< ::Ifc4x3_rc4::IfcApproval >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc4::IfcApproval > Ifc4x3_rc4::IfcApprovalRelationship::RelatedApprovals() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc4::IfcApproval>(es); } +void Ifc4x3_rc4::IfcApprovalRelationship::setRelatedApprovals(const std::vector< ::Ifc4x3_rc4::IfcApproval >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc4::IfcApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[53]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcCurve>(); } void Ifc4x3_rc4::IfcArbitraryClosedProfileDef::setOuterCurve(const ::Ifc4x3_rc4::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8315,7 +8315,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcArbitraryClosedProfileDef::Class() { 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>(); } +::Ifc4x3_rc4::IfcBoundedCurve Ifc4x3_rc4::IfcArbitraryOpenProfileDef::Curve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcBoundedCurve>(); } void Ifc4x3_rc4::IfcArbitraryOpenProfileDef::setCurve(const ::Ifc4x3_rc4::IfcBoundedCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8323,31 +8323,31 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcArbitraryOpenProfileDef::Class() { re 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); } -void Ifc4x3_rc4::IfcArbitraryProfileDefWithVoids::setInnerCurves(const std::vector< ::Ifc4x3_rc4::IfcCurve >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc4::IfcCurve > Ifc4x3_rc4::IfcArbitraryProfileDefWithVoids::InnerCurves() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc4::IfcCurve>(es); } +void Ifc4x3_rc4::IfcArbitraryProfileDefWithVoids::setInnerCurves(const std::vector< ::Ifc4x3_rc4::IfcCurve >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc4::IfcArbitraryProfileDefWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[56]); } -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; } +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; } void Ifc4x3_rc4::IfcAsset::setIdentification(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc4::IfcCostValue Ifc4x3_rc4::IfcAsset::OriginalValue() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcCostValue{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcCostValue>(); } +::Ifc4x3_rc4::IfcCostValue Ifc4x3_rc4::IfcAsset::OriginalValue() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcCostValue{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcCostValue>(); } void Ifc4x3_rc4::IfcAsset::setOriginalValue(const ::Ifc4x3_rc4::IfcCostValue& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc4::IfcCostValue Ifc4x3_rc4::IfcAsset::CurrentValue() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc4::IfcCostValue{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc4::IfcCostValue>(); } +::Ifc4x3_rc4::IfcCostValue Ifc4x3_rc4::IfcAsset::CurrentValue() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc4::IfcCostValue{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc4::IfcCostValue>(); } void Ifc4x3_rc4::IfcAsset::setCurrentValue(const ::Ifc4x3_rc4::IfcCostValue& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc4::IfcCostValue Ifc4x3_rc4::IfcAsset::TotalReplacementCost() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc4::IfcCostValue{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc4::IfcCostValue>(); } +::Ifc4x3_rc4::IfcCostValue Ifc4x3_rc4::IfcAsset::TotalReplacementCost() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc4::IfcCostValue{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc4::IfcCostValue>(); } void Ifc4x3_rc4::IfcAsset::setTotalReplacementCost(const ::Ifc4x3_rc4::IfcCostValue& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc4::IfcActorSelect Ifc4x3_rc4::IfcAsset::Owner() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc4::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc4::IfcActorSelect>(); } +::Ifc4x3_rc4::IfcActorSelect Ifc4x3_rc4::IfcAsset::Owner() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc4::IfcActorSelect{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc4::IfcActorSelect>(); } void Ifc4x3_rc4::IfcAsset::setOwner(const ::Ifc4x3_rc4::IfcActorSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc4::IfcActorSelect Ifc4x3_rc4::IfcAsset::User() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc4::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_rc4::IfcActorSelect>(); } +::Ifc4x3_rc4::IfcActorSelect Ifc4x3_rc4::IfcAsset::User() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc4::IfcActorSelect{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x3_rc4::IfcActorSelect>(); } void Ifc4x3_rc4::IfcAsset::setUser(const ::Ifc4x3_rc4::IfcActorSelect& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -::Ifc4x3_rc4::IfcPerson Ifc4x3_rc4::IfcAsset::ResponsiblePerson() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x3_rc4::IfcPerson{}; } return ((express::Base)(get_attribute_value(11))).as<::Ifc4x3_rc4::IfcPerson>(); } +::Ifc4x3_rc4::IfcPerson Ifc4x3_rc4::IfcAsset::ResponsiblePerson() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x3_rc4::IfcPerson{}; } return ((express::base)(get_attribute_value(11))).as<::Ifc4x3_rc4::IfcPerson>(); } void Ifc4x3_rc4::IfcAsset::setResponsiblePerson(const ::Ifc4x3_rc4::IfcPerson& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } std::optional< std::string > Ifc4x3_rc4::IfcAsset::IncorporationDate() const { if(get_attribute_value(12).isNull()) { return std::nullopt; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc4::IfcAsset::setIncorporationDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x3_rc4::IfcCostValue Ifc4x3_rc4::IfcAsset::DepreciatedValue() const { if(get_attribute_value(13).isNull()) { return ::Ifc4x3_rc4::IfcCostValue{}; } return ((express::Base)(get_attribute_value(13))).as<::Ifc4x3_rc4::IfcCostValue>(); } +::Ifc4x3_rc4::IfcCostValue Ifc4x3_rc4::IfcAsset::DepreciatedValue() const { if(get_attribute_value(13).isNull()) { return ::Ifc4x3_rc4::IfcCostValue{}; } return ((express::base)(get_attribute_value(13))).as<::Ifc4x3_rc4::IfcCostValue>(); } void Ifc4x3_rc4::IfcAsset::setDepreciatedValue(const ::Ifc4x3_rc4::IfcCostValue& v) { set_attribute_value(13, v);if constexpr (false)unset_attribute_value(13); } @@ -8398,10 +8398,10 @@ void Ifc4x3_rc4::IfcAudioVisualApplianceType::setPredefinedType(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc4::IfcAudioVisualApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[65]); } -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; } +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>(); } +::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>(); } void Ifc4x3_rc4::IfcAxis1Placement::setAxis(const ::Ifc4x3_rc4::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8409,7 +8409,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcAxis1Placement::Class() { return *((i 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>(); } +::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>(); } void Ifc4x3_rc4::IfcAxis2Placement2D::setRefDirection(const ::Ifc4x3_rc4::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8417,9 +8417,9 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcAxis2Placement2D::Class() { return *( 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>(); } +::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>(); } void Ifc4x3_rc4::IfcAxis2Placement3D::setAxis(const ::Ifc4x3_rc4::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcAxis2Placement3D::RefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcDirection{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcDirection>(); } +::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcAxis2Placement3D::RefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcDirection{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcDirection>(); } void Ifc4x3_rc4::IfcAxis2Placement3D::setRefDirection(const ::Ifc4x3_rc4::IfcDirection& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8427,9 +8427,9 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcAxis2Placement3D::Class() { return *( 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>(); } +::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>(); } void Ifc4x3_rc4::IfcAxis2PlacementLinear::setAxis(const ::Ifc4x3_rc4::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcAxis2PlacementLinear::RefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcDirection{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcDirection>(); } +::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcAxis2PlacementLinear::RefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcDirection{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcDirection>(); } void Ifc4x3_rc4::IfcAxis2PlacementLinear::setRefDirection(const ::Ifc4x3_rc4::IfcDirection& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8439,8 +8439,8 @@ Ifc4x3_rc4::IfcAxis2PlacementLinear Ifc4x3_rc4::IfcAxis2PlacementLinear::initial // Function implementations for IfcBSplineCurve int64_t Ifc4x3_rc4::IfcBSplineCurve::Degree() const { int64_t v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcBSplineCurve::setDegree(const int64_t& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > Ifc4x3_rc4::IfcBSplineCurve::ControlPointsList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcCartesianPoint>(es); } -void Ifc4x3_rc4::IfcBSplineCurve::setControlPointsList(const std::vector< ::Ifc4x3_rc4::IfcCartesianPoint >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > Ifc4x3_rc4::IfcBSplineCurve::ControlPointsList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcCartesianPoint>(es); } +void Ifc4x3_rc4::IfcBSplineCurve::setControlPointsList(const std::vector< ::Ifc4x3_rc4::IfcCartesianPoint >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } ::Ifc4x3_rc4::IfcBSplineCurveForm::Value Ifc4x3_rc4::IfcBSplineCurve::CurveForm() const { return ::Ifc4x3_rc4::IfcBSplineCurveForm::FromString(get_attribute_value(2)); } void Ifc4x3_rc4::IfcBSplineCurve::setCurveForm(const ::Ifc4x3_rc4::IfcBSplineCurveForm::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4x3_rc4::IfcBSplineCurveForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } boost::logic::tribool Ifc4x3_rc4::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = get_attribute_value(3); 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]); } -Ifc4x3_rc4::IfcBSplineCurve Ifc4x3_rc4::IfcBSplineCurve::initialize(int64_t 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; } +Ifc4x3_rc4::IfcBSplineCurve Ifc4x3_rc4::IfcBSplineCurve::initialize(int64_t 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< int64_t > /*[2:?]*/ Ifc4x3_rc4::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int64_t > /*[2:?]*/ v = get_attribute_value(5); return v; } @@ -8462,15 +8462,15 @@ void Ifc4x3_rc4::IfcBSplineCurveWithKnots::setKnotSpec(const ::Ifc4x3_rc4::IfcKn const ifcopenshell::entity& Ifc4x3_rc4::IfcBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[110]); } -Ifc4x3_rc4::IfcBSplineCurveWithKnots Ifc4x3_rc4::IfcBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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; } +Ifc4x3_rc4::IfcBSplineCurveWithKnots Ifc4x3_rc4::IfcBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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 int64_t Ifc4x3_rc4::IfcBSplineSurface::UDegree() const { int64_t v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcBSplineSurface::setUDegree(const int64_t& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } int64_t Ifc4x3_rc4::IfcBSplineSurface::VDegree() const { int64_t v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcBSplineSurface::setVDegree(const int64_t& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector< std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > > Ifc4x3_rc4::IfcBSplineSurface::ControlPointsList() const { std::vector> es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcCartesianPoint>(es); } -void Ifc4x3_rc4::IfcBSplineSurface::setControlPointsList(const std::vector< std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > > Ifc4x3_rc4::IfcBSplineSurface::ControlPointsList() const { std::vector> es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcCartesianPoint>(es); } +void Ifc4x3_rc4::IfcBSplineSurface::setControlPointsList(const std::vector< std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } ::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value Ifc4x3_rc4::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4x3_rc4::IfcBSplineSurfaceForm::FromString(get_attribute_value(3)); } void Ifc4x3_rc4::IfcBSplineSurface::setSurfaceForm(const ::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value& v) { set_attribute_value(3, enumeration_reference(&::Ifc4x3_rc4::IfcBSplineSurfaceForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } boost::logic::tribool Ifc4x3_rc4::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = get_attribute_value(4); 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]); } -Ifc4x3_rc4::IfcBSplineSurface Ifc4x3_rc4::IfcBSplineSurface::initialize(int64_t v1_UDegree, int64_t 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; } +Ifc4x3_rc4::IfcBSplineSurface Ifc4x3_rc4::IfcBSplineSurface::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int64_t > /*[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]); } -Ifc4x3_rc4::IfcBSplineSurfaceWithKnots Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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; } +Ifc4x3_rc4::IfcBSplineSurfaceWithKnots Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -8574,7 +8574,7 @@ void Ifc4x3_rc4::IfcBoilerType::setPredefinedType(const ::Ifc4x3_rc4::IfcBoilerT const ifcopenshell::entity& Ifc4x3_rc4::IfcBoilerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[86]); } -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; } +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 @@ -8585,9 +8585,9 @@ Ifc4x3_rc4::IfcBooleanClippingResult Ifc4x3_rc4::IfcBooleanClippingResult::initi // Function implementations for IfcBooleanResult ::Ifc4x3_rc4::IfcBooleanOperator::Value Ifc4x3_rc4::IfcBooleanResult::Operator() const { return ::Ifc4x3_rc4::IfcBooleanOperator::FromString(get_attribute_value(0)); } void Ifc4x3_rc4::IfcBooleanResult::setOperator(const ::Ifc4x3_rc4::IfcBooleanOperator::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc4x3_rc4::IfcBooleanOperator::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcBooleanOperand Ifc4x3_rc4::IfcBooleanResult::FirstOperand() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcBooleanOperand>(); } +::Ifc4x3_rc4::IfcBooleanOperand Ifc4x3_rc4::IfcBooleanResult::FirstOperand() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcBooleanOperand>(); } void Ifc4x3_rc4::IfcBooleanResult::setFirstOperand(const ::Ifc4x3_rc4::IfcBooleanOperand& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcBooleanOperand Ifc4x3_rc4::IfcBooleanResult::SecondOperand() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcBooleanOperand>(); } +::Ifc4x3_rc4::IfcBooleanOperand Ifc4x3_rc4::IfcBooleanResult::SecondOperand() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcBooleanOperand>(); } void Ifc4x3_rc4::IfcBooleanResult::setSecondOperand(const ::Ifc4x3_rc4::IfcBooleanOperand& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8612,20 +8612,20 @@ Ifc4x3_rc4::IfcBoundaryCondition Ifc4x3_rc4::IfcBoundaryCondition::initialize(st const ifcopenshell::entity& Ifc4x3_rc4::IfcBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[95]); } -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; } +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>(); } +::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>(); } void Ifc4x3_rc4::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(const ::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x3_rc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x3_rc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect>(); } void Ifc4x3_rc4::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(const ::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x3_rc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x3_rc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect>(); } void Ifc4x3_rc4::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(const ::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x3_rc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x3_rc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect>(); } void Ifc4x3_rc4::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(const ::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x3_rc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x3_rc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect>(); } void Ifc4x3_rc4::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(const ::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x3_rc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect Ifc4x3_rc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect>(); } void Ifc4x3_rc4::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(const ::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -8633,11 +8633,11 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcBoundaryEdgeCondition::Class() { retu 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>(); } +::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>(); } void Ifc4x3_rc4::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(const ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect Ifc4x3_rc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect Ifc4x3_rc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect>(); } void Ifc4x3_rc4::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(const ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect Ifc4x3_rc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect Ifc4x3_rc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect>(); } void Ifc4x3_rc4::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(const ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -8645,17 +8645,17 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcBoundaryFaceCondition::Class() { retu 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>(); } +::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>(); } void Ifc4x3_rc4::IfcBoundaryNodeCondition::setTranslationalStiffnessX(const ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcTranslationalStiffnessSelect Ifc4x3_rc4::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcTranslationalStiffnessSelect>(); } +::Ifc4x3_rc4::IfcTranslationalStiffnessSelect Ifc4x3_rc4::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcTranslationalStiffnessSelect>(); } void Ifc4x3_rc4::IfcBoundaryNodeCondition::setTranslationalStiffnessY(const ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcTranslationalStiffnessSelect Ifc4x3_rc4::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcTranslationalStiffnessSelect>(); } +::Ifc4x3_rc4::IfcTranslationalStiffnessSelect Ifc4x3_rc4::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcTranslationalStiffnessSelect>(); } void Ifc4x3_rc4::IfcBoundaryNodeCondition::setTranslationalStiffnessZ(const ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc4::IfcRotationalStiffnessSelect Ifc4x3_rc4::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc4::IfcRotationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcRotationalStiffnessSelect>(); } +::Ifc4x3_rc4::IfcRotationalStiffnessSelect Ifc4x3_rc4::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc4::IfcRotationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcRotationalStiffnessSelect>(); } void Ifc4x3_rc4::IfcBoundaryNodeCondition::setRotationalStiffnessX(const ::Ifc4x3_rc4::IfcRotationalStiffnessSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcRotationalStiffnessSelect Ifc4x3_rc4::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc4::IfcRotationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcRotationalStiffnessSelect>(); } +::Ifc4x3_rc4::IfcRotationalStiffnessSelect Ifc4x3_rc4::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc4::IfcRotationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcRotationalStiffnessSelect>(); } void Ifc4x3_rc4::IfcBoundaryNodeCondition::setRotationalStiffnessY(const ::Ifc4x3_rc4::IfcRotationalStiffnessSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc4::IfcRotationalStiffnessSelect Ifc4x3_rc4::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcRotationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcRotationalStiffnessSelect>(); } +::Ifc4x3_rc4::IfcRotationalStiffnessSelect Ifc4x3_rc4::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcRotationalStiffnessSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcRotationalStiffnessSelect>(); } void Ifc4x3_rc4::IfcBoundaryNodeCondition::setRotationalStiffnessZ(const ::Ifc4x3_rc4::IfcRotationalStiffnessSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -8663,7 +8663,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcBoundaryNodeCondition::Class() { retu 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>(); } +::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>(); } void Ifc4x3_rc4::IfcBoundaryNodeConditionWarping::setWarpingStiffness(const ::Ifc4x3_rc4::IfcWarpingStiffnessSelect& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -8683,7 +8683,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcBoundedSurface::Class() { return *((i 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>(); } +::Ifc4x3_rc4::IfcCartesianPoint Ifc4x3_rc4::IfcBoundingBox::Corner() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCartesianPoint>(); } void Ifc4x3_rc4::IfcBoundingBox::setCorner(const ::Ifc4x3_rc4::IfcCartesianPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc4::IfcBoundingBox::XDim() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcBoundingBox::setXDim(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -8697,7 +8697,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcBoundingBox::Class() { return *((ifco 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>(); } +::Ifc4x3_rc4::IfcBoundingBox Ifc4x3_rc4::IfcBoxedHalfSpace::Enclosure() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcBoundingBox>(); } void Ifc4x3_rc4::IfcBoxedHalfSpace::setEnclosure(const ::Ifc4x3_rc4::IfcBoundingBox& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -8717,7 +8717,7 @@ std::optional< double > Ifc4x3_rc4::IfcBuilding::ElevationOfRefHeight() const { void Ifc4x3_rc4::IfcBuilding::setElevationOfRefHeight(const std::optional< double >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } std::optional< double > Ifc4x3_rc4::IfcBuilding::ElevationOfTerrain() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcBuilding::setElevationOfTerrain(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x3_rc4::IfcPostalAddress Ifc4x3_rc4::IfcBuilding::BuildingAddress() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x3_rc4::IfcPostalAddress{}; } return ((express::Base)(get_attribute_value(11))).as<::Ifc4x3_rc4::IfcPostalAddress>(); } +::Ifc4x3_rc4::IfcPostalAddress Ifc4x3_rc4::IfcBuilding::BuildingAddress() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x3_rc4::IfcPostalAddress{}; } return ((express::base)(get_attribute_value(11))).as<::Ifc4x3_rc4::IfcPostalAddress>(); } void Ifc4x3_rc4::IfcBuilding::setBuildingAddress(const ::Ifc4x3_rc4::IfcPostalAddress& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -8784,7 +8784,7 @@ Ifc4x3_rc4::IfcBuiltElement Ifc4x3_rc4::IfcBuiltElement::initialize(std::string const ifcopenshell::entity& Ifc4x3_rc4::IfcBuiltElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[125]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -8943,11 +8943,11 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcCartesianPointList3D::Class() { retur 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>(); } +::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>(); } void Ifc4x3_rc4::IfcCartesianTransformationOperator::setAxis1(const ::Ifc4x3_rc4::IfcDirection& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcCartesianTransformationOperator::Axis2() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc4::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcDirection>(); } +::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcCartesianTransformationOperator::Axis2() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc4::IfcDirection{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcDirection>(); } void Ifc4x3_rc4::IfcCartesianTransformationOperator::setAxis2(const ::Ifc4x3_rc4::IfcDirection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcCartesianPoint Ifc4x3_rc4::IfcCartesianTransformationOperator::LocalOrigin() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcCartesianPoint>(); } +::Ifc4x3_rc4::IfcCartesianPoint Ifc4x3_rc4::IfcCartesianTransformationOperator::LocalOrigin() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcCartesianPoint>(); } void Ifc4x3_rc4::IfcCartesianTransformationOperator::setLocalOrigin(const ::Ifc4x3_rc4::IfcCartesianPoint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc4x3_rc4::IfcCartesianTransformationOperator::Scale() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcCartesianTransformationOperator::setScale(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } @@ -8971,7 +8971,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcCartesianTransformationOperator2DnonU 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>(); } +::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>(); } void Ifc4x3_rc4::IfcCartesianTransformationOperator3D::setAxis3(const ::Ifc4x3_rc4::IfcDirection& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -9062,7 +9062,7 @@ Ifc4x3_rc4::IfcCivilElement Ifc4x3_rc4::IfcCivilElement::initialize(std::string const ifcopenshell::entity& Ifc4x3_rc4::IfcCivilElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[168]); } -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; } +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; } @@ -9087,7 +9087,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcClassification::Class() { return *((i 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>(); } +::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>(); } void Ifc4x3_rc4::IfcClassificationReference::setReferencedSource(const ::Ifc4x3_rc4::IfcClassificationReferenceSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc4::IfcClassificationReference::Description() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcClassificationReference::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -9104,7 +9104,7 @@ Ifc4x3_rc4::IfcClassificationReference Ifc4x3_rc4::IfcClassificationReference::i const ifcopenshell::entity& Ifc4x3_rc4::IfcClosedShell::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[173]); } -Ifc4x3_rc4::IfcClosedShell Ifc4x3_rc4::IfcClosedShell::initialize(std::vector< ::Ifc4x3_rc4::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } +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; } @@ -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]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -9194,50 +9194,50 @@ void Ifc4x3_rc4::IfcCommunicationsApplianceType::setPredefinedType(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc4::IfcCommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[188]); } -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; } +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; } void Ifc4x3_rc4::IfcComplexProperty::setUsageName(const std::string& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_rc4::IfcProperty > Ifc4x3_rc4::IfcComplexProperty::HasProperties() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc4::IfcProperty>(es); } -void Ifc4x3_rc4::IfcComplexProperty::setHasProperties(const std::vector< ::Ifc4x3_rc4::IfcProperty >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc4::IfcProperty > Ifc4x3_rc4::IfcComplexProperty::HasProperties() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc4::IfcProperty>(es); } +void Ifc4x3_rc4::IfcComplexProperty::setHasProperties(const std::vector< ::Ifc4x3_rc4::IfcProperty >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc4::IfcComplexProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[191]); } -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; } +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; } void Ifc4x3_rc4::IfcComplexPropertyTemplate::setUsageName(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } std::optional< ::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x3_rc4::IfcComplexPropertyTemplate::TemplateType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc4::IfcComplexPropertyTemplate::setTemplateType(const std::optional< ::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Value >& v) { if (v) {set_attribute_value(5, enumeration_reference(&::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertyTemplate > > Ifc4x3_rc4::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc4::IfcPropertyTemplate>(es); } -void Ifc4x3_rc4::IfcComplexPropertyTemplate::setHasPropertyTemplates(const std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertyTemplate > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertyTemplate > > Ifc4x3_rc4::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc4::IfcPropertyTemplate>(es); } +void Ifc4x3_rc4::IfcComplexPropertyTemplate::setHasPropertyTemplates(const std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertyTemplate > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } const ifcopenshell::entity& Ifc4x3_rc4::IfcComplexPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[192]); } -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; } +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); } -void Ifc4x3_rc4::IfcCompositeCurve::setSegments(const std::vector< ::Ifc4x3_rc4::IfcSegment >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc4::IfcSegment > Ifc4x3_rc4::IfcCompositeCurve::Segments() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcSegment>(es); } +void Ifc4x3_rc4::IfcCompositeCurve::setSegments(const std::vector< ::Ifc4x3_rc4::IfcSegment >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } boost::logic::tribool Ifc4x3_rc4::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcCompositeCurve::setSelfIntersect(const boost::logic::tribool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_rc4::IfcCompositeCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[194]); } -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; } +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]); } -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; } +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; } void Ifc4x3_rc4::IfcCompositeCurveSegment::setSameSense(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcCompositeCurveSegment::ParentCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcCurve>(); } +::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcCompositeCurveSegment::ParentCurve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcCurve>(); } void Ifc4x3_rc4::IfcCompositeCurveSegment::setParentCurve(const ::Ifc4x3_rc4::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -9245,14 +9245,14 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcCompositeCurveSegment::Class() { retu 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); } -void Ifc4x3_rc4::IfcCompositeProfileDef::setProfiles(const std::vector< ::Ifc4x3_rc4::IfcProfileDef >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc4::IfcProfileDef > Ifc4x3_rc4::IfcCompositeProfileDef::Profiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcProfileDef>(es); } +void Ifc4x3_rc4::IfcCompositeProfileDef::setProfiles(const std::vector< ::Ifc4x3_rc4::IfcProfileDef >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4x3_rc4::IfcCompositeProfileDef::Label() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcCompositeProfileDef::setLabel(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const ifcopenshell::entity& Ifc4x3_rc4::IfcCompositeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[197]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -9284,10 +9284,10 @@ void Ifc4x3_rc4::IfcCondenserType::setPredefinedType(const ::Ifc4x3_rc4::IfcCond const ifcopenshell::entity& Ifc4x3_rc4::IfcCondenserType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[203]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcAxis2Placement Ifc4x3_rc4::IfcConic::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcAxis2Placement>(); } void Ifc4x3_rc4::IfcConic::setPosition(const ::Ifc4x3_rc4::IfcAxis2Placement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -9295,17 +9295,17 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcConic::Class() { return *((ifcopenshe 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); } -void Ifc4x3_rc4::IfcConnectedFaceSet::setCfsFaces(const std::vector< ::Ifc4x3_rc4::IfcFace >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc4::IfcFace > Ifc4x3_rc4::IfcConnectedFaceSet::CfsFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcFace>(es); } +void Ifc4x3_rc4::IfcConnectedFaceSet::setCfsFaces(const std::vector< ::Ifc4x3_rc4::IfcFace >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc4::IfcConnectedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[206]); } -Ifc4x3_rc4::IfcConnectedFaceSet Ifc4x3_rc4::IfcConnectedFaceSet::initialize(std::vector< ::Ifc4x3_rc4::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } +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>(); } +::Ifc4x3_rc4::IfcCurveOrEdgeCurve Ifc4x3_rc4::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCurveOrEdgeCurve>(); } void Ifc4x3_rc4::IfcConnectionCurveGeometry::setCurveOnRelatingElement(const ::Ifc4x3_rc4::IfcCurveOrEdgeCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcCurveOrEdgeCurve Ifc4x3_rc4::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc4::IfcCurveOrEdgeCurve{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcCurveOrEdgeCurve>(); } +::Ifc4x3_rc4::IfcCurveOrEdgeCurve Ifc4x3_rc4::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc4::IfcCurveOrEdgeCurve{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcCurveOrEdgeCurve>(); } void Ifc4x3_rc4::IfcConnectionCurveGeometry::setCurveOnRelatedElement(const ::Ifc4x3_rc4::IfcCurveOrEdgeCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9331,9 +9331,9 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcConnectionPointEccentricity::Class() 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>(); } +::Ifc4x3_rc4::IfcPointOrVertexPoint Ifc4x3_rc4::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcPointOrVertexPoint>(); } void Ifc4x3_rc4::IfcConnectionPointGeometry::setPointOnRelatingElement(const ::Ifc4x3_rc4::IfcPointOrVertexPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcPointOrVertexPoint Ifc4x3_rc4::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc4::IfcPointOrVertexPoint{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcPointOrVertexPoint>(); } +::Ifc4x3_rc4::IfcPointOrVertexPoint Ifc4x3_rc4::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc4::IfcPointOrVertexPoint{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcPointOrVertexPoint>(); } void Ifc4x3_rc4::IfcConnectionPointGeometry::setPointOnRelatedElement(const ::Ifc4x3_rc4::IfcPointOrVertexPoint& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9341,9 +9341,9 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcConnectionPointGeometry::Class() { re 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>(); } +::Ifc4x3_rc4::IfcSurfaceOrFaceSurface Ifc4x3_rc4::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcSurfaceOrFaceSurface>(); } void Ifc4x3_rc4::IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(const ::Ifc4x3_rc4::IfcSurfaceOrFaceSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcSurfaceOrFaceSurface Ifc4x3_rc4::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc4::IfcSurfaceOrFaceSurface{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcSurfaceOrFaceSurface>(); } +::Ifc4x3_rc4::IfcSurfaceOrFaceSurface Ifc4x3_rc4::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc4::IfcSurfaceOrFaceSurface{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcSurfaceOrFaceSurface>(); } void Ifc4x3_rc4::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(const ::Ifc4x3_rc4::IfcSurfaceOrFaceSurface& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9351,9 +9351,9 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcConnectionSurfaceGeometry::Class() { 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>(); } +::Ifc4x3_rc4::IfcSolidOrShell Ifc4x3_rc4::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcSolidOrShell>(); } void Ifc4x3_rc4::IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(const ::Ifc4x3_rc4::IfcSolidOrShell& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcSolidOrShell Ifc4x3_rc4::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc4::IfcSolidOrShell{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcSolidOrShell>(); } +::Ifc4x3_rc4::IfcSolidOrShell Ifc4x3_rc4::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc4::IfcSolidOrShell{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcSolidOrShell>(); } void Ifc4x3_rc4::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(const ::Ifc4x3_rc4::IfcSolidOrShell& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9369,7 +9369,7 @@ void Ifc4x3_rc4::IfcConstraint::setDescription(const std::optional< std::string void Ifc4x3_rc4::IfcConstraint::setConstraintGrade(const ::Ifc4x3_rc4::IfcConstraintEnum::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4x3_rc4::IfcConstraintEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4x3_rc4::IfcConstraint::ConstraintSource() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcConstraint::setConstraintSource(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc4::IfcActorSelect Ifc4x3_rc4::IfcConstraint::CreatingActor() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc4::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcActorSelect>(); } +::Ifc4x3_rc4::IfcActorSelect Ifc4x3_rc4::IfcConstraint::CreatingActor() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc4::IfcActorSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcActorSelect>(); } void Ifc4x3_rc4::IfcConstraint::setCreatingActor(const ::Ifc4x3_rc4::IfcActorSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::optional< std::string > Ifc4x3_rc4::IfcConstraint::CreationTime() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcConstraint::setCreationTime(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } @@ -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]); } -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; } +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]); } -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; } +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]); } -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; } +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]); } -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; } +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]); } -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; } +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,29 +9428,29 @@ void Ifc4x3_rc4::IfcConstructionProductResourceType::setPredefinedType(const ::I const ifcopenshell::entity& Ifc4x3_rc4::IfcConstructionProductResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[223]); } -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; } +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>(); } +::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>(); } void Ifc4x3_rc4::IfcConstructionResource::setUsage(const ::Ifc4x3_rc4::IfcResourceTime& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > Ifc4x3_rc4::IfcConstructionResource::BaseCosts() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc4::IfcAppliedValue>(es); } -void Ifc4x3_rc4::IfcConstructionResource::setBaseCosts(const std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } -::Ifc4x3_rc4::IfcPhysicalQuantity Ifc4x3_rc4::IfcConstructionResource::BaseQuantity() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc4::IfcPhysicalQuantity{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc4::IfcPhysicalQuantity>(); } +std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > Ifc4x3_rc4::IfcConstructionResource::BaseCosts() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc4::IfcAppliedValue>(es); } +void Ifc4x3_rc4::IfcConstructionResource::setBaseCosts(const std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } +::Ifc4x3_rc4::IfcPhysicalQuantity Ifc4x3_rc4::IfcConstructionResource::BaseQuantity() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc4::IfcPhysicalQuantity{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc4::IfcPhysicalQuantity>(); } void Ifc4x3_rc4::IfcConstructionResource::setBaseQuantity(const ::Ifc4x3_rc4::IfcPhysicalQuantity& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } const ifcopenshell::entity& Ifc4x3_rc4::IfcConstructionResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[225]); } -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; } +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); } -void Ifc4x3_rc4::IfcConstructionResourceType::setBaseCosts(const std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } -::Ifc4x3_rc4::IfcPhysicalQuantity Ifc4x3_rc4::IfcConstructionResourceType::BaseQuantity() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc4::IfcPhysicalQuantity{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_rc4::IfcPhysicalQuantity>(); } +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); } +void Ifc4x3_rc4::IfcConstructionResourceType::setBaseCosts(const std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +::Ifc4x3_rc4::IfcPhysicalQuantity Ifc4x3_rc4::IfcConstructionResourceType::BaseQuantity() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc4::IfcPhysicalQuantity{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x3_rc4::IfcPhysicalQuantity>(); } void Ifc4x3_rc4::IfcConstructionResourceType::setBaseQuantity(const ::Ifc4x3_rc4::IfcPhysicalQuantity& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } const ifcopenshell::entity& Ifc4x3_rc4::IfcConstructionResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[226]); } -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; } +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; } @@ -9459,16 +9459,16 @@ std::optional< std::string > Ifc4x3_rc4::IfcContext::LongName() const { if(get_a void Ifc4x3_rc4::IfcContext::setLongName(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< std::string > Ifc4x3_rc4::IfcContext::Phase() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcContext::setPhase(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationContext > > Ifc4x3_rc4::IfcContext::RepresentationContexts() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc4::IfcRepresentationContext>(es); } -void Ifc4x3_rc4::IfcContext::setRepresentationContexts(const std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationContext > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } -::Ifc4x3_rc4::IfcUnitAssignment Ifc4x3_rc4::IfcContext::UnitsInContext() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc4::IfcUnitAssignment{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc4::IfcUnitAssignment>(); } +std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationContext > > Ifc4x3_rc4::IfcContext::RepresentationContexts() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc4::IfcRepresentationContext>(es); } +void Ifc4x3_rc4::IfcContext::setRepresentationContexts(const std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationContext > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +::Ifc4x3_rc4::IfcUnitAssignment Ifc4x3_rc4::IfcContext::UnitsInContext() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc4::IfcUnitAssignment{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc4::IfcUnitAssignment>(); } void Ifc4x3_rc4::IfcContext::setUnitsInContext(const ::Ifc4x3_rc4::IfcUnitAssignment& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } std::vector<::Ifc4x3_rc4::IfcRelDefinesByProperties> Ifc4x3_rc4::IfcContext::IsDefinedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[938], 4)); } 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]); } -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; } +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; } @@ -9502,12 +9502,12 @@ void Ifc4x3_rc4::IfcControllerType::setPredefinedType(const ::Ifc4x3_rc4::IfcCon const ifcopenshell::entity& Ifc4x3_rc4::IfcControllerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[232]); } -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; } +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; } void Ifc4x3_rc4::IfcConversionBasedUnit::setName(const std::string& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcMeasureWithUnit Ifc4x3_rc4::IfcConversionBasedUnit::ConversionFactor() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcMeasureWithUnit>(); } +::Ifc4x3_rc4::IfcMeasureWithUnit Ifc4x3_rc4::IfcConversionBasedUnit::ConversionFactor() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcMeasureWithUnit>(); } void Ifc4x3_rc4::IfcConversionBasedUnit::setConversionFactor(const ::Ifc4x3_rc4::IfcMeasureWithUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[433], 3)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -9569,12 +9569,12 @@ void Ifc4x3_rc4::IfcCoolingTowerType::setPredefinedType(const ::Ifc4x3_rc4::IfcC const ifcopenshell::entity& Ifc4x3_rc4::IfcCoolingTowerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[243]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect Ifc4x3_rc4::IfcCoordinateOperation::SourceCRS() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect>(); } void Ifc4x3_rc4::IfcCoordinateOperation::setSourceCRS(const ::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcCoordinateReferenceSystem Ifc4x3_rc4::IfcCoordinateOperation::TargetCRS() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcCoordinateReferenceSystem>(); } +::Ifc4x3_rc4::IfcCoordinateReferenceSystem Ifc4x3_rc4::IfcCoordinateOperation::TargetCRS() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcCoordinateReferenceSystem>(); } void Ifc4x3_rc4::IfcCoordinateOperation::setTargetCRS(const ::Ifc4x3_rc4::IfcCoordinateReferenceSystem& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9609,14 +9609,14 @@ Ifc4x3_rc4::IfcCosine Ifc4x3_rc4::IfcCosine::initialize(::Ifc4x3_rc4::IfcAxis2Pl // 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)); } void Ifc4x3_rc4::IfcCostItem::setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcCostItemTypeEnum::Value >& v) { if (v) {set_attribute_value(6, enumeration_reference(&::Ifc4x3_rc4::IfcCostItemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x3_rc4::IfcCostValue > > Ifc4x3_rc4::IfcCostItem::CostValues() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc4::IfcCostValue>(es); } -void Ifc4x3_rc4::IfcCostItem::setCostValues(const std::optional< std::vector< ::Ifc4x3_rc4::IfcCostValue > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } -std::optional< std::vector< ::Ifc4x3_rc4::IfcPhysicalQuantity > > Ifc4x3_rc4::IfcCostItem::CostQuantities() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc4::IfcPhysicalQuantity>(es); } -void Ifc4x3_rc4::IfcCostItem::setCostQuantities(const std::optional< std::vector< ::Ifc4x3_rc4::IfcPhysicalQuantity > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } +std::optional< std::vector< ::Ifc4x3_rc4::IfcCostValue > > Ifc4x3_rc4::IfcCostItem::CostValues() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc4::IfcCostValue>(es); } +void Ifc4x3_rc4::IfcCostItem::setCostValues(const std::optional< std::vector< ::Ifc4x3_rc4::IfcCostValue > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x3_rc4::IfcPhysicalQuantity > > Ifc4x3_rc4::IfcCostItem::CostQuantities() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc4::IfcPhysicalQuantity>(es); } +void Ifc4x3_rc4::IfcCostItem::setCostQuantities(const std::optional< std::vector< ::Ifc4x3_rc4::IfcPhysicalQuantity > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } const ifcopenshell::entity& Ifc4x3_rc4::IfcCostItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[249]); } -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; } +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)); } @@ -9636,7 +9636,7 @@ Ifc4x3_rc4::IfcCostSchedule Ifc4x3_rc4::IfcCostSchedule::initialize(std::string const ifcopenshell::entity& Ifc4x3_rc4::IfcCostValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[253]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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]); } -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; } +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,10 +9686,10 @@ void Ifc4x3_rc4::IfcCrewResourceType::setPredefinedType(const ::Ifc4x3_rc4::IfcC const ifcopenshell::entity& Ifc4x3_rc4::IfcCrewResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[262]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcAxis2Placement3D Ifc4x3_rc4::IfcCsgPrimitive3D::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcAxis2Placement3D>(); } void Ifc4x3_rc4::IfcCsgPrimitive3D::setPosition(const ::Ifc4x3_rc4::IfcAxis2Placement3D& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -9697,7 +9697,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcCsgPrimitive3D::Class() { return *((i 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>(); } +::Ifc4x3_rc4::IfcCsgSelect Ifc4x3_rc4::IfcCsgSolid::TreeRootExpression() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCsgSelect>(); } void Ifc4x3_rc4::IfcCsgSolid::setTreeRootExpression(const ::Ifc4x3_rc4::IfcCsgSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -9705,15 +9705,15 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcCsgSolid::Class() { return *((ifcopen 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>(); } +::Ifc4x3_rc4::IfcMonetaryUnit Ifc4x3_rc4::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcMonetaryUnit>(); } void Ifc4x3_rc4::IfcCurrencyRelationship::setRelatingMonetaryUnit(const ::Ifc4x3_rc4::IfcMonetaryUnit& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcMonetaryUnit Ifc4x3_rc4::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcMonetaryUnit>(); } +::Ifc4x3_rc4::IfcMonetaryUnit Ifc4x3_rc4::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcMonetaryUnit>(); } void Ifc4x3_rc4::IfcCurrencyRelationship::setRelatedMonetaryUnit(const ::Ifc4x3_rc4::IfcMonetaryUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } double Ifc4x3_rc4::IfcCurrencyRelationship::ExchangeRate() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcCurrencyRelationship::setExchangeRate(const double& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::optional< std::string > Ifc4x3_rc4::IfcCurrencyRelationship::RateDateTime() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcCurrencyRelationship::setRateDateTime(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc4::IfcLibraryInformation Ifc4x3_rc4::IfcCurrencyRelationship::RateSource() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcLibraryInformation{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcLibraryInformation>(); } +::Ifc4x3_rc4::IfcLibraryInformation Ifc4x3_rc4::IfcCurrencyRelationship::RateSource() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcLibraryInformation{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcLibraryInformation>(); } void Ifc4x3_rc4::IfcCurrencyRelationship::setRateSource(const ::Ifc4x3_rc4::IfcLibraryInformation& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -9734,7 +9734,7 @@ void Ifc4x3_rc4::IfcCurtainWallType::setPredefinedType(const ::Ifc4x3_rc4::IfcCu const ifcopenshell::entity& Ifc4x3_rc4::IfcCurtainWallType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[270]); } -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; } +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 @@ -9743,37 +9743,37 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcCurve::Class() { return *((ifcopenshe 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>(); } +::Ifc4x3_rc4::IfcPlane Ifc4x3_rc4::IfcCurveBoundedPlane::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcPlane>(); } void Ifc4x3_rc4::IfcCurveBoundedPlane::setBasisSurface(const ::Ifc4x3_rc4::IfcPlane& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcCurveBoundedPlane::OuterBoundary() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcCurve>(); } +::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcCurveBoundedPlane::OuterBoundary() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcCurve>(); } void Ifc4x3_rc4::IfcCurveBoundedPlane::setOuterBoundary(const ::Ifc4x3_rc4::IfcCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x3_rc4::IfcCurve > Ifc4x3_rc4::IfcCurveBoundedPlane::InnerBoundaries() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcCurve>(es); } -void Ifc4x3_rc4::IfcCurveBoundedPlane::setInnerBoundaries(const std::vector< ::Ifc4x3_rc4::IfcCurve >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc4::IfcCurve > Ifc4x3_rc4::IfcCurveBoundedPlane::InnerBoundaries() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcCurve>(es); } +void Ifc4x3_rc4::IfcCurveBoundedPlane::setInnerBoundaries(const std::vector< ::Ifc4x3_rc4::IfcCurve >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc4::IfcCurveBoundedPlane::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[274]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcSurface Ifc4x3_rc4::IfcCurveBoundedSurface::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcSurface>(); } void Ifc4x3_rc4::IfcCurveBoundedSurface::setBasisSurface(const ::Ifc4x3_rc4::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc4::IfcBoundaryCurve > Ifc4x3_rc4::IfcCurveBoundedSurface::Boundaries() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcBoundaryCurve>(es); } -void Ifc4x3_rc4::IfcCurveBoundedSurface::setBoundaries(const std::vector< ::Ifc4x3_rc4::IfcBoundaryCurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc4::IfcBoundaryCurve > Ifc4x3_rc4::IfcCurveBoundedSurface::Boundaries() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcBoundaryCurve>(es); } +void Ifc4x3_rc4::IfcCurveBoundedSurface::setBoundaries(const std::vector< ::Ifc4x3_rc4::IfcBoundaryCurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } bool Ifc4x3_rc4::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcCurveBoundedSurface::setImplicitOuter(const bool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc4::IfcCurveBoundedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[275]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcPlacement Ifc4x3_rc4::IfcCurveSegment::Placement() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcPlacement>(); } void Ifc4x3_rc4::IfcCurveSegment::setPlacement(const ::Ifc4x3_rc4::IfcPlacement& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcCurveMeasureSelect Ifc4x3_rc4::IfcCurveSegment::SegmentStart() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcCurveMeasureSelect>(); } +::Ifc4x3_rc4::IfcCurveMeasureSelect Ifc4x3_rc4::IfcCurveSegment::SegmentStart() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcCurveMeasureSelect>(); } void Ifc4x3_rc4::IfcCurveSegment::setSegmentStart(const ::Ifc4x3_rc4::IfcCurveMeasureSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcCurveMeasureSelect Ifc4x3_rc4::IfcCurveSegment::SegmentLength() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcCurveMeasureSelect>(); } +::Ifc4x3_rc4::IfcCurveMeasureSelect Ifc4x3_rc4::IfcCurveSegment::SegmentLength() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcCurveMeasureSelect>(); } void Ifc4x3_rc4::IfcCurveSegment::setSegmentLength(const ::Ifc4x3_rc4::IfcCurveMeasureSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcCurveSegment::ParentCurve() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcCurve>(); } +::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcCurveSegment::ParentCurve() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcCurve>(); } void Ifc4x3_rc4::IfcCurveSegment::setParentCurve(const ::Ifc4x3_rc4::IfcCurve& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -9781,11 +9781,11 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcCurveSegment::Class() { return *((ifc 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>(); } +::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>(); } void Ifc4x3_rc4::IfcCurveStyle::setCurveFont(const ::Ifc4x3_rc4::IfcCurveFontOrScaledCurveFontSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcSizeSelect Ifc4x3_rc4::IfcCurveStyle::CurveWidth() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcSizeSelect>(); } +::Ifc4x3_rc4::IfcSizeSelect Ifc4x3_rc4::IfcCurveStyle::CurveWidth() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcSizeSelect>(); } void Ifc4x3_rc4::IfcCurveStyle::setCurveWidth(const ::Ifc4x3_rc4::IfcSizeSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcColour Ifc4x3_rc4::IfcCurveStyle::CurveColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcColour{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcColour>(); } +::Ifc4x3_rc4::IfcColour Ifc4x3_rc4::IfcCurveStyle::CurveColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcColour{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcColour>(); } void Ifc4x3_rc4::IfcCurveStyle::setCurveColour(const ::Ifc4x3_rc4::IfcColour& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< bool > Ifc4x3_rc4::IfcCurveStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } bool v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcCurveStyle::setModelOrDraughting(const std::optional< bool >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -9797,17 +9797,17 @@ Ifc4x3_rc4::IfcCurveStyle Ifc4x3_rc4::IfcCurveStyle::initialize(std::optional< s // 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; } void Ifc4x3_rc4::IfcCurveStyleFont::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::vector< ::Ifc4x3_rc4::IfcCurveStyleFontPattern > Ifc4x3_rc4::IfcCurveStyleFont::PatternList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcCurveStyleFontPattern>(es); } -void Ifc4x3_rc4::IfcCurveStyleFont::setPatternList(const std::vector< ::Ifc4x3_rc4::IfcCurveStyleFontPattern >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc4::IfcCurveStyleFontPattern > Ifc4x3_rc4::IfcCurveStyleFont::PatternList() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcCurveStyleFontPattern>(es); } +void Ifc4x3_rc4::IfcCurveStyleFont::setPatternList(const std::vector< ::Ifc4x3_rc4::IfcCurveStyleFontPattern >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_rc4::IfcCurveStyleFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[283]); } -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; } +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; } void Ifc4x3_rc4::IfcCurveStyleFontAndScaling::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_rc4::IfcCurveStyleFontSelect Ifc4x3_rc4::IfcCurveStyleFontAndScaling::CurveFont() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcCurveStyleFontSelect>(); } +::Ifc4x3_rc4::IfcCurveStyleFontSelect Ifc4x3_rc4::IfcCurveStyleFontAndScaling::CurveFont() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcCurveStyleFontSelect>(); } void Ifc4x3_rc4::IfcCurveStyleFontAndScaling::setCurveFont(const ::Ifc4x3_rc4::IfcCurveStyleFontSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } double Ifc4x3_rc4::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcCurveStyleFontAndScaling::setCurveFontScaling(const double& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -9848,7 +9848,7 @@ void Ifc4x3_rc4::IfcDamperType::setPredefinedType(const ::Ifc4x3_rc4::IfcDamperT const ifcopenshell::entity& Ifc4x3_rc4::IfcDamperType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[289]); } -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; } +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 @@ -9860,12 +9860,12 @@ Ifc4x3_rc4::IfcDeepFoundation Ifc4x3_rc4::IfcDeepFoundation::initialize(std::str const ifcopenshell::entity& Ifc4x3_rc4::IfcDeepFoundationType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[297]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcProfileDef Ifc4x3_rc4::IfcDerivedProfileDef::ParentProfile() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcProfileDef>(); } void Ifc4x3_rc4::IfcDerivedProfileDef::setParentProfile(const ::Ifc4x3_rc4::IfcProfileDef& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcCartesianTransformationOperator2D Ifc4x3_rc4::IfcDerivedProfileDef::Operator() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcCartesianTransformationOperator2D>(); } +::Ifc4x3_rc4::IfcCartesianTransformationOperator2D Ifc4x3_rc4::IfcDerivedProfileDef::Operator() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcCartesianTransformationOperator2D>(); } void Ifc4x3_rc4::IfcDerivedProfileDef::setOperator(const ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc4::IfcDerivedProfileDef::Label() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcDerivedProfileDef::setLabel(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -9875,8 +9875,8 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcDerivedProfileDef::Class() { return * 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); } -void Ifc4x3_rc4::IfcDerivedUnit::setElements(const std::vector< ::Ifc4x3_rc4::IfcDerivedUnitElement >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc4::IfcDerivedUnitElement > Ifc4x3_rc4::IfcDerivedUnit::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcDerivedUnitElement>(es); } +void Ifc4x3_rc4::IfcDerivedUnit::setElements(const std::vector< ::Ifc4x3_rc4::IfcDerivedUnitElement >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_rc4::IfcDerivedUnitEnum::Value Ifc4x3_rc4::IfcDerivedUnit::UnitType() const { return ::Ifc4x3_rc4::IfcDerivedUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x3_rc4::IfcDerivedUnit::setUnitType(const ::Ifc4x3_rc4::IfcDerivedUnitEnum::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4x3_rc4::IfcDerivedUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_rc4::IfcDerivedUnit::UserDefinedType() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } @@ -9884,10 +9884,10 @@ void Ifc4x3_rc4::IfcDerivedUnit::setUserDefinedType(const std::optional< std::st const ifcopenshell::entity& Ifc4x3_rc4::IfcDerivedUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[301]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcNamedUnit Ifc4x3_rc4::IfcDerivedUnitElement::Unit() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcNamedUnit>(); } void Ifc4x3_rc4::IfcDerivedUnitElement::setUnit(const ::Ifc4x3_rc4::IfcNamedUnit& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } int64_t Ifc4x3_rc4::IfcDerivedUnitElement::Exponent() const { int64_t v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcDerivedUnitElement::setExponent(const int64_t& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -9925,11 +9925,11 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcDirection::Class() { return *((ifcope 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>(); } +::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcCurve>(); } void Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::setDirectrix(const ::Ifc4x3_rc4::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcCurveMeasureSelect Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcCurveMeasureSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcCurveMeasureSelect>(); } +::Ifc4x3_rc4::IfcCurveMeasureSelect Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcCurveMeasureSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcCurveMeasureSelect>(); } void Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::setStartParam(const ::Ifc4x3_rc4::IfcCurveMeasureSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc4::IfcCurveMeasureSelect Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc4::IfcCurveMeasureSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcCurveMeasureSelect>(); } +::Ifc4x3_rc4::IfcCurveMeasureSelect Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc4::IfcCurveMeasureSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcCurveMeasureSelect>(); } void Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::setEndParam(const ::Ifc4x3_rc4::IfcCurveMeasureSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -9988,7 +9988,7 @@ void Ifc4x3_rc4::IfcDistributionChamberElementType::setPredefinedType(const ::If const ifcopenshell::entity& Ifc4x3_rc4::IfcDistributionChamberElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[318]); } -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; } +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 @@ -10007,7 +10007,7 @@ Ifc4x3_rc4::IfcDistributionControlElement Ifc4x3_rc4::IfcDistributionControlElem const ifcopenshell::entity& Ifc4x3_rc4::IfcDistributionControlElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[322]); } -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; } +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 @@ -10020,7 +10020,7 @@ Ifc4x3_rc4::IfcDistributionElement Ifc4x3_rc4::IfcDistributionElement::initializ const ifcopenshell::entity& Ifc4x3_rc4::IfcDistributionElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[324]); } -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; } +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 @@ -10033,7 +10033,7 @@ Ifc4x3_rc4::IfcDistributionFlowElement Ifc4x3_rc4::IfcDistributionFlowElement::i const ifcopenshell::entity& Ifc4x3_rc4::IfcDistributionFlowElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[326]); } -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; } +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)); } @@ -10074,10 +10074,10 @@ std::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::Scope() const { void Ifc4x3_rc4::IfcDocumentInformation::setScope(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } std::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::Revision() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcDocumentInformation::setRevision(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc4::IfcActorSelect Ifc4x3_rc4::IfcDocumentInformation::DocumentOwner() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc4::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc4::IfcActorSelect>(); } +::Ifc4x3_rc4::IfcActorSelect Ifc4x3_rc4::IfcDocumentInformation::DocumentOwner() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc4::IfcActorSelect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc4::IfcActorSelect>(); } void Ifc4x3_rc4::IfcDocumentInformation::setDocumentOwner(const ::Ifc4x3_rc4::IfcActorSelect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::optional< std::vector< ::Ifc4x3_rc4::IfcActorSelect > > Ifc4x3_rc4::IfcDocumentInformation::Editors() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc4::IfcActorSelect>(es); } -void Ifc4x3_rc4::IfcDocumentInformation::setEditors(const std::optional< std::vector< ::Ifc4x3_rc4::IfcActorSelect > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +std::optional< std::vector< ::Ifc4x3_rc4::IfcActorSelect > > Ifc4x3_rc4::IfcDocumentInformation::Editors() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc4::IfcActorSelect>(es); } +void Ifc4x3_rc4::IfcDocumentInformation::setEditors(const std::optional< std::vector< ::Ifc4x3_rc4::IfcActorSelect > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } std::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::CreationTime() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcDocumentInformation::setCreationTime(const std::optional< std::string >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } std::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::LastRevisionTime() const { if(get_attribute_value(11).isNull()) { return std::nullopt; } std::string v = get_attribute_value(11); return v; } @@ -10099,24 +10099,24 @@ 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]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcDocumentInformation Ifc4x3_rc4::IfcDocumentInformationRelationship::RelatingDocument() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcDocumentInformation>(); } void Ifc4x3_rc4::IfcDocumentInformationRelationship::setRelatingDocument(const ::Ifc4x3_rc4::IfcDocumentInformation& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_rc4::IfcDocumentInformation > Ifc4x3_rc4::IfcDocumentInformationRelationship::RelatedDocuments() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc4::IfcDocumentInformation>(es); } -void Ifc4x3_rc4::IfcDocumentInformationRelationship::setRelatedDocuments(const std::vector< ::Ifc4x3_rc4::IfcDocumentInformation >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc4::IfcDocumentInformation > Ifc4x3_rc4::IfcDocumentInformationRelationship::RelatedDocuments() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc4::IfcDocumentInformation>(es); } +void Ifc4x3_rc4::IfcDocumentInformationRelationship::setRelatedDocuments(const std::vector< ::Ifc4x3_rc4::IfcDocumentInformation >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc4::IfcDocumentInformationRelationship::RelationshipType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcDocumentInformationRelationship::setRelationshipType(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const ifcopenshell::entity& Ifc4x3_rc4::IfcDocumentInformationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[333]); } -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; } +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; } void Ifc4x3_rc4::IfcDocumentReference::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc4::IfcDocumentInformation Ifc4x3_rc4::IfcDocumentReference::ReferencedDocument() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc4::IfcDocumentInformation{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcDocumentInformation>(); } +::Ifc4x3_rc4::IfcDocumentInformation Ifc4x3_rc4::IfcDocumentReference::ReferencedDocument() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc4::IfcDocumentInformation{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcDocumentInformation>(); } void Ifc4x3_rc4::IfcDocumentReference::setReferencedDocument(const ::Ifc4x3_rc4::IfcDocumentInformation& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::vector<::Ifc4x3_rc4::IfcRelAssociatesDocument> Ifc4x3_rc4::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[917], 5)); } @@ -10161,7 +10161,7 @@ std::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::CasingThickness() c void Ifc4x3_rc4::IfcDoorLiningProperties::setCasingThickness(const std::optional< double >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } std::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::CasingDepth() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc4::IfcDoorLiningProperties::setCasingDepth(const std::optional< double >& v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -::Ifc4x3_rc4::IfcShapeAspect Ifc4x3_rc4::IfcDoorLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(14).isNull()) { return ::Ifc4x3_rc4::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(14))).as<::Ifc4x3_rc4::IfcShapeAspect>(); } +::Ifc4x3_rc4::IfcShapeAspect Ifc4x3_rc4::IfcDoorLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(14).isNull()) { return ::Ifc4x3_rc4::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(14))).as<::Ifc4x3_rc4::IfcShapeAspect>(); } void Ifc4x3_rc4::IfcDoorLiningProperties::setShapeAspectStyle(const ::Ifc4x3_rc4::IfcShapeAspect& v) { set_attribute_value(14, v);if constexpr (false)unset_attribute_value(14); } std::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(get_attribute_value(15).isNull()) { return std::nullopt; } double v = get_attribute_value(15); return v; } void Ifc4x3_rc4::IfcDoorLiningProperties::setLiningToPanelOffsetX(const std::optional< double >& v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } @@ -10181,7 +10181,7 @@ std::optional< double > Ifc4x3_rc4::IfcDoorPanelProperties::PanelWidth() const { void Ifc4x3_rc4::IfcDoorPanelProperties::setPanelWidth(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_rc4::IfcDoorPanelPositionEnum::Value Ifc4x3_rc4::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x3_rc4::IfcDoorPanelPositionEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc4::IfcDoorPanelProperties::setPanelPosition(const ::Ifc4x3_rc4::IfcDoorPanelPositionEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4x3_rc4::IfcDoorPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc4::IfcShapeAspect Ifc4x3_rc4::IfcDoorPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc4::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc4::IfcShapeAspect>(); } +::Ifc4x3_rc4::IfcShapeAspect Ifc4x3_rc4::IfcDoorPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc4::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc4::IfcShapeAspect>(); } void Ifc4x3_rc4::IfcDoorPanelProperties::setShapeAspectStyle(const ::Ifc4x3_rc4::IfcShapeAspect& v) { set_attribute_value(8, v);if constexpr (false)unset_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]); } -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; } +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,7 +10220,7 @@ void Ifc4x3_rc4::IfcDoorType::setUserDefinedOperationType(const std::optional< s const ifcopenshell::entity& Ifc4x3_rc4::IfcDoorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[346]); } -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; } +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 @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -10305,9 +10305,9 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcEarthworksFill::Class() { return *((i 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>(); } +::Ifc4x3_rc4::IfcVertex Ifc4x3_rc4::IfcEdge::EdgeStart() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcVertex>(); } void Ifc4x3_rc4::IfcEdge::setEdgeStart(const ::Ifc4x3_rc4::IfcVertex& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcVertex Ifc4x3_rc4::IfcEdge::EdgeEnd() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcVertex>(); } +::Ifc4x3_rc4::IfcVertex Ifc4x3_rc4::IfcEdge::EdgeEnd() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcVertex>(); } void Ifc4x3_rc4::IfcEdge::setEdgeEnd(const ::Ifc4x3_rc4::IfcVertex& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -10315,7 +10315,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcEdge::Class() { return *((ifcopenshel 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>(); } +::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcEdgeCurve::EdgeGeometry() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcCurve>(); } void Ifc4x3_rc4::IfcEdgeCurve::setEdgeGeometry(const ::Ifc4x3_rc4::IfcCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } bool Ifc4x3_rc4::IfcEdgeCurve::SameSense() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcEdgeCurve::setSameSense(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -10325,12 +10325,12 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcEdgeCurve::Class() { return *((ifcope 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); } -void Ifc4x3_rc4::IfcEdgeLoop::setEdgeList(const std::vector< ::Ifc4x3_rc4::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc4::IfcOrientedEdge > Ifc4x3_rc4::IfcEdgeLoop::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcOrientedEdge>(es); } +void Ifc4x3_rc4::IfcEdgeLoop::setEdgeList(const std::vector< ::Ifc4x3_rc4::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc4::IfcEdgeLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[370]); } -Ifc4x3_rc4::IfcEdgeLoop Ifc4x3_rc4::IfcEdgeLoop::initialize(std::vector< ::Ifc4x3_rc4::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -10480,7 +10480,7 @@ void Ifc4x3_rc4::IfcElementAssemblyType::setPredefinedType(const ::Ifc4x3_rc4::I const ifcopenshell::entity& Ifc4x3_rc4::IfcElementAssemblyType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[401]); } -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; } +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 @@ -10492,17 +10492,17 @@ Ifc4x3_rc4::IfcElementComponent Ifc4x3_rc4::IfcElementComponent::initialize(std: const ifcopenshell::entity& Ifc4x3_rc4::IfcElementComponentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[404]); } -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; } +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; } void Ifc4x3_rc4::IfcElementQuantity::setMethodOfMeasurement(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector< ::Ifc4x3_rc4::IfcPhysicalQuantity > Ifc4x3_rc4::IfcElementQuantity::Quantities() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc4::IfcPhysicalQuantity>(es); } -void Ifc4x3_rc4::IfcElementQuantity::setQuantities(const std::vector< ::Ifc4x3_rc4::IfcPhysicalQuantity >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc4::IfcPhysicalQuantity > Ifc4x3_rc4::IfcElementQuantity::Quantities() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc4::IfcPhysicalQuantity>(es); } +void Ifc4x3_rc4::IfcElementQuantity::setQuantities(const std::vector< ::Ifc4x3_rc4::IfcPhysicalQuantity >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc4::IfcElementQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[406]); } -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; } +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,10 +10510,10 @@ void Ifc4x3_rc4::IfcElementType::setElementType(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc4::IfcElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[407]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcAxis2Placement3D Ifc4x3_rc4::IfcElementarySurface::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcAxis2Placement3D>(); } void Ifc4x3_rc4::IfcElementarySurface::setPosition(const ::Ifc4x3_rc4::IfcAxis2Placement3D& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -10550,7 +10550,7 @@ Ifc4x3_rc4::IfcEnergyConversionDevice Ifc4x3_rc4::IfcEnergyConversionDevice::ini const ifcopenshell::entity& Ifc4x3_rc4::IfcEnergyConversionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[411]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -10607,7 +10607,7 @@ std::optional< ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value > Ifc4x3_rc4::IfcEve void Ifc4x3_rc4::IfcEvent::setEventTriggerType(const std::optional< ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } std::optional< std::string > Ifc4x3_rc4::IfcEvent::UserDefinedEventTriggerType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc4::IfcEvent::setUserDefinedEventTriggerType(const std::optional< std::string >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -::Ifc4x3_rc4::IfcEventTime Ifc4x3_rc4::IfcEvent::EventOccurenceTime() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc4::IfcEventTime{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_rc4::IfcEventTime>(); } +::Ifc4x3_rc4::IfcEventTime Ifc4x3_rc4::IfcEvent::EventOccurenceTime() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc4::IfcEventTime{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x3_rc4::IfcEventTime>(); } void Ifc4x3_rc4::IfcEvent::setEventOccurenceTime(const ::Ifc4x3_rc4::IfcEventTime& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } @@ -10638,19 +10638,19 @@ void Ifc4x3_rc4::IfcEventType::setUserDefinedEventTriggerType(const std::optiona const ifcopenshell::entity& Ifc4x3_rc4::IfcEventType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[425]); } -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; } +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; } void Ifc4x3_rc4::IfcExtendedProperties::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_rc4::IfcExtendedProperties::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcExtendedProperties::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x3_rc4::IfcProperty > Ifc4x3_rc4::IfcExtendedProperties::Properties() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcProperty>(es); } -void Ifc4x3_rc4::IfcExtendedProperties::setProperties(const std::vector< ::Ifc4x3_rc4::IfcProperty >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc4::IfcProperty > Ifc4x3_rc4::IfcExtendedProperties::Properties() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcProperty>(es); } +void Ifc4x3_rc4::IfcExtendedProperties::setProperties(const std::vector< ::Ifc4x3_rc4::IfcProperty >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc4::IfcExtendedProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[427]); } -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; } +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 @@ -10672,14 +10672,14 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcExternalReference::Class() { return * 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>(); } +::Ifc4x3_rc4::IfcExternalReference Ifc4x3_rc4::IfcExternalReferenceRelationship::RelatingReference() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcExternalReference>(); } void Ifc4x3_rc4::IfcExternalReferenceRelationship::setRelatingReference(const ::Ifc4x3_rc4::IfcExternalReference& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_rc4::IfcResourceObjectSelect > Ifc4x3_rc4::IfcExternalReferenceRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc4::IfcResourceObjectSelect>(es); } -void Ifc4x3_rc4::IfcExternalReferenceRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc4::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc4::IfcResourceObjectSelect > Ifc4x3_rc4::IfcExternalReferenceRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc4::IfcResourceObjectSelect>(es); } +void Ifc4x3_rc4::IfcExternalReferenceRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc4::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc4::IfcExternalReferenceRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[433]); } -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; } +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)); } @@ -10715,7 +10715,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcExternallyDefinedTextFont::Class() { 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>(); } +::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcDirection>(); } void Ifc4x3_rc4::IfcExtrudedAreaSolid::setExtrudedDirection(const ::Ifc4x3_rc4::IfcDirection& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc4x3_rc4::IfcExtrudedAreaSolid::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcExtrudedAreaSolid::setDepth(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -10725,7 +10725,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcExtrudedAreaSolid::Class() { return * 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>(); } +::Ifc4x3_rc4::IfcProfileDef Ifc4x3_rc4::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcProfileDef>(); } void Ifc4x3_rc4::IfcExtrudedAreaSolidTapered::setEndSweptArea(const ::Ifc4x3_rc4::IfcProfileDef& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -10733,24 +10733,24 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcExtrudedAreaSolidTapered::Class() { r 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); } -void Ifc4x3_rc4::IfcFace::setBounds(const std::vector< ::Ifc4x3_rc4::IfcFaceBound >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc4::IfcFaceBound > Ifc4x3_rc4::IfcFace::Bounds() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcFaceBound>(es); } +void Ifc4x3_rc4::IfcFace::setBounds(const std::vector< ::Ifc4x3_rc4::IfcFaceBound >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } 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]); } -Ifc4x3_rc4::IfcFace Ifc4x3_rc4::IfcFace::initialize(std::vector< ::Ifc4x3_rc4::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds));; return *this; } +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); } -void Ifc4x3_rc4::IfcFaceBasedSurfaceModel::setFbsmFaces(const std::vector< ::Ifc4x3_rc4::IfcConnectedFaceSet >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc4::IfcConnectedFaceSet > Ifc4x3_rc4::IfcFaceBasedSurfaceModel::FbsmFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcConnectedFaceSet>(es); } +void Ifc4x3_rc4::IfcFaceBasedSurfaceModel::setFbsmFaces(const std::vector< ::Ifc4x3_rc4::IfcConnectedFaceSet >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc4::IfcFaceBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[440]); } -Ifc4x3_rc4::IfcFaceBasedSurfaceModel Ifc4x3_rc4::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_rc4::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces));; return *this; } +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>(); } +::Ifc4x3_rc4::IfcLoop Ifc4x3_rc4::IfcFaceBound::Bound() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcLoop>(); } void Ifc4x3_rc4::IfcFaceBound::setBound(const ::Ifc4x3_rc4::IfcLoop& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } bool Ifc4x3_rc4::IfcFaceBound::Orientation() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcFaceBound::setOrientation(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -10766,14 +10766,14 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcFaceOuterBound::Class() { return *((i 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>(); } +::Ifc4x3_rc4::IfcSurface Ifc4x3_rc4::IfcFaceSurface::FaceSurface() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcSurface>(); } void Ifc4x3_rc4::IfcFaceSurface::setFaceSurface(const ::Ifc4x3_rc4::IfcSurface& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } bool Ifc4x3_rc4::IfcFaceSurface::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcFaceSurface::setSameSense(const bool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc4::IfcFaceSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[443]); } -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; } +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 @@ -10782,12 +10782,12 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcFacetedBrep::Class() { return *((ifco 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); } -void Ifc4x3_rc4::IfcFacetedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_rc4::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc4::IfcClosedShell > Ifc4x3_rc4::IfcFacetedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcClosedShell>(es); } +void Ifc4x3_rc4::IfcFacetedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_rc4::IfcClosedShell >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_rc4::IfcFacetedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[445]); } -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; } +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 @@ -10796,7 +10796,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcFacility::Class() { return *((ifcopen 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>(); } +::Ifc4x3_rc4::IfcFacilityPartTypeSelect Ifc4x3_rc4::IfcFacilityPart::PredefinedType() const { return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc4::IfcFacilityPartTypeSelect>(); } void Ifc4x3_rc4::IfcFacilityPart::setPredefinedType(const ::Ifc4x3_rc4::IfcFacilityPartTypeSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } ::Ifc4x3_rc4::IfcFacilityUsageEnum::Value Ifc4x3_rc4::IfcFacilityPart::UsageType() const { return ::Ifc4x3_rc4::IfcFacilityUsageEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc4::IfcFacilityPart::setUsageType(const ::Ifc4x3_rc4::IfcFacilityUsageEnum::Value& v) { set_attribute_value(10, enumeration_reference(&::Ifc4x3_rc4::IfcFacilityUsageEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } @@ -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]); } -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; } +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)); } @@ -10853,7 +10853,7 @@ void Ifc4x3_rc4::IfcFastenerType::setPredefinedType(const ::Ifc4x3_rc4::IfcFaste const ifcopenshell::entity& Ifc4x3_rc4::IfcFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[456]); } -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; } +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 @@ -10876,23 +10876,23 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcFeatureElementSubtraction::Class() { 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); } -void Ifc4x3_rc4::IfcFillAreaStyle::setFillStyles(const std::vector< ::Ifc4x3_rc4::IfcFillStyleSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc4::IfcFillStyleSelect > Ifc4x3_rc4::IfcFillAreaStyle::FillStyles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcFillStyleSelect>(es); } +void Ifc4x3_rc4::IfcFillAreaStyle::setFillStyles(const std::vector< ::Ifc4x3_rc4::IfcFillStyleSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< bool > Ifc4x3_rc4::IfcFillAreaStyle::ModelOrDraughting() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } bool v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcFillAreaStyle::setModelOrDraughting(const std::optional< bool >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_rc4::IfcFillAreaStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[461]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcCurveStyle Ifc4x3_rc4::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCurveStyle>(); } void Ifc4x3_rc4::IfcFillAreaStyleHatching::setHatchLineAppearance(const ::Ifc4x3_rc4::IfcCurveStyle& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcHatchLineDistanceSelect Ifc4x3_rc4::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcHatchLineDistanceSelect>(); } +::Ifc4x3_rc4::IfcHatchLineDistanceSelect Ifc4x3_rc4::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcHatchLineDistanceSelect>(); } void Ifc4x3_rc4::IfcFillAreaStyleHatching::setStartOfNextHatchLine(const ::Ifc4x3_rc4::IfcHatchLineDistanceSelect& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcCartesianPoint Ifc4x3_rc4::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcCartesianPoint{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcCartesianPoint>(); } +::Ifc4x3_rc4::IfcCartesianPoint Ifc4x3_rc4::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcCartesianPoint{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcCartesianPoint>(); } void Ifc4x3_rc4::IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(const ::Ifc4x3_rc4::IfcCartesianPoint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcCartesianPoint Ifc4x3_rc4::IfcFillAreaStyleHatching::PatternStart() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcCartesianPoint{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcCartesianPoint>(); } +::Ifc4x3_rc4::IfcCartesianPoint Ifc4x3_rc4::IfcFillAreaStyleHatching::PatternStart() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcCartesianPoint{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcCartesianPoint>(); } void Ifc4x3_rc4::IfcFillAreaStyleHatching::setPatternStart(const ::Ifc4x3_rc4::IfcCartesianPoint& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } double Ifc4x3_rc4::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcFillAreaStyleHatching::setHatchLineAngle(const double& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -10902,16 +10902,16 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcFillAreaStyleHatching::Class() { retu 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); } -void Ifc4x3_rc4::IfcFillAreaStyleTiles::setTilingPattern(const std::vector< ::Ifc4x3_rc4::IfcVector >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc4::IfcStyledItem > Ifc4x3_rc4::IfcFillAreaStyleTiles::Tiles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcStyledItem>(es); } -void Ifc4x3_rc4::IfcFillAreaStyleTiles::setTiles(const std::vector< ::Ifc4x3_rc4::IfcStyledItem >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc4::IfcVector > Ifc4x3_rc4::IfcFillAreaStyleTiles::TilingPattern() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcVector>(es); } +void Ifc4x3_rc4::IfcFillAreaStyleTiles::setTilingPattern(const std::vector< ::Ifc4x3_rc4::IfcVector >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc4::IfcStyledItem > Ifc4x3_rc4::IfcFillAreaStyleTiles::Tiles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcStyledItem>(es); } +void Ifc4x3_rc4::IfcFillAreaStyleTiles::setTiles(const std::vector< ::Ifc4x3_rc4::IfcStyledItem >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } double Ifc4x3_rc4::IfcFillAreaStyleTiles::TilingScale() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcFillAreaStyleTiles::setTilingScale(const double& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc4::IfcFillAreaStyleTiles::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[463]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -10943,10 +10943,10 @@ void Ifc4x3_rc4::IfcFireSuppressionTerminalType::setPredefinedType(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc4::IfcFireSuppressionTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[469]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcDirection>(); } void Ifc4x3_rc4::IfcFixedReferenceSweptAreaSolid::setFixedReference(const ::Ifc4x3_rc4::IfcDirection& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -10963,7 +10963,7 @@ Ifc4x3_rc4::IfcFlowController Ifc4x3_rc4::IfcFlowController::initialize(std::str const ifcopenshell::entity& Ifc4x3_rc4::IfcFlowControllerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[473]); } -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; } +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 @@ -10975,7 +10975,7 @@ Ifc4x3_rc4::IfcFlowFitting Ifc4x3_rc4::IfcFlowFitting::initialize(std::string v1 const ifcopenshell::entity& Ifc4x3_rc4::IfcFlowFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[476]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -11007,7 +11007,7 @@ void Ifc4x3_rc4::IfcFlowMeterType::setPredefinedType(const ::Ifc4x3_rc4::IfcFlow const ifcopenshell::entity& Ifc4x3_rc4::IfcFlowMeterType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[481]); } -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; } +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 @@ -11019,7 +11019,7 @@ Ifc4x3_rc4::IfcFlowMovingDevice Ifc4x3_rc4::IfcFlowMovingDevice::initialize(std: const ifcopenshell::entity& Ifc4x3_rc4::IfcFlowMovingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[484]); } -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; } +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 @@ -11031,7 +11031,7 @@ Ifc4x3_rc4::IfcFlowSegment Ifc4x3_rc4::IfcFlowSegment::initialize(std::string v1 const ifcopenshell::entity& Ifc4x3_rc4::IfcFlowSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[486]); } -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; } +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 @@ -11043,7 +11043,7 @@ Ifc4x3_rc4::IfcFlowStorageDevice Ifc4x3_rc4::IfcFlowStorageDevice::initialize(st const ifcopenshell::entity& Ifc4x3_rc4::IfcFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[488]); } -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; } +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 @@ -11055,7 +11055,7 @@ Ifc4x3_rc4::IfcFlowTerminal Ifc4x3_rc4::IfcFlowTerminal::initialize(std::string const ifcopenshell::entity& Ifc4x3_rc4::IfcFlowTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[490]); } -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; } +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 @@ -11067,7 +11067,7 @@ Ifc4x3_rc4::IfcFlowTreatmentDevice Ifc4x3_rc4::IfcFlowTreatmentDevice::initializ const ifcopenshell::entity& Ifc4x3_rc4::IfcFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[492]); } -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; } +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)); } @@ -11083,7 +11083,7 @@ void Ifc4x3_rc4::IfcFootingType::setPredefinedType(const ::Ifc4x3_rc4::IfcFootin const ifcopenshell::entity& Ifc4x3_rc4::IfcFootingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[497]); } -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; } +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 @@ -11095,7 +11095,7 @@ Ifc4x3_rc4::IfcFurnishingElement Ifc4x3_rc4::IfcFurnishingElement::initialize(st const ifcopenshell::entity& Ifc4x3_rc4::IfcFurnishingElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[502]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -11129,22 +11129,22 @@ void Ifc4x3_rc4::IfcGeographicElementType::setPredefinedType(const ::Ifc4x3_rc4: const ifcopenshell::entity& Ifc4x3_rc4::IfcGeographicElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[507]); } -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; } +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]); } -Ifc4x3_rc4::IfcGeometricCurveSet Ifc4x3_rc4::IfcGeometricCurveSet::initialize(std::vector< ::Ifc4x3_rc4::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } +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 int64_t Ifc4x3_rc4::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int64_t v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(const int64_t& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc4x3_rc4::IfcGeometricRepresentationContext::Precision() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcGeometricRepresentationContext::setPrecision(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc4::IfcAxis2Placement Ifc4x3_rc4::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcAxis2Placement>(); } +::Ifc4x3_rc4::IfcAxis2Placement Ifc4x3_rc4::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcAxis2Placement>(); } void Ifc4x3_rc4::IfcGeometricRepresentationContext::setWorldCoordinateSystem(const ::Ifc4x3_rc4::IfcAxis2Placement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc4::IfcDirection{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcDirection>(); } +::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc4::IfcDirection{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcDirection>(); } void Ifc4x3_rc4::IfcGeometricRepresentationContext::setTrueNorth(const ::Ifc4x3_rc4::IfcDirection& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } std::vector<::Ifc4x3_rc4::IfcGeometricRepresentationSubContext> Ifc4x3_rc4::IfcGeometricRepresentationContext::HasSubContexts() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[513], 6)); } @@ -11160,7 +11160,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcGeometricRepresentationItem::Class() 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>(); } +::Ifc4x3_rc4::IfcGeometricRepresentationContext Ifc4x3_rc4::IfcGeometricRepresentationSubContext::ParentContext() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcGeometricRepresentationContext>(); } void Ifc4x3_rc4::IfcGeometricRepresentationSubContext::setParentContext(const ::Ifc4x3_rc4::IfcGeometricRepresentationContext& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< double > Ifc4x3_rc4::IfcGeometricRepresentationSubContext::TargetScale() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcGeometricRepresentationSubContext::setTargetScale(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } @@ -11174,12 +11174,12 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcGeometricRepresentationSubContext::Cl 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); } -void Ifc4x3_rc4::IfcGeometricSet::setElements(const std::vector< ::Ifc4x3_rc4::IfcGeometricSetSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc4::IfcGeometricSetSelect > Ifc4x3_rc4::IfcGeometricSet::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcGeometricSetSelect>(es); } +void Ifc4x3_rc4::IfcGeometricSet::setElements(const std::vector< ::Ifc4x3_rc4::IfcGeometricSetSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc4::IfcGeometricSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[514]); } -Ifc4x3_rc4::IfcGeometricSet Ifc4x3_rc4::IfcGeometricSet::initialize(std::vector< ::Ifc4x3_rc4::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } +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 @@ -11212,33 +11212,33 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcGeotechnicalStratum::Class() { return 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>(); } +::Ifc4x3_rc4::IfcBoundedCurve Ifc4x3_rc4::IfcGradientCurve::BaseCurve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcBoundedCurve>(); } void Ifc4x3_rc4::IfcGradientCurve::setBaseCurve(const ::Ifc4x3_rc4::IfcBoundedCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcPlacement Ifc4x3_rc4::IfcGradientCurve::EndPoint() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcPlacement{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcPlacement>(); } +::Ifc4x3_rc4::IfcPlacement Ifc4x3_rc4::IfcGradientCurve::EndPoint() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcPlacement{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcPlacement>(); } void Ifc4x3_rc4::IfcGradientCurve::setEndPoint(const ::Ifc4x3_rc4::IfcPlacement& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc4::IfcGradientCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[523]); } -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; } +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); } -void Ifc4x3_rc4::IfcGrid::setUAxes(const std::vector< ::Ifc4x3_rc4::IfcGridAxis >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } -std::vector< ::Ifc4x3_rc4::IfcGridAxis > Ifc4x3_rc4::IfcGrid::VAxes() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc4::IfcGridAxis>(es); } -void Ifc4x3_rc4::IfcGrid::setVAxes(const std::vector< ::Ifc4x3_rc4::IfcGridAxis >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } -std::optional< std::vector< ::Ifc4x3_rc4::IfcGridAxis > > Ifc4x3_rc4::IfcGrid::WAxes() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc4::IfcGridAxis>(es); } -void Ifc4x3_rc4::IfcGrid::setWAxes(const std::optional< std::vector< ::Ifc4x3_rc4::IfcGridAxis > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } +std::vector< ::Ifc4x3_rc4::IfcGridAxis > Ifc4x3_rc4::IfcGrid::UAxes() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc4::IfcGridAxis>(es); } +void Ifc4x3_rc4::IfcGrid::setUAxes(const std::vector< ::Ifc4x3_rc4::IfcGridAxis >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } +std::vector< ::Ifc4x3_rc4::IfcGridAxis > Ifc4x3_rc4::IfcGrid::VAxes() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc4::IfcGridAxis>(es); } +void Ifc4x3_rc4::IfcGrid::setVAxes(const std::vector< ::Ifc4x3_rc4::IfcGridAxis >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } +std::optional< std::vector< ::Ifc4x3_rc4::IfcGridAxis > > Ifc4x3_rc4::IfcGrid::WAxes() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc4::IfcGridAxis>(es); } +void Ifc4x3_rc4::IfcGrid::setWAxes(const std::optional< std::vector< ::Ifc4x3_rc4::IfcGridAxis > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } std::optional< ::Ifc4x3_rc4::IfcGridTypeEnum::Value > Ifc4x3_rc4::IfcGrid::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcGridTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc4::IfcGrid::setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcGridTypeEnum::Value >& v) { if (v) {set_attribute_value(10, enumeration_reference(&::Ifc4x3_rc4::IfcGridTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const ifcopenshell::entity& Ifc4x3_rc4::IfcGrid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[524]); } -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; } +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; } void Ifc4x3_rc4::IfcGridAxis::setAxisTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcGridAxis::AxisCurve() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcCurve>(); } +::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcGridAxis::AxisCurve() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcCurve>(); } void Ifc4x3_rc4::IfcGridAxis::setAxisCurve(const ::Ifc4x3_rc4::IfcCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } bool Ifc4x3_rc4::IfcGridAxis::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcGridAxis::setSameSense(const bool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -11252,9 +11252,9 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcGridAxis::Class() { return *((ifcopen 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>(); } +::Ifc4x3_rc4::IfcVirtualGridIntersection Ifc4x3_rc4::IfcGridPlacement::PlacementLocation() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcVirtualGridIntersection>(); } void Ifc4x3_rc4::IfcGridPlacement::setPlacementLocation(const ::Ifc4x3_rc4::IfcVirtualGridIntersection& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcGridPlacementDirectionSelect Ifc4x3_rc4::IfcGridPlacement::PlacementRefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcGridPlacementDirectionSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcGridPlacementDirectionSelect>(); } +::Ifc4x3_rc4::IfcGridPlacementDirectionSelect Ifc4x3_rc4::IfcGridPlacement::PlacementRefDirection() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcGridPlacementDirectionSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcGridPlacementDirectionSelect>(); } void Ifc4x3_rc4::IfcGridPlacement::setPlacementRefDirection(const ::Ifc4x3_rc4::IfcGridPlacementDirectionSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -11269,7 +11269,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcGroup::Class() { return *((ifcopenshe 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>(); } +::Ifc4x3_rc4::IfcSurface Ifc4x3_rc4::IfcHalfSpaceSolid::BaseSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcSurface>(); } void Ifc4x3_rc4::IfcHalfSpaceSolid::setBaseSurface(const ::Ifc4x3_rc4::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } bool Ifc4x3_rc4::IfcHalfSpaceSolid::AgreementFlag() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcHalfSpaceSolid::setAgreementFlag(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -11339,7 +11339,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcImageTexture::Class() { return *((ifc 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>(); } +::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>(); } void Ifc4x3_rc4::IfcImpactProtectionDevice::setPredefinedType(const ::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -11347,19 +11347,19 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcImpactProtectionDevice::Class() { ret 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>(); } +::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect Ifc4x3_rc4::IfcImpactProtectionDeviceType::PredefinedType() const { return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect>(); } void Ifc4x3_rc4::IfcImpactProtectionDeviceType::setPredefinedType(const ::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } const ifcopenshell::entity& Ifc4x3_rc4::IfcImpactProtectionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[544]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcTessellatedFaceSet Ifc4x3_rc4::IfcIndexedColourMap::MappedTo() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcTessellatedFaceSet>(); } void Ifc4x3_rc4::IfcIndexedColourMap::setMappedTo(const ::Ifc4x3_rc4::IfcTessellatedFaceSet& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< double > Ifc4x3_rc4::IfcIndexedColourMap::Opacity() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcIndexedColourMap::setOpacity(const std::optional< double >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc4::IfcColourRgbList Ifc4x3_rc4::IfcIndexedColourMap::Colours() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcColourRgbList>(); } +::Ifc4x3_rc4::IfcColourRgbList Ifc4x3_rc4::IfcIndexedColourMap::Colours() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcColourRgbList>(); } void Ifc4x3_rc4::IfcIndexedColourMap::setColours(const ::Ifc4x3_rc4::IfcColourRgbList& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::vector< int64_t > /*[1:?]*/ Ifc4x3_rc4::IfcIndexedColourMap::ColourIndex() const { std::vector< int64_t > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcIndexedColourMap::setColourIndex(const std::vector< int64_t > /*[1:?]*/& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -11369,16 +11369,16 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcIndexedColourMap::Class() { return *( Ifc4x3_rc4::IfcIndexedColourMap Ifc4x3_rc4::IfcIndexedColourMap::initialize(::Ifc4x3_rc4::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_rc4::IfcColourRgbList v3_Colours, std::vector< int64_t > /*[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>(); } +::Ifc4x3_rc4::IfcCartesianPointList Ifc4x3_rc4::IfcIndexedPolyCurve::Points() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCartesianPointList>(); } void Ifc4x3_rc4::IfcIndexedPolyCurve::setPoints(const ::Ifc4x3_rc4::IfcCartesianPointList& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::optional< std::vector< ::Ifc4x3_rc4::IfcSegmentIndexSelect > > Ifc4x3_rc4::IfcIndexedPolyCurve::Segments() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcSegmentIndexSelect>(es); } -void Ifc4x3_rc4::IfcIndexedPolyCurve::setSegments(const std::optional< std::vector< ::Ifc4x3_rc4::IfcSegmentIndexSelect > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } +std::optional< std::vector< ::Ifc4x3_rc4::IfcSegmentIndexSelect > > Ifc4x3_rc4::IfcIndexedPolyCurve::Segments() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcSegmentIndexSelect>(es); } +void Ifc4x3_rc4::IfcIndexedPolyCurve::setSegments(const std::optional< std::vector< ::Ifc4x3_rc4::IfcSegmentIndexSelect > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } std::optional< bool > Ifc4x3_rc4::IfcIndexedPolyCurve::SelfIntersect() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } bool v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcIndexedPolyCurve::setSelfIntersect(const std::optional< bool >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_rc4::IfcIndexedPolyCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[548]); } -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; } +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< int64_t > /*[3:?]*/ Ifc4x3_rc4::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int64_t > /*[3:?]*/ v = get_attribute_value(0); return v; } @@ -11398,14 +11398,14 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcIndexedPolygonalFaceWithVoids::Class( Ifc4x3_rc4::IfcIndexedPolygonalFaceWithVoids Ifc4x3_rc4::IfcIndexedPolygonalFaceWithVoids::initialize(std::vector< int64_t > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int64_t > > 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>(); } +::Ifc4x3_rc4::IfcTessellatedFaceSet Ifc4x3_rc4::IfcIndexedTextureMap::MappedTo() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcTessellatedFaceSet>(); } void Ifc4x3_rc4::IfcIndexedTextureMap::setMappedTo(const ::Ifc4x3_rc4::IfcTessellatedFaceSet& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcTextureVertexList Ifc4x3_rc4::IfcIndexedTextureMap::TexCoords() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcTextureVertexList>(); } +::Ifc4x3_rc4::IfcTextureVertexList Ifc4x3_rc4::IfcIndexedTextureMap::TexCoords() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcTextureVertexList>(); } void Ifc4x3_rc4::IfcIndexedTextureMap::setTexCoords(const ::Ifc4x3_rc4::IfcTextureVertexList& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc4::IfcIndexedTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[551]); } -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; } +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< int64_t > > > Ifc4x3_rc4::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< std::vector< int64_t > > 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]); } -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< int64_t > > > 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; } +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< int64_t > > > 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)); } @@ -11429,49 +11429,49 @@ void Ifc4x3_rc4::IfcInterceptorType::setPredefinedType(const ::Ifc4x3_rc4::IfcIn const ifcopenshell::entity& Ifc4x3_rc4::IfcInterceptorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[557]); } -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; } +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]); } -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; } +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)); } void Ifc4x3_rc4::IfcInventory::setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcInventoryTypeEnum::Value >& v) { if (v) {set_attribute_value(5, enumeration_reference(&::Ifc4x3_rc4::IfcInventoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -::Ifc4x3_rc4::IfcActorSelect Ifc4x3_rc4::IfcInventory::Jurisdiction() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcActorSelect>(); } +::Ifc4x3_rc4::IfcActorSelect Ifc4x3_rc4::IfcInventory::Jurisdiction() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcActorSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcActorSelect>(); } void Ifc4x3_rc4::IfcInventory::setJurisdiction(const ::Ifc4x3_rc4::IfcActorSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::optional< std::vector< ::Ifc4x3_rc4::IfcPerson > > Ifc4x3_rc4::IfcInventory::ResponsiblePersons() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc4::IfcPerson>(es); } -void Ifc4x3_rc4::IfcInventory::setResponsiblePersons(const std::optional< std::vector< ::Ifc4x3_rc4::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x3_rc4::IfcPerson > > Ifc4x3_rc4::IfcInventory::ResponsiblePersons() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc4::IfcPerson>(es); } +void Ifc4x3_rc4::IfcInventory::setResponsiblePersons(const std::optional< std::vector< ::Ifc4x3_rc4::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< std::string > Ifc4x3_rc4::IfcInventory::LastUpdateDate() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcInventory::setLastUpdateDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_rc4::IfcCostValue Ifc4x3_rc4::IfcInventory::CurrentValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc4::IfcCostValue{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc4::IfcCostValue>(); } +::Ifc4x3_rc4::IfcCostValue Ifc4x3_rc4::IfcInventory::CurrentValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc4::IfcCostValue{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc4::IfcCostValue>(); } void Ifc4x3_rc4::IfcInventory::setCurrentValue(const ::Ifc4x3_rc4::IfcCostValue& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc4::IfcCostValue Ifc4x3_rc4::IfcInventory::OriginalValue() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc4::IfcCostValue{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_rc4::IfcCostValue>(); } +::Ifc4x3_rc4::IfcCostValue Ifc4x3_rc4::IfcInventory::OriginalValue() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc4::IfcCostValue{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x3_rc4::IfcCostValue>(); } void Ifc4x3_rc4::IfcInventory::setOriginalValue(const ::Ifc4x3_rc4::IfcCostValue& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } const ifcopenshell::entity& Ifc4x3_rc4::IfcInventory::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[562]); } -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; } +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); } -void Ifc4x3_rc4::IfcIrregularTimeSeries::setValues(const std::vector< ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } +std::vector< ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue > Ifc4x3_rc4::IfcIrregularTimeSeries::Values() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc4::IfcIrregularTimeSeriesValue>(es); } +void Ifc4x3_rc4::IfcIrregularTimeSeries::setValues(const std::vector< ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue >& v) { set_attribute_value(8, cast_vector(v));if constexpr (false)unset_attribute_value(8); } const ifcopenshell::entity& Ifc4x3_rc4::IfcIrregularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[565]); } -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; } +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; } void Ifc4x3_rc4::IfcIrregularTimeSeriesValue::setTimeStamp(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc4::IfcValue > Ifc4x3_rc4::IfcIrregularTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcValue>(es); } -void Ifc4x3_rc4::IfcIrregularTimeSeriesValue::setListValues(const std::vector< ::Ifc4x3_rc4::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc4::IfcValue > Ifc4x3_rc4::IfcIrregularTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcValue>(es); } +void Ifc4x3_rc4::IfcIrregularTimeSeriesValue::setListValues(const std::vector< ::Ifc4x3_rc4::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_rc4::IfcIrregularTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[566]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -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]); } -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; } +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; } @@ -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]); } -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; } +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,10 +11537,10 @@ void Ifc4x3_rc4::IfcLaborResourceType::setPredefinedType(const ::Ifc4x3_rc4::Ifc const ifcopenshell::entity& Ifc4x3_rc4::IfcLaborResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[578]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcTimeOrRatioSelect Ifc4x3_rc4::IfcLagTime::LagValue() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcTimeOrRatioSelect>(); } void Ifc4x3_rc4::IfcLagTime::setLagValue(const ::Ifc4x3_rc4::IfcTimeOrRatioSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } ::Ifc4x3_rc4::IfcTaskDurationEnum::Value Ifc4x3_rc4::IfcLagTime::DurationType() const { return ::Ifc4x3_rc4::IfcTaskDurationEnum::FromString(get_attribute_value(4)); } void Ifc4x3_rc4::IfcLagTime::setDurationType(const ::Ifc4x3_rc4::IfcTaskDurationEnum::Value& v) { set_attribute_value(4, enumeration_reference(&::Ifc4x3_rc4::IfcTaskDurationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } @@ -11563,14 +11563,14 @@ void Ifc4x3_rc4::IfcLampType::setPredefinedType(const ::Ifc4x3_rc4::IfcLampTypeE const ifcopenshell::entity& Ifc4x3_rc4::IfcLampType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[582]); } -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; } +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; } void Ifc4x3_rc4::IfcLibraryInformation::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x3_rc4::IfcLibraryInformation::Version() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcLibraryInformation::setVersion(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc4::IfcActorSelect Ifc4x3_rc4::IfcLibraryInformation::Publisher() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcActorSelect>(); } +::Ifc4x3_rc4::IfcActorSelect Ifc4x3_rc4::IfcLibraryInformation::Publisher() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcActorSelect{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcActorSelect>(); } void Ifc4x3_rc4::IfcLibraryInformation::setPublisher(const ::Ifc4x3_rc4::IfcActorSelect& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4x3_rc4::IfcLibraryInformation::VersionDate() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcLibraryInformation::setVersionDate(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } @@ -11590,7 +11590,7 @@ std::optional< std::string > Ifc4x3_rc4::IfcLibraryReference::Description() cons void Ifc4x3_rc4::IfcLibraryReference::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } std::optional< std::string > Ifc4x3_rc4::IfcLibraryReference::Language() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcLibraryReference::setLanguage(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc4::IfcLibraryInformation Ifc4x3_rc4::IfcLibraryReference::ReferencedLibrary() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc4::IfcLibraryInformation{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcLibraryInformation>(); } +::Ifc4x3_rc4::IfcLibraryInformation Ifc4x3_rc4::IfcLibraryReference::ReferencedLibrary() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc4::IfcLibraryInformation{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcLibraryInformation>(); } void Ifc4x3_rc4::IfcLibraryReference::setReferencedLibrary(const ::Ifc4x3_rc4::IfcLibraryInformation& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } std::vector<::Ifc4x3_rc4::IfcRelAssociatesLibrary> Ifc4x3_rc4::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[918], 5)); } @@ -11624,22 +11624,22 @@ void Ifc4x3_rc4::IfcLightFixtureType::setPredefinedType(const ::Ifc4x3_rc4::IfcL const ifcopenshell::entity& Ifc4x3_rc4::IfcLightFixtureType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[596]); } -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; } +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)); } void Ifc4x3_rc4::IfcLightIntensityDistribution::setLightDistributionCurve(const ::Ifc4x3_rc4::IfcLightDistributionCurveEnum::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc4x3_rc4::IfcLightDistributionCurveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc4::IfcLightDistributionData > Ifc4x3_rc4::IfcLightIntensityDistribution::DistributionData() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcLightDistributionData>(es); } -void Ifc4x3_rc4::IfcLightIntensityDistribution::setDistributionData(const std::vector< ::Ifc4x3_rc4::IfcLightDistributionData >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc4::IfcLightDistributionData > Ifc4x3_rc4::IfcLightIntensityDistribution::DistributionData() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcLightDistributionData>(es); } +void Ifc4x3_rc4::IfcLightIntensityDistribution::setDistributionData(const std::vector< ::Ifc4x3_rc4::IfcLightDistributionData >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_rc4::IfcLightIntensityDistribution::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[598]); } -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; } +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; } void Ifc4x3_rc4::IfcLightSource::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_rc4::IfcColourRgb Ifc4x3_rc4::IfcLightSource::LightColour() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcColourRgb>(); } +::Ifc4x3_rc4::IfcColourRgb Ifc4x3_rc4::IfcLightSource::LightColour() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcColourRgb>(); } void Ifc4x3_rc4::IfcLightSource::setLightColour(const ::Ifc4x3_rc4::IfcColourRgb& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< double > Ifc4x3_rc4::IfcLightSource::AmbientIntensity() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcLightSource::setAmbientIntensity(const std::optional< double >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } @@ -11657,7 +11657,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcLightSourceAmbient::Class() { return 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>(); } +::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcLightSourceDirectional::Orientation() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcDirection>(); } void Ifc4x3_rc4::IfcLightSourceDirectional::setOrientation(const ::Ifc4x3_rc4::IfcDirection& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -11665,9 +11665,9 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcLightSourceDirectional::Class() { ret 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>(); } +::Ifc4x3_rc4::IfcAxis2Placement3D Ifc4x3_rc4::IfcLightSourceGoniometric::Position() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcAxis2Placement3D>(); } void Ifc4x3_rc4::IfcLightSourceGoniometric::setPosition(const ::Ifc4x3_rc4::IfcAxis2Placement3D& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcColourRgb Ifc4x3_rc4::IfcLightSourceGoniometric::ColourAppearance() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc4::IfcColourRgb{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcColourRgb>(); } +::Ifc4x3_rc4::IfcColourRgb Ifc4x3_rc4::IfcLightSourceGoniometric::ColourAppearance() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc4::IfcColourRgb{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcColourRgb>(); } void Ifc4x3_rc4::IfcLightSourceGoniometric::setColourAppearance(const ::Ifc4x3_rc4::IfcColourRgb& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } double Ifc4x3_rc4::IfcLightSourceGoniometric::ColourTemperature() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcLightSourceGoniometric::setColourTemperature(const double& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -11675,7 +11675,7 @@ double Ifc4x3_rc4::IfcLightSourceGoniometric::LuminousFlux() const { double v = void Ifc4x3_rc4::IfcLightSourceGoniometric::setLuminousFlux(const double& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_rc4::IfcLightEmissionSourceEnum::Value Ifc4x3_rc4::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x3_rc4::IfcLightEmissionSourceEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcLightSourceGoniometric::setLightEmissionSource(const ::Ifc4x3_rc4::IfcLightEmissionSourceEnum::Value& v) { set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc4::IfcLightEmissionSourceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc4::IfcLightDistributionDataSourceSelect Ifc4x3_rc4::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc4::IfcLightDistributionDataSourceSelect>(); } +::Ifc4x3_rc4::IfcLightDistributionDataSourceSelect Ifc4x3_rc4::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc4::IfcLightDistributionDataSourceSelect>(); } void Ifc4x3_rc4::IfcLightSourceGoniometric::setLightDistributionDataSource(const ::Ifc4x3_rc4::IfcLightDistributionDataSourceSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } @@ -11683,7 +11683,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcLightSourceGoniometric::Class() { ret 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>(); } +::Ifc4x3_rc4::IfcCartesianPoint Ifc4x3_rc4::IfcLightSourcePositional::Position() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcCartesianPoint>(); } void Ifc4x3_rc4::IfcLightSourcePositional::setPosition(const ::Ifc4x3_rc4::IfcCartesianPoint& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } double Ifc4x3_rc4::IfcLightSourcePositional::Radius() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcLightSourcePositional::setRadius(const double& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -11699,7 +11699,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcLightSourcePositional::Class() { retu 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>(); } +::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcLightSourceSpot::Orientation() const { return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc4::IfcDirection>(); } void Ifc4x3_rc4::IfcLightSourceSpot::setOrientation(const ::Ifc4x3_rc4::IfcDirection& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::optional< double > Ifc4x3_rc4::IfcLightSourceSpot::ConcentrationExponent() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcLightSourceSpot::setConcentrationExponent(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } @@ -11713,9 +11713,9 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcLightSourceSpot::Class() { return *(( 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>(); } +::Ifc4x3_rc4::IfcCartesianPoint Ifc4x3_rc4::IfcLine::Pnt() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCartesianPoint>(); } void Ifc4x3_rc4::IfcLine::setPnt(const ::Ifc4x3_rc4::IfcCartesianPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcVector Ifc4x3_rc4::IfcLine::Dir() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcVector>(); } +::Ifc4x3_rc4::IfcVector Ifc4x3_rc4::IfcLine::Dir() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcVector>(); } void Ifc4x3_rc4::IfcLine::setDir(const ::Ifc4x3_rc4::IfcVector& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11729,9 +11729,9 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcLinearElement::Class() { return *((if 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>(); } +::Ifc4x3_rc4::IfcAxis2PlacementLinear Ifc4x3_rc4::IfcLinearPlacement::RelativePlacement() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcAxis2PlacementLinear>(); } void Ifc4x3_rc4::IfcLinearPlacement::setRelativePlacement(const ::Ifc4x3_rc4::IfcAxis2PlacementLinear& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcAxis2Placement3D Ifc4x3_rc4::IfcLinearPlacement::CartesianPosition() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcAxis2Placement3D>(); } +::Ifc4x3_rc4::IfcAxis2Placement3D Ifc4x3_rc4::IfcLinearPlacement::CartesianPosition() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcAxis2Placement3D>(); } void Ifc4x3_rc4::IfcLinearPlacement::setCartesianPosition(const ::Ifc4x3_rc4::IfcAxis2Placement3D& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -11758,10 +11758,10 @@ void Ifc4x3_rc4::IfcLiquidTerminalType::setPredefinedType(const ::Ifc4x3_rc4::If const ifcopenshell::entity& Ifc4x3_rc4::IfcLiquidTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[615]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcAxis2Placement Ifc4x3_rc4::IfcLocalPlacement::RelativePlacement() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcAxis2Placement>(); } void Ifc4x3_rc4::IfcLocalPlacement::setRelativePlacement(const ::Ifc4x3_rc4::IfcAxis2Placement& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11775,7 +11775,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcLoop::Class() { return *((ifcopenshel 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>(); } +::Ifc4x3_rc4::IfcClosedShell Ifc4x3_rc4::IfcManifoldSolidBrep::Outer() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcClosedShell>(); } void Ifc4x3_rc4::IfcManifoldSolidBrep::setOuter(const ::Ifc4x3_rc4::IfcClosedShell& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -11805,9 +11805,9 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcMapConversion::Class() { return *((if 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>(); } +::Ifc4x3_rc4::IfcRepresentationMap Ifc4x3_rc4::IfcMappedItem::MappingSource() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcRepresentationMap>(); } void Ifc4x3_rc4::IfcMappedItem::setMappingSource(const ::Ifc4x3_rc4::IfcRepresentationMap& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcCartesianTransformationOperator Ifc4x3_rc4::IfcMappedItem::MappingTarget() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcCartesianTransformationOperator>(); } +::Ifc4x3_rc4::IfcCartesianTransformationOperator Ifc4x3_rc4::IfcMappedItem::MappingTarget() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcCartesianTransformationOperator>(); } void Ifc4x3_rc4::IfcMappedItem::setMappingTarget(const ::Ifc4x3_rc4::IfcCartesianTransformationOperator& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11838,21 +11838,21 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterial::Class() { return *((ifcopen 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); } -void Ifc4x3_rc4::IfcMaterialClassificationRelationship::setMaterialClassifications(const std::vector< ::Ifc4x3_rc4::IfcClassificationSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcMaterial Ifc4x3_rc4::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcMaterial>(); } +std::vector< ::Ifc4x3_rc4::IfcClassificationSelect > Ifc4x3_rc4::IfcMaterialClassificationRelationship::MaterialClassifications() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcClassificationSelect>(es); } +void Ifc4x3_rc4::IfcMaterialClassificationRelationship::setMaterialClassifications(const std::vector< ::Ifc4x3_rc4::IfcClassificationSelect >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +::Ifc4x3_rc4::IfcMaterial Ifc4x3_rc4::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcMaterial>(); } void Ifc4x3_rc4::IfcMaterialClassificationRelationship::setClassifiedMaterial(const ::Ifc4x3_rc4::IfcMaterial& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialClassificationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[639]); } -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; } +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; } void Ifc4x3_rc4::IfcMaterialConstituent::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_rc4::IfcMaterialConstituent::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcMaterialConstituent::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc4::IfcMaterial Ifc4x3_rc4::IfcMaterialConstituent::Material() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcMaterial>(); } +::Ifc4x3_rc4::IfcMaterial Ifc4x3_rc4::IfcMaterialConstituent::Material() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcMaterial>(); } void Ifc4x3_rc4::IfcMaterialConstituent::setMaterial(const ::Ifc4x3_rc4::IfcMaterial& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } std::optional< double > Ifc4x3_rc4::IfcMaterialConstituent::Fraction() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcMaterialConstituent::setFraction(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } @@ -11869,12 +11869,12 @@ std::optional< std::string > Ifc4x3_rc4::IfcMaterialConstituentSet::Name() const void Ifc4x3_rc4::IfcMaterialConstituentSet::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_rc4::IfcMaterialConstituentSet::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcMaterialConstituentSet::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::optional< std::vector< ::Ifc4x3_rc4::IfcMaterialConstituent > > Ifc4x3_rc4::IfcMaterialConstituentSet::MaterialConstituents() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcMaterialConstituent>(es); } -void Ifc4x3_rc4::IfcMaterialConstituentSet::setMaterialConstituents(const std::optional< std::vector< ::Ifc4x3_rc4::IfcMaterialConstituent > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4x3_rc4::IfcMaterialConstituent > > Ifc4x3_rc4::IfcMaterialConstituentSet::MaterialConstituents() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcMaterialConstituent>(es); } +void Ifc4x3_rc4::IfcMaterialConstituentSet::setMaterialConstituents(const std::optional< std::vector< ::Ifc4x3_rc4::IfcMaterialConstituent > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialConstituentSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[641]); } -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; } +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 @@ -11886,15 +11886,15 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialDefinition::Class() { return 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>(); } +::Ifc4x3_rc4::IfcMaterial Ifc4x3_rc4::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcMaterial>(); } void Ifc4x3_rc4::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(const ::Ifc4x3_rc4::IfcMaterial& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialDefinitionRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[643]); } -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; } +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>(); } +::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>(); } void Ifc4x3_rc4::IfcMaterialLayer::setMaterial(const ::Ifc4x3_rc4::IfcMaterial& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc4::IfcMaterialLayer::LayerThickness() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcMaterialLayer::setLayerThickness(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -11915,8 +11915,8 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialLayer::Class() { return *((if 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< int64_t > 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); } -void Ifc4x3_rc4::IfcMaterialLayerSet::setMaterialLayers(const std::vector< ::Ifc4x3_rc4::IfcMaterialLayer >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc4::IfcMaterialLayer > Ifc4x3_rc4::IfcMaterialLayerSet::MaterialLayers() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcMaterialLayer>(es); } +void Ifc4x3_rc4::IfcMaterialLayerSet::setMaterialLayers(const std::vector< ::Ifc4x3_rc4::IfcMaterialLayer >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x3_rc4::IfcMaterialLayerSet::LayerSetName() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcMaterialLayerSet::setLayerSetName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x3_rc4::IfcMaterialLayerSet::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } @@ -11924,10 +11924,10 @@ void Ifc4x3_rc4::IfcMaterialLayerSet::setDescription(const std::optional< std::s const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialLayerSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[645]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcMaterialLayerSet Ifc4x3_rc4::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcMaterialLayerSet>(); } void Ifc4x3_rc4::IfcMaterialLayerSetUsage::setForLayerSet(const ::Ifc4x3_rc4::IfcMaterialLayerSet& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value Ifc4x3_rc4::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x3_rc4::IfcLayerSetDirectionEnum::FromString(get_attribute_value(1)); } void Ifc4x3_rc4::IfcMaterialLayerSetUsage::setLayerSetDirection(const ::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } @@ -11953,21 +11953,21 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialLayerWithOffsets::Class() { r 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< int64_t > 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); } -void Ifc4x3_rc4::IfcMaterialList::setMaterials(const std::vector< ::Ifc4x3_rc4::IfcMaterial >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc4::IfcMaterial > Ifc4x3_rc4::IfcMaterialList::Materials() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcMaterial>(es); } +void Ifc4x3_rc4::IfcMaterialList::setMaterials(const std::vector< ::Ifc4x3_rc4::IfcMaterial >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialList::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[648]); } -Ifc4x3_rc4::IfcMaterialList Ifc4x3_rc4::IfcMaterialList::initialize(std::vector< ::Ifc4x3_rc4::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials));; return *this; } +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; } void Ifc4x3_rc4::IfcMaterialProfile::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_rc4::IfcMaterialProfile::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcMaterialProfile::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc4::IfcMaterial Ifc4x3_rc4::IfcMaterialProfile::Material() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcMaterial{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcMaterial>(); } +::Ifc4x3_rc4::IfcMaterial Ifc4x3_rc4::IfcMaterialProfile::Material() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcMaterial{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcMaterial>(); } void Ifc4x3_rc4::IfcMaterialProfile::setMaterial(const ::Ifc4x3_rc4::IfcMaterial& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcProfileDef Ifc4x3_rc4::IfcMaterialProfile::Profile() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcProfileDef>(); } +::Ifc4x3_rc4::IfcProfileDef Ifc4x3_rc4::IfcMaterialProfile::Profile() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcProfileDef>(); } void Ifc4x3_rc4::IfcMaterialProfile::setProfile(const ::Ifc4x3_rc4::IfcProfileDef& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< int64_t > Ifc4x3_rc4::IfcMaterialProfile::Priority() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcMaterialProfile::setPriority(const std::optional< int64_t >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -11984,17 +11984,17 @@ std::optional< std::string > Ifc4x3_rc4::IfcMaterialProfileSet::Name() const { i void Ifc4x3_rc4::IfcMaterialProfileSet::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_rc4::IfcMaterialProfileSet::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcMaterialProfileSet::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x3_rc4::IfcMaterialProfile > Ifc4x3_rc4::IfcMaterialProfileSet::MaterialProfiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcMaterialProfile>(es); } -void Ifc4x3_rc4::IfcMaterialProfileSet::setMaterialProfiles(const std::vector< ::Ifc4x3_rc4::IfcMaterialProfile >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcCompositeProfileDef Ifc4x3_rc4::IfcMaterialProfileSet::CompositeProfile() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcCompositeProfileDef{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcCompositeProfileDef>(); } +std::vector< ::Ifc4x3_rc4::IfcMaterialProfile > Ifc4x3_rc4::IfcMaterialProfileSet::MaterialProfiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcMaterialProfile>(es); } +void Ifc4x3_rc4::IfcMaterialProfileSet::setMaterialProfiles(const std::vector< ::Ifc4x3_rc4::IfcMaterialProfile >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +::Ifc4x3_rc4::IfcCompositeProfileDef Ifc4x3_rc4::IfcMaterialProfileSet::CompositeProfile() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcCompositeProfileDef{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcCompositeProfileDef>(); } void Ifc4x3_rc4::IfcMaterialProfileSet::setCompositeProfile(const ::Ifc4x3_rc4::IfcCompositeProfileDef& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialProfileSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[650]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcMaterialProfileSet Ifc4x3_rc4::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcMaterialProfileSet>(); } void Ifc4x3_rc4::IfcMaterialProfileSetUsage::setForProfileSet(const ::Ifc4x3_rc4::IfcMaterialProfileSet& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< int64_t > Ifc4x3_rc4::IfcMaterialProfileSetUsage::CardinalPoint() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcMaterialProfileSetUsage::setCardinalPoint(const std::optional< int64_t >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } @@ -12006,7 +12006,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialProfileSetUsage::Class() { re Ifc4x3_rc4::IfcMaterialProfileSetUsage Ifc4x3_rc4::IfcMaterialProfileSetUsage::initialize(::Ifc4x3_rc4::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int64_t > 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>(); } +::Ifc4x3_rc4::IfcMaterialProfileSet Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcMaterialProfileSet>(); } void Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(const ::Ifc4x3_rc4::IfcMaterialProfileSet& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< int64_t > Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(const std::optional< int64_t >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -12024,24 +12024,24 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialProfileWithOffsets::Class() { 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< int64_t > 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>(); } +::Ifc4x3_rc4::IfcMaterialDefinition Ifc4x3_rc4::IfcMaterialProperties::Material() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcMaterialDefinition>(); } void Ifc4x3_rc4::IfcMaterialProperties::setMaterial(const ::Ifc4x3_rc4::IfcMaterialDefinition& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[654]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcMaterial Ifc4x3_rc4::IfcMaterialRelationship::RelatingMaterial() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcMaterial>(); } void Ifc4x3_rc4::IfcMaterialRelationship::setRelatingMaterial(const ::Ifc4x3_rc4::IfcMaterial& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_rc4::IfcMaterial > Ifc4x3_rc4::IfcMaterialRelationship::RelatedMaterials() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc4::IfcMaterial>(es); } -void Ifc4x3_rc4::IfcMaterialRelationship::setRelatedMaterials(const std::vector< ::Ifc4x3_rc4::IfcMaterial >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc4::IfcMaterial > Ifc4x3_rc4::IfcMaterialRelationship::RelatedMaterials() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc4::IfcMaterial>(es); } +void Ifc4x3_rc4::IfcMaterialRelationship::setRelatedMaterials(const std::vector< ::Ifc4x3_rc4::IfcMaterial >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc4::IfcMaterialRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcMaterialRelationship::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[655]); } -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; } +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 @@ -12051,9 +12051,9 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialUsageDefinition::Class() { re 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>(); } +::Ifc4x3_rc4::IfcValue Ifc4x3_rc4::IfcMeasureWithUnit::ValueComponent() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcValue>(); } void Ifc4x3_rc4::IfcMeasureWithUnit::setValueComponent(const ::Ifc4x3_rc4::IfcValue& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcUnit Ifc4x3_rc4::IfcMeasureWithUnit::UnitComponent() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcUnit>(); } +::Ifc4x3_rc4::IfcUnit Ifc4x3_rc4::IfcMeasureWithUnit::UnitComponent() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcUnit>(); } void Ifc4x3_rc4::IfcMeasureWithUnit::setUnitComponent(const ::Ifc4x3_rc4::IfcUnit& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -12120,16 +12120,16 @@ void Ifc4x3_rc4::IfcMemberType::setPredefinedType(const ::Ifc4x3_rc4::IfcMemberT const ifcopenshell::entity& Ifc4x3_rc4::IfcMemberType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[668]); } -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; } +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)); } void Ifc4x3_rc4::IfcMetric::setBenchmark(const ::Ifc4x3_rc4::IfcBenchmarkEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4x3_rc4::IfcBenchmarkEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } std::optional< std::string > Ifc4x3_rc4::IfcMetric::ValueSource() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcMetric::setValueSource(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_rc4::IfcMetricValueSelect Ifc4x3_rc4::IfcMetric::DataValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc4::IfcMetricValueSelect{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc4::IfcMetricValueSelect>(); } +::Ifc4x3_rc4::IfcMetricValueSelect Ifc4x3_rc4::IfcMetric::DataValue() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc4::IfcMetricValueSelect{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc4::IfcMetricValueSelect>(); } void Ifc4x3_rc4::IfcMetric::setDataValue(const ::Ifc4x3_rc4::IfcMetricValueSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc4::IfcReference Ifc4x3_rc4::IfcMetric::ReferencePath() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc4::IfcReference{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_rc4::IfcReference>(); } +::Ifc4x3_rc4::IfcReference Ifc4x3_rc4::IfcMetric::ReferencePath() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc4::IfcReference{}; } return ((express::base)(get_attribute_value(10))).as<::Ifc4x3_rc4::IfcReference>(); } void Ifc4x3_rc4::IfcMetric::setReferencePath(const ::Ifc4x3_rc4::IfcReference& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } @@ -12156,7 +12156,7 @@ void Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceType::setPredefinedType(con const ifcopenshell::entity& Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[674]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -12196,10 +12196,10 @@ void Ifc4x3_rc4::IfcMotorConnectionType::setPredefinedType(const ::Ifc4x3_rc4::I const ifcopenshell::entity& Ifc4x3_rc4::IfcMotorConnectionType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[693]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcDimensionalExponents Ifc4x3_rc4::IfcNamedUnit::Dimensions() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcDimensionalExponents>(); } void Ifc4x3_rc4::IfcNamedUnit::setDimensions(const ::Ifc4x3_rc4::IfcDimensionalExponents& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_rc4::IfcUnitEnum::Value Ifc4x3_rc4::IfcNamedUnit::UnitType() const { return ::Ifc4x3_rc4::IfcUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x3_rc4::IfcNamedUnit::setUnitType(const ::Ifc4x3_rc4::IfcUnitEnum::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4x3_rc4::IfcUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } @@ -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]); } -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; } +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; } @@ -12250,7 +12250,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcObjectDefinition::Class() { return *( 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>(); } +::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>(); } void Ifc4x3_rc4::IfcObjectPlacement::setPlacementRelTo(const ::Ifc4x3_rc4::IfcObjectPlacement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::vector<::Ifc4x3_rc4::IfcProduct> Ifc4x3_rc4::IfcObjectPlacement::PlacesObject() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[806], 5)); } @@ -12259,8 +12259,8 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcObjectPlacement::Class() { return *(( 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); } -void Ifc4x3_rc4::IfcObjective::setBenchmarkValues(const std::optional< std::vector< ::Ifc4x3_rc4::IfcConstraint > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +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); } +void Ifc4x3_rc4::IfcObjective::setBenchmarkValues(const std::optional< std::vector< ::Ifc4x3_rc4::IfcConstraint > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< ::Ifc4x3_rc4::IfcLogicalOperatorEnum::Value > Ifc4x3_rc4::IfcObjective::LogicalAggregator() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcLogicalOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcObjective::setLogicalAggregator(const std::optional< ::Ifc4x3_rc4::IfcLogicalOperatorEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc4::IfcLogicalOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3_rc4::IfcObjectiveEnum::Value Ifc4x3_rc4::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x3_rc4::IfcObjectiveEnum::FromString(get_attribute_value(9)); } @@ -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]); } -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; } +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)); } @@ -12281,7 +12281,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcOccupant::Class() { return *((ifcopen 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>(); } +::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcOffsetCurve::BasisCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCurve>(); } void Ifc4x3_rc4::IfcOffsetCurve::setBasisCurve(const ::Ifc4x3_rc4::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -12303,7 +12303,7 @@ double Ifc4x3_rc4::IfcOffsetCurve3D::Distance() const { double v = get_attribut void Ifc4x3_rc4::IfcOffsetCurve3D::setDistance(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } boost::logic::tribool Ifc4x3_rc4::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcOffsetCurve3D::setSelfIntersect(const boost::logic::tribool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcOffsetCurve3D::RefDirection() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcDirection>(); } +::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcOffsetCurve3D::RefDirection() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcDirection>(); } void Ifc4x3_rc4::IfcOffsetCurve3D::setRefDirection(const ::Ifc4x3_rc4::IfcDirection& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -12311,14 +12311,14 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcOffsetCurve3D::Class() { return *((if 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); } -void Ifc4x3_rc4::IfcOffsetCurveByDistances::setOffsetValues(const std::vector< ::Ifc4x3_rc4::IfcPointByDistanceExpression >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc4::IfcPointByDistanceExpression > Ifc4x3_rc4::IfcOffsetCurveByDistances::OffsetValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcPointByDistanceExpression>(es); } +void Ifc4x3_rc4::IfcOffsetCurveByDistances::setOffsetValues(const std::vector< ::Ifc4x3_rc4::IfcPointByDistanceExpression >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_rc4::IfcOffsetCurveByDistances::Tag() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcOffsetCurveByDistances::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_rc4::IfcOffsetCurveByDistances::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[714]); } -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; } +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; } @@ -12338,7 +12338,7 @@ Ifc4x3_rc4::IfcOpenCrossProfileDef Ifc4x3_rc4::IfcOpenCrossProfileDef::initializ const ifcopenshell::entity& Ifc4x3_rc4::IfcOpenShell::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[719]); } -Ifc4x3_rc4::IfcOpenShell Ifc4x3_rc4::IfcOpenShell::initialize(std::vector< ::Ifc4x3_rc4::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } +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)); } @@ -12362,30 +12362,30 @@ std::string Ifc4x3_rc4::IfcOrganization::Name() const { std::string v = get_att void Ifc4x3_rc4::IfcOrganization::setName(const std::string& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_rc4::IfcOrganization::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcOrganization::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::optional< std::vector< ::Ifc4x3_rc4::IfcActorRole > > Ifc4x3_rc4::IfcOrganization::Roles() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc4::IfcActorRole>(es); } -void Ifc4x3_rc4::IfcOrganization::setRoles(const std::optional< std::vector< ::Ifc4x3_rc4::IfcActorRole > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } -std::optional< std::vector< ::Ifc4x3_rc4::IfcAddress > > Ifc4x3_rc4::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc4::IfcAddress>(es); } -void Ifc4x3_rc4::IfcOrganization::setAddresses(const std::optional< std::vector< ::Ifc4x3_rc4::IfcAddress > >& v) { if (v) {set_attribute_value(4, cast_vector(*v));} else {unset_attribute_value(4);} } +std::optional< std::vector< ::Ifc4x3_rc4::IfcActorRole > > Ifc4x3_rc4::IfcOrganization::Roles() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc4::IfcActorRole>(es); } +void Ifc4x3_rc4::IfcOrganization::setRoles(const std::optional< std::vector< ::Ifc4x3_rc4::IfcActorRole > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } +std::optional< std::vector< ::Ifc4x3_rc4::IfcAddress > > Ifc4x3_rc4::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc4::IfcAddress>(es); } +void Ifc4x3_rc4::IfcOrganization::setAddresses(const std::optional< std::vector< ::Ifc4x3_rc4::IfcAddress > >& v) { if (v) {set_attribute_value(4, cast_vector(*v));} else {unset_attribute_value(4);} } std::vector<::Ifc4x3_rc4::IfcOrganizationRelationship> Ifc4x3_rc4::IfcOrganization::IsRelatedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[721], 3)); } std::vector<::Ifc4x3_rc4::IfcOrganizationRelationship> Ifc4x3_rc4::IfcOrganization::Relates() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[721], 2)); } 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]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcOrganization Ifc4x3_rc4::IfcOrganizationRelationship::RelatingOrganization() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcOrganization>(); } void Ifc4x3_rc4::IfcOrganizationRelationship::setRelatingOrganization(const ::Ifc4x3_rc4::IfcOrganization& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_rc4::IfcOrganization > Ifc4x3_rc4::IfcOrganizationRelationship::RelatedOrganizations() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc4::IfcOrganization>(es); } -void Ifc4x3_rc4::IfcOrganizationRelationship::setRelatedOrganizations(const std::vector< ::Ifc4x3_rc4::IfcOrganization >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc4::IfcOrganization > Ifc4x3_rc4::IfcOrganizationRelationship::RelatedOrganizations() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc4::IfcOrganization>(es); } +void Ifc4x3_rc4::IfcOrganizationRelationship::setRelatedOrganizations(const std::vector< ::Ifc4x3_rc4::IfcOrganization >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc4::IfcOrganizationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[721]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcEdge Ifc4x3_rc4::IfcOrientedEdge::EdgeElement() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcEdge>(); } void Ifc4x3_rc4::IfcOrientedEdge::setEdgeElement(const ::Ifc4x3_rc4::IfcEdge& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } bool Ifc4x3_rc4::IfcOrientedEdge::Orientation() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcOrientedEdge::setOrientation(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -12398,7 +12398,7 @@ Ifc4x3_rc4::IfcOrientedEdge Ifc4x3_rc4::IfcOrientedEdge::initialize(::Ifc4x3_rc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcOuterBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[723]); } -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; } +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)); } @@ -12414,12 +12414,12 @@ void Ifc4x3_rc4::IfcOutletType::setPredefinedType(const ::Ifc4x3_rc4::IfcOutletT const ifcopenshell::entity& Ifc4x3_rc4::IfcOutletType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[725]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcPersonAndOrganization Ifc4x3_rc4::IfcOwnerHistory::OwningUser() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcPersonAndOrganization>(); } void Ifc4x3_rc4::IfcOwnerHistory::setOwningUser(const ::Ifc4x3_rc4::IfcPersonAndOrganization& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcApplication Ifc4x3_rc4::IfcOwnerHistory::OwningApplication() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcApplication>(); } +::Ifc4x3_rc4::IfcApplication Ifc4x3_rc4::IfcOwnerHistory::OwningApplication() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcApplication>(); } void Ifc4x3_rc4::IfcOwnerHistory::setOwningApplication(const ::Ifc4x3_rc4::IfcApplication& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< ::Ifc4x3_rc4::IfcStateEnum::Value > Ifc4x3_rc4::IfcOwnerHistory::State() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcStateEnum::FromString(get_attribute_value(2)); } void Ifc4x3_rc4::IfcOwnerHistory::setState(const std::optional< ::Ifc4x3_rc4::IfcStateEnum::Value >& v) { if (v) {set_attribute_value(2, enumeration_reference(&::Ifc4x3_rc4::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } @@ -12427,9 +12427,9 @@ std::optional< ::Ifc4x3_rc4::IfcChangeActionEnum::Value > Ifc4x3_rc4::IfcOwnerHi void Ifc4x3_rc4::IfcOwnerHistory::setChangeAction(const std::optional< ::Ifc4x3_rc4::IfcChangeActionEnum::Value >& v) { if (v) {set_attribute_value(3, enumeration_reference(&::Ifc4x3_rc4::IfcChangeActionEnum::Class(), (size_t) *v));} else {unset_attribute_value(3);} } std::optional< int64_t > Ifc4x3_rc4::IfcOwnerHistory::LastModifiedDate() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcOwnerHistory::setLastModifiedDate(const std::optional< int64_t >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc4::IfcPersonAndOrganization Ifc4x3_rc4::IfcOwnerHistory::LastModifyingUser() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc4::IfcPersonAndOrganization{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcPersonAndOrganization>(); } +::Ifc4x3_rc4::IfcPersonAndOrganization Ifc4x3_rc4::IfcOwnerHistory::LastModifyingUser() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc4::IfcPersonAndOrganization{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcPersonAndOrganization>(); } void Ifc4x3_rc4::IfcOwnerHistory::setLastModifyingUser(const ::Ifc4x3_rc4::IfcPersonAndOrganization& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc4::IfcApplication Ifc4x3_rc4::IfcOwnerHistory::LastModifyingApplication() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcApplication{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcApplication>(); } +::Ifc4x3_rc4::IfcApplication Ifc4x3_rc4::IfcOwnerHistory::LastModifyingApplication() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcApplication{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcApplication>(); } void Ifc4x3_rc4::IfcOwnerHistory::setLastModifyingApplication(const ::Ifc4x3_rc4::IfcApplication& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } int64_t Ifc4x3_rc4::IfcOwnerHistory::CreationDate() const { int64_t v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcOwnerHistory::setCreationDate(const int64_t& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -12439,7 +12439,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcOwnerHistory::Class() { return *((ifc 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< int64_t > v5_LastModifiedDate, ::Ifc4x3_rc4::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_rc4::IfcApplication v7_LastModifyingApplication, int64_t 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>(); } +::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>(); } void Ifc4x3_rc4::IfcParameterizedProfileDef::setPosition(const ::Ifc4x3_rc4::IfcAxis2Placement2D& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -12447,12 +12447,12 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcParameterizedProfileDef::Class() { re 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); } -void Ifc4x3_rc4::IfcPath::setEdgeList(const std::vector< ::Ifc4x3_rc4::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc4::IfcOrientedEdge > Ifc4x3_rc4::IfcPath::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcOrientedEdge>(es); } +void Ifc4x3_rc4::IfcPath::setEdgeList(const std::vector< ::Ifc4x3_rc4::IfcOrientedEdge >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc4::IfcPath::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[730]); } -Ifc4x3_rc4::IfcPath Ifc4x3_rc4::IfcPath::initialize(std::vector< ::Ifc4x3_rc4::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } +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)); } @@ -12468,12 +12468,12 @@ void Ifc4x3_rc4::IfcPavementType::setPredefinedType(const ::Ifc4x3_rc4::IfcPavem const ifcopenshell::entity& Ifc4x3_rc4::IfcPavementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[732]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcSurface Ifc4x3_rc4::IfcPcurve::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcSurface>(); } void Ifc4x3_rc4::IfcPcurve::setBasisSurface(const ::Ifc4x3_rc4::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcPcurve::ReferenceCurve() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcCurve>(); } +::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcPcurve::ReferenceCurve() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcCurve>(); } void Ifc4x3_rc4::IfcPcurve::setReferenceCurve(const ::Ifc4x3_rc4::IfcCurve& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -12499,7 +12499,7 @@ std::optional< double > Ifc4x3_rc4::IfcPermeableCoveringProperties::FrameDepth() void Ifc4x3_rc4::IfcPermeableCoveringProperties::setFrameDepth(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } std::optional< double > Ifc4x3_rc4::IfcPermeableCoveringProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcPermeableCoveringProperties::setFrameThickness(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc4::IfcShapeAspect Ifc4x3_rc4::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc4::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc4::IfcShapeAspect>(); } +::Ifc4x3_rc4::IfcShapeAspect Ifc4x3_rc4::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc4::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc4::IfcShapeAspect>(); } void Ifc4x3_rc4::IfcPermeableCoveringProperties::setShapeAspectStyle(const ::Ifc4x3_rc4::IfcShapeAspect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -12531,31 +12531,31 @@ std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcPerson::Pre void Ifc4x3_rc4::IfcPerson::setPrefixTitles(const std::optional< std::vector< std::string > /*[1:?]*/ >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcPerson::SuffixTitles() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcPerson::setSuffixTitles(const std::optional< std::vector< std::string > /*[1:?]*/ >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::optional< std::vector< ::Ifc4x3_rc4::IfcActorRole > > Ifc4x3_rc4::IfcPerson::Roles() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc4::IfcActorRole>(es); } -void Ifc4x3_rc4::IfcPerson::setRoles(const std::optional< std::vector< ::Ifc4x3_rc4::IfcActorRole > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x3_rc4::IfcAddress > > Ifc4x3_rc4::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc4::IfcAddress>(es); } -void Ifc4x3_rc4::IfcPerson::setAddresses(const std::optional< std::vector< ::Ifc4x3_rc4::IfcAddress > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x3_rc4::IfcActorRole > > Ifc4x3_rc4::IfcPerson::Roles() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc4::IfcActorRole>(es); } +void Ifc4x3_rc4::IfcPerson::setRoles(const std::optional< std::vector< ::Ifc4x3_rc4::IfcActorRole > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +std::optional< std::vector< ::Ifc4x3_rc4::IfcAddress > > Ifc4x3_rc4::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc4::IfcAddress>(es); } +void Ifc4x3_rc4::IfcPerson::setAddresses(const std::optional< std::vector< ::Ifc4x3_rc4::IfcAddress > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } 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]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcPerson Ifc4x3_rc4::IfcPersonAndOrganization::ThePerson() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcPerson>(); } void Ifc4x3_rc4::IfcPersonAndOrganization::setThePerson(const ::Ifc4x3_rc4::IfcPerson& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcOrganization Ifc4x3_rc4::IfcPersonAndOrganization::TheOrganization() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcOrganization>(); } +::Ifc4x3_rc4::IfcOrganization Ifc4x3_rc4::IfcPersonAndOrganization::TheOrganization() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcOrganization>(); } void Ifc4x3_rc4::IfcPersonAndOrganization::setTheOrganization(const ::Ifc4x3_rc4::IfcOrganization& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::optional< std::vector< ::Ifc4x3_rc4::IfcActorRole > > Ifc4x3_rc4::IfcPersonAndOrganization::Roles() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcActorRole>(es); } -void Ifc4x3_rc4::IfcPersonAndOrganization::setRoles(const std::optional< std::vector< ::Ifc4x3_rc4::IfcActorRole > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4x3_rc4::IfcActorRole > > Ifc4x3_rc4::IfcPersonAndOrganization::Roles() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcActorRole>(es); } +void Ifc4x3_rc4::IfcPersonAndOrganization::setRoles(const std::optional< std::vector< ::Ifc4x3_rc4::IfcActorRole > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_rc4::IfcPersonAndOrganization::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[742]); } -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; } +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); } -void Ifc4x3_rc4::IfcPhysicalComplexQuantity::setHasQuantities(const std::vector< ::Ifc4x3_rc4::IfcPhysicalQuantity >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc4::IfcPhysicalQuantity > Ifc4x3_rc4::IfcPhysicalComplexQuantity::HasQuantities() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcPhysicalQuantity>(es); } +void Ifc4x3_rc4::IfcPhysicalComplexQuantity::setHasQuantities(const std::vector< ::Ifc4x3_rc4::IfcPhysicalQuantity >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::string Ifc4x3_rc4::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcPhysicalComplexQuantity::setDiscrimination(const std::string& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc4::IfcPhysicalComplexQuantity::Quality() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -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]); } -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; } +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; } @@ -12580,7 +12580,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcPhysicalQuantity::Class() { return *( 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>(); } +::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>(); } void Ifc4x3_rc4::IfcPhysicalSimpleQuantity::setUnit(const ::Ifc4x3_rc4::IfcNamedUnit& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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 int64_t Ifc4x3_rc4::IfcPixelTexture::Width() const { int64_t v = get_attribute_value(5); return v; } @@ -12652,7 +12652,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcPixelTexture::Class() { return *((ifc 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, int64_t v6_Width, int64_t v7_Height, int64_t 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>(); } +::Ifc4x3_rc4::IfcPoint Ifc4x3_rc4::IfcPlacement::Location() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcPoint>(); } void Ifc4x3_rc4::IfcPlacement::setLocation(const ::Ifc4x3_rc4::IfcPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -12660,7 +12660,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcPlacement::Class() { return *((ifcope 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>(); } +::Ifc4x3_rc4::IfcAxis2Placement Ifc4x3_rc4::IfcPlanarBox::Placement() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcAxis2Placement>(); } void Ifc4x3_rc4::IfcPlanarBox::setPlacement(const ::Ifc4x3_rc4::IfcAxis2Placement& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -12709,7 +12709,7 @@ void Ifc4x3_rc4::IfcPlateType::setPredefinedType(const ::Ifc4x3_rc4::IfcPlateTyp const ifcopenshell::entity& Ifc4x3_rc4::IfcPlateType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[768]); } -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; } +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 @@ -12718,7 +12718,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcPoint::Class() { return *((ifcopenshe 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>(); } +::Ifc4x3_rc4::IfcCurveMeasureSelect Ifc4x3_rc4::IfcPointByDistanceExpression::DistanceAlong() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCurveMeasureSelect>(); } void Ifc4x3_rc4::IfcPointByDistanceExpression::setDistanceAlong(const ::Ifc4x3_rc4::IfcCurveMeasureSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< double > Ifc4x3_rc4::IfcPointByDistanceExpression::OffsetLateral() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcPointByDistanceExpression::setOffsetLateral(const std::optional< double >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } @@ -12726,7 +12726,7 @@ std::optional< double > Ifc4x3_rc4::IfcPointByDistanceExpression::OffsetVertical void Ifc4x3_rc4::IfcPointByDistanceExpression::setOffsetVertical(const std::optional< double >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } std::optional< double > Ifc4x3_rc4::IfcPointByDistanceExpression::OffsetLongitudinal() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcPointByDistanceExpression::setOffsetLongitudinal(const std::optional< double >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcPointByDistanceExpression::BasisCurve() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcCurve>(); } +::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcPointByDistanceExpression::BasisCurve() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcCurve>(); } void Ifc4x3_rc4::IfcPointByDistanceExpression::setBasisCurve(const ::Ifc4x3_rc4::IfcCurve& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -12734,7 +12734,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcPointByDistanceExpression::Class() { 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>(); } +::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcPointOnCurve::BasisCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCurve>(); } void Ifc4x3_rc4::IfcPointOnCurve::setBasisCurve(const ::Ifc4x3_rc4::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc4::IfcPointOnCurve::PointParameter() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcPointOnCurve::setPointParameter(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -12744,7 +12744,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcPointOnCurve::Class() { return *((ifc 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>(); } +::Ifc4x3_rc4::IfcSurface Ifc4x3_rc4::IfcPointOnSurface::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcSurface>(); } void Ifc4x3_rc4::IfcPointOnSurface::setBasisSurface(const ::Ifc4x3_rc4::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc4::IfcPointOnSurface::PointParameterU() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcPointOnSurface::setPointParameterU(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -12756,17 +12756,17 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcPointOnSurface::Class() { return *((i 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); } -void Ifc4x3_rc4::IfcPolyLoop::setPolygon(const std::vector< ::Ifc4x3_rc4::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > Ifc4x3_rc4::IfcPolyLoop::Polygon() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcCartesianPoint>(es); } +void Ifc4x3_rc4::IfcPolyLoop::setPolygon(const std::vector< ::Ifc4x3_rc4::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc4::IfcPolyLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[778]); } -Ifc4x3_rc4::IfcPolyLoop Ifc4x3_rc4::IfcPolyLoop::initialize(std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon));; return *this; } +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>(); } +::Ifc4x3_rc4::IfcAxis2Placement3D Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::Position() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcAxis2Placement3D>(); } void Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::setPosition(const ::Ifc4x3_rc4::IfcAxis2Placement3D& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcBoundedCurve Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcBoundedCurve>(); } +::Ifc4x3_rc4::IfcBoundedCurve Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcBoundedCurve>(); } void Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(const ::Ifc4x3_rc4::IfcBoundedCurve& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -12776,25 +12776,25 @@ Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace Ifc4x3_rc4::IfcPolygonalBoundedHalfSpac // 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; } void Ifc4x3_rc4::IfcPolygonalFaceSet::setClosed(const std::optional< bool >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x3_rc4::IfcIndexedPolygonalFace > Ifc4x3_rc4::IfcPolygonalFaceSet::Faces() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcIndexedPolygonalFace>(es); } -void Ifc4x3_rc4::IfcPolygonalFaceSet::setFaces(const std::vector< ::Ifc4x3_rc4::IfcIndexedPolygonalFace >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc4::IfcIndexedPolygonalFace > Ifc4x3_rc4::IfcPolygonalFaceSet::Faces() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcIndexedPolygonalFace>(es); } +void Ifc4x3_rc4::IfcPolygonalFaceSet::setFaces(const std::vector< ::Ifc4x3_rc4::IfcIndexedPolygonalFace >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::optional< std::vector< int64_t > /*[1:?]*/ > Ifc4x3_rc4::IfcPolygonalFaceSet::PnIndex() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< int64_t > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcPolygonalFaceSet::setPnIndex(const std::optional< std::vector< int64_t > /*[1:?]*/ >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const ifcopenshell::entity& Ifc4x3_rc4::IfcPolygonalFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[776]); } -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< int64_t > /*[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; } +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< int64_t > /*[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); } -void Ifc4x3_rc4::IfcPolyline::setPoints(const std::vector< ::Ifc4x3_rc4::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > Ifc4x3_rc4::IfcPolyline::Points() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcCartesianPoint>(es); } +void Ifc4x3_rc4::IfcPolyline::setPoints(const std::vector< ::Ifc4x3_rc4::IfcCartesianPoint >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc4::IfcPolyline::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[777]); } -Ifc4x3_rc4::IfcPolyline Ifc4x3_rc4::IfcPolyline::initialize(std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points));; return *this; } +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>(); } +::Ifc4x3_rc4::IfcPlacement Ifc4x3_rc4::IfcPolynomialCurve::Position() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcPlacement>(); } void Ifc4x3_rc4::IfcPolynomialCurve::setPosition(const ::Ifc4x3_rc4::IfcPlacement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_rc4::IfcPolynomialCurve::CoefficientsX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector< double > /*[2:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcPolynomialCurve::setCoefficientsX(const std::optional< std::vector< double > /*[2:?]*/ >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } @@ -12893,14 +12893,14 @@ std::string Ifc4x3_rc4::IfcPresentationLayerAssignment::Name() const { std::str void Ifc4x3_rc4::IfcPresentationLayerAssignment::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x3_rc4::IfcPresentationLayerAssignment::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcPresentationLayerAssignment::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x3_rc4::IfcLayeredItem > Ifc4x3_rc4::IfcPresentationLayerAssignment::AssignedItems() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcLayeredItem>(es); } -void Ifc4x3_rc4::IfcPresentationLayerAssignment::setAssignedItems(const std::vector< ::Ifc4x3_rc4::IfcLayeredItem >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc4::IfcLayeredItem > Ifc4x3_rc4::IfcPresentationLayerAssignment::AssignedItems() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcLayeredItem>(es); } +void Ifc4x3_rc4::IfcPresentationLayerAssignment::setAssignedItems(const std::vector< ::Ifc4x3_rc4::IfcLayeredItem >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } std::optional< std::string > Ifc4x3_rc4::IfcPresentationLayerAssignment::Identifier() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcPresentationLayerAssignment::setIdentifier(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const ifcopenshell::entity& Ifc4x3_rc4::IfcPresentationLayerAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[797]); } -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; } +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; } @@ -12909,12 +12909,12 @@ boost::logic::tribool Ifc4x3_rc4::IfcPresentationLayerWithStyle::LayerFrozen() c void Ifc4x3_rc4::IfcPresentationLayerWithStyle::setLayerFrozen(const boost::logic::tribool& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } boost::logic::tribool Ifc4x3_rc4::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcPresentationLayerWithStyle::setLayerBlocked(const boost::logic::tribool& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::vector< ::Ifc4x3_rc4::IfcPresentationStyle > Ifc4x3_rc4::IfcPresentationLayerWithStyle::LayerStyles() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc4::IfcPresentationStyle>(es); } -void Ifc4x3_rc4::IfcPresentationLayerWithStyle::setLayerStyles(const std::vector< ::Ifc4x3_rc4::IfcPresentationStyle >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } +std::vector< ::Ifc4x3_rc4::IfcPresentationStyle > Ifc4x3_rc4::IfcPresentationLayerWithStyle::LayerStyles() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc4::IfcPresentationStyle>(es); } +void Ifc4x3_rc4::IfcPresentationLayerWithStyle::setLayerStyles(const std::vector< ::Ifc4x3_rc4::IfcPresentationStyle >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } const ifcopenshell::entity& Ifc4x3_rc4::IfcPresentationLayerWithStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[798]); } -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; } +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; } @@ -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]); } -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; } +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; } @@ -12954,9 +12954,9 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcProcess::Class() { return *((ifcopens 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>(); } +::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>(); } void Ifc4x3_rc4::IfcProduct::setObjectPlacement(const ::Ifc4x3_rc4::IfcObjectPlacement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc4::IfcProductRepresentation Ifc4x3_rc4::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcProductRepresentation{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcProductRepresentation>(); } +::Ifc4x3_rc4::IfcProductRepresentation Ifc4x3_rc4::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcProductRepresentation{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcProductRepresentation>(); } void Ifc4x3_rc4::IfcProduct::setRepresentation(const ::Ifc4x3_rc4::IfcProductRepresentation& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::vector<::Ifc4x3_rc4::IfcRelAssignsToProduct> Ifc4x3_rc4::IfcProduct::ReferencedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[911], 6)); } @@ -12972,19 +12972,19 @@ 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]); } -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; } +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; } void Ifc4x3_rc4::IfcProductRepresentation::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } std::optional< std::string > Ifc4x3_rc4::IfcProductRepresentation::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcProductRepresentation::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector< ::Ifc4x3_rc4::IfcRepresentation > Ifc4x3_rc4::IfcProductRepresentation::Representations() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcRepresentation>(es); } -void Ifc4x3_rc4::IfcProductRepresentation::setRepresentations(const std::vector< ::Ifc4x3_rc4::IfcRepresentation >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc4::IfcRepresentation > Ifc4x3_rc4::IfcProductRepresentation::Representations() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcRepresentation>(es); } +void Ifc4x3_rc4::IfcProductRepresentation::setRepresentations(const std::vector< ::Ifc4x3_rc4::IfcRepresentation >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc4::IfcProductRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[808]); } -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; } +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)); } @@ -12999,24 +12999,24 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcProfileDef::Class() { return *((ifcop 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>(); } +::Ifc4x3_rc4::IfcProfileDef Ifc4x3_rc4::IfcProfileProperties::ProfileDefinition() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcProfileDef>(); } void Ifc4x3_rc4::IfcProfileProperties::setProfileDefinition(const ::Ifc4x3_rc4::IfcProfileDef& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc4::IfcProfileProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[812]); } -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; } +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]); } -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; } +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]); } -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; } +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)); } @@ -13035,7 +13035,7 @@ std::optional< std::string > Ifc4x3_rc4::IfcProjectedCRS::MapProjection() const void Ifc4x3_rc4::IfcProjectedCRS::setMapProjection(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } std::optional< std::string > Ifc4x3_rc4::IfcProjectedCRS::MapZone() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcProjectedCRS::setMapZone(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc4::IfcNamedUnit Ifc4x3_rc4::IfcProjectedCRS::MapUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcNamedUnit{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcNamedUnit>(); } +::Ifc4x3_rc4::IfcNamedUnit Ifc4x3_rc4::IfcProjectedCRS::MapUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcNamedUnit{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcNamedUnit>(); } void Ifc4x3_rc4::IfcProjectedCRS::setMapUnit(const ::Ifc4x3_rc4::IfcNamedUnit& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -13074,13 +13074,13 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcPropertyAbstraction::Class() { return 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>(); } +::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>(); } void Ifc4x3_rc4::IfcPropertyBoundedValue::setUpperBoundValue(const ::Ifc4x3_rc4::IfcValue& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcValue Ifc4x3_rc4::IfcPropertyBoundedValue::LowerBoundValue() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcValue{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcValue>(); } +::Ifc4x3_rc4::IfcValue Ifc4x3_rc4::IfcPropertyBoundedValue::LowerBoundValue() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcValue{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcValue>(); } void Ifc4x3_rc4::IfcPropertyBoundedValue::setLowerBoundValue(const ::Ifc4x3_rc4::IfcValue& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc4::IfcUnit Ifc4x3_rc4::IfcPropertyBoundedValue::Unit() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc4::IfcUnit{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcUnit>(); } +::Ifc4x3_rc4::IfcUnit Ifc4x3_rc4::IfcPropertyBoundedValue::Unit() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc4::IfcUnit{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcUnit>(); } void Ifc4x3_rc4::IfcPropertyBoundedValue::setUnit(const ::Ifc4x3_rc4::IfcUnit& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcValue Ifc4x3_rc4::IfcPropertyBoundedValue::SetPointValue() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc4::IfcValue{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcValue>(); } +::Ifc4x3_rc4::IfcValue Ifc4x3_rc4::IfcPropertyBoundedValue::SetPointValue() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc4::IfcValue{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcValue>(); } void Ifc4x3_rc4::IfcPropertyBoundedValue::setSetPointValue(const ::Ifc4x3_rc4::IfcValue& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -13096,9 +13096,9 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcPropertyDefinition::Class() { return 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>(); } +::Ifc4x3_rc4::IfcProperty Ifc4x3_rc4::IfcPropertyDependencyRelationship::DependingProperty() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcProperty>(); } void Ifc4x3_rc4::IfcPropertyDependencyRelationship::setDependingProperty(const ::Ifc4x3_rc4::IfcProperty& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcProperty Ifc4x3_rc4::IfcPropertyDependencyRelationship::DependantProperty() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcProperty>(); } +::Ifc4x3_rc4::IfcProperty Ifc4x3_rc4::IfcPropertyDependencyRelationship::DependantProperty() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcProperty>(); } void Ifc4x3_rc4::IfcPropertyDependencyRelationship::setDependantProperty(const ::Ifc4x3_rc4::IfcProperty& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc4::IfcPropertyDependencyRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcPropertyDependencyRelationship::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -13108,41 +13108,41 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcPropertyDependencyRelationship::Class 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); } -void Ifc4x3_rc4::IfcPropertyEnumeratedValue::setEnumerationValues(const std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } -::Ifc4x3_rc4::IfcPropertyEnumeration Ifc4x3_rc4::IfcPropertyEnumeratedValue::EnumerationReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcPropertyEnumeration{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcPropertyEnumeration>(); } +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); } +void Ifc4x3_rc4::IfcPropertyEnumeratedValue::setEnumerationValues(const std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +::Ifc4x3_rc4::IfcPropertyEnumeration Ifc4x3_rc4::IfcPropertyEnumeratedValue::EnumerationReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcPropertyEnumeration{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcPropertyEnumeration>(); } void Ifc4x3_rc4::IfcPropertyEnumeratedValue::setEnumerationReference(const ::Ifc4x3_rc4::IfcPropertyEnumeration& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc4::IfcPropertyEnumeratedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[827]); } -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; } +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; } void Ifc4x3_rc4::IfcPropertyEnumeration::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc4::IfcValue > Ifc4x3_rc4::IfcPropertyEnumeration::EnumerationValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcValue>(es); } -void Ifc4x3_rc4::IfcPropertyEnumeration::setEnumerationValues(const std::vector< ::Ifc4x3_rc4::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcUnit Ifc4x3_rc4::IfcPropertyEnumeration::Unit() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcUnit{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcUnit>(); } +std::vector< ::Ifc4x3_rc4::IfcValue > Ifc4x3_rc4::IfcPropertyEnumeration::EnumerationValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcValue>(es); } +void Ifc4x3_rc4::IfcPropertyEnumeration::setEnumerationValues(const std::vector< ::Ifc4x3_rc4::IfcValue >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +::Ifc4x3_rc4::IfcUnit Ifc4x3_rc4::IfcPropertyEnumeration::Unit() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcUnit{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcUnit>(); } void Ifc4x3_rc4::IfcPropertyEnumeration::setUnit(const ::Ifc4x3_rc4::IfcUnit& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc4::IfcPropertyEnumeration::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[828]); } -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; } +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); } -void Ifc4x3_rc4::IfcPropertyListValue::setListValues(const std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } -::Ifc4x3_rc4::IfcUnit Ifc4x3_rc4::IfcPropertyListValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcUnit>(); } +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); } +void Ifc4x3_rc4::IfcPropertyListValue::setListValues(const std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +::Ifc4x3_rc4::IfcUnit Ifc4x3_rc4::IfcPropertyListValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcUnit>(); } void Ifc4x3_rc4::IfcPropertyListValue::setUnit(const ::Ifc4x3_rc4::IfcUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc4::IfcPropertyListValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[829]); } -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; } +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; } void Ifc4x3_rc4::IfcPropertyReferenceValue::setUsageName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc4::IfcObjectReferenceSelect Ifc4x3_rc4::IfcPropertyReferenceValue::PropertyReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcObjectReferenceSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcObjectReferenceSelect>(); } +::Ifc4x3_rc4::IfcObjectReferenceSelect Ifc4x3_rc4::IfcPropertyReferenceValue::PropertyReference() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcObjectReferenceSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcObjectReferenceSelect>(); } void Ifc4x3_rc4::IfcPropertyReferenceValue::setPropertyReference(const ::Ifc4x3_rc4::IfcObjectReferenceSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -13150,12 +13150,12 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcPropertyReferenceValue::Class() { ret 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); } -void Ifc4x3_rc4::IfcPropertySet::setHasProperties(const std::vector< ::Ifc4x3_rc4::IfcProperty >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +std::vector< ::Ifc4x3_rc4::IfcProperty > Ifc4x3_rc4::IfcPropertySet::HasProperties() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc4::IfcProperty>(es); } +void Ifc4x3_rc4::IfcPropertySet::setHasProperties(const std::vector< ::Ifc4x3_rc4::IfcProperty >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } const ifcopenshell::entity& Ifc4x3_rc4::IfcPropertySet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[831]); } -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; } +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 @@ -13171,18 +13171,18 @@ std::optional< ::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3_rc4: void Ifc4x3_rc4::IfcPropertySetTemplate::setTemplateType(const std::optional< ::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Value >& v) { if (v) {set_attribute_value(4, enumeration_reference(&::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } std::optional< std::string > Ifc4x3_rc4::IfcPropertySetTemplate::ApplicableEntity() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcPropertySetTemplate::setApplicableEntity(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector< ::Ifc4x3_rc4::IfcPropertyTemplate > Ifc4x3_rc4::IfcPropertySetTemplate::HasPropertyTemplates() const { std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc4::IfcPropertyTemplate>(es); } -void Ifc4x3_rc4::IfcPropertySetTemplate::setHasPropertyTemplates(const std::vector< ::Ifc4x3_rc4::IfcPropertyTemplate >& v) { set_attribute_value(6, cast_vector(v));if constexpr (false)unset_attribute_value(6); } +std::vector< ::Ifc4x3_rc4::IfcPropertyTemplate > Ifc4x3_rc4::IfcPropertySetTemplate::HasPropertyTemplates() const { std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc4::IfcPropertyTemplate>(es); } +void Ifc4x3_rc4::IfcPropertySetTemplate::setHasPropertyTemplates(const std::vector< ::Ifc4x3_rc4::IfcPropertyTemplate >& v) { set_attribute_value(6, cast_vector(v));if constexpr (false)unset_attribute_value(6); } 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]); } -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; } +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>(); } +::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>(); } void Ifc4x3_rc4::IfcPropertySingleValue::setNominalValue(const ::Ifc4x3_rc4::IfcValue& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcUnit Ifc4x3_rc4::IfcPropertySingleValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcUnit>(); } +::Ifc4x3_rc4::IfcUnit Ifc4x3_rc4::IfcPropertySingleValue::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcUnit>(); } void Ifc4x3_rc4::IfcPropertySingleValue::setUnit(const ::Ifc4x3_rc4::IfcUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -13190,22 +13190,22 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcPropertySingleValue::Class() { return 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); } -void Ifc4x3_rc4::IfcPropertyTableValue::setDefiningValues(const std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } -std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > > Ifc4x3_rc4::IfcPropertyTableValue::DefinedValues() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc4::IfcValue>(es); } -void Ifc4x3_rc4::IfcPropertyTableValue::setDefinedValues(const std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } +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); } +void Ifc4x3_rc4::IfcPropertyTableValue::setDefiningValues(const std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > > Ifc4x3_rc4::IfcPropertyTableValue::DefinedValues() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc4::IfcValue>(es); } +void Ifc4x3_rc4::IfcPropertyTableValue::setDefinedValues(const std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > >& v) { if (v) {set_attribute_value(3, cast_vector(*v));} else {unset_attribute_value(3);} } std::optional< std::string > Ifc4x3_rc4::IfcPropertyTableValue::Expression() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcPropertyTableValue::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc4::IfcUnit Ifc4x3_rc4::IfcPropertyTableValue::DefiningUnit() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc4::IfcUnit{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcUnit>(); } +::Ifc4x3_rc4::IfcUnit Ifc4x3_rc4::IfcPropertyTableValue::DefiningUnit() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc4::IfcUnit{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcUnit>(); } void Ifc4x3_rc4::IfcPropertyTableValue::setDefiningUnit(const ::Ifc4x3_rc4::IfcUnit& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc4::IfcUnit Ifc4x3_rc4::IfcPropertyTableValue::DefinedUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcUnit{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcUnit>(); } +::Ifc4x3_rc4::IfcUnit Ifc4x3_rc4::IfcPropertyTableValue::DefinedUnit() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcUnit{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcUnit>(); } void Ifc4x3_rc4::IfcPropertyTableValue::setDefinedUnit(const ::Ifc4x3_rc4::IfcUnit& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< ::Ifc4x3_rc4::IfcCurveInterpolationEnum::Value > Ifc4x3_rc4::IfcPropertyTableValue::CurveInterpolation() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcCurveInterpolationEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc4::IfcPropertyTableValue::setCurveInterpolation(const std::optional< ::Ifc4x3_rc4::IfcCurveInterpolationEnum::Value >& v) { if (v) {set_attribute_value(7, enumeration_reference(&::Ifc4x3_rc4::IfcCurveInterpolationEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const ifcopenshell::entity& Ifc4x3_rc4::IfcPropertyTableValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[838]); } -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; } +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 @@ -13243,7 +13243,7 @@ void Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(const :: const ifcopenshell::entity& Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[843]); } -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; } +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]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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]); } -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; } +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]); } -Ifc4x3_rc4::IfcRationalBSplineCurveWithKnots Ifc4x3_rc4::IfcRationalBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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; } +Ifc4x3_rc4::IfcRationalBSplineCurveWithKnots Ifc4x3_rc4::IfcRationalBSplineCurveWithKnots::initialize(int64_t 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< int64_t > /*[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]); } -Ifc4x3_rc4::IfcRationalBSplineSurfaceWithKnots Ifc4x3_rc4::IfcRationalBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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; } +Ifc4x3_rc4::IfcRationalBSplineSurfaceWithKnots Ifc4x3_rc4::IfcRationalBSplineSurfaceWithKnots::initialize(int64_t v1_UDegree, int64_t 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< int64_t > /*[2:?]*/ v8_UMultiplicities, std::vector< int64_t > /*[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; } @@ -13468,7 +13468,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcRectangularPyramid::Class() { return 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>(); } +::Ifc4x3_rc4::IfcSurface Ifc4x3_rc4::IfcRectangularTrimmedSurface::BasisSurface() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcSurface>(); } void Ifc4x3_rc4::IfcRectangularTrimmedSurface::setBasisSurface(const ::Ifc4x3_rc4::IfcSurface& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc4::IfcRectangularTrimmedSurface::U1() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcRectangularTrimmedSurface::setU1(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -13502,12 +13502,12 @@ std::optional< int64_t > Ifc4x3_rc4::IfcRecurrencePattern::Interval() const { if void Ifc4x3_rc4::IfcRecurrencePattern::setInterval(const std::optional< int64_t >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< int64_t > Ifc4x3_rc4::IfcRecurrencePattern::Occurrences() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcRecurrencePattern::setOccurrences(const std::optional< int64_t >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x3_rc4::IfcTimePeriod > > Ifc4x3_rc4::IfcRecurrencePattern::TimePeriods() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc4::IfcTimePeriod>(es); } -void Ifc4x3_rc4::IfcRecurrencePattern::setTimePeriods(const std::optional< std::vector< ::Ifc4x3_rc4::IfcTimePeriod > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x3_rc4::IfcTimePeriod > > Ifc4x3_rc4::IfcRecurrencePattern::TimePeriods() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc4::IfcTimePeriod>(es); } +void Ifc4x3_rc4::IfcRecurrencePattern::setTimePeriods(const std::optional< std::vector< ::Ifc4x3_rc4::IfcTimePeriod > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } const ifcopenshell::entity& Ifc4x3_rc4::IfcRecurrencePattern::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[882]); } -Ifc4x3_rc4::IfcRecurrencePattern Ifc4x3_rc4::IfcRecurrencePattern::initialize(::Ifc4x3_rc4::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int64_t > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v4_MonthComponent, std::optional< int64_t > v5_Position, std::optional< int64_t > v6_Interval, std::optional< int64_t > 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; } +Ifc4x3_rc4::IfcRecurrencePattern Ifc4x3_rc4::IfcRecurrencePattern::initialize(::Ifc4x3_rc4::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int64_t > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v4_MonthComponent, std::optional< int64_t > v5_Position, std::optional< int64_t > v6_Interval, std::optional< int64_t > 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; } @@ -13518,7 +13518,7 @@ std::optional< std::string > Ifc4x3_rc4::IfcReference::InstanceName() const { if void Ifc4x3_rc4::IfcReference::setInstanceName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } std::optional< std::vector< int64_t > /*[1:?]*/ > Ifc4x3_rc4::IfcReference::ListPositions() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< int64_t > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcReference::setListPositions(const std::optional< std::vector< int64_t > /*[1:?]*/ >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc4::IfcReference Ifc4x3_rc4::IfcReference::InnerReference() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc4::IfcReference{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcReference>(); } +::Ifc4x3_rc4::IfcReference Ifc4x3_rc4::IfcReference::InnerReference() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc4::IfcReference{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcReference>(); } void Ifc4x3_rc4::IfcReference::setInnerReference(const ::Ifc4x3_rc4::IfcReference& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -13538,12 +13538,12 @@ Ifc4x3_rc4::IfcReferent Ifc4x3_rc4::IfcReferent::initialize(std::string v1_Globa // Function implementations for IfcRegularTimeSeries double Ifc4x3_rc4::IfcRegularTimeSeries::TimeStep() const { double v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcRegularTimeSeries::setTimeStep(const double& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::vector< ::Ifc4x3_rc4::IfcTimeSeriesValue > Ifc4x3_rc4::IfcRegularTimeSeries::Values() const { std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc4::IfcTimeSeriesValue>(es); } -void Ifc4x3_rc4::IfcRegularTimeSeries::setValues(const std::vector< ::Ifc4x3_rc4::IfcTimeSeriesValue >& v) { set_attribute_value(9, cast_vector(v));if constexpr (false)unset_attribute_value(9); } +std::vector< ::Ifc4x3_rc4::IfcTimeSeriesValue > Ifc4x3_rc4::IfcRegularTimeSeries::Values() const { std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc4::IfcTimeSeriesValue>(es); } +void Ifc4x3_rc4::IfcRegularTimeSeries::setValues(const std::vector< ::Ifc4x3_rc4::IfcTimeSeriesValue >& v) { set_attribute_value(9, cast_vector(v));if constexpr (false)unset_attribute_value(9); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRegularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[888]); } -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; } +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)); } @@ -13574,12 +13574,12 @@ Ifc4x3_rc4::IfcReinforcementBarProperties Ifc4x3_rc4::IfcReinforcementBarPropert // 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; } void Ifc4x3_rc4::IfcReinforcementDefinitionProperties::setDefinitionType(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector< ::Ifc4x3_rc4::IfcSectionReinforcementProperties > Ifc4x3_rc4::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc4::IfcSectionReinforcementProperties>(es); } -void Ifc4x3_rc4::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(const std::vector< ::Ifc4x3_rc4::IfcSectionReinforcementProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc4::IfcSectionReinforcementProperties > Ifc4x3_rc4::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc4::IfcSectionReinforcementProperties>(es); } +void Ifc4x3_rc4::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(const std::vector< ::Ifc4x3_rc4::IfcSectionReinforcementProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc4::IfcReinforcementDefinitionProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[892]); } -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; } +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; } @@ -13610,12 +13610,12 @@ std::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc4::I void Ifc4x3_rc4::IfcReinforcingBarType::setBarSurface(const std::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value >& v) { if (v) {set_attribute_value(13, enumeration_reference(&::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } std::optional< std::string > Ifc4x3_rc4::IfcReinforcingBarType::BendingShapeCode() const { if(get_attribute_value(14).isNull()) { return std::nullopt; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_rc4::IfcReinforcingBarType::setBendingShapeCode(const std::optional< std::string >& v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -std::optional< std::vector< ::Ifc4x3_rc4::IfcBendingParameterSelect > > Ifc4x3_rc4::IfcReinforcingBarType::BendingParameters() const { if(get_attribute_value(15).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(15); return cast_vector<::Ifc4x3_rc4::IfcBendingParameterSelect>(es); } -void Ifc4x3_rc4::IfcReinforcingBarType::setBendingParameters(const std::optional< std::vector< ::Ifc4x3_rc4::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(15, cast_vector(*v));} else {unset_attribute_value(15);} } +std::optional< std::vector< ::Ifc4x3_rc4::IfcBendingParameterSelect > > Ifc4x3_rc4::IfcReinforcingBarType::BendingParameters() const { if(get_attribute_value(15).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(15); return cast_vector<::Ifc4x3_rc4::IfcBendingParameterSelect>(es); } +void Ifc4x3_rc4::IfcReinforcingBarType::setBendingParameters(const std::optional< std::vector< ::Ifc4x3_rc4::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(15, cast_vector(*v));} else {unset_attribute_value(15);} } const ifcopenshell::entity& Ifc4x3_rc4::IfcReinforcingBarType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[896]); } -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; } +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; } @@ -13629,7 +13629,7 @@ Ifc4x3_rc4::IfcReinforcingElement Ifc4x3_rc4::IfcReinforcingElement::initialize( const ifcopenshell::entity& Ifc4x3_rc4::IfcReinforcingElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[899]); } -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; } +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; } @@ -13676,68 +13676,68 @@ std::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::TransverseBarSpacing void Ifc4x3_rc4::IfcReinforcingMeshType::setTransverseBarSpacing(const std::optional< double >& v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } std::optional< std::string > Ifc4x3_rc4::IfcReinforcingMeshType::BendingShapeCode() const { if(get_attribute_value(18).isNull()) { return std::nullopt; } std::string v = get_attribute_value(18); return v; } void Ifc4x3_rc4::IfcReinforcingMeshType::setBendingShapeCode(const std::optional< std::string >& v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -std::optional< std::vector< ::Ifc4x3_rc4::IfcBendingParameterSelect > > Ifc4x3_rc4::IfcReinforcingMeshType::BendingParameters() const { if(get_attribute_value(19).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(19); return cast_vector<::Ifc4x3_rc4::IfcBendingParameterSelect>(es); } -void Ifc4x3_rc4::IfcReinforcingMeshType::setBendingParameters(const std::optional< std::vector< ::Ifc4x3_rc4::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(19, cast_vector(*v));} else {unset_attribute_value(19);} } +std::optional< std::vector< ::Ifc4x3_rc4::IfcBendingParameterSelect > > Ifc4x3_rc4::IfcReinforcingMeshType::BendingParameters() const { if(get_attribute_value(19).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(19); return cast_vector<::Ifc4x3_rc4::IfcBendingParameterSelect>(es); } +void Ifc4x3_rc4::IfcReinforcingMeshType::setBendingParameters(const std::optional< std::vector< ::Ifc4x3_rc4::IfcBendingParameterSelect > >& v) { if (v) {set_attribute_value(19, cast_vector(*v));} else {unset_attribute_value(19);} } const ifcopenshell::entity& Ifc4x3_rc4::IfcReinforcingMeshType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[901]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcElement Ifc4x3_rc4::IfcRelAdheresToElement::RelatingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcElement>(); } void Ifc4x3_rc4::IfcRelAdheresToElement::setRelatingElement(const ::Ifc4x3_rc4::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc4::IfcSurfaceFeature > Ifc4x3_rc4::IfcRelAdheresToElement::RelatedSurfaceFeatures() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc4::IfcSurfaceFeature>(es); } -void Ifc4x3_rc4::IfcRelAdheresToElement::setRelatedSurfaceFeatures(const std::vector< ::Ifc4x3_rc4::IfcSurfaceFeature >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc4::IfcSurfaceFeature > Ifc4x3_rc4::IfcRelAdheresToElement::RelatedSurfaceFeatures() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc4::IfcSurfaceFeature>(es); } +void Ifc4x3_rc4::IfcRelAdheresToElement::setRelatedSurfaceFeatures(const std::vector< ::Ifc4x3_rc4::IfcSurfaceFeature >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAdheresToElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[903]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcObjectDefinition Ifc4x3_rc4::IfcRelAggregates::RelatingObject() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcObjectDefinition>(); } void Ifc4x3_rc4::IfcRelAggregates::setRelatingObject(const ::Ifc4x3_rc4::IfcObjectDefinition& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > Ifc4x3_rc4::IfcRelAggregates::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc4::IfcObjectDefinition>(es); } -void Ifc4x3_rc4::IfcRelAggregates::setRelatedObjects(const std::vector< ::Ifc4x3_rc4::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > Ifc4x3_rc4::IfcRelAggregates::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc4::IfcObjectDefinition>(es); } +void Ifc4x3_rc4::IfcRelAggregates::setRelatedObjects(const std::vector< ::Ifc4x3_rc4::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAggregates::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[904]); } -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; } +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); } -void Ifc4x3_rc4::IfcRelAssigns::setRelatedObjects(const std::vector< ::Ifc4x3_rc4::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > Ifc4x3_rc4::IfcRelAssigns::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc4::IfcObjectDefinition>(es); } +void Ifc4x3_rc4::IfcRelAssigns::setRelatedObjects(const std::vector< ::Ifc4x3_rc4::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > Ifc4x3_rc4::IfcRelAssigns::RelatedObjectsType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcObjectTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc4::IfcRelAssigns::setRelatedObjectsType(const std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value >& v) { if (v) {set_attribute_value(5, enumeration_reference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssigns::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[905]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcActor Ifc4x3_rc4::IfcRelAssignsToActor::RelatingActor() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcActor>(); } void Ifc4x3_rc4::IfcRelAssignsToActor::setRelatingActor(const ::Ifc4x3_rc4::IfcActor& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc4::IfcActorRole Ifc4x3_rc4::IfcRelAssignsToActor::ActingRole() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc4::IfcActorRole{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc4::IfcActorRole>(); } +::Ifc4x3_rc4::IfcActorRole Ifc4x3_rc4::IfcRelAssignsToActor::ActingRole() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc4::IfcActorRole{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc4::IfcActorRole>(); } void Ifc4x3_rc4::IfcRelAssignsToActor::setActingRole(const ::Ifc4x3_rc4::IfcActorRole& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssignsToActor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[906]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcControl Ifc4x3_rc4::IfcRelAssignsToControl::RelatingControl() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcControl>(); } void Ifc4x3_rc4::IfcRelAssignsToControl::setRelatingControl(const ::Ifc4x3_rc4::IfcControl& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssignsToControl::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[907]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcGroup Ifc4x3_rc4::IfcRelAssignsToGroup::RelatingGroup() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcGroup>(); } void Ifc4x3_rc4::IfcRelAssignsToGroup::setRelatingGroup(const ::Ifc4x3_rc4::IfcGroup& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssignsToGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[908]); } -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; } +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,99 +13745,99 @@ void Ifc4x3_rc4::IfcRelAssignsToGroupByFactor::setFactor(const double& v) { set_ const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssignsToGroupByFactor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[909]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcProcessSelect Ifc4x3_rc4::IfcRelAssignsToProcess::RelatingProcess() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcProcessSelect>(); } void Ifc4x3_rc4::IfcRelAssignsToProcess::setRelatingProcess(const ::Ifc4x3_rc4::IfcProcessSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc4::IfcMeasureWithUnit Ifc4x3_rc4::IfcRelAssignsToProcess::QuantityInProcess() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc4::IfcMeasureWithUnit{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc4::IfcMeasureWithUnit>(); } +::Ifc4x3_rc4::IfcMeasureWithUnit Ifc4x3_rc4::IfcRelAssignsToProcess::QuantityInProcess() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc4::IfcMeasureWithUnit{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc4::IfcMeasureWithUnit>(); } void Ifc4x3_rc4::IfcRelAssignsToProcess::setQuantityInProcess(const ::Ifc4x3_rc4::IfcMeasureWithUnit& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssignsToProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[910]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcProductSelect Ifc4x3_rc4::IfcRelAssignsToProduct::RelatingProduct() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcProductSelect>(); } void Ifc4x3_rc4::IfcRelAssignsToProduct::setRelatingProduct(const ::Ifc4x3_rc4::IfcProductSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssignsToProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[911]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcResourceSelect Ifc4x3_rc4::IfcRelAssignsToResource::RelatingResource() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcResourceSelect>(); } void Ifc4x3_rc4::IfcRelAssignsToResource::setRelatingResource(const ::Ifc4x3_rc4::IfcResourceSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssignsToResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[912]); } -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; } +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); } -void Ifc4x3_rc4::IfcRelAssociates::setRelatedObjects(const std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > Ifc4x3_rc4::IfcRelAssociates::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc4::IfcDefinitionSelect>(es); } +void Ifc4x3_rc4::IfcRelAssociates::setRelatedObjects(const std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssociates::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[913]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcApproval Ifc4x3_rc4::IfcRelAssociatesApproval::RelatingApproval() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcApproval>(); } void Ifc4x3_rc4::IfcRelAssociatesApproval::setRelatingApproval(const ::Ifc4x3_rc4::IfcApproval& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssociatesApproval::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[914]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcClassificationSelect Ifc4x3_rc4::IfcRelAssociatesClassification::RelatingClassification() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcClassificationSelect>(); } void Ifc4x3_rc4::IfcRelAssociatesClassification::setRelatingClassification(const ::Ifc4x3_rc4::IfcClassificationSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssociatesClassification::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[915]); } -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; } +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; } void Ifc4x3_rc4::IfcRelAssociatesConstraint::setIntent(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc4::IfcConstraint Ifc4x3_rc4::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcConstraint>(); } +::Ifc4x3_rc4::IfcConstraint Ifc4x3_rc4::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcConstraint>(); } void Ifc4x3_rc4::IfcRelAssociatesConstraint::setRelatingConstraint(const ::Ifc4x3_rc4::IfcConstraint& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssociatesConstraint::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[916]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcDocumentSelect Ifc4x3_rc4::IfcRelAssociatesDocument::RelatingDocument() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcDocumentSelect>(); } void Ifc4x3_rc4::IfcRelAssociatesDocument::setRelatingDocument(const ::Ifc4x3_rc4::IfcDocumentSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssociatesDocument::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[917]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcLibrarySelect Ifc4x3_rc4::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcLibrarySelect>(); } void Ifc4x3_rc4::IfcRelAssociatesLibrary::setRelatingLibrary(const ::Ifc4x3_rc4::IfcLibrarySelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssociatesLibrary::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[918]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcMaterialSelect Ifc4x3_rc4::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcMaterialSelect>(); } void Ifc4x3_rc4::IfcRelAssociatesMaterial::setRelatingMaterial(const ::Ifc4x3_rc4::IfcMaterialSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssociatesMaterial::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[919]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcProfileDef Ifc4x3_rc4::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcProfileDef>(); } void Ifc4x3_rc4::IfcRelAssociatesProfileDef::setRelatingProfileDef(const ::Ifc4x3_rc4::IfcProfileDef& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssociatesProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[920]); } -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; } +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 @@ -13846,11 +13846,11 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcRelConnects::Class() { return *((ifco 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>(); } +::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>(); } void Ifc4x3_rc4::IfcRelConnectsElements::setConnectionGeometry(const ::Ifc4x3_rc4::IfcConnectionGeometry& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcElement Ifc4x3_rc4::IfcRelConnectsElements::RelatingElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcElement>(); } +::Ifc4x3_rc4::IfcElement Ifc4x3_rc4::IfcRelConnectsElements::RelatingElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcElement>(); } void Ifc4x3_rc4::IfcRelConnectsElements::setRelatingElement(const ::Ifc4x3_rc4::IfcElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc4::IfcElement Ifc4x3_rc4::IfcRelConnectsElements::RelatedElement() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcElement>(); } +::Ifc4x3_rc4::IfcElement Ifc4x3_rc4::IfcRelConnectsElements::RelatedElement() const { return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcElement>(); } void Ifc4x3_rc4::IfcRelConnectsElements::setRelatedElement(const ::Ifc4x3_rc4::IfcElement& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -13872,9 +13872,9 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcRelConnectsPathElements::Class() { re 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< int64_t > /*[0:?]*/ v8_RelatingPriorities, std::vector< int64_t > /*[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>(); } +::Ifc4x3_rc4::IfcPort Ifc4x3_rc4::IfcRelConnectsPortToElement::RelatingPort() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcPort>(); } void Ifc4x3_rc4::IfcRelConnectsPortToElement::setRelatingPort(const ::Ifc4x3_rc4::IfcPort& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcDistributionElement Ifc4x3_rc4::IfcRelConnectsPortToElement::RelatedElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcDistributionElement>(); } +::Ifc4x3_rc4::IfcDistributionElement Ifc4x3_rc4::IfcRelConnectsPortToElement::RelatedElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcDistributionElement>(); } void Ifc4x3_rc4::IfcRelConnectsPortToElement::setRelatedElement(const ::Ifc4x3_rc4::IfcDistributionElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -13882,11 +13882,11 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcRelConnectsPortToElement::Class() { r 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>(); } +::Ifc4x3_rc4::IfcPort Ifc4x3_rc4::IfcRelConnectsPorts::RelatingPort() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcPort>(); } void Ifc4x3_rc4::IfcRelConnectsPorts::setRelatingPort(const ::Ifc4x3_rc4::IfcPort& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcPort Ifc4x3_rc4::IfcRelConnectsPorts::RelatedPort() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcPort>(); } +::Ifc4x3_rc4::IfcPort Ifc4x3_rc4::IfcRelConnectsPorts::RelatedPort() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcPort>(); } void Ifc4x3_rc4::IfcRelConnectsPorts::setRelatedPort(const ::Ifc4x3_rc4::IfcPort& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc4::IfcElement Ifc4x3_rc4::IfcRelConnectsPorts::RealizingElement() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcElement{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcElement>(); } +::Ifc4x3_rc4::IfcElement Ifc4x3_rc4::IfcRelConnectsPorts::RealizingElement() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcElement{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcElement>(); } void Ifc4x3_rc4::IfcRelConnectsPorts::setRealizingElement(const ::Ifc4x3_rc4::IfcElement& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -13894,9 +13894,9 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcRelConnectsPorts::Class() { return *( 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>(); } +::Ifc4x3_rc4::IfcStructuralActivityAssignmentSelect Ifc4x3_rc4::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcStructuralActivityAssignmentSelect>(); } void Ifc4x3_rc4::IfcRelConnectsStructuralActivity::setRelatingElement(const ::Ifc4x3_rc4::IfcStructuralActivityAssignmentSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcStructuralActivity Ifc4x3_rc4::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcStructuralActivity>(); } +::Ifc4x3_rc4::IfcStructuralActivity Ifc4x3_rc4::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcStructuralActivity>(); } void Ifc4x3_rc4::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(const ::Ifc4x3_rc4::IfcStructuralActivity& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -13904,17 +13904,17 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcRelConnectsStructuralActivity::Class( 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>(); } +::Ifc4x3_rc4::IfcStructuralMember Ifc4x3_rc4::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcStructuralMember>(); } void Ifc4x3_rc4::IfcRelConnectsStructuralMember::setRelatingStructuralMember(const ::Ifc4x3_rc4::IfcStructuralMember& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcStructuralConnection Ifc4x3_rc4::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcStructuralConnection>(); } +::Ifc4x3_rc4::IfcStructuralConnection Ifc4x3_rc4::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcStructuralConnection>(); } void Ifc4x3_rc4::IfcRelConnectsStructuralMember::setRelatedStructuralConnection(const ::Ifc4x3_rc4::IfcStructuralConnection& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc4::IfcBoundaryCondition Ifc4x3_rc4::IfcRelConnectsStructuralMember::AppliedCondition() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcBoundaryCondition{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcBoundaryCondition>(); } +::Ifc4x3_rc4::IfcBoundaryCondition Ifc4x3_rc4::IfcRelConnectsStructuralMember::AppliedCondition() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcBoundaryCondition{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcBoundaryCondition>(); } void Ifc4x3_rc4::IfcRelConnectsStructuralMember::setAppliedCondition(const ::Ifc4x3_rc4::IfcBoundaryCondition& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc4::IfcStructuralConnectionCondition Ifc4x3_rc4::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc4::IfcStructuralConnectionCondition{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc4::IfcStructuralConnectionCondition>(); } +::Ifc4x3_rc4::IfcStructuralConnectionCondition Ifc4x3_rc4::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc4::IfcStructuralConnectionCondition{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc4::IfcStructuralConnectionCondition>(); } void Ifc4x3_rc4::IfcRelConnectsStructuralMember::setAdditionalConditions(const ::Ifc4x3_rc4::IfcStructuralConnectionCondition& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } std::optional< double > Ifc4x3_rc4::IfcRelConnectsStructuralMember::SupportedLength() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcRelConnectsStructuralMember::setSupportedLength(const std::optional< double >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_rc4::IfcAxis2Placement3D Ifc4x3_rc4::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc4::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc4::IfcAxis2Placement3D>(); } +::Ifc4x3_rc4::IfcAxis2Placement3D Ifc4x3_rc4::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc4::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc4::IfcAxis2Placement3D>(); } void Ifc4x3_rc4::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(const ::Ifc4x3_rc4::IfcAxis2Placement3D& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } @@ -13922,7 +13922,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcRelConnectsStructuralMember::Class() 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>(); } +::Ifc4x3_rc4::IfcConnectionGeometry Ifc4x3_rc4::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((express::base)(get_attribute_value(10))).as<::Ifc4x3_rc4::IfcConnectionGeometry>(); } void Ifc4x3_rc4::IfcRelConnectsWithEccentricity::setConnectionConstraint(const ::Ifc4x3_rc4::IfcConnectionGeometry& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } @@ -13930,54 +13930,54 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcRelConnectsWithEccentricity::Class() 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); } -void Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::setRealizingElements(const std::vector< ::Ifc4x3_rc4::IfcElement >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } +std::vector< ::Ifc4x3_rc4::IfcElement > Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::RealizingElements() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc4::IfcElement>(es); } +void Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::setRealizingElements(const std::vector< ::Ifc4x3_rc4::IfcElement >& v) { set_attribute_value(7, cast_vector(v));if constexpr (false)unset_attribute_value(7); } std::optional< std::string > Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::setConnectionType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[930]); } -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; } +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); } -void Ifc4x3_rc4::IfcRelContainedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4x3_rc4::IfcProduct >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcSpatialElement Ifc4x3_rc4::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcSpatialElement>(); } +std::vector< ::Ifc4x3_rc4::IfcProduct > Ifc4x3_rc4::IfcRelContainedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc4::IfcProduct>(es); } +void Ifc4x3_rc4::IfcRelContainedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4x3_rc4::IfcProduct >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_rc4::IfcSpatialElement Ifc4x3_rc4::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcSpatialElement>(); } void Ifc4x3_rc4::IfcRelContainedInSpatialStructure::setRelatingStructure(const ::Ifc4x3_rc4::IfcSpatialElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelContainedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[931]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcElement Ifc4x3_rc4::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcElement>(); } void Ifc4x3_rc4::IfcRelCoversBldgElements::setRelatingBuildingElement(const ::Ifc4x3_rc4::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc4::IfcCovering > Ifc4x3_rc4::IfcRelCoversBldgElements::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc4::IfcCovering>(es); } -void Ifc4x3_rc4::IfcRelCoversBldgElements::setRelatedCoverings(const std::vector< ::Ifc4x3_rc4::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc4::IfcCovering > Ifc4x3_rc4::IfcRelCoversBldgElements::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc4::IfcCovering>(es); } +void Ifc4x3_rc4::IfcRelCoversBldgElements::setRelatedCoverings(const std::vector< ::Ifc4x3_rc4::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelCoversBldgElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[932]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcSpace Ifc4x3_rc4::IfcRelCoversSpaces::RelatingSpace() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcSpace>(); } void Ifc4x3_rc4::IfcRelCoversSpaces::setRelatingSpace(const ::Ifc4x3_rc4::IfcSpace& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc4::IfcCovering > Ifc4x3_rc4::IfcRelCoversSpaces::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc4::IfcCovering>(es); } -void Ifc4x3_rc4::IfcRelCoversSpaces::setRelatedCoverings(const std::vector< ::Ifc4x3_rc4::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc4::IfcCovering > Ifc4x3_rc4::IfcRelCoversSpaces::RelatedCoverings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc4::IfcCovering>(es); } +void Ifc4x3_rc4::IfcRelCoversSpaces::setRelatedCoverings(const std::vector< ::Ifc4x3_rc4::IfcCovering >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelCoversSpaces::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[933]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcContext Ifc4x3_rc4::IfcRelDeclares::RelatingContext() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcContext>(); } void Ifc4x3_rc4::IfcRelDeclares::setRelatingContext(const ::Ifc4x3_rc4::IfcContext& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > Ifc4x3_rc4::IfcRelDeclares::RelatedDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc4::IfcDefinitionSelect>(es); } -void Ifc4x3_rc4::IfcRelDeclares::setRelatedDefinitions(const std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > Ifc4x3_rc4::IfcRelDeclares::RelatedDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc4::IfcDefinitionSelect>(es); } +void Ifc4x3_rc4::IfcRelDeclares::setRelatedDefinitions(const std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelDeclares::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[934]); } -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; } +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 @@ -13992,49 +13992,49 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcRelDefines::Class() { return *((ifcop 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); } -void Ifc4x3_rc4::IfcRelDefinesByObject::setRelatedObjects(const std::vector< ::Ifc4x3_rc4::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcObject Ifc4x3_rc4::IfcRelDefinesByObject::RelatingObject() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcObject>(); } +std::vector< ::Ifc4x3_rc4::IfcObject > Ifc4x3_rc4::IfcRelDefinesByObject::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc4::IfcObject>(es); } +void Ifc4x3_rc4::IfcRelDefinesByObject::setRelatedObjects(const std::vector< ::Ifc4x3_rc4::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_rc4::IfcObject Ifc4x3_rc4::IfcRelDefinesByObject::RelatingObject() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcObject>(); } void Ifc4x3_rc4::IfcRelDefinesByObject::setRelatingObject(const ::Ifc4x3_rc4::IfcObject& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelDefinesByObject::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[937]); } -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; } +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); } -void Ifc4x3_rc4::IfcRelDefinesByProperties::setRelatedObjects(const std::vector< ::Ifc4x3_rc4::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcPropertySetDefinitionSelect Ifc4x3_rc4::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcPropertySetDefinitionSelect>(); } +std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > Ifc4x3_rc4::IfcRelDefinesByProperties::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc4::IfcObjectDefinition>(es); } +void Ifc4x3_rc4::IfcRelDefinesByProperties::setRelatedObjects(const std::vector< ::Ifc4x3_rc4::IfcObjectDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_rc4::IfcPropertySetDefinitionSelect Ifc4x3_rc4::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcPropertySetDefinitionSelect>(); } void Ifc4x3_rc4::IfcRelDefinesByProperties::setRelatingPropertyDefinition(const ::Ifc4x3_rc4::IfcPropertySetDefinitionSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelDefinesByProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[938]); } -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; } +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); } -void Ifc4x3_rc4::IfcRelDefinesByTemplate::setRelatedPropertySets(const std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcPropertySetTemplate Ifc4x3_rc4::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcPropertySetTemplate>(); } +std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > Ifc4x3_rc4::IfcRelDefinesByTemplate::RelatedPropertySets() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc4::IfcPropertySetDefinition>(es); } +void Ifc4x3_rc4::IfcRelDefinesByTemplate::setRelatedPropertySets(const std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_rc4::IfcPropertySetTemplate Ifc4x3_rc4::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcPropertySetTemplate>(); } void Ifc4x3_rc4::IfcRelDefinesByTemplate::setRelatingTemplate(const ::Ifc4x3_rc4::IfcPropertySetTemplate& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelDefinesByTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[939]); } -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; } +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); } -void Ifc4x3_rc4::IfcRelDefinesByType::setRelatedObjects(const std::vector< ::Ifc4x3_rc4::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcTypeObject Ifc4x3_rc4::IfcRelDefinesByType::RelatingType() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcTypeObject>(); } +std::vector< ::Ifc4x3_rc4::IfcObject > Ifc4x3_rc4::IfcRelDefinesByType::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc4::IfcObject>(es); } +void Ifc4x3_rc4::IfcRelDefinesByType::setRelatedObjects(const std::vector< ::Ifc4x3_rc4::IfcObject >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_rc4::IfcTypeObject Ifc4x3_rc4::IfcRelDefinesByType::RelatingType() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcTypeObject>(); } void Ifc4x3_rc4::IfcRelDefinesByType::setRelatingType(const ::Ifc4x3_rc4::IfcTypeObject& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelDefinesByType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[940]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcOpeningElement Ifc4x3_rc4::IfcRelFillsElement::RelatingOpeningElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcOpeningElement>(); } void Ifc4x3_rc4::IfcRelFillsElement::setRelatingOpeningElement(const ::Ifc4x3_rc4::IfcOpeningElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcElement Ifc4x3_rc4::IfcRelFillsElement::RelatedBuildingElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcElement>(); } +::Ifc4x3_rc4::IfcElement Ifc4x3_rc4::IfcRelFillsElement::RelatedBuildingElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcElement>(); } void Ifc4x3_rc4::IfcRelFillsElement::setRelatedBuildingElement(const ::Ifc4x3_rc4::IfcElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -14042,23 +14042,23 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcRelFillsElement::Class() { return *(( 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); } -void Ifc4x3_rc4::IfcRelFlowControlElements::setRelatedControlElements(const std::vector< ::Ifc4x3_rc4::IfcDistributionControlElement >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcDistributionFlowElement Ifc4x3_rc4::IfcRelFlowControlElements::RelatingFlowElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcDistributionFlowElement>(); } +std::vector< ::Ifc4x3_rc4::IfcDistributionControlElement > Ifc4x3_rc4::IfcRelFlowControlElements::RelatedControlElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc4::IfcDistributionControlElement>(es); } +void Ifc4x3_rc4::IfcRelFlowControlElements::setRelatedControlElements(const std::vector< ::Ifc4x3_rc4::IfcDistributionControlElement >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_rc4::IfcDistributionFlowElement Ifc4x3_rc4::IfcRelFlowControlElements::RelatingFlowElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcDistributionFlowElement>(); } void Ifc4x3_rc4::IfcRelFlowControlElements::setRelatingFlowElement(const ::Ifc4x3_rc4::IfcDistributionFlowElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelFlowControlElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[942]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcInterferenceSelect Ifc4x3_rc4::IfcRelInterferesElements::RelatingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcInterferenceSelect>(); } void Ifc4x3_rc4::IfcRelInterferesElements::setRelatingElement(const ::Ifc4x3_rc4::IfcInterferenceSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcInterferenceSelect Ifc4x3_rc4::IfcRelInterferesElements::RelatedElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcInterferenceSelect>(); } +::Ifc4x3_rc4::IfcInterferenceSelect Ifc4x3_rc4::IfcRelInterferesElements::RelatedElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcInterferenceSelect>(); } void Ifc4x3_rc4::IfcRelInterferesElements::setRelatedElement(const ::Ifc4x3_rc4::IfcInterferenceSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc4::IfcConnectionGeometry Ifc4x3_rc4::IfcRelInterferesElements::InterferenceGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcConnectionGeometry{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcConnectionGeometry>(); } +::Ifc4x3_rc4::IfcConnectionGeometry Ifc4x3_rc4::IfcRelInterferesElements::InterferenceGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcConnectionGeometry{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcConnectionGeometry>(); } void Ifc4x3_rc4::IfcRelInterferesElements::setInterferenceGeometry(const ::Ifc4x3_rc4::IfcConnectionGeometry& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc4::IfcSpatialZone Ifc4x3_rc4::IfcRelInterferesElements::InterferenceSpace() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc4::IfcSpatialZone{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc4::IfcSpatialZone>(); } +::Ifc4x3_rc4::IfcSpatialZone Ifc4x3_rc4::IfcRelInterferesElements::InterferenceSpace() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc4::IfcSpatialZone{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc4::IfcSpatialZone>(); } void Ifc4x3_rc4::IfcRelInterferesElements::setInterferenceSpace(const ::Ifc4x3_rc4::IfcSpatialZone& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } std::optional< std::string > Ifc4x3_rc4::IfcRelInterferesElements::InterferenceType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcRelInterferesElements::setInterferenceType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } @@ -14070,29 +14070,29 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcRelInterferesElements::Class() { retu 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>(); } +::Ifc4x3_rc4::IfcObjectDefinition Ifc4x3_rc4::IfcRelNests::RelatingObject() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcObjectDefinition>(); } void Ifc4x3_rc4::IfcRelNests::setRelatingObject(const ::Ifc4x3_rc4::IfcObjectDefinition& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > Ifc4x3_rc4::IfcRelNests::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc4::IfcObjectDefinition>(es); } -void Ifc4x3_rc4::IfcRelNests::setRelatedObjects(const std::vector< ::Ifc4x3_rc4::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > Ifc4x3_rc4::IfcRelNests::RelatedObjects() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc4::IfcObjectDefinition>(es); } +void Ifc4x3_rc4::IfcRelNests::setRelatedObjects(const std::vector< ::Ifc4x3_rc4::IfcObjectDefinition >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelNests::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[944]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcPositioningElement Ifc4x3_rc4::IfcRelPositions::RelatingPositioningElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcPositioningElement>(); } void Ifc4x3_rc4::IfcRelPositions::setRelatingPositioningElement(const ::Ifc4x3_rc4::IfcPositioningElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc4::IfcProduct > Ifc4x3_rc4::IfcRelPositions::RelatedProducts() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc4::IfcProduct>(es); } -void Ifc4x3_rc4::IfcRelPositions::setRelatedProducts(const std::vector< ::Ifc4x3_rc4::IfcProduct >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc4::IfcProduct > Ifc4x3_rc4::IfcRelPositions::RelatedProducts() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc4::IfcProduct>(es); } +void Ifc4x3_rc4::IfcRelPositions::setRelatedProducts(const std::vector< ::Ifc4x3_rc4::IfcProduct >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelPositions::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[945]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcElement Ifc4x3_rc4::IfcRelProjectsElement::RelatingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcElement>(); } void Ifc4x3_rc4::IfcRelProjectsElement::setRelatingElement(const ::Ifc4x3_rc4::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcFeatureElementAddition Ifc4x3_rc4::IfcRelProjectsElement::RelatedFeatureElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcFeatureElementAddition>(); } +::Ifc4x3_rc4::IfcFeatureElementAddition Ifc4x3_rc4::IfcRelProjectsElement::RelatedFeatureElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcFeatureElementAddition>(); } void Ifc4x3_rc4::IfcRelProjectsElement::setRelatedFeatureElement(const ::Ifc4x3_rc4::IfcFeatureElementAddition& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -14100,21 +14100,21 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcRelProjectsElement::Class() { return 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); } -void Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4x3_rc4::IfcSpatialReferenceSelect >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcSpatialElement Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcSpatialElement>(); } +std::vector< ::Ifc4x3_rc4::IfcSpatialReferenceSelect > Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc4::IfcSpatialReferenceSelect>(es); } +void Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::setRelatedElements(const std::vector< ::Ifc4x3_rc4::IfcSpatialReferenceSelect >& v) { set_attribute_value(4, cast_vector(v));if constexpr (false)unset_attribute_value(4); } +::Ifc4x3_rc4::IfcSpatialElement Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcSpatialElement>(); } void Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::setRelatingStructure(const ::Ifc4x3_rc4::IfcSpatialElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[947]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcProcess Ifc4x3_rc4::IfcRelSequence::RelatingProcess() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcProcess>(); } void Ifc4x3_rc4::IfcRelSequence::setRelatingProcess(const ::Ifc4x3_rc4::IfcProcess& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcProcess Ifc4x3_rc4::IfcRelSequence::RelatedProcess() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcProcess>(); } +::Ifc4x3_rc4::IfcProcess Ifc4x3_rc4::IfcRelSequence::RelatedProcess() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcProcess>(); } void Ifc4x3_rc4::IfcRelSequence::setRelatedProcess(const ::Ifc4x3_rc4::IfcProcess& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc4::IfcLagTime Ifc4x3_rc4::IfcRelSequence::TimeLag() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcLagTime{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcLagTime>(); } +::Ifc4x3_rc4::IfcLagTime Ifc4x3_rc4::IfcRelSequence::TimeLag() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcLagTime{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcLagTime>(); } void Ifc4x3_rc4::IfcRelSequence::setTimeLag(const ::Ifc4x3_rc4::IfcLagTime& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } std::optional< ::Ifc4x3_rc4::IfcSequenceEnum::Value > Ifc4x3_rc4::IfcRelSequence::SequenceType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcSequenceEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc4::IfcRelSequence::setSequenceType(const std::optional< ::Ifc4x3_rc4::IfcSequenceEnum::Value >& v) { if (v) {set_attribute_value(7, enumeration_reference(&::Ifc4x3_rc4::IfcSequenceEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } @@ -14126,21 +14126,21 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcRelSequence::Class() { return *((ifco 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>(); } +::Ifc4x3_rc4::IfcSystem Ifc4x3_rc4::IfcRelServicesBuildings::RelatingSystem() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcSystem>(); } void Ifc4x3_rc4::IfcRelServicesBuildings::setRelatingSystem(const ::Ifc4x3_rc4::IfcSystem& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc4::IfcSpatialElement > Ifc4x3_rc4::IfcRelServicesBuildings::RelatedBuildings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc4::IfcSpatialElement>(es); } -void Ifc4x3_rc4::IfcRelServicesBuildings::setRelatedBuildings(const std::vector< ::Ifc4x3_rc4::IfcSpatialElement >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc4::IfcSpatialElement > Ifc4x3_rc4::IfcRelServicesBuildings::RelatedBuildings() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc4::IfcSpatialElement>(es); } +void Ifc4x3_rc4::IfcRelServicesBuildings::setRelatedBuildings(const std::vector< ::Ifc4x3_rc4::IfcSpatialElement >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelServicesBuildings::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[949]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcSpaceBoundarySelect Ifc4x3_rc4::IfcRelSpaceBoundary::RelatingSpace() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcSpaceBoundarySelect>(); } void Ifc4x3_rc4::IfcRelSpaceBoundary::setRelatingSpace(const ::Ifc4x3_rc4::IfcSpaceBoundarySelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcElement Ifc4x3_rc4::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcElement>(); } +::Ifc4x3_rc4::IfcElement Ifc4x3_rc4::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcElement>(); } void Ifc4x3_rc4::IfcRelSpaceBoundary::setRelatedBuildingElement(const ::Ifc4x3_rc4::IfcElement& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc4::IfcConnectionGeometry Ifc4x3_rc4::IfcRelSpaceBoundary::ConnectionGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcConnectionGeometry{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcConnectionGeometry>(); } +::Ifc4x3_rc4::IfcConnectionGeometry Ifc4x3_rc4::IfcRelSpaceBoundary::ConnectionGeometry() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcConnectionGeometry{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcConnectionGeometry>(); } void Ifc4x3_rc4::IfcRelSpaceBoundary::setConnectionGeometry(const ::Ifc4x3_rc4::IfcConnectionGeometry& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } ::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Value Ifc4x3_rc4::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc4::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(const ::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } @@ -14152,7 +14152,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcRelSpaceBoundary::Class() { return *( 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>(); } +::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>(); } void Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::setParentBoundary(const ::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::vector<::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel> Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[951], 9)); } @@ -14161,7 +14161,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::Class() { r 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>(); } +::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>(); } void Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(const ::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } std::vector<::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel> Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[952], 10)); } @@ -14170,9 +14170,9 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel::Class() { r 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>(); } +::Ifc4x3_rc4::IfcElement Ifc4x3_rc4::IfcRelVoidsElement::RelatingBuildingElement() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcElement>(); } void Ifc4x3_rc4::IfcRelVoidsElement::setRelatingBuildingElement(const ::Ifc4x3_rc4::IfcElement& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcFeatureElementSubtraction Ifc4x3_rc4::IfcRelVoidsElement::RelatedOpeningElement() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcFeatureElementSubtraction>(); } +::Ifc4x3_rc4::IfcFeatureElementSubtraction Ifc4x3_rc4::IfcRelVoidsElement::RelatedOpeningElement() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcFeatureElementSubtraction>(); } void Ifc4x3_rc4::IfcRelVoidsElement::setRelatedOpeningElement(const ::Ifc4x3_rc4::IfcFeatureElementSubtraction& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -14194,21 +14194,21 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcReparametrisedCompositeCurveSegment:: 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>(); } +::Ifc4x3_rc4::IfcRepresentationContext Ifc4x3_rc4::IfcRepresentation::ContextOfItems() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcRepresentationContext>(); } void Ifc4x3_rc4::IfcRepresentation::setContextOfItems(const ::Ifc4x3_rc4::IfcRepresentationContext& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x3_rc4::IfcRepresentation::RepresentationIdentifier() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcRepresentation::setRepresentationIdentifier(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x3_rc4::IfcRepresentation::RepresentationType() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcRepresentation::setRepresentationType(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector< ::Ifc4x3_rc4::IfcRepresentationItem > Ifc4x3_rc4::IfcRepresentation::Items() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc4::IfcRepresentationItem>(es); } -void Ifc4x3_rc4::IfcRepresentation::setItems(const std::vector< ::Ifc4x3_rc4::IfcRepresentationItem >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc4::IfcRepresentationItem > Ifc4x3_rc4::IfcRepresentation::Items() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc4::IfcRepresentationItem>(es); } +void Ifc4x3_rc4::IfcRepresentation::setItems(const std::vector< ::Ifc4x3_rc4::IfcRepresentationItem >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } std::vector<::Ifc4x3_rc4::IfcRepresentationMap> Ifc4x3_rc4::IfcRepresentation::RepresentationMap() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[958], 1)); } std::vector<::Ifc4x3_rc4::IfcPresentationLayerAssignment> Ifc4x3_rc4::IfcRepresentation::LayerAssignments() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[797], 2)); } 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]); } -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; } +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; } @@ -14230,9 +14230,9 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcRepresentationItem::Class() { return 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>(); } +::Ifc4x3_rc4::IfcAxis2Placement Ifc4x3_rc4::IfcRepresentationMap::MappingOrigin() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcAxis2Placement>(); } void Ifc4x3_rc4::IfcRepresentationMap::setMappingOrigin(const ::Ifc4x3_rc4::IfcAxis2Placement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcRepresentation Ifc4x3_rc4::IfcRepresentationMap::MappedRepresentation() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcRepresentation>(); } +::Ifc4x3_rc4::IfcRepresentation Ifc4x3_rc4::IfcRepresentationMap::MappedRepresentation() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcRepresentation>(); } void Ifc4x3_rc4::IfcRepresentationMap::setMappedRepresentation(const ::Ifc4x3_rc4::IfcRepresentation& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::vector<::Ifc4x3_rc4::IfcShapeAspect> Ifc4x3_rc4::IfcRepresentationMap::HasShapeAspects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[1009], 4)); } @@ -14253,24 +14253,24 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcResource::Class() { return *((ifcopen 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); } -void Ifc4x3_rc4::IfcResourceApprovalRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc4::IfcResourceObjectSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcApproval Ifc4x3_rc4::IfcResourceApprovalRelationship::RelatingApproval() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcApproval>(); } +std::vector< ::Ifc4x3_rc4::IfcResourceObjectSelect > Ifc4x3_rc4::IfcResourceApprovalRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcResourceObjectSelect>(es); } +void Ifc4x3_rc4::IfcResourceApprovalRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc4::IfcResourceObjectSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +::Ifc4x3_rc4::IfcApproval Ifc4x3_rc4::IfcResourceApprovalRelationship::RelatingApproval() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcApproval>(); } void Ifc4x3_rc4::IfcResourceApprovalRelationship::setRelatingApproval(const ::Ifc4x3_rc4::IfcApproval& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc4::IfcResourceApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[960]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcConstraint Ifc4x3_rc4::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcConstraint>(); } void Ifc4x3_rc4::IfcResourceConstraintRelationship::setRelatingConstraint(const ::Ifc4x3_rc4::IfcConstraint& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< ::Ifc4x3_rc4::IfcResourceObjectSelect > Ifc4x3_rc4::IfcResourceConstraintRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc4::IfcResourceObjectSelect>(es); } -void Ifc4x3_rc4::IfcResourceConstraintRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc4::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } +std::vector< ::Ifc4x3_rc4::IfcResourceObjectSelect > Ifc4x3_rc4::IfcResourceConstraintRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc4::IfcResourceObjectSelect>(es); } +void Ifc4x3_rc4::IfcResourceConstraintRelationship::setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc4::IfcResourceObjectSelect >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc4::IfcResourceConstraintRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[961]); } -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; } +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; } @@ -14319,7 +14319,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcResourceTime::Class() { return *((ifc 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>(); } +::Ifc4x3_rc4::IfcAxis1Placement Ifc4x3_rc4::IfcRevolvedAreaSolid::Axis() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcAxis1Placement>(); } void Ifc4x3_rc4::IfcRevolvedAreaSolid::setAxis(const ::Ifc4x3_rc4::IfcAxis1Placement& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc4x3_rc4::IfcRevolvedAreaSolid::Angle() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcRevolvedAreaSolid::setAngle(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -14329,7 +14329,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcRevolvedAreaSolid::Class() { return * 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>(); } +::Ifc4x3_rc4::IfcProfileDef Ifc4x3_rc4::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcProfileDef>(); } void Ifc4x3_rc4::IfcRevolvedAreaSolidTapered::setEndSweptArea(const ::Ifc4x3_rc4::IfcProfileDef& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -14378,12 +14378,12 @@ void Ifc4x3_rc4::IfcRoofType::setPredefinedType(const ::Ifc4x3_rc4::IfcRoofTypeE const ifcopenshell::entity& Ifc4x3_rc4::IfcRoofType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[975]); } -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; } +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; } void Ifc4x3_rc4::IfcRoot::setGlobalId(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcOwnerHistory Ifc4x3_rc4::IfcRoot::OwnerHistory() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc4::IfcOwnerHistory{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcOwnerHistory>(); } +::Ifc4x3_rc4::IfcOwnerHistory Ifc4x3_rc4::IfcRoot::OwnerHistory() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc4::IfcOwnerHistory{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcOwnerHistory>(); } void Ifc4x3_rc4::IfcRoot::setOwnerHistory(const ::Ifc4x3_rc4::IfcOwnerHistory& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_rc4::IfcRoot::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcRoot::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } @@ -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]); } -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; } +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; } @@ -14444,7 +14444,7 @@ Ifc4x3_rc4::IfcSchedulingTime Ifc4x3_rc4::IfcSchedulingTime::initialize(std::opt const ifcopenshell::entity& Ifc4x3_rc4::IfcSeamCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[987]); } -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; } +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; } @@ -14461,9 +14461,9 @@ Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral Ifc4x3_rc4::IfcSecondOrderPolynomialS // Function implementations for IfcSectionProperties ::Ifc4x3_rc4::IfcSectionTypeEnum::Value Ifc4x3_rc4::IfcSectionProperties::SectionType() const { return ::Ifc4x3_rc4::IfcSectionTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3_rc4::IfcSectionProperties::setSectionType(const ::Ifc4x3_rc4::IfcSectionTypeEnum::Value& v) { set_attribute_value(0, enumeration_reference(&::Ifc4x3_rc4::IfcSectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcProfileDef Ifc4x3_rc4::IfcSectionProperties::StartProfile() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcProfileDef>(); } +::Ifc4x3_rc4::IfcProfileDef Ifc4x3_rc4::IfcSectionProperties::StartProfile() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcProfileDef>(); } void Ifc4x3_rc4::IfcSectionProperties::setStartProfile(const ::Ifc4x3_rc4::IfcProfileDef& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcProfileDef Ifc4x3_rc4::IfcSectionProperties::EndProfile() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcProfileDef{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcProfileDef>(); } +::Ifc4x3_rc4::IfcProfileDef Ifc4x3_rc4::IfcSectionProperties::EndProfile() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcProfileDef{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcProfileDef>(); } void Ifc4x3_rc4::IfcSectionProperties::setEndProfile(const ::Ifc4x3_rc4::IfcProfileDef& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -14479,60 +14479,60 @@ std::optional< double > Ifc4x3_rc4::IfcSectionReinforcementProperties::Transvers void Ifc4x3_rc4::IfcSectionReinforcementProperties::setTransversePosition(const std::optional< double >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_rc4::IfcReinforcingBarRoleEnum::Value Ifc4x3_rc4::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x3_rc4::IfcReinforcingBarRoleEnum::FromString(get_attribute_value(3)); } void Ifc4x3_rc4::IfcSectionReinforcementProperties::setReinforcementRole(const ::Ifc4x3_rc4::IfcReinforcingBarRoleEnum::Value& v) { set_attribute_value(3, enumeration_reference(&::Ifc4x3_rc4::IfcReinforcingBarRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc4::IfcSectionProperties Ifc4x3_rc4::IfcSectionReinforcementProperties::SectionDefinition() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcSectionProperties>(); } +::Ifc4x3_rc4::IfcSectionProperties Ifc4x3_rc4::IfcSectionReinforcementProperties::SectionDefinition() const { return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcSectionProperties>(); } void Ifc4x3_rc4::IfcSectionReinforcementProperties::setSectionDefinition(const ::Ifc4x3_rc4::IfcSectionProperties& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector< ::Ifc4x3_rc4::IfcReinforcementBarProperties > Ifc4x3_rc4::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc4::IfcReinforcementBarProperties>(es); } -void Ifc4x3_rc4::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(const std::vector< ::Ifc4x3_rc4::IfcReinforcementBarProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } +std::vector< ::Ifc4x3_rc4::IfcReinforcementBarProperties > Ifc4x3_rc4::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc4::IfcReinforcementBarProperties>(es); } +void Ifc4x3_rc4::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(const std::vector< ::Ifc4x3_rc4::IfcReinforcementBarProperties >& v) { set_attribute_value(5, cast_vector(v));if constexpr (false)unset_attribute_value(5); } const ifcopenshell::entity& Ifc4x3_rc4::IfcSectionReinforcementProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[996]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcSectionedSolid::Directrix() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCurve>(); } void Ifc4x3_rc4::IfcSectionedSolid::setDirectrix(const ::Ifc4x3_rc4::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc4::IfcProfileDef > Ifc4x3_rc4::IfcSectionedSolid::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcProfileDef>(es); } -void Ifc4x3_rc4::IfcSectionedSolid::setCrossSections(const std::vector< ::Ifc4x3_rc4::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc4::IfcProfileDef > Ifc4x3_rc4::IfcSectionedSolid::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcProfileDef>(es); } +void Ifc4x3_rc4::IfcSectionedSolid::setCrossSections(const std::vector< ::Ifc4x3_rc4::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_rc4::IfcSectionedSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[990]); } -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; } +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); } -void Ifc4x3_rc4::IfcSectionedSolidHorizontal::setCrossSectionPositions(const std::vector< ::Ifc4x3_rc4::IfcAxis2PlacementLinear >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc4::IfcAxis2PlacementLinear > Ifc4x3_rc4::IfcSectionedSolidHorizontal::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcAxis2PlacementLinear>(es); } +void Ifc4x3_rc4::IfcSectionedSolidHorizontal::setCrossSectionPositions(const std::vector< ::Ifc4x3_rc4::IfcAxis2PlacementLinear >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } bool Ifc4x3_rc4::IfcSectionedSolidHorizontal::FixedAxisVertical() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcSectionedSolidHorizontal::setFixedAxisVertical(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc4::IfcSectionedSolidHorizontal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[991]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcCompositeCurve Ifc4x3_rc4::IfcSectionedSpine::SpineCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCompositeCurve>(); } void Ifc4x3_rc4::IfcSectionedSpine::setSpineCurve(const ::Ifc4x3_rc4::IfcCompositeCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc4::IfcProfileDef > Ifc4x3_rc4::IfcSectionedSpine::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcProfileDef>(es); } -void Ifc4x3_rc4::IfcSectionedSpine::setCrossSections(const std::vector< ::Ifc4x3_rc4::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x3_rc4::IfcAxis2Placement3D > Ifc4x3_rc4::IfcSectionedSpine::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcAxis2Placement3D>(es); } -void Ifc4x3_rc4::IfcSectionedSpine::setCrossSectionPositions(const std::vector< ::Ifc4x3_rc4::IfcAxis2Placement3D >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc4::IfcProfileDef > Ifc4x3_rc4::IfcSectionedSpine::CrossSections() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcProfileDef>(es); } +void Ifc4x3_rc4::IfcSectionedSpine::setCrossSections(const std::vector< ::Ifc4x3_rc4::IfcProfileDef >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc4::IfcAxis2Placement3D > Ifc4x3_rc4::IfcSectionedSpine::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcAxis2Placement3D>(es); } +void Ifc4x3_rc4::IfcSectionedSpine::setCrossSectionPositions(const std::vector< ::Ifc4x3_rc4::IfcAxis2Placement3D >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc4::IfcSectionedSpine::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[992]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcSectionedSurface::Directrix() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCurve>(); } void Ifc4x3_rc4::IfcSectionedSurface::setDirectrix(const ::Ifc4x3_rc4::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc4::IfcPointByDistanceExpression > Ifc4x3_rc4::IfcSectionedSurface::CrossSectionPositions() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcPointByDistanceExpression>(es); } -void Ifc4x3_rc4::IfcSectionedSurface::setCrossSectionPositions(const std::vector< ::Ifc4x3_rc4::IfcPointByDistanceExpression >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x3_rc4::IfcProfileDef > Ifc4x3_rc4::IfcSectionedSurface::CrossSections() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcProfileDef>(es); } -void Ifc4x3_rc4::IfcSectionedSurface::setCrossSections(const std::vector< ::Ifc4x3_rc4::IfcProfileDef >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc4::IfcPointByDistanceExpression > Ifc4x3_rc4::IfcSectionedSurface::CrossSectionPositions() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcPointByDistanceExpression>(es); } +void Ifc4x3_rc4::IfcSectionedSurface::setCrossSectionPositions(const std::vector< ::Ifc4x3_rc4::IfcPointByDistanceExpression >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc4::IfcProfileDef > Ifc4x3_rc4::IfcSectionedSurface::CrossSections() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcProfileDef>(es); } +void Ifc4x3_rc4::IfcSectionedSurface::setCrossSections(const std::vector< ::Ifc4x3_rc4::IfcProfileDef >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } bool Ifc4x3_rc4::IfcSectionedSurface::FixedAxisVertical() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcSectionedSurface::setFixedAxisVertical(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc4::IfcSectionedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[993]); } -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; } +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)); } @@ -14544,14 +14544,14 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcSegment::Class() { return *((ifcopens 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>(); } +::Ifc4x3_rc4::IfcBoundedCurve Ifc4x3_rc4::IfcSegmentedReferenceCurve::BaseCurve() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcBoundedCurve>(); } void Ifc4x3_rc4::IfcSegmentedReferenceCurve::setBaseCurve(const ::Ifc4x3_rc4::IfcBoundedCurve& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcPlacement Ifc4x3_rc4::IfcSegmentedReferenceCurve::EndPoint() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcPlacement{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcPlacement>(); } +::Ifc4x3_rc4::IfcPlacement Ifc4x3_rc4::IfcSegmentedReferenceCurve::EndPoint() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcPlacement{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcPlacement>(); } void Ifc4x3_rc4::IfcSegmentedReferenceCurve::setEndPoint(const ::Ifc4x3_rc4::IfcPlacement& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const ifcopenshell::entity& Ifc4x3_rc4::IfcSegmentedReferenceCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[999]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -14605,45 +14605,45 @@ void Ifc4x3_rc4::IfcShadingDeviceType::setPredefinedType(const ::Ifc4x3_rc4::Ifc const ifcopenshell::entity& Ifc4x3_rc4::IfcShadingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1007]); } -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; } +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); } -void Ifc4x3_rc4::IfcShapeAspect::setShapeRepresentations(const std::vector< ::Ifc4x3_rc4::IfcShapeModel >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc4::IfcShapeModel > Ifc4x3_rc4::IfcShapeAspect::ShapeRepresentations() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcShapeModel>(es); } +void Ifc4x3_rc4::IfcShapeAspect::setShapeRepresentations(const std::vector< ::Ifc4x3_rc4::IfcShapeModel >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x3_rc4::IfcShapeAspect::Name() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcShapeAspect::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x3_rc4::IfcShapeAspect::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcShapeAspect::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } boost::logic::tribool Ifc4x3_rc4::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcShapeAspect::setProductDefinitional(const boost::logic::tribool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc4::IfcProductRepresentationSelect Ifc4x3_rc4::IfcShapeAspect::PartOfProductDefinitionShape() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc4::IfcProductRepresentationSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcProductRepresentationSelect>(); } +::Ifc4x3_rc4::IfcProductRepresentationSelect Ifc4x3_rc4::IfcShapeAspect::PartOfProductDefinitionShape() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc4::IfcProductRepresentationSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcProductRepresentationSelect>(); } void Ifc4x3_rc4::IfcShapeAspect::setPartOfProductDefinitionShape(const ::Ifc4x3_rc4::IfcProductRepresentationSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } 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]); } -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; } +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]); } -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; } +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]); } -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; } +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); } -void Ifc4x3_rc4::IfcShellBasedSurfaceModel::setSbsmBoundary(const std::vector< ::Ifc4x3_rc4::IfcShell >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc4::IfcShell > Ifc4x3_rc4::IfcShellBasedSurfaceModel::SbsmBoundary() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcShell>(es); } +void Ifc4x3_rc4::IfcShellBasedSurfaceModel::setSbsmBoundary(const std::vector< ::Ifc4x3_rc4::IfcShell >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc4::IfcShellBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1014]); } -Ifc4x3_rc4::IfcShellBasedSurfaceModel Ifc4x3_rc4::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_rc4::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary));; return *this; } +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)); } @@ -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]); } -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; } +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)); } @@ -14675,7 +14675,7 @@ void Ifc4x3_rc4::IfcSignalType::setPredefinedType(const ::Ifc4x3_rc4::IfcSignalT const ifcopenshell::entity& Ifc4x3_rc4::IfcSignalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1017]); } -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; } +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 @@ -14690,11 +14690,11 @@ std::optional< std::string > Ifc4x3_rc4::IfcSimplePropertyTemplate::PrimaryMeasu void Ifc4x3_rc4::IfcSimplePropertyTemplate::setPrimaryMeasureType(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } std::optional< std::string > Ifc4x3_rc4::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcSimplePropertyTemplate::setSecondaryMeasureType(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_rc4::IfcPropertyEnumeration Ifc4x3_rc4::IfcSimplePropertyTemplate::Enumerators() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc4::IfcPropertyEnumeration{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc4::IfcPropertyEnumeration>(); } +::Ifc4x3_rc4::IfcPropertyEnumeration Ifc4x3_rc4::IfcSimplePropertyTemplate::Enumerators() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc4::IfcPropertyEnumeration{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc4::IfcPropertyEnumeration>(); } void Ifc4x3_rc4::IfcSimplePropertyTemplate::setEnumerators(const ::Ifc4x3_rc4::IfcPropertyEnumeration& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc4::IfcUnit Ifc4x3_rc4::IfcSimplePropertyTemplate::PrimaryUnit() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc4::IfcUnit{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc4::IfcUnit>(); } +::Ifc4x3_rc4::IfcUnit Ifc4x3_rc4::IfcSimplePropertyTemplate::PrimaryUnit() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc4::IfcUnit{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc4::IfcUnit>(); } void Ifc4x3_rc4::IfcSimplePropertyTemplate::setPrimaryUnit(const ::Ifc4x3_rc4::IfcUnit& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc4::IfcUnit Ifc4x3_rc4::IfcSimplePropertyTemplate::SecondaryUnit() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc4::IfcUnit{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc4::IfcUnit>(); } +::Ifc4x3_rc4::IfcUnit Ifc4x3_rc4::IfcSimplePropertyTemplate::SecondaryUnit() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc4::IfcUnit{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc4::IfcUnit>(); } void Ifc4x3_rc4::IfcSimplePropertyTemplate::setSecondaryUnit(const ::Ifc4x3_rc4::IfcUnit& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::optional< std::string > Ifc4x3_rc4::IfcSimplePropertyTemplate::Expression() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcSimplePropertyTemplate::setExpression(const std::optional< std::string >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } @@ -14726,7 +14726,7 @@ std::optional< double > Ifc4x3_rc4::IfcSite::RefElevation() const { if(get_attri void Ifc4x3_rc4::IfcSite::setRefElevation(const std::optional< double >& v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } std::optional< std::string > Ifc4x3_rc4::IfcSite::LandTitleNumber() const { if(get_attribute_value(12).isNull()) { return std::nullopt; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc4::IfcSite::setLandTitleNumber(const std::optional< std::string >& v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x3_rc4::IfcPostalAddress Ifc4x3_rc4::IfcSite::SiteAddress() const { if(get_attribute_value(13).isNull()) { return ::Ifc4x3_rc4::IfcPostalAddress{}; } return ((express::Base)(get_attribute_value(13))).as<::Ifc4x3_rc4::IfcPostalAddress>(); } +::Ifc4x3_rc4::IfcPostalAddress Ifc4x3_rc4::IfcSite::SiteAddress() const { if(get_attribute_value(13).isNull()) { return ::Ifc4x3_rc4::IfcPostalAddress{}; } return ((express::base)(get_attribute_value(13))).as<::Ifc4x3_rc4::IfcPostalAddress>(); } void Ifc4x3_rc4::IfcSite::setSiteAddress(const ::Ifc4x3_rc4::IfcPostalAddress& v) { set_attribute_value(13, v);if constexpr (false)unset_attribute_value(13); } @@ -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]); } -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; } +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; } @@ -14787,7 +14787,7 @@ void Ifc4x3_rc4::IfcSolarDeviceType::setPredefinedType(const ::Ifc4x3_rc4::IfcSo const ifcopenshell::entity& Ifc4x3_rc4::IfcSolarDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1038]); } -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; } +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 @@ -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]); } -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; } +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]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -14870,7 +14870,7 @@ Ifc4x3_rc4::IfcSpatialStructureElement Ifc4x3_rc4::IfcSpatialStructureElement::i const ifcopenshell::entity& Ifc4x3_rc4::IfcSpatialStructureElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1059]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -14907,7 +14907,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcSphericalSurface::Class() { return *( 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>(); } +::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>(); } void Ifc4x3_rc4::IfcSpiral::setPosition(const ::Ifc4x3_rc4::IfcAxis2Placement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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]); } -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; } +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; } @@ -14979,7 +14979,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralAction::Class() { return *( 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>(); } +::Ifc4x3_rc4::IfcStructuralLoad Ifc4x3_rc4::IfcStructuralActivity::AppliedLoad() const { return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc4::IfcStructuralLoad>(); } void Ifc4x3_rc4::IfcStructuralActivity::setAppliedLoad(const ::Ifc4x3_rc4::IfcStructuralLoad& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value Ifc4x3_rc4::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcStructuralActivity::setGlobalOrLocal(const ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value& v) { set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } @@ -14992,21 +14992,21 @@ Ifc4x3_rc4::IfcStructuralActivity Ifc4x3_rc4::IfcStructuralActivity::initialize( // Function implementations for IfcStructuralAnalysisModel ::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::Value Ifc4x3_rc4::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc4::IfcStructuralAnalysisModel::setPredefinedType(const ::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::Value& v) { set_attribute_value(5, enumeration_reference(&::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc4::IfcAxis2Placement3D Ifc4x3_rc4::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcAxis2Placement3D>(); } +::Ifc4x3_rc4::IfcAxis2Placement3D Ifc4x3_rc4::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcAxis2Placement3D>(); } void Ifc4x3_rc4::IfcStructuralAnalysisModel::setOrientationOf2DPlane(const ::Ifc4x3_rc4::IfcAxis2Placement3D& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::optional< std::vector< ::Ifc4x3_rc4::IfcStructuralLoadGroup > > Ifc4x3_rc4::IfcStructuralAnalysisModel::LoadedBy() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc4::IfcStructuralLoadGroup>(es); } -void Ifc4x3_rc4::IfcStructuralAnalysisModel::setLoadedBy(const std::optional< std::vector< ::Ifc4x3_rc4::IfcStructuralLoadGroup > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } -std::optional< std::vector< ::Ifc4x3_rc4::IfcStructuralResultGroup > > Ifc4x3_rc4::IfcStructuralAnalysisModel::HasResults() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc4::IfcStructuralResultGroup>(es); } -void Ifc4x3_rc4::IfcStructuralAnalysisModel::setHasResults(const std::optional< std::vector< ::Ifc4x3_rc4::IfcStructuralResultGroup > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } -::Ifc4x3_rc4::IfcObjectPlacement Ifc4x3_rc4::IfcStructuralAnalysisModel::SharedPlacement() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc4::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc4::IfcObjectPlacement>(); } +std::optional< std::vector< ::Ifc4x3_rc4::IfcStructuralLoadGroup > > Ifc4x3_rc4::IfcStructuralAnalysisModel::LoadedBy() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc4::IfcStructuralLoadGroup>(es); } +void Ifc4x3_rc4::IfcStructuralAnalysisModel::setLoadedBy(const std::optional< std::vector< ::Ifc4x3_rc4::IfcStructuralLoadGroup > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x3_rc4::IfcStructuralResultGroup > > Ifc4x3_rc4::IfcStructuralAnalysisModel::HasResults() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc4::IfcStructuralResultGroup>(es); } +void Ifc4x3_rc4::IfcStructuralAnalysisModel::setHasResults(const std::optional< std::vector< ::Ifc4x3_rc4::IfcStructuralResultGroup > >& v) { if (v) {set_attribute_value(8, cast_vector(*v));} else {unset_attribute_value(8);} } +::Ifc4x3_rc4::IfcObjectPlacement Ifc4x3_rc4::IfcStructuralAnalysisModel::SharedPlacement() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc4::IfcObjectPlacement{}; } return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc4::IfcObjectPlacement>(); } void Ifc4x3_rc4::IfcStructuralAnalysisModel::setSharedPlacement(const ::Ifc4x3_rc4::IfcObjectPlacement& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralAnalysisModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1083]); } -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; } +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>(); } +::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>(); } void Ifc4x3_rc4::IfcStructuralConnection::setAppliedCondition(const ::Ifc4x3_rc4::IfcBoundaryCondition& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } std::vector<::Ifc4x3_rc4::IfcRelConnectsStructuralMember> Ifc4x3_rc4::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[928], 5)); } @@ -15033,7 +15033,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralCurveAction::Class() { retu 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>(); } +::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcStructuralCurveConnection::Axis() const { return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc4::IfcDirection>(); } void Ifc4x3_rc4::IfcStructuralCurveConnection::setAxis(const ::Ifc4x3_rc4::IfcDirection& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -15043,7 +15043,7 @@ Ifc4x3_rc4::IfcStructuralCurveConnection Ifc4x3_rc4::IfcStructuralCurveConnectio // Function implementations for IfcStructuralCurveMember ::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_rc4::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc4::IfcStructuralCurveMember::setPredefinedType(const ::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Value& v) { set_attribute_value(7, enumeration_reference(&::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcStructuralCurveMember::Axis() const { return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc4::IfcDirection>(); } +::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcStructuralCurveMember::Axis() const { return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc4::IfcDirection>(); } void Ifc4x3_rc4::IfcStructuralCurveMember::setAxis(const ::Ifc4x3_rc4::IfcDirection& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -15094,14 +15094,14 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralLoadCase::Class() { return 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); } -void Ifc4x3_rc4::IfcStructuralLoadConfiguration::setValues(const std::vector< ::Ifc4x3_rc4::IfcStructuralLoadOrResult >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc4::IfcStructuralLoadOrResult > Ifc4x3_rc4::IfcStructuralLoadConfiguration::Values() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcStructuralLoadOrResult>(es); } +void Ifc4x3_rc4::IfcStructuralLoadConfiguration::setValues(const std::vector< ::Ifc4x3_rc4::IfcStructuralLoadOrResult >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< std::vector< std::vector< double > > > Ifc4x3_rc4::IfcStructuralLoadConfiguration::Locations() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector< std::vector< double > > v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcStructuralLoadConfiguration::setLocations(const std::optional< std::vector< std::vector< double > > >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralLoadConfiguration::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1097]); } -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; } +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)); } @@ -15247,7 +15247,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralPointAction::Class() { retu 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>(); } +::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>(); } void Ifc4x3_rc4::IfcStructuralPointConnection::setConditionCoordinateSystem(const ::Ifc4x3_rc4::IfcAxis2Placement3D& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -15269,7 +15269,7 @@ Ifc4x3_rc4::IfcStructuralReaction Ifc4x3_rc4::IfcStructuralReaction::initialize( // Function implementations for IfcStructuralResultGroup ::Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_rc4::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc4::IfcStructuralResultGroup::setTheoryType(const ::Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::Value& v) { set_attribute_value(5, enumeration_reference(&::Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc4::IfcStructuralLoadGroup Ifc4x3_rc4::IfcStructuralResultGroup::ResultForLoadGroup() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcStructuralLoadGroup{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcStructuralLoadGroup>(); } +::Ifc4x3_rc4::IfcStructuralLoadGroup Ifc4x3_rc4::IfcStructuralResultGroup::ResultForLoadGroup() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcStructuralLoadGroup{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcStructuralLoadGroup>(); } void Ifc4x3_rc4::IfcStructuralResultGroup::setResultForLoadGroup(const ::Ifc4x3_rc4::IfcStructuralLoadGroup& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } bool Ifc4x3_rc4::IfcStructuralResultGroup::IsLinear() const { bool v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcStructuralResultGroup::setIsLinear(const bool& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } @@ -15323,25 +15323,25 @@ Ifc4x3_rc4::IfcStructuralSurfaceReaction Ifc4x3_rc4::IfcStructuralSurfaceReactio const ifcopenshell::entity& Ifc4x3_rc4::IfcStyleModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1124]); } -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; } +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>(); } +::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>(); } void Ifc4x3_rc4::IfcStyledItem::setItem(const ::Ifc4x3_rc4::IfcRepresentationItem& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc4::IfcPresentationStyle > Ifc4x3_rc4::IfcStyledItem::Styles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcPresentationStyle>(es); } -void Ifc4x3_rc4::IfcStyledItem::setStyles(const std::vector< ::Ifc4x3_rc4::IfcPresentationStyle >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc4::IfcPresentationStyle > Ifc4x3_rc4::IfcStyledItem::Styles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcPresentationStyle>(es); } +void Ifc4x3_rc4::IfcStyledItem::setStyles(const std::vector< ::Ifc4x3_rc4::IfcPresentationStyle >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_rc4::IfcStyledItem::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcStyledItem::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_rc4::IfcStyledItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1122]); } -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; } +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]); } -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; } +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]); } -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; } +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,10 +15357,10 @@ void Ifc4x3_rc4::IfcSubContractResourceType::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc4::IfcSubContractResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1126]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcEdge Ifc4x3_rc4::IfcSubedge::ParentEdge() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcEdge>(); } void Ifc4x3_rc4::IfcSubedge::setParentEdge(const ::Ifc4x3_rc4::IfcEdge& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -15374,19 +15374,19 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcSurface::Class() { return *((ifcopens 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>(); } +::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcSurfaceCurve::Curve3D() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCurve>(); } void Ifc4x3_rc4::IfcSurfaceCurve::setCurve3D(const ::Ifc4x3_rc4::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc4::IfcPcurve > Ifc4x3_rc4::IfcSurfaceCurve::AssociatedGeometry() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcPcurve>(es); } -void Ifc4x3_rc4::IfcSurfaceCurve::setAssociatedGeometry(const std::vector< ::Ifc4x3_rc4::IfcPcurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc4::IfcPcurve > Ifc4x3_rc4::IfcSurfaceCurve::AssociatedGeometry() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcPcurve>(es); } +void Ifc4x3_rc4::IfcSurfaceCurve::setAssociatedGeometry(const std::vector< ::Ifc4x3_rc4::IfcPcurve >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3_rc4::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::FromString(get_attribute_value(2)); } void Ifc4x3_rc4::IfcSurfaceCurve::setMasterRepresentation(const ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc4::IfcSurfaceCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1130]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcSurface Ifc4x3_rc4::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcSurface>(); } void Ifc4x3_rc4::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(const ::Ifc4x3_rc4::IfcSurface& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -15403,7 +15403,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcSurfaceFeature::Class() { return *((i 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>(); } +::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcDirection>(); } void Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion::setExtrudedDirection(const ::Ifc4x3_rc4::IfcDirection& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } double Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion::setDepth(const double& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -15413,7 +15413,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion::Class() { r 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>(); } +::Ifc4x3_rc4::IfcAxis1Placement Ifc4x3_rc4::IfcSurfaceOfRevolution::AxisPosition() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcAxis1Placement>(); } void Ifc4x3_rc4::IfcSurfaceOfRevolution::setAxisPosition(const ::Ifc4x3_rc4::IfcAxis1Placement& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } @@ -15435,21 +15435,21 @@ Ifc4x3_rc4::IfcSurfaceReinforcementArea Ifc4x3_rc4::IfcSurfaceReinforcementArea: // Function implementations for IfcSurfaceStyle ::Ifc4x3_rc4::IfcSurfaceSide::Value Ifc4x3_rc4::IfcSurfaceStyle::Side() const { return ::Ifc4x3_rc4::IfcSurfaceSide::FromString(get_attribute_value(1)); } void Ifc4x3_rc4::IfcSurfaceStyle::setSide(const ::Ifc4x3_rc4::IfcSurfaceSide::Value& v) { set_attribute_value(1, enumeration_reference(&::Ifc4x3_rc4::IfcSurfaceSide::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x3_rc4::IfcSurfaceStyleElementSelect > Ifc4x3_rc4::IfcSurfaceStyle::Styles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcSurfaceStyleElementSelect>(es); } -void Ifc4x3_rc4::IfcSurfaceStyle::setStyles(const std::vector< ::Ifc4x3_rc4::IfcSurfaceStyleElementSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc4::IfcSurfaceStyleElementSelect > Ifc4x3_rc4::IfcSurfaceStyle::Styles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcSurfaceStyleElementSelect>(es); } +void Ifc4x3_rc4::IfcSurfaceStyle::setStyles(const std::vector< ::Ifc4x3_rc4::IfcSurfaceStyleElementSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc4::IfcSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1139]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcColourRgb Ifc4x3_rc4::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcColourRgb>(); } void Ifc4x3_rc4::IfcSurfaceStyleLighting::setDiffuseTransmissionColour(const ::Ifc4x3_rc4::IfcColourRgb& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcColourRgb Ifc4x3_rc4::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcColourRgb>(); } +::Ifc4x3_rc4::IfcColourRgb Ifc4x3_rc4::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcColourRgb>(); } void Ifc4x3_rc4::IfcSurfaceStyleLighting::setDiffuseReflectionColour(const ::Ifc4x3_rc4::IfcColourRgb& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcColourRgb Ifc4x3_rc4::IfcSurfaceStyleLighting::TransmissionColour() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcColourRgb>(); } +::Ifc4x3_rc4::IfcColourRgb Ifc4x3_rc4::IfcSurfaceStyleLighting::TransmissionColour() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcColourRgb>(); } void Ifc4x3_rc4::IfcSurfaceStyleLighting::setTransmissionColour(const ::Ifc4x3_rc4::IfcColourRgb& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcColourRgb Ifc4x3_rc4::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcColourRgb>(); } +::Ifc4x3_rc4::IfcColourRgb Ifc4x3_rc4::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcColourRgb>(); } void Ifc4x3_rc4::IfcSurfaceStyleLighting::setReflectanceColour(const ::Ifc4x3_rc4::IfcColourRgb& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } @@ -15467,17 +15467,17 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcSurfaceStyleRefraction::Class() { ret 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>(); } +::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>(); } void Ifc4x3_rc4::IfcSurfaceStyleRendering::setDiffuseColour(const ::Ifc4x3_rc4::IfcColourOrFactor& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcColourOrFactor Ifc4x3_rc4::IfcSurfaceStyleRendering::TransmissionColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcColourOrFactor>(); } +::Ifc4x3_rc4::IfcColourOrFactor Ifc4x3_rc4::IfcSurfaceStyleRendering::TransmissionColour() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcColourOrFactor>(); } void Ifc4x3_rc4::IfcSurfaceStyleRendering::setTransmissionColour(const ::Ifc4x3_rc4::IfcColourOrFactor& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc4::IfcColourOrFactor Ifc4x3_rc4::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc4::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcColourOrFactor>(); } +::Ifc4x3_rc4::IfcColourOrFactor Ifc4x3_rc4::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc4::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcColourOrFactor>(); } void Ifc4x3_rc4::IfcSurfaceStyleRendering::setDiffuseTransmissionColour(const ::Ifc4x3_rc4::IfcColourOrFactor& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcColourOrFactor Ifc4x3_rc4::IfcSurfaceStyleRendering::ReflectionColour() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc4::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcColourOrFactor>(); } +::Ifc4x3_rc4::IfcColourOrFactor Ifc4x3_rc4::IfcSurfaceStyleRendering::ReflectionColour() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc4::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcColourOrFactor>(); } void Ifc4x3_rc4::IfcSurfaceStyleRendering::setReflectionColour(const ::Ifc4x3_rc4::IfcColourOrFactor& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc4::IfcColourOrFactor Ifc4x3_rc4::IfcSurfaceStyleRendering::SpecularColour() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcColourOrFactor>(); } +::Ifc4x3_rc4::IfcColourOrFactor Ifc4x3_rc4::IfcSurfaceStyleRendering::SpecularColour() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcColourOrFactor{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcColourOrFactor>(); } void Ifc4x3_rc4::IfcSurfaceStyleRendering::setSpecularColour(const ::Ifc4x3_rc4::IfcColourOrFactor& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc4::IfcSpecularHighlightSelect Ifc4x3_rc4::IfcSurfaceStyleRendering::SpecularHighlight() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc4::IfcSpecularHighlightSelect{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc4::IfcSpecularHighlightSelect>(); } +::Ifc4x3_rc4::IfcSpecularHighlightSelect Ifc4x3_rc4::IfcSurfaceStyleRendering::SpecularHighlight() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc4::IfcSpecularHighlightSelect{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc4::IfcSpecularHighlightSelect>(); } void Ifc4x3_rc4::IfcSurfaceStyleRendering::setSpecularHighlight(const ::Ifc4x3_rc4::IfcSpecularHighlightSelect& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_rc4::IfcReflectanceMethodEnum::Value Ifc4x3_rc4::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x3_rc4::IfcReflectanceMethodEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcSurfaceStyleRendering::setReflectanceMethod(const ::Ifc4x3_rc4::IfcReflectanceMethodEnum::Value& v) { set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc4::IfcReflectanceMethodEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } @@ -15487,7 +15487,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcSurfaceStyleRendering::Class() { retu 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>(); } +::Ifc4x3_rc4::IfcColourRgb Ifc4x3_rc4::IfcSurfaceStyleShading::SurfaceColour() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcColourRgb>(); } void Ifc4x3_rc4::IfcSurfaceStyleShading::setSurfaceColour(const ::Ifc4x3_rc4::IfcColourRgb& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< double > Ifc4x3_rc4::IfcSurfaceStyleShading::Transparency() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcSurfaceStyleShading::setTransparency(const std::optional< double >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } @@ -15497,12 +15497,12 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcSurfaceStyleShading::Class() { return 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); } -void Ifc4x3_rc4::IfcSurfaceStyleWithTextures::setTextures(const std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > Ifc4x3_rc4::IfcSurfaceStyleWithTextures::Textures() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcSurfaceTexture>(es); } +void Ifc4x3_rc4::IfcSurfaceStyleWithTextures::setTextures(const std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc4::IfcSurfaceStyleWithTextures::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1145]); } -Ifc4x3_rc4::IfcSurfaceStyleWithTextures Ifc4x3_rc4::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures));; return *this; } +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; } @@ -15511,7 +15511,7 @@ bool Ifc4x3_rc4::IfcSurfaceTexture::RepeatT() const { bool v = get_attribute_va void Ifc4x3_rc4::IfcSurfaceTexture::setRepeatT(const bool& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } std::optional< std::string > Ifc4x3_rc4::IfcSurfaceTexture::Mode() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcSurfaceTexture::setMode(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc4::IfcCartesianTransformationOperator2D Ifc4x3_rc4::IfcSurfaceTexture::TextureTransform() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcCartesianTransformationOperator2D>(); } +::Ifc4x3_rc4::IfcCartesianTransformationOperator2D Ifc4x3_rc4::IfcSurfaceTexture::TextureTransform() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcCartesianTransformationOperator2D>(); } void Ifc4x3_rc4::IfcSurfaceTexture::setTextureTransform(const ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcSurfaceTexture::Parameter() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcSurfaceTexture::setParameter(const std::optional< std::vector< std::string > /*[1:?]*/ >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -15523,9 +15523,9 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcSurfaceTexture::Class() { return *((i 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>(); } +::Ifc4x3_rc4::IfcProfileDef Ifc4x3_rc4::IfcSweptAreaSolid::SweptArea() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcProfileDef>(); } void Ifc4x3_rc4::IfcSweptAreaSolid::setSweptArea(const ::Ifc4x3_rc4::IfcProfileDef& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcAxis2Placement3D Ifc4x3_rc4::IfcSweptAreaSolid::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc4::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcAxis2Placement3D>(); } +::Ifc4x3_rc4::IfcAxis2Placement3D Ifc4x3_rc4::IfcSweptAreaSolid::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc4::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcAxis2Placement3D>(); } void Ifc4x3_rc4::IfcSweptAreaSolid::setPosition(const ::Ifc4x3_rc4::IfcAxis2Placement3D& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -15533,7 +15533,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcSweptAreaSolid::Class() { return *((i 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>(); } +::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcSweptDiskSolid::Directrix() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCurve>(); } void Ifc4x3_rc4::IfcSweptDiskSolid::setDirectrix(const ::Ifc4x3_rc4::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc4::IfcSweptDiskSolid::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcSweptDiskSolid::setRadius(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -15557,9 +15557,9 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcSweptDiskSolidPolygonal::Class() { re 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>(); } +::Ifc4x3_rc4::IfcProfileDef Ifc4x3_rc4::IfcSweptSurface::SweptCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcProfileDef>(); } void Ifc4x3_rc4::IfcSweptSurface::setSweptCurve(const ::Ifc4x3_rc4::IfcProfileDef& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcAxis2Placement3D Ifc4x3_rc4::IfcSweptSurface::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc4::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcAxis2Placement3D>(); } +::Ifc4x3_rc4::IfcAxis2Placement3D Ifc4x3_rc4::IfcSweptSurface::Position() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc4::IfcAxis2Placement3D{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcAxis2Placement3D>(); } void Ifc4x3_rc4::IfcSweptSurface::setPosition(const ::Ifc4x3_rc4::IfcAxis2Placement3D& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -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]); } -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; } +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 @@ -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]); } -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; } +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; } @@ -15633,14 +15633,14 @@ Ifc4x3_rc4::IfcTShapeProfileDef Ifc4x3_rc4::IfcTShapeProfileDef::initialize(::If // 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; } void Ifc4x3_rc4::IfcTable::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::optional< std::vector< ::Ifc4x3_rc4::IfcTableRow > > Ifc4x3_rc4::IfcTable::Rows() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcTableRow>(es); } -void Ifc4x3_rc4::IfcTable::setRows(const std::optional< std::vector< ::Ifc4x3_rc4::IfcTableRow > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } -std::optional< std::vector< ::Ifc4x3_rc4::IfcTableColumn > > Ifc4x3_rc4::IfcTable::Columns() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcTableColumn>(es); } -void Ifc4x3_rc4::IfcTable::setColumns(const std::optional< std::vector< ::Ifc4x3_rc4::IfcTableColumn > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } +std::optional< std::vector< ::Ifc4x3_rc4::IfcTableRow > > Ifc4x3_rc4::IfcTable::Rows() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcTableRow>(es); } +void Ifc4x3_rc4::IfcTable::setRows(const std::optional< std::vector< ::Ifc4x3_rc4::IfcTableRow > >& v) { if (v) {set_attribute_value(1, cast_vector(*v));} else {unset_attribute_value(1);} } +std::optional< std::vector< ::Ifc4x3_rc4::IfcTableColumn > > Ifc4x3_rc4::IfcTable::Columns() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcTableColumn>(es); } +void Ifc4x3_rc4::IfcTable::setColumns(const std::optional< std::vector< ::Ifc4x3_rc4::IfcTableColumn > >& v) { if (v) {set_attribute_value(2, cast_vector(*v));} else {unset_attribute_value(2);} } const ifcopenshell::entity& Ifc4x3_rc4::IfcTable::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1158]); } -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; } +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; } @@ -15649,9 +15649,9 @@ std::optional< std::string > Ifc4x3_rc4::IfcTableColumn::Name() const { if(get_a void Ifc4x3_rc4::IfcTableColumn::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x3_rc4::IfcTableColumn::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcTableColumn::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc4::IfcUnit Ifc4x3_rc4::IfcTableColumn::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcUnit{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcUnit>(); } +::Ifc4x3_rc4::IfcUnit Ifc4x3_rc4::IfcTableColumn::Unit() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcUnit{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcUnit>(); } void Ifc4x3_rc4::IfcTableColumn::setUnit(const ::Ifc4x3_rc4::IfcUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc4::IfcReference Ifc4x3_rc4::IfcTableColumn::ReferencePath() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc4::IfcReference{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcReference>(); } +::Ifc4x3_rc4::IfcReference Ifc4x3_rc4::IfcTableColumn::ReferencePath() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc4::IfcReference{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcReference>(); } void Ifc4x3_rc4::IfcTableColumn::setReferencePath(const ::Ifc4x3_rc4::IfcReference& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -15659,14 +15659,14 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcTableColumn::Class() { return *((ifco 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); } -void Ifc4x3_rc4::IfcTableRow::setRowCells(const std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > >& v) { if (v) {set_attribute_value(0, cast_vector(*v));} else {unset_attribute_value(0);} } +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); } +void Ifc4x3_rc4::IfcTableRow::setRowCells(const std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > >& v) { if (v) {set_attribute_value(0, cast_vector(*v));} else {unset_attribute_value(0);} } std::optional< bool > Ifc4x3_rc4::IfcTableRow::IsHeading() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } bool v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcTableRow::setIsHeading(const std::optional< bool >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const ifcopenshell::entity& Ifc4x3_rc4::IfcTableRow::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1160]); } -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; } +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)); } @@ -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]); } -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; } +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; } @@ -15693,7 +15693,7 @@ bool Ifc4x3_rc4::IfcTask::IsMilestone() const { bool v = get_attribute_value(9) void Ifc4x3_rc4::IfcTask::setIsMilestone(const bool& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } std::optional< int64_t > Ifc4x3_rc4::IfcTask::Priority() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } int64_t v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcTask::setPriority(const std::optional< int64_t >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x3_rc4::IfcTaskTime Ifc4x3_rc4::IfcTask::TaskTime() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x3_rc4::IfcTaskTime{}; } return ((express::Base)(get_attribute_value(11))).as<::Ifc4x3_rc4::IfcTaskTime>(); } +::Ifc4x3_rc4::IfcTaskTime Ifc4x3_rc4::IfcTask::TaskTime() const { if(get_attribute_value(11).isNull()) { return ::Ifc4x3_rc4::IfcTaskTime{}; } return ((express::base)(get_attribute_value(11))).as<::Ifc4x3_rc4::IfcTaskTime>(); } void Ifc4x3_rc4::IfcTask::setTaskTime(const ::Ifc4x3_rc4::IfcTaskTime& v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } std::optional< ::Ifc4x3_rc4::IfcTaskTypeEnum::Value > Ifc4x3_rc4::IfcTask::PredefinedType() const { if(get_attribute_value(12).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcTaskTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x3_rc4::IfcTask::setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcTaskTypeEnum::Value >& v) { if (v) {set_attribute_value(12, enumeration_reference(&::Ifc4x3_rc4::IfcTaskTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } @@ -15743,7 +15743,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcTaskTime::Class() { return *((ifcopen 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>(); } +::Ifc4x3_rc4::IfcRecurrencePattern Ifc4x3_rc4::IfcTaskTimeRecurring::Recurrence() const { return ((express::base)(get_attribute_value(20))).as<::Ifc4x3_rc4::IfcRecurrencePattern>(); } void Ifc4x3_rc4::IfcTaskTimeRecurring::setRecurrence(const ::Ifc4x3_rc4::IfcRecurrencePattern& v) { set_attribute_value(20, v);if constexpr (false)unset_attribute_value(20); } @@ -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]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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,10 +15844,10 @@ void Ifc4x3_rc4::IfcTendonType::setSheathDiameter(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_rc4::IfcTendonType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1180]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcCartesianPointList3D Ifc4x3_rc4::IfcTessellatedFaceSet::Coordinates() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCartesianPointList3D>(); } void Ifc4x3_rc4::IfcTessellatedFaceSet::setCoordinates(const ::Ifc4x3_rc4::IfcCartesianPointList3D& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::vector<::Ifc4x3_rc4::IfcIndexedColourMap> Ifc4x3_rc4::IfcTessellatedFaceSet::HasColours() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[547], 0)); } @@ -15865,7 +15865,7 @@ Ifc4x3_rc4::IfcTessellatedItem Ifc4x3_rc4::IfcTessellatedItem::initialize() { ; // Function implementations for IfcTextLiteral std::string Ifc4x3_rc4::IfcTextLiteral::Literal() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcTextLiteral::setLiteral(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcAxis2Placement Ifc4x3_rc4::IfcTextLiteral::Placement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcAxis2Placement>(); } +::Ifc4x3_rc4::IfcAxis2Placement Ifc4x3_rc4::IfcTextLiteral::Placement() const { return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcAxis2Placement>(); } void Ifc4x3_rc4::IfcTextLiteral::setPlacement(const ::Ifc4x3_rc4::IfcAxis2Placement& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } ::Ifc4x3_rc4::IfcTextPath::Value Ifc4x3_rc4::IfcTextLiteral::Path() const { return ::Ifc4x3_rc4::IfcTextPath::FromString(get_attribute_value(2)); } void Ifc4x3_rc4::IfcTextLiteral::setPath(const ::Ifc4x3_rc4::IfcTextPath::Value& v) { set_attribute_value(2, enumeration_reference(&::Ifc4x3_rc4::IfcTextPath::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } @@ -15875,7 +15875,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcTextLiteral::Class() { return *((ifco 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>(); } +::Ifc4x3_rc4::IfcPlanarExtent Ifc4x3_rc4::IfcTextLiteralWithExtent::Extent() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcPlanarExtent>(); } void Ifc4x3_rc4::IfcTextLiteralWithExtent::setExtent(const ::Ifc4x3_rc4::IfcPlanarExtent& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::string Ifc4x3_rc4::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcTextLiteralWithExtent::setBoxAlignment(const std::string& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } @@ -15885,11 +15885,11 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcTextLiteralWithExtent::Class() { retu 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>(); } +::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>(); } void Ifc4x3_rc4::IfcTextStyle::setTextCharacterAppearance(const ::Ifc4x3_rc4::IfcTextStyleForDefinedFont& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcTextStyleTextModel Ifc4x3_rc4::IfcTextStyle::TextStyle() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcTextStyleTextModel{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcTextStyleTextModel>(); } +::Ifc4x3_rc4::IfcTextStyleTextModel Ifc4x3_rc4::IfcTextStyle::TextStyle() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcTextStyleTextModel{}; } return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcTextStyleTextModel>(); } void Ifc4x3_rc4::IfcTextStyle::setTextStyle(const ::Ifc4x3_rc4::IfcTextStyleTextModel& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcTextFontSelect Ifc4x3_rc4::IfcTextStyle::TextFontStyle() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcTextFontSelect>(); } +::Ifc4x3_rc4::IfcTextFontSelect Ifc4x3_rc4::IfcTextStyle::TextFontStyle() const { return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcTextFontSelect>(); } void Ifc4x3_rc4::IfcTextStyle::setTextFontStyle(const ::Ifc4x3_rc4::IfcTextFontSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< bool > Ifc4x3_rc4::IfcTextStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } bool v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcTextStyle::setModelOrDraughting(const std::optional< bool >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } @@ -15907,7 +15907,7 @@ std::optional< std::string > Ifc4x3_rc4::IfcTextStyleFontModel::FontVariant() co void Ifc4x3_rc4::IfcTextStyleFontModel::setFontVariant(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } std::optional< std::string > Ifc4x3_rc4::IfcTextStyleFontModel::FontWeight() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcTextStyleFontModel::setFontWeight(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc4::IfcSizeSelect Ifc4x3_rc4::IfcTextStyleFontModel::FontSize() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcSizeSelect>(); } +::Ifc4x3_rc4::IfcSizeSelect Ifc4x3_rc4::IfcTextStyleFontModel::FontSize() const { return ((express::base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcSizeSelect>(); } void Ifc4x3_rc4::IfcTextStyleFontModel::setFontSize(const ::Ifc4x3_rc4::IfcSizeSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } @@ -15915,9 +15915,9 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcTextStyleFontModel::Class() { return 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>(); } +::Ifc4x3_rc4::IfcColour Ifc4x3_rc4::IfcTextStyleForDefinedFont::Colour() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcColour>(); } void Ifc4x3_rc4::IfcTextStyleForDefinedFont::setColour(const ::Ifc4x3_rc4::IfcColour& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcColour Ifc4x3_rc4::IfcTextStyleForDefinedFont::BackgroundColour() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc4::IfcColour{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcColour>(); } +::Ifc4x3_rc4::IfcColour Ifc4x3_rc4::IfcTextStyleForDefinedFont::BackgroundColour() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc4::IfcColour{}; } return ((express::base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcColour>(); } void Ifc4x3_rc4::IfcTextStyleForDefinedFont::setBackgroundColour(const ::Ifc4x3_rc4::IfcColour& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -15925,19 +15925,19 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcTextStyleForDefinedFont::Class() { re 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>(); } +::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>(); } void Ifc4x3_rc4::IfcTextStyleTextModel::setTextIndent(const ::Ifc4x3_rc4::IfcSizeSelect& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } std::optional< std::string > Ifc4x3_rc4::IfcTextStyleTextModel::TextAlign() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcTextStyleTextModel::setTextAlign(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } std::optional< std::string > Ifc4x3_rc4::IfcTextStyleTextModel::TextDecoration() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcTextStyleTextModel::setTextDecoration(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc4::IfcSizeSelect Ifc4x3_rc4::IfcTextStyleTextModel::LetterSpacing() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcSizeSelect>(); } +::Ifc4x3_rc4::IfcSizeSelect Ifc4x3_rc4::IfcTextStyleTextModel::LetterSpacing() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcSizeSelect>(); } void Ifc4x3_rc4::IfcTextStyleTextModel::setLetterSpacing(const ::Ifc4x3_rc4::IfcSizeSelect& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc4::IfcSizeSelect Ifc4x3_rc4::IfcTextStyleTextModel::WordSpacing() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc4::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcSizeSelect>(); } +::Ifc4x3_rc4::IfcSizeSelect Ifc4x3_rc4::IfcTextStyleTextModel::WordSpacing() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc4::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcSizeSelect>(); } void Ifc4x3_rc4::IfcTextStyleTextModel::setWordSpacing(const ::Ifc4x3_rc4::IfcSizeSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } std::optional< std::string > Ifc4x3_rc4::IfcTextStyleTextModel::TextTransform() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcTextStyleTextModel::setTextTransform(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc4::IfcSizeSelect Ifc4x3_rc4::IfcTextStyleTextModel::LineHeight() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcSizeSelect>(); } +::Ifc4x3_rc4::IfcSizeSelect Ifc4x3_rc4::IfcTextStyleTextModel::LineHeight() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_rc4::IfcSizeSelect{}; } return ((express::base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcSizeSelect>(); } void Ifc4x3_rc4::IfcTextStyleTextModel::setLineHeight(const ::Ifc4x3_rc4::IfcSizeSelect& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } @@ -15945,12 +15945,12 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcTextStyleTextModel::Class() { return 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); } -void Ifc4x3_rc4::IfcTextureCoordinate::setMaps(const std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > Ifc4x3_rc4::IfcTextureCoordinate::Maps() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcSurfaceTexture>(es); } +void Ifc4x3_rc4::IfcTextureCoordinate::setMaps(const std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc4::IfcTextureCoordinate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1197]); } -Ifc4x3_rc4::IfcTextureCoordinate Ifc4x3_rc4::IfcTextureCoordinate::initialize(std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > v1_Maps) { set_attribute_value(0, cast_vector(v1_Maps));; return *this; } +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,17 +15960,17 @@ void Ifc4x3_rc4::IfcTextureCoordinateGenerator::setParameter(const std::optional const ifcopenshell::entity& Ifc4x3_rc4::IfcTextureCoordinateGenerator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1198]); } -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; } +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); } -void Ifc4x3_rc4::IfcTextureMap::setVertices(const std::vector< ::Ifc4x3_rc4::IfcTextureVertex >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcFace Ifc4x3_rc4::IfcTextureMap::MappedTo() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcFace>(); } +std::vector< ::Ifc4x3_rc4::IfcTextureVertex > Ifc4x3_rc4::IfcTextureMap::Vertices() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcTextureVertex>(es); } +void Ifc4x3_rc4::IfcTextureMap::setVertices(const std::vector< ::Ifc4x3_rc4::IfcTextureVertex >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +::Ifc4x3_rc4::IfcFace Ifc4x3_rc4::IfcTextureMap::MappedTo() const { return ((express::base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcFace>(); } void Ifc4x3_rc4::IfcTextureMap::setMappedTo(const ::Ifc4x3_rc4::IfcFace& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const ifcopenshell::entity& Ifc4x3_rc4::IfcTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1199]); } -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; } +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; } @@ -16027,7 +16027,7 @@ void Ifc4x3_rc4::IfcTimeSeries::setTimeSeriesDataType(const ::Ifc4x3_rc4::IfcTim void Ifc4x3_rc4::IfcTimeSeries::setDataOrigin(const ::Ifc4x3_rc4::IfcDataOriginEnum::Value& v) { set_attribute_value(5, enumeration_reference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } std::optional< std::string > Ifc4x3_rc4::IfcTimeSeries::UserDefinedDataOrigin() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcTimeSeries::setUserDefinedDataOrigin(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_rc4::IfcUnit Ifc4x3_rc4::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc4::IfcUnit{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc4::IfcUnit>(); } +::Ifc4x3_rc4::IfcUnit Ifc4x3_rc4::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc4::IfcUnit{}; } return ((express::base)(get_attribute_value(7))).as<::Ifc4x3_rc4::IfcUnit>(); } void Ifc4x3_rc4::IfcTimeSeries::setUnit(const ::Ifc4x3_rc4::IfcUnit& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcTimeSeries::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[433], 3)); } @@ -16036,12 +16036,12 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcTimeSeries::Class() { return *((ifcop 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); } -void Ifc4x3_rc4::IfcTimeSeriesValue::setListValues(const std::vector< ::Ifc4x3_rc4::IfcValue >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc4::IfcValue > Ifc4x3_rc4::IfcTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcValue>(es); } +void Ifc4x3_rc4::IfcTimeSeriesValue::setListValues(const std::vector< ::Ifc4x3_rc4::IfcValue >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc4::IfcTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1215]); } -Ifc4x3_rc4::IfcTimeSeriesValue Ifc4x3_rc4::IfcTimeSeriesValue::initialize(std::vector< ::Ifc4x3_rc4::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues));; return *this; } +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 @@ -16053,7 +16053,7 @@ Ifc4x3_rc4::IfcTopologicalRepresentationItem Ifc4x3_rc4::IfcTopologicalRepresent const ifcopenshell::entity& Ifc4x3_rc4::IfcTopologyRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1218]); } -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; } +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; } @@ -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]); } -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; } +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)); } @@ -16095,10 +16095,10 @@ void Ifc4x3_rc4::IfcTransformerType::setPredefinedType(const ::Ifc4x3_rc4::IfcTr const ifcopenshell::entity& Ifc4x3_rc4::IfcTransformerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1225]); } -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; } +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>(); } +::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>(); } void Ifc4x3_rc4::IfcTransportElement::setPredefinedType(const ::Ifc4x3_rc4::IfcTransportElementTypeSelect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } @@ -16106,12 +16106,12 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcTransportElement::Class() { return *( 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>(); } +::Ifc4x3_rc4::IfcTransportElementTypeSelect Ifc4x3_rc4::IfcTransportElementType::PredefinedType() const { return ((express::base)(get_attribute_value(9))).as<::Ifc4x3_rc4::IfcTransportElementTypeSelect>(); } void Ifc4x3_rc4::IfcTransportElementType::setPredefinedType(const ::Ifc4x3_rc4::IfcTransportElementTypeSelect& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } const ifcopenshell::entity& Ifc4x3_rc4::IfcTransportElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1232]); } -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; } +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; } @@ -16150,12 +16150,12 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcTriangulatedIrregularNetwork::Class() 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< int64_t > > v4_CoordIndex, std::optional< std::vector< int64_t > /*[1:?]*/ > v5_PnIndex, std::vector< int64_t > /*[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>(); } +::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcTrimmedCurve::BasisCurve() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCurve>(); } void Ifc4x3_rc4::IfcTrimmedCurve::setBasisCurve(const ::Ifc4x3_rc4::IfcCurve& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< ::Ifc4x3_rc4::IfcTrimmingSelect > Ifc4x3_rc4::IfcTrimmedCurve::Trim1() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcTrimmingSelect>(es); } -void Ifc4x3_rc4::IfcTrimmedCurve::setTrim1(const std::vector< ::Ifc4x3_rc4::IfcTrimmingSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } -std::vector< ::Ifc4x3_rc4::IfcTrimmingSelect > Ifc4x3_rc4::IfcTrimmedCurve::Trim2() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcTrimmingSelect>(es); } -void Ifc4x3_rc4::IfcTrimmedCurve::setTrim2(const std::vector< ::Ifc4x3_rc4::IfcTrimmingSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } +std::vector< ::Ifc4x3_rc4::IfcTrimmingSelect > Ifc4x3_rc4::IfcTrimmedCurve::Trim1() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcTrimmingSelect>(es); } +void Ifc4x3_rc4::IfcTrimmedCurve::setTrim1(const std::vector< ::Ifc4x3_rc4::IfcTrimmingSelect >& v) { set_attribute_value(1, cast_vector(v));if constexpr (false)unset_attribute_value(1); } +std::vector< ::Ifc4x3_rc4::IfcTrimmingSelect > Ifc4x3_rc4::IfcTrimmedCurve::Trim2() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcTrimmingSelect>(es); } +void Ifc4x3_rc4::IfcTrimmedCurve::setTrim2(const std::vector< ::Ifc4x3_rc4::IfcTrimmingSelect >& v) { set_attribute_value(2, cast_vector(v));if constexpr (false)unset_attribute_value(2); } bool Ifc4x3_rc4::IfcTrimmedCurve::SenseAgreement() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcTrimmedCurve::setSenseAgreement(const bool& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } ::Ifc4x3_rc4::IfcTrimmingPreference::Value Ifc4x3_rc4::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_rc4::IfcTrimmingPreference::FromString(get_attribute_value(4)); } @@ -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]); } -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; } +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)); } @@ -16179,18 +16179,18 @@ void Ifc4x3_rc4::IfcTubeBundleType::setPredefinedType(const ::Ifc4x3_rc4::IfcTub const ifcopenshell::entity& Ifc4x3_rc4::IfcTubeBundleType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1242]); } -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; } +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; } void Ifc4x3_rc4::IfcTypeObject::setApplicableOccurrence(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > Ifc4x3_rc4::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc4::IfcPropertySetDefinition>(es); } -void Ifc4x3_rc4::IfcTypeObject::setHasPropertySets(const std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > >& v) { if (v) {set_attribute_value(5, cast_vector(*v));} else {unset_attribute_value(5);} } +std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > Ifc4x3_rc4::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_rc4::IfcPropertySetDefinition>(es); } +void Ifc4x3_rc4::IfcTypeObject::setHasPropertySets(const std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > >& v) { if (v) {set_attribute_value(5, cast_vector(*v));} else {unset_attribute_value(5);} } 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]); } -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; } +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,18 +16203,18 @@ 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]); } -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; } +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); } -void Ifc4x3_rc4::IfcTypeProduct::setRepresentationMaps(const std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +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); } +void Ifc4x3_rc4::IfcTypeProduct::setRepresentationMaps(const std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } std::optional< std::string > Ifc4x3_rc4::IfcTypeProduct::Tag() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcTypeProduct::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } 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]); } -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; } +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]); } -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; } +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; } @@ -16250,12 +16250,12 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcUShapeProfileDef::Class() { return *( 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); } -void Ifc4x3_rc4::IfcUnitAssignment::setUnits(const std::vector< ::Ifc4x3_rc4::IfcUnit >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc4::IfcUnit > Ifc4x3_rc4::IfcUnitAssignment::Units() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcUnit>(es); } +void Ifc4x3_rc4::IfcUnitAssignment::setUnits(const std::vector< ::Ifc4x3_rc4::IfcUnit >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } const ifcopenshell::entity& Ifc4x3_rc4::IfcUnitAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1255]); } -Ifc4x3_rc4::IfcUnitAssignment Ifc4x3_rc4::IfcUnitAssignment::initialize(std::vector< ::Ifc4x3_rc4::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units));; return *this; } +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)); } @@ -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]); } -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; } +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)); } @@ -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]); } -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; } +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)); } @@ -16303,10 +16303,10 @@ void Ifc4x3_rc4::IfcValveType::setPredefinedType(const ::Ifc4x3_rc4::IfcValveTyp const ifcopenshell::entity& Ifc4x3_rc4::IfcValveType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1261]); } -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; } +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>(); } +::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcVector::Orientation() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcDirection>(); } void Ifc4x3_rc4::IfcVector::setOrientation(const ::Ifc4x3_rc4::IfcDirection& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } double Ifc4x3_rc4::IfcVector::Magnitude() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcVector::setMagnitude(const double& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } @@ -16322,7 +16322,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcVertex::Class() { return *((ifcopensh 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>(); } +::Ifc4x3_rc4::IfcVertex Ifc4x3_rc4::IfcVertexLoop::LoopVertex() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcVertex>(); } void Ifc4x3_rc4::IfcVertexLoop::setLoopVertex(const ::Ifc4x3_rc4::IfcVertex& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -16330,7 +16330,7 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcVertexLoop::Class() { return *((ifcop 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>(); } +::Ifc4x3_rc4::IfcPoint Ifc4x3_rc4::IfcVertexPoint::VertexGeometry() const { return ((express::base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcPoint>(); } void Ifc4x3_rc4::IfcVertexPoint::setVertexGeometry(const ::Ifc4x3_rc4::IfcPoint& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } @@ -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]); } -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; } +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)); } @@ -16367,7 +16367,7 @@ void Ifc4x3_rc4::IfcVibrationIsolatorType::setPredefinedType(const ::Ifc4x3_rc4: const ifcopenshell::entity& Ifc4x3_rc4::IfcVibrationIsolatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1273]); } -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; } +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 @@ -16376,14 +16376,14 @@ const ifcopenshell::entity& Ifc4x3_rc4::IfcVirtualElement::Class() { return *((i 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); } -void Ifc4x3_rc4::IfcVirtualGridIntersection::setIntersectingAxes(const std::vector< ::Ifc4x3_rc4::IfcGridAxis >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } +std::vector< ::Ifc4x3_rc4::IfcGridAxis > Ifc4x3_rc4::IfcVirtualGridIntersection::IntersectingAxes() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcGridAxis>(es); } +void Ifc4x3_rc4::IfcVirtualGridIntersection::setIntersectingAxes(const std::vector< ::Ifc4x3_rc4::IfcGridAxis >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } std::vector< double > /*[2:3]*/ Ifc4x3_rc4::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcVirtualGridIntersection::setOffsetDistances(const std::vector< double > /*[2:3]*/& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const ifcopenshell::entity& Ifc4x3_rc4::IfcVirtualGridIntersection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1276]); } -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; } +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 @@ -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]); } -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; } +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)); } @@ -16441,7 +16441,7 @@ void Ifc4x3_rc4::IfcWasteTerminalType::setPredefinedType(const ::Ifc4x3_rc4::Ifc const ifcopenshell::entity& Ifc4x3_rc4::IfcWasteTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1291]); } -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; } +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 @@ -16482,7 +16482,7 @@ std::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::FirstMullionOffse void Ifc4x3_rc4::IfcWindowLiningProperties::setFirstMullionOffset(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } std::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::SecondMullionOffset() const { if(get_attribute_value(11).isNull()) { return std::nullopt; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc4::IfcWindowLiningProperties::setSecondMullionOffset(const std::optional< double >& v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -::Ifc4x3_rc4::IfcShapeAspect Ifc4x3_rc4::IfcWindowLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(12).isNull()) { return ::Ifc4x3_rc4::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(12))).as<::Ifc4x3_rc4::IfcShapeAspect>(); } +::Ifc4x3_rc4::IfcShapeAspect Ifc4x3_rc4::IfcWindowLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(12).isNull()) { return ::Ifc4x3_rc4::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(12))).as<::Ifc4x3_rc4::IfcShapeAspect>(); } void Ifc4x3_rc4::IfcWindowLiningProperties::setShapeAspectStyle(const ::Ifc4x3_rc4::IfcShapeAspect& v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } std::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::LiningOffset() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc4::IfcWindowLiningProperties::setLiningOffset(const std::optional< double >& v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } @@ -16504,7 +16504,7 @@ std::optional< double > Ifc4x3_rc4::IfcWindowPanelProperties::FrameDepth() const void Ifc4x3_rc4::IfcWindowPanelProperties::setFrameDepth(const std::optional< double >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } std::optional< double > Ifc4x3_rc4::IfcWindowPanelProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcWindowPanelProperties::setFrameThickness(const std::optional< double >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc4::IfcShapeAspect Ifc4x3_rc4::IfcWindowPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc4::IfcShapeAspect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc4::IfcShapeAspect>(); } +::Ifc4x3_rc4::IfcShapeAspect Ifc4x3_rc4::IfcWindowPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc4::IfcShapeAspect{}; } return ((express::base)(get_attribute_value(8))).as<::Ifc4x3_rc4::IfcShapeAspect>(); } void Ifc4x3_rc4::IfcWindowPanelProperties::setShapeAspectStyle(const ::Ifc4x3_rc4::IfcShapeAspect& v) { set_attribute_value(8, v);if constexpr (false)unset_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]); } -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; } +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,25 +16543,25 @@ void Ifc4x3_rc4::IfcWindowType::setUserDefinedPartitioningType(const std::option const ifcopenshell::entity& Ifc4x3_rc4::IfcWindowType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1303]); } -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; } +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); } -void Ifc4x3_rc4::IfcWorkCalendar::setWorkingTimes(const std::optional< std::vector< ::Ifc4x3_rc4::IfcWorkTime > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } -std::optional< std::vector< ::Ifc4x3_rc4::IfcWorkTime > > Ifc4x3_rc4::IfcWorkCalendar::ExceptionTimes() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc4::IfcWorkTime>(es); } -void Ifc4x3_rc4::IfcWorkCalendar::setExceptionTimes(const std::optional< std::vector< ::Ifc4x3_rc4::IfcWorkTime > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +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); } +void Ifc4x3_rc4::IfcWorkCalendar::setWorkingTimes(const std::optional< std::vector< ::Ifc4x3_rc4::IfcWorkTime > >& v) { if (v) {set_attribute_value(6, cast_vector(*v));} else {unset_attribute_value(6);} } +std::optional< std::vector< ::Ifc4x3_rc4::IfcWorkTime > > Ifc4x3_rc4::IfcWorkCalendar::ExceptionTimes() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc4::IfcWorkTime>(es); } +void Ifc4x3_rc4::IfcWorkCalendar::setExceptionTimes(const std::optional< std::vector< ::Ifc4x3_rc4::IfcWorkTime > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< ::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Value > Ifc4x3_rc4::IfcWorkCalendar::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcWorkCalendar::setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Value >& v) { if (v) {set_attribute_value(8, enumeration_reference(&::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const ifcopenshell::entity& Ifc4x3_rc4::IfcWorkCalendar::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1306]); } -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; } +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; } void Ifc4x3_rc4::IfcWorkControl::setCreationDate(const std::string& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::optional< std::vector< ::Ifc4x3_rc4::IfcPerson > > Ifc4x3_rc4::IfcWorkControl::Creators() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc4::IfcPerson>(es); } -void Ifc4x3_rc4::IfcWorkControl::setCreators(const std::optional< std::vector< ::Ifc4x3_rc4::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } +std::optional< std::vector< ::Ifc4x3_rc4::IfcPerson > > Ifc4x3_rc4::IfcWorkControl::Creators() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc4::IfcPerson>(es); } +void Ifc4x3_rc4::IfcWorkControl::setCreators(const std::optional< std::vector< ::Ifc4x3_rc4::IfcPerson > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } std::optional< std::string > Ifc4x3_rc4::IfcWorkControl::Purpose() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcWorkControl::setPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } std::optional< std::string > Ifc4x3_rc4::IfcWorkControl::Duration() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::string v = get_attribute_value(9); 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]); } -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; } +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]); } -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; } +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,10 +16591,10 @@ void Ifc4x3_rc4::IfcWorkSchedule::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc4::IfcWorkSchedule::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1311]); } -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; } +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>(); } +::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>(); } void Ifc4x3_rc4::IfcWorkTime::setRecurrencePattern(const ::Ifc4x3_rc4::IfcRecurrencePattern& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } std::optional< std::string > Ifc4x3_rc4::IfcWorkTime::Start() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcWorkTime::setStart(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } diff --git a/src/ifcparse/schemas/Ifc4x3_rc4.h b/src/ifcparse/schemas/Ifc4x3_rc4.h index 3250b95661..f1948d56b9 100644 --- a/src/ifcparse/schemas/Ifc4x3_rc4.h +++ b/src/ifcparse/schemas/Ifc4x3_rc4.h @@ -19,7 +19,7 @@ /******************************************************************************** * * - * This file has been generated from IFC4x3_RC2.exp. Do not make modifications * + * This file has been generated from IFC4x3_RC4.exp. Do not make modifications * * but instead modify the python script that has been used to generate this. * * * ********************************************************************************/ @@ -65,28 +65,28 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcOrganization An organization. /// IfcPerson A person. /// IfcPersonAndOrganization A person related to an organization. -class IFC_SCHEMA_API IfcActorSelect : public express::Select { +class IFC_SCHEMA_API IfcActorSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOrganization as() const { return express::Base::as(); } + // IfcOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPerson as() const { return express::Base::as(); } + // IfcPerson as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPersonAndOrganization as() const { return express::Base::as(); } + // IfcPersonAndOrganization as() const { return express::base::as(); } - IfcActorSelect(const IfcOrganization& c) : express::Select(c) {}; + IfcActorSelect(const IfcOrganization& c) : express::select(c) {}; - IfcActorSelect(const IfcPerson& c) : express::Select(c) {}; + IfcActorSelect(const IfcPerson& c) : express::select(c) {}; - IfcActorSelect(const IfcPersonAndOrganization& c) : express::Select(c) {}; + IfcActorSelect(const IfcPersonAndOrganization& c) : express::select(c) {}; }; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. @@ -103,694 +103,694 @@ public: /// Selecting IfcMeasureWithUnit allows the specification of both the actual figure for the value together with the currency in which the value is represented. /// Selecting IfcMonetaryMeasure allows the specification only of the value, the currency being as set by the global context /// 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_SCHEMA_API IfcAppliedValueSelect : public express::Select { +class IFC_SCHEMA_API IfcAppliedValueSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureWithUnit as() const { return express::Base::as(); } + // IfcMeasureWithUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReference as() const { return express::Base::as(); } + // IfcReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcValue as() const { return express::Base::as(); } + // IfcValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedMeasureValue as() const { return express::Base::as(); } + // IfcDerivedMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureValue as() const { return express::Base::as(); } + // IfcMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSimpleValue as() const { return express::Base::as(); } + // IfcSimpleValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } - IfcAppliedValueSelect(const IfcMeasureWithUnit& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMeasureWithUnit& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcReference& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcReference& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDerivedMeasureValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDerivedMeasureValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcForceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcForceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPHMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPHMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPowerMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPressureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcWarpingMomentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMeasureValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMeasureValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcAreaMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcComplexNumber& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcComplexNumber& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcCountMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcCountMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcMassMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcMassMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcNumericMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcParameterValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcParameterValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcRatioMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTimeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcVolumeMeasure& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcSimpleValue& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcSimpleValue& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcBinary& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcBinary& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcBoolean& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDate& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDate& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDateTime& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDateTime& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcDuration& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcDuration& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcIdentifier& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcIdentifier& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcInteger& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcInteger& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLabel& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLabel& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcLogical& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcLogical& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcPositiveInteger& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcReal& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcReal& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcText& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcText& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTime& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTime& c) : express::select(c) {}; - IfcAppliedValueSelect(const IfcTimeStamp& c) : express::Select(c) {}; + IfcAppliedValueSelect(const IfcTimeStamp& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. @@ -798,43 +798,43 @@ public: /// NOTE: Corresponding STEP type: axis2_placement, please refer to ISO/IS 10303-42:1994, p. 19 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 1.5 -class IFC_SCHEMA_API IfcAxis2Placement : public express::Select { +class IFC_SCHEMA_API IfcAxis2Placement : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAxis2Placement2D as() const { return express::Base::as(); } + // IfcAxis2Placement2D as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAxis2Placement3D as() const { return express::Base::as(); } + // IfcAxis2Placement3D as() const { return express::base::as(); } - IfcAxis2Placement(const IfcAxis2Placement2D& c) : express::Select(c) {}; + IfcAxis2Placement(const IfcAxis2Placement2D& c) : express::select(c) {}; - IfcAxis2Placement(const IfcAxis2Placement3D& c) : express::Select(c) {}; + IfcAxis2Placement(const IfcAxis2Placement3D& c) : express::select(c) {}; }; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// /// HISTORY New type in IFC Release 2x4 -class IFC_SCHEMA_API IfcBendingParameterSelect : public express::Select { +class IFC_SCHEMA_API IfcBendingParameterSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } - IfcBendingParameterSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcBendingParameterSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcBendingParameterSelect(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcBendingParameterSelect(const IfcPlaneAngleMeasure& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies @@ -853,40 +853,40 @@ public: /// (IfcSolidModel) are defined for being valid Boolean operands. /// /// HISTORY: New Type in IFC Release 1.5.1 -class IFC_SCHEMA_API IfcBooleanOperand : public express::Select { +class IFC_SCHEMA_API IfcBooleanOperand : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBooleanResult as() const { return express::Base::as(); } + // IfcBooleanResult as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCsgPrimitive3D as() const { return express::Base::as(); } + // IfcCsgPrimitive3D as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHalfSpaceSolid as() const { return express::Base::as(); } + // IfcHalfSpaceSolid as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidModel as() const { return express::Base::as(); } + // IfcSolidModel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTessellatedFaceSet as() const { return express::Base::as(); } + // IfcTessellatedFaceSet as() const { return express::base::as(); } - IfcBooleanOperand(const IfcBooleanResult& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcBooleanResult& c) : express::select(c) {}; - IfcBooleanOperand(const IfcCsgPrimitive3D& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcCsgPrimitive3D& c) : express::select(c) {}; - IfcBooleanOperand(const IfcHalfSpaceSolid& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcHalfSpaceSolid& c) : express::select(c) {}; - IfcBooleanOperand(const IfcSolidModel& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcSolidModel& c) : express::select(c) {}; - IfcBooleanOperand(const IfcTessellatedFaceSet& c) : express::Select(c) {}; + IfcBooleanOperand(const IfcTessellatedFaceSet& c) : express::select(c) {}; }; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. @@ -897,22 +897,22 @@ public: /// /// IfcClassification (for classification information) /// IfcClassificationReference (for reference into a classification source) -class IFC_SCHEMA_API IfcClassificationReferenceSelect : public express::Select { +class IFC_SCHEMA_API IfcClassificationReferenceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassification as() const { return express::Base::as(); } + // IfcClassification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassificationReference as() const { return express::Base::as(); } + // IfcClassificationReference as() const { return express::base::as(); } - IfcClassificationReferenceSelect(const IfcClassification& c) : express::Select(c) {}; + IfcClassificationReferenceSelect(const IfcClassification& c) : express::select(c) {}; - IfcClassificationReferenceSelect(const IfcClassificationReference& c) : express::Select(c) {}; + IfcClassificationReferenceSelect(const IfcClassificationReference& c) : express::select(c) {}; }; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. @@ -928,22 +928,22 @@ public: /// /// IfcClassification (for referencing a classification system) /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) -class IFC_SCHEMA_API IfcClassificationSelect : public express::Select { +class IFC_SCHEMA_API IfcClassificationSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassification as() const { return express::Base::as(); } + // IfcClassification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClassificationReference as() const { return express::Base::as(); } + // IfcClassificationReference as() const { return express::base::as(); } - IfcClassificationSelect(const IfcClassification& c) : express::Select(c) {}; + IfcClassificationSelect(const IfcClassification& c) : express::select(c) {}; - IfcClassificationSelect(const IfcClassificationReference& c) : express::Select(c) {}; + IfcClassificationSelect(const IfcClassificationReference& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. @@ -951,64 +951,64 @@ public: /// NOTE  Corresponding STEP name: colour. It has been made into a SELECT type in IFC to avoid multiple inheritance for pre defined colour. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_SCHEMA_API IfcColour : public express::Select { +class IFC_SCHEMA_API IfcColour : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColourSpecification as() const { return express::Base::as(); } + // IfcColourSpecification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedColour as() const { return express::Base::as(); } + // IfcPreDefinedColour as() const { return express::base::as(); } - IfcColour(const IfcColourSpecification& c) : express::Select(c) {}; + IfcColour(const IfcColourSpecification& c) : express::select(c) {}; - IfcColour(const IfcPreDefinedColour& c) : express::Select(c) {}; + IfcColour(const IfcPreDefinedColour& c) : express::select(c) {}; }; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcColourOrFactor : public express::Select { +class IFC_SCHEMA_API IfcColourOrFactor : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColourRgb as() const { return express::Base::as(); } + // IfcColourRgb as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } - IfcColourOrFactor(const IfcColourRgb& c) : express::Select(c) {}; + IfcColourOrFactor(const IfcColourRgb& c) : express::select(c) {}; - IfcColourOrFactor(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcColourOrFactor(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; }; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// /// HISTORY  New select type in IFC2x4. -class IFC_SCHEMA_API IfcCoordinateReferenceSystemSelect : public express::Select { +class IFC_SCHEMA_API IfcCoordinateReferenceSystemSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCoordinateReferenceSystem as() const { return express::Base::as(); } + // IfcCoordinateReferenceSystem as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcGeometricRepresentationContext as() const { return express::Base::as(); } + // IfcGeometricRepresentationContext as() const { return express::base::as(); } - IfcCoordinateReferenceSystemSelect(const IfcCoordinateReferenceSystem& c) : express::Select(c) {}; + IfcCoordinateReferenceSystemSelect(const IfcCoordinateReferenceSystem& c) : express::select(c) {}; - IfcCoordinateReferenceSystemSelect(const IfcGeometricRepresentationContext& c) : express::Select(c) {}; + IfcCoordinateReferenceSystemSelect(const IfcGeometricRepresentationContext& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. @@ -1017,22 +1017,22 @@ public: /// NOTE Corresponding ISO 10303-42 type: csg_select, please refer to ISO/IS 10303-42:1994, p.168 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcCsgSelect : public express::Select { +class IFC_SCHEMA_API IfcCsgSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBooleanResult as() const { return express::Base::as(); } + // IfcBooleanResult as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCsgPrimitive3D as() const { return express::Base::as(); } + // IfcCsgPrimitive3D as() const { return express::base::as(); } - IfcCsgSelect(const IfcBooleanResult& c) : express::Select(c) {}; + IfcCsgSelect(const IfcBooleanResult& c) : express::select(c) {}; - IfcCsgSelect(const IfcCsgPrimitive3D& c) : express::Select(c) {}; + IfcCsgSelect(const IfcCsgPrimitive3D& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. @@ -1040,78 +1040,78 @@ public: /// NOTE Corresponding ISO 10303 name: curve_font_or_scaled_curve_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_SCHEMA_API IfcCurveFontOrScaledCurveFontSelect : public express::Select { +class IFC_SCHEMA_API IfcCurveFontOrScaledCurveFontSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFontAndScaling as() const { return express::Base::as(); } + // IfcCurveStyleFontAndScaling as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFontSelect as() const { return express::Base::as(); } + // IfcCurveStyleFontSelect as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFont as() const { return express::Base::as(); } + // IfcCurveStyleFont as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedCurveFont as() const { return express::Base::as(); } + // IfcPreDefinedCurveFont as() const { return express::base::as(); } - IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontAndScaling& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontAndScaling& c) : express::select(c) {}; - IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontSelect& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFontSelect& c) : express::select(c) {}; - IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFont& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcCurveStyleFont& c) : express::select(c) {}; - IfcCurveFontOrScaledCurveFontSelect(const IfcPreDefinedCurveFont& c) : express::Select(c) {}; + IfcCurveFontOrScaledCurveFontSelect(const IfcPreDefinedCurveFont& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcCurveMeasureSelect : public express::Select { +class IFC_SCHEMA_API IfcCurveMeasureSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } - IfcCurveMeasureSelect(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcCurveMeasureSelect(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcCurveMeasureSelect(const IfcParameterValue& c) : express::Select(c) {}; + IfcCurveMeasureSelect(const IfcParameterValue& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcCurveOnSurface : public express::Select { +class IFC_SCHEMA_API IfcCurveOnSurface : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompositeCurveOnSurface as() const { return express::Base::as(); } + // IfcCompositeCurveOnSurface as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPcurve as() const { return express::Base::as(); } + // IfcPcurve as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceCurve as() const { return express::Base::as(); } + // IfcSurfaceCurve as() const { return express::base::as(); } - IfcCurveOnSurface(const IfcCompositeCurveOnSurface& c) : express::Select(c) {}; + IfcCurveOnSurface(const IfcCompositeCurveOnSurface& c) : express::select(c) {}; - IfcCurveOnSurface(const IfcPcurve& c) : express::Select(c) {}; + IfcCurveOnSurface(const IfcPcurve& c) : express::select(c) {}; - IfcCurveOnSurface(const IfcSurfaceCurve& c) : express::Select(c) {}; + IfcCurveOnSurface(const IfcSurfaceCurve& c) : express::select(c) {}; }; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve @@ -1122,22 +1122,22 @@ public: /// IfcEdgeCurve /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_SCHEMA_API IfcCurveOrEdgeCurve : public express::Select { +class IFC_SCHEMA_API IfcCurveOrEdgeCurve : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoundedCurve as() const { return express::Base::as(); } + // IfcBoundedCurve as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEdgeCurve as() const { return express::Base::as(); } + // IfcEdgeCurve as() const { return express::base::as(); } - IfcCurveOrEdgeCurve(const IfcBoundedCurve& c) : express::Select(c) {}; + IfcCurveOrEdgeCurve(const IfcBoundedCurve& c) : express::select(c) {}; - IfcCurveOrEdgeCurve(const IfcEdgeCurve& c) : express::Select(c) {}; + IfcCurveOrEdgeCurve(const IfcEdgeCurve& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. @@ -1145,22 +1145,22 @@ public: /// NOTE Corresponding ISO 10303 name: curve_style_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_SCHEMA_API IfcCurveStyleFontSelect : public express::Select { +class IFC_SCHEMA_API IfcCurveStyleFontSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurveStyleFont as() const { return express::Base::as(); } + // IfcCurveStyleFont as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedCurveFont as() const { return express::Base::as(); } + // IfcPreDefinedCurveFont as() const { return express::base::as(); } - IfcCurveStyleFontSelect(const IfcCurveStyleFont& c) : express::Select(c) {}; + IfcCurveStyleFontSelect(const IfcCurveStyleFont& c) : express::select(c) {}; - IfcCurveStyleFontSelect(const IfcPreDefinedCurveFont& c) : express::Select(c) {}; + IfcCurveStyleFontSelect(const IfcPreDefinedCurveFont& c) : express::select(c) {}; }; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. @@ -1170,22 +1170,22 @@ public: /// IfcPropertyDefinition /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcDefinitionSelect : public express::Select { +class IFC_SCHEMA_API IfcDefinitionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcObjectDefinition as() const { return express::Base::as(); } + // IfcObjectDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertyDefinition as() const { return express::Base::as(); } + // IfcPropertyDefinition as() const { return express::base::as(); } - IfcDefinitionSelect(const IfcObjectDefinition& c) : express::Select(c) {}; + IfcDefinitionSelect(const IfcObjectDefinition& c) : express::select(c) {}; - IfcDefinitionSelect(const IfcPropertyDefinition& c) : express::Select(c) {}; + IfcDefinitionSelect(const IfcPropertyDefinition& c) : express::select(c) {}; }; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. @@ -1262,436 +1262,436 @@ public: /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. -class IFC_SCHEMA_API IfcDerivedMeasureValue : public express::Select { +class IFC_SCHEMA_API IfcDerivedMeasureValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } - IfcDerivedMeasureValue(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcForceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcForceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPHMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPHMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPowerMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcPressureMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcDerivedMeasureValue(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcDerivedMeasureValue(const IfcWarpingMomentMeasure& c) : express::select(c) {}; }; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. @@ -1702,59 +1702,59 @@ public: /// /// IfcDocumentInformation (for "metadata" of an external document) /// IfcDocumentReference (for reference within a document) -class IFC_SCHEMA_API IfcDocumentSelect : public express::Select { +class IFC_SCHEMA_API IfcDocumentSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDocumentInformation as() const { return express::Base::as(); } + // IfcDocumentInformation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDocumentReference as() const { return express::Base::as(); } + // IfcDocumentReference as() const { return express::base::as(); } - IfcDocumentSelect(const IfcDocumentInformation& c) : express::Select(c) {}; + IfcDocumentSelect(const IfcDocumentInformation& c) : express::select(c) {}; - IfcDocumentSelect(const IfcDocumentReference& c) : express::Select(c) {}; + IfcDocumentSelect(const IfcDocumentReference& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcFacilityPartTypeSelect : public express::Select { +class IFC_SCHEMA_API IfcFacilityPartTypeSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBridgePartTypeEnum as() const { return express::Base::as(); } + // IfcBridgePartTypeEnum as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFacilityPartCommonTypeEnum as() const { return express::Base::as(); } + // IfcFacilityPartCommonTypeEnum as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMarinePartTypeEnum as() const { return express::Base::as(); } + // IfcMarinePartTypeEnum as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRailwayPartTypeEnum as() const { return express::Base::as(); } + // IfcRailwayPartTypeEnum as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRoadPartTypeEnum as() const { return express::Base::as(); } + // IfcRoadPartTypeEnum as() const { return express::base::as(); } - IfcFacilityPartTypeSelect(const IfcBridgePartTypeEnum& c) : express::Select(c) {}; + IfcFacilityPartTypeSelect(const IfcBridgePartTypeEnum& c) : express::select(c) {}; - IfcFacilityPartTypeSelect(const IfcFacilityPartCommonTypeEnum& c) : express::Select(c) {}; + IfcFacilityPartTypeSelect(const IfcFacilityPartCommonTypeEnum& c) : express::select(c) {}; - IfcFacilityPartTypeSelect(const IfcMarinePartTypeEnum& c) : express::Select(c) {}; + IfcFacilityPartTypeSelect(const IfcMarinePartTypeEnum& c) : express::select(c) {}; - IfcFacilityPartTypeSelect(const IfcRailwayPartTypeEnum& c) : express::Select(c) {}; + IfcFacilityPartTypeSelect(const IfcRailwayPartTypeEnum& c) : express::select(c) {}; - IfcFacilityPartTypeSelect(const IfcRoadPartTypeEnum& c) : express::Select(c) {}; + IfcFacilityPartTypeSelect(const IfcRoadPartTypeEnum& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. @@ -1763,46 +1763,46 @@ public: /// the final definition of the formal standard. /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcFillStyleSelect : public express::Select { +class IFC_SCHEMA_API IfcFillStyleSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColour as() const { return express::Base::as(); } + // IfcColour as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcColourSpecification as() const { return express::Base::as(); } + // IfcColourSpecification as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedColour as() const { return express::Base::as(); } + // IfcPreDefinedColour as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternallyDefinedHatchStyle as() const { return express::Base::as(); } + // IfcExternallyDefinedHatchStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFillAreaStyleHatching as() const { return express::Base::as(); } + // IfcFillAreaStyleHatching as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFillAreaStyleTiles as() const { return express::Base::as(); } + // IfcFillAreaStyleTiles as() const { return express::base::as(); } - IfcFillStyleSelect(const IfcColour& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcColour& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcColourSpecification& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcColourSpecification& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcPreDefinedColour& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcPreDefinedColour& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcExternallyDefinedHatchStyle& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcExternallyDefinedHatchStyle& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcFillAreaStyleHatching& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcFillAreaStyleHatching& c) : express::select(c) {}; - IfcFillStyleSelect(const IfcFillAreaStyleTiles& c) : express::Select(c) {}; + IfcFillStyleSelect(const IfcFillAreaStyleTiles& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. @@ -1810,28 +1810,28 @@ public: /// NOTE: Corresponding ISO 10303 type: geometric_set_select. Please refer to ISO/IS 10303-42:1994, p. 169 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 2x. -class IFC_SCHEMA_API IfcGeometricSetSelect : public express::Select { +class IFC_SCHEMA_API IfcGeometricSetSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurve as() const { return express::Base::as(); } + // IfcCurve as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPoint as() const { return express::Base::as(); } + // IfcPoint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurface as() const { return express::Base::as(); } + // IfcSurface as() const { return express::base::as(); } - IfcGeometricSetSelect(const IfcCurve& c) : express::Select(c) {}; + IfcGeometricSetSelect(const IfcCurve& c) : express::select(c) {}; - IfcGeometricSetSelect(const IfcPoint& c) : express::Select(c) {}; + IfcGeometricSetSelect(const IfcPoint& c) : express::select(c) {}; - IfcGeometricSetSelect(const IfcSurface& c) : express::Select(c) {}; + IfcGeometricSetSelect(const IfcSurface& c) : express::select(c) {}; }; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. @@ -1842,87 +1842,87 @@ public: /// IfcVirtualGridIntersection /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcGridPlacementDirectionSelect : public express::Select { +class IFC_SCHEMA_API IfcGridPlacementDirectionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDirection as() const { return express::Base::as(); } + // IfcDirection as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVirtualGridIntersection as() const { return express::Base::as(); } + // IfcVirtualGridIntersection as() const { return express::base::as(); } - IfcGridPlacementDirectionSelect(const IfcDirection& c) : express::Select(c) {}; + IfcGridPlacementDirectionSelect(const IfcDirection& c) : express::select(c) {}; - IfcGridPlacementDirectionSelect(const IfcVirtualGridIntersection& c) : express::Select(c) {}; + IfcGridPlacementDirectionSelect(const IfcVirtualGridIntersection& c) : express::select(c) {}; }; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcHatchLineDistanceSelect : public express::Select { +class IFC_SCHEMA_API IfcHatchLineDistanceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVector as() const { return express::Base::as(); } + // IfcVector as() const { return express::base::as(); } - IfcHatchLineDistanceSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcHatchLineDistanceSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcHatchLineDistanceSelect(const IfcVector& c) : express::Select(c) {}; + IfcHatchLineDistanceSelect(const IfcVector& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcImpactProtectionDeviceTypeSelect : public express::Select { +class IFC_SCHEMA_API IfcImpactProtectionDeviceTypeSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcImpactProtectionDeviceTypeEnum as() const { return express::Base::as(); } + // IfcImpactProtectionDeviceTypeEnum as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVibrationDamperTypeEnum as() const { return express::Base::as(); } + // IfcVibrationDamperTypeEnum as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVibrationIsolatorTypeEnum as() const { return express::Base::as(); } + // IfcVibrationIsolatorTypeEnum as() const { return express::base::as(); } - IfcImpactProtectionDeviceTypeSelect(const IfcImpactProtectionDeviceTypeEnum& c) : express::Select(c) {}; + IfcImpactProtectionDeviceTypeSelect(const IfcImpactProtectionDeviceTypeEnum& c) : express::select(c) {}; - IfcImpactProtectionDeviceTypeSelect(const IfcVibrationDamperTypeEnum& c) : express::Select(c) {}; + IfcImpactProtectionDeviceTypeSelect(const IfcVibrationDamperTypeEnum& c) : express::select(c) {}; - IfcImpactProtectionDeviceTypeSelect(const IfcVibrationIsolatorTypeEnum& c) : express::Select(c) {}; + IfcImpactProtectionDeviceTypeSelect(const IfcVibrationIsolatorTypeEnum& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcInterferenceSelect : public express::Select { +class IFC_SCHEMA_API IfcInterferenceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElement as() const { return express::Base::as(); } + // IfcElement as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpatialElement as() const { return express::Base::as(); } + // IfcSpatialElement as() const { return express::base::as(); } - IfcInterferenceSelect(const IfcElement& c) : express::Select(c) {}; + IfcInterferenceSelect(const IfcElement& c) : express::select(c) {}; - IfcInterferenceSelect(const IfcSpatialElement& c) : express::Select(c) {}; + IfcInterferenceSelect(const IfcSpatialElement& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. @@ -1932,22 +1932,22 @@ public: /// NOTE: Corresponding ISO 10303 name: layered_item. It was called layered_things in the ISO/CD version and had been renamed to layered_item in the ISO/IS final version. Please refer to ISO/IS 10303-46:1994, p. 13 for the final definition of the formal standard. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcLayeredItem : public express::Select { +class IFC_SCHEMA_API IfcLayeredItem : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRepresentation as() const { return express::Base::as(); } + // IfcRepresentation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRepresentationItem as() const { return express::Base::as(); } + // IfcRepresentationItem as() const { return express::base::as(); } - IfcLayeredItem(const IfcRepresentation& c) : express::Select(c) {}; + IfcLayeredItem(const IfcRepresentation& c) : express::select(c) {}; - IfcLayeredItem(const IfcRepresentationItem& c) : express::Select(c) {}; + IfcLayeredItem(const IfcRepresentationItem& c) : express::select(c) {}; }; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. @@ -1960,22 +1960,22 @@ public: /// IfcLibraryReference (for reference into a library of information by location) /// /// 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_SCHEMA_API IfcLibrarySelect : public express::Select { +class IFC_SCHEMA_API IfcLibrarySelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLibraryInformation as() const { return express::Base::as(); } + // IfcLibraryInformation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLibraryReference as() const { return express::Base::as(); } + // IfcLibraryReference as() const { return express::base::as(); } - IfcLibrarySelect(const IfcLibraryInformation& c) : express::Select(c) {}; + IfcLibrarySelect(const IfcLibraryInformation& c) : express::select(c) {}; - IfcLibrarySelect(const IfcLibraryReference& c) : express::Select(c) {}; + IfcLibrarySelect(const IfcLibraryReference& c) : express::select(c) {}; }; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. @@ -2000,22 +2000,22 @@ public: /// directions covers all cases. /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcLightDistributionDataSourceSelect : public express::Select { +class IFC_SCHEMA_API IfcLightDistributionDataSourceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalReference as() const { return express::Base::as(); } + // IfcExternalReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLightIntensityDistribution as() const { return express::Base::as(); } + // IfcLightIntensityDistribution as() const { return express::base::as(); } - IfcLightDistributionDataSourceSelect(const IfcExternalReference& c) : express::Select(c) {}; + IfcLightDistributionDataSourceSelect(const IfcExternalReference& c) : express::select(c) {}; - IfcLightDistributionDataSourceSelect(const IfcLightIntensityDistribution& c) : express::Select(c) {}; + IfcLightDistributionDataSourceSelect(const IfcLightIntensityDistribution& c) : express::select(c) {}; }; /// IfcMaterialSelect provides selection of either a material @@ -2044,28 +2044,28 @@ public: /// /// IFC2x4 CHANGE The select now includes two new abstract entities IfcMaterialDefinition /// and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards. -class IFC_SCHEMA_API IfcMaterialSelect : public express::Select { +class IFC_SCHEMA_API IfcMaterialSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialDefinition as() const { return express::Base::as(); } + // IfcMaterialDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialList as() const { return express::Base::as(); } + // IfcMaterialList as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialUsageDefinition as() const { return express::Base::as(); } + // IfcMaterialUsageDefinition as() const { return express::base::as(); } - IfcMaterialSelect(const IfcMaterialDefinition& c) : express::Select(c) {}; + IfcMaterialSelect(const IfcMaterialDefinition& c) : express::select(c) {}; - IfcMaterialSelect(const IfcMaterialList& c) : express::Select(c) {}; + IfcMaterialSelect(const IfcMaterialList& c) : express::select(c) {}; - IfcMaterialSelect(const IfcMaterialUsageDefinition& c) : express::Select(c) {}; + IfcMaterialSelect(const IfcMaterialUsageDefinition& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). @@ -2077,148 +2077,148 @@ public: /// HISTORY New type in IFC Release 1.5.1. /// /// IFC 2x4 change: added IfcNonNegativeLengthMeasure -class IFC_SCHEMA_API IfcMeasureValue : public express::Select { +class IFC_SCHEMA_API IfcMeasureValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } - IfcMeasureValue(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcAreaMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcComplexNumber& c) : express::Select(c) {}; + IfcMeasureValue(const IfcComplexNumber& c) : express::select(c) {}; - IfcMeasureValue(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcCountMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcCountMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcLengthMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcMassMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcMassMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcNumericMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcParameterValue& c) : express::Select(c) {}; + IfcMeasureValue(const IfcParameterValue& c) : express::select(c) {}; - IfcMeasureValue(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcRatioMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcTimeMeasure& c) : express::select(c) {}; - IfcMeasureValue(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcMeasureValue(const IfcVolumeMeasure& c) : express::select(c) {}; }; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. @@ -2233,838 +2233,838 @@ public: /// IfcTable /// IfcText /// IfcTimeSeries -class IFC_SCHEMA_API IfcMetricValueSelect : public express::Select { +class IFC_SCHEMA_API IfcMetricValueSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAppliedValue as() const { return express::Base::as(); } + // IfcAppliedValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureWithUnit as() const { return express::Base::as(); } + // IfcMeasureWithUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReference as() const { return express::Base::as(); } + // IfcReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTable as() const { return express::Base::as(); } + // IfcTable as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeSeries as() const { return express::Base::as(); } + // IfcTimeSeries as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcValue as() const { return express::Base::as(); } + // IfcValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedMeasureValue as() const { return express::Base::as(); } + // IfcDerivedMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureValue as() const { return express::Base::as(); } + // IfcMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSimpleValue as() const { return express::Base::as(); } + // IfcSimpleValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } - IfcMetricValueSelect(const IfcAppliedValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAppliedValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMeasureWithUnit& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMeasureWithUnit& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcReference& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcReference& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTable& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTable& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTimeSeries& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTimeSeries& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDerivedMeasureValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDerivedMeasureValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcForceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcForceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPHMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPHMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPowerMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPressureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcWarpingMomentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMeasureValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMeasureValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcAreaMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcComplexNumber& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcComplexNumber& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcCountMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcCountMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcMassMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcMassMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcNumericMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcParameterValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcParameterValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcRatioMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTimeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcVolumeMeasure& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcSimpleValue& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcSimpleValue& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcBinary& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcBinary& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcBoolean& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDate& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDate& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDateTime& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDateTime& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcDuration& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcDuration& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcIdentifier& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcIdentifier& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcInteger& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcInteger& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLabel& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLabel& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcLogical& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcLogical& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcPositiveInteger& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcReal& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcReal& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcText& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcText& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTime& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTime& c) : express::select(c) {}; - IfcMetricValueSelect(const IfcTimeStamp& c) : express::Select(c) {}; + IfcMetricValueSelect(const IfcTimeStamp& c) : express::select(c) {}; }; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionSelect : public express::Select { +class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } - IfcModulusOfRotationalSubgradeReactionSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcModulusOfRotationalSubgradeReactionSelect(const IfcBoolean& c) : express::select(c) {}; - IfcModulusOfRotationalSubgradeReactionSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcModulusOfRotationalSubgradeReactionSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; }; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcModulusOfSubgradeReactionSelect : public express::Select { +class IFC_SCHEMA_API IfcModulusOfSubgradeReactionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } - IfcModulusOfSubgradeReactionSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcModulusOfSubgradeReactionSelect(const IfcBoolean& c) : express::select(c) {}; - IfcModulusOfSubgradeReactionSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcModulusOfSubgradeReactionSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; }; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcModulusOfTranslationalSubgradeReactionSelect : public express::Select { +class IFC_SCHEMA_API IfcModulusOfTranslationalSubgradeReactionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } - IfcModulusOfTranslationalSubgradeReactionSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcModulusOfTranslationalSubgradeReactionSelect(const IfcBoolean& c) : express::select(c) {}; - IfcModulusOfTranslationalSubgradeReactionSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcModulusOfTranslationalSubgradeReactionSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; }; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// /// HISTORY  New select type in IFC Release 2.0. -class IFC_SCHEMA_API IfcObjectReferenceSelect : public express::Select { +class IFC_SCHEMA_API IfcObjectReferenceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAddress as() const { return express::Base::as(); } + // IfcAddress as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAppliedValue as() const { return express::Base::as(); } + // IfcAppliedValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalReference as() const { return express::Base::as(); } + // IfcExternalReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialDefinition as() const { return express::Base::as(); } + // IfcMaterialDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOrganization as() const { return express::Base::as(); } + // IfcOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPerson as() const { return express::Base::as(); } + // IfcPerson as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPersonAndOrganization as() const { return express::Base::as(); } + // IfcPersonAndOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTable as() const { return express::Base::as(); } + // IfcTable as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeSeries as() const { return express::Base::as(); } + // IfcTimeSeries as() const { return express::base::as(); } - IfcObjectReferenceSelect(const IfcAddress& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcAddress& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcAppliedValue& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcAppliedValue& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcExternalReference& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcExternalReference& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcMaterialDefinition& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcMaterialDefinition& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcOrganization& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcOrganization& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcPerson& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcPerson& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcPersonAndOrganization& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcPersonAndOrganization& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcTable& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcTable& c) : express::select(c) {}; - IfcObjectReferenceSelect(const IfcTimeSeries& c) : express::Select(c) {}; + IfcObjectReferenceSelect(const IfcTimeSeries& c) : express::select(c) {}; }; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. @@ -3074,22 +3074,22 @@ public: /// IfcVertexPoint /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_SCHEMA_API IfcPointOrVertexPoint : public express::Select { +class IFC_SCHEMA_API IfcPointOrVertexPoint : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPoint as() const { return express::Base::as(); } + // IfcPoint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVertexPoint as() const { return express::Base::as(); } + // IfcVertexPoint as() const { return express::base::as(); } - IfcPointOrVertexPoint(const IfcPoint& c) : express::Select(c) {}; + IfcPointOrVertexPoint(const IfcPoint& c) : express::select(c) {}; - IfcPointOrVertexPoint(const IfcVertexPoint& c) : express::Select(c) {}; + IfcPointOrVertexPoint(const IfcVertexPoint& c) : express::select(c) {}; }; /// IfcProcessSelectprovides the option to either @@ -3102,41 +3102,41 @@ public: /// IfcTypeProcess /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcProcessSelect : public express::Select { +class IFC_SCHEMA_API IfcProcessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProcess as() const { return express::Base::as(); } + // IfcProcess as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTypeProcess as() const { return express::Base::as(); } + // IfcTypeProcess as() const { return express::base::as(); } - IfcProcessSelect(const IfcProcess& c) : express::Select(c) {}; + IfcProcessSelect(const IfcProcess& c) : express::select(c) {}; - IfcProcessSelect(const IfcTypeProcess& c) : express::Select(c) {}; + IfcProcessSelect(const IfcTypeProcess& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcProductRepresentationSelect : public express::Select { +class IFC_SCHEMA_API IfcProductRepresentationSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProductDefinitionShape as() const { return express::Base::as(); } + // IfcProductDefinitionShape as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRepresentationMap as() const { return express::Base::as(); } + // IfcRepresentationMap as() const { return express::base::as(); } - IfcProductRepresentationSelect(const IfcProductDefinitionShape& c) : express::Select(c) {}; + IfcProductRepresentationSelect(const IfcProductDefinitionShape& c) : express::select(c) {}; - IfcProductRepresentationSelect(const IfcRepresentationMap& c) : express::Select(c) {}; + IfcProductRepresentationSelect(const IfcRepresentationMap& c) : express::select(c) {}; }; /// IfcProductSelectprovides the option to either select a @@ -3148,152 +3148,152 @@ public: /// IfcTypeProduct /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcProductSelect : public express::Select { +class IFC_SCHEMA_API IfcProductSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProduct as() const { return express::Base::as(); } + // IfcProduct as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTypeProduct as() const { return express::Base::as(); } + // IfcTypeProduct as() const { return express::base::as(); } - IfcProductSelect(const IfcProduct& c) : express::Select(c) {}; + IfcProductSelect(const IfcProduct& c) : express::select(c) {}; - IfcProductSelect(const IfcTypeProduct& c) : express::Select(c) {}; + IfcProductSelect(const IfcTypeProduct& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcPropertySetDefinitionSelect : public express::Select { +class IFC_SCHEMA_API IfcPropertySetDefinitionSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertySetDefinition as() const { return express::Base::as(); } + // IfcPropertySetDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertySetDefinitionSet as() const { return express::Base::as(); } + // IfcPropertySetDefinitionSet as() const { return express::base::as(); } - IfcPropertySetDefinitionSelect(const IfcPropertySetDefinition& c) : express::Select(c) {}; + IfcPropertySetDefinitionSelect(const IfcPropertySetDefinition& c) : express::select(c) {}; - IfcPropertySetDefinitionSelect(const IfcPropertySetDefinitionSet& c) : express::Select(c) {}; + IfcPropertySetDefinitionSelect(const IfcPropertySetDefinitionSet& c) : express::select(c) {}; }; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// /// HISTORY  New Select type in IFC2x4. -class IFC_SCHEMA_API IfcResourceObjectSelect : public express::Select { +class IFC_SCHEMA_API IfcResourceObjectSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcActorRole as() const { return express::Base::as(); } + // IfcActorRole as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAppliedValue as() const { return express::Base::as(); } + // IfcAppliedValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcApproval as() const { return express::Base::as(); } + // IfcApproval as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcConstraint as() const { return express::Base::as(); } + // IfcConstraint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentUnit as() const { return express::Base::as(); } + // IfcContextDependentUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcConversionBasedUnit as() const { return express::Base::as(); } + // IfcConversionBasedUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalInformation as() const { return express::Base::as(); } + // IfcExternalInformation as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalReference as() const { return express::Base::as(); } + // IfcExternalReference as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMaterialDefinition as() const { return express::Base::as(); } + // IfcMaterialDefinition as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOrganization as() const { return express::Base::as(); } + // IfcOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPerson as() const { return express::Base::as(); } + // IfcPerson as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPersonAndOrganization as() const { return express::Base::as(); } + // IfcPersonAndOrganization as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPhysicalQuantity as() const { return express::Base::as(); } + // IfcPhysicalQuantity as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProfileDef as() const { return express::Base::as(); } + // IfcProfileDef as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPropertyAbstraction as() const { return express::Base::as(); } + // IfcPropertyAbstraction as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShapeAspect as() const { return express::Base::as(); } + // IfcShapeAspect as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeSeries as() const { return express::Base::as(); } + // IfcTimeSeries as() const { return express::base::as(); } - IfcResourceObjectSelect(const IfcActorRole& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcActorRole& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcAppliedValue& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcAppliedValue& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcApproval& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcApproval& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcConstraint& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcConstraint& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcContextDependentUnit& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcContextDependentUnit& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcConversionBasedUnit& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcConversionBasedUnit& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcExternalInformation& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcExternalInformation& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcExternalReference& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcExternalReference& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcMaterialDefinition& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcMaterialDefinition& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcOrganization& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcOrganization& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPerson& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPerson& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPersonAndOrganization& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPersonAndOrganization& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPhysicalQuantity& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPhysicalQuantity& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcProfileDef& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcProfileDef& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcPropertyAbstraction& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcPropertyAbstraction& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcShapeAspect& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcShapeAspect& c) : express::select(c) {}; - IfcResourceObjectSelect(const IfcTimeSeries& c) : express::Select(c) {}; + IfcResourceObjectSelect(const IfcTimeSeries& c) : express::select(c) {}; }; /// IfcResourceSelectprovides the option to either select a @@ -3305,62 +3305,62 @@ public: /// IfcTypeResource /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcResourceSelect : public express::Select { +class IFC_SCHEMA_API IfcResourceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcResource as() const { return express::Base::as(); } + // IfcResource as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTypeResource as() const { return express::Base::as(); } + // IfcTypeResource as() const { return express::base::as(); } - IfcResourceSelect(const IfcResource& c) : express::Select(c) {}; + IfcResourceSelect(const IfcResource& c) : express::select(c) {}; - IfcResourceSelect(const IfcTypeResource& c) : express::Select(c) {}; + IfcResourceSelect(const IfcTypeResource& c) : express::select(c) {}; }; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcRotationalStiffnessSelect : public express::Select { +class IFC_SCHEMA_API IfcRotationalStiffnessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } - IfcRotationalStiffnessSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcRotationalStiffnessSelect(const IfcBoolean& c) : express::select(c) {}; - IfcRotationalStiffnessSelect(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcRotationalStiffnessSelect(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcSegmentIndexSelect : public express::Select { +class IFC_SCHEMA_API IfcSegmentIndexSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcArcIndex as() const { return express::Base::as(); } + // IfcArcIndex as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLineIndex as() const { return express::Base::as(); } + // IfcLineIndex as() const { return express::base::as(); } - IfcSegmentIndexSelect(const IfcArcIndex& c) : express::Select(c) {}; + IfcSegmentIndexSelect(const IfcArcIndex& c) : express::select(c) {}; - IfcSegmentIndexSelect(const IfcLineIndex& c) : express::Select(c) {}; + IfcSegmentIndexSelect(const IfcLineIndex& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. @@ -3374,22 +3374,22 @@ public: /// NOTE  Corresponding ISO 10303 type: shell. Please refer to ISO/IS 10303-42:1994, p. 127 for the final definition of the formal standard. Only the select items closed_shell (IfcClosedShell) and open_shell (IfcOpenShell) have been incorporated in the current IFC release. /// /// HISTORY  New type in IFC2x. -class IFC_SCHEMA_API IfcShell : public express::Select { +class IFC_SCHEMA_API IfcShell : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClosedShell as() const { return express::Base::as(); } + // IfcClosedShell as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcOpenShell as() const { return express::Base::as(); } + // IfcOpenShell as() const { return express::base::as(); } - IfcShell(const IfcClosedShell& c) : express::Select(c) {}; + IfcShell(const IfcClosedShell& c) : express::select(c) {}; - IfcShell(const IfcOpenShell& c) : express::Select(c) {}; + IfcShell(const IfcOpenShell& c) : express::select(c) {}; }; /// IfcSimpleValue is a select type for selecting between simple value types. @@ -3411,94 +3411,94 @@ public: /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. -class IFC_SCHEMA_API IfcSimpleValue : public express::Select { +class IFC_SCHEMA_API IfcSimpleValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } - IfcSimpleValue(const IfcBinary& c) : express::Select(c) {}; + IfcSimpleValue(const IfcBinary& c) : express::select(c) {}; - IfcSimpleValue(const IfcBoolean& c) : express::Select(c) {}; + IfcSimpleValue(const IfcBoolean& c) : express::select(c) {}; - IfcSimpleValue(const IfcDate& c) : express::Select(c) {}; + IfcSimpleValue(const IfcDate& c) : express::select(c) {}; - IfcSimpleValue(const IfcDateTime& c) : express::Select(c) {}; + IfcSimpleValue(const IfcDateTime& c) : express::select(c) {}; - IfcSimpleValue(const IfcDuration& c) : express::Select(c) {}; + IfcSimpleValue(const IfcDuration& c) : express::select(c) {}; - IfcSimpleValue(const IfcIdentifier& c) : express::Select(c) {}; + IfcSimpleValue(const IfcIdentifier& c) : express::select(c) {}; - IfcSimpleValue(const IfcInteger& c) : express::Select(c) {}; + IfcSimpleValue(const IfcInteger& c) : express::select(c) {}; - IfcSimpleValue(const IfcLabel& c) : express::Select(c) {}; + IfcSimpleValue(const IfcLabel& c) : express::select(c) {}; - IfcSimpleValue(const IfcLogical& c) : express::Select(c) {}; + IfcSimpleValue(const IfcLogical& c) : express::select(c) {}; - IfcSimpleValue(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcSimpleValue(const IfcPositiveInteger& c) : express::select(c) {}; - IfcSimpleValue(const IfcReal& c) : express::Select(c) {}; + IfcSimpleValue(const IfcReal& c) : express::select(c) {}; - IfcSimpleValue(const IfcText& c) : express::Select(c) {}; + IfcSimpleValue(const IfcText& c) : express::select(c) {}; - IfcSimpleValue(const IfcTime& c) : express::Select(c) {}; + IfcSimpleValue(const IfcTime& c) : express::select(c) {}; - IfcSimpleValue(const IfcTimeStamp& c) : express::Select(c) {}; + IfcSimpleValue(const IfcTimeStamp& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. @@ -3513,46 +3513,46 @@ public: /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. -class IFC_SCHEMA_API IfcSizeSelect : public express::Select { +class IFC_SCHEMA_API IfcSizeSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } - IfcSizeSelect(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcLengthMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcSizeSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcSizeSelect(const IfcRatioMeasure& c) : express::select(c) {}; }; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. @@ -3562,22 +3562,22 @@ public: /// IfcClosedShell /// /// HISTORY New select type in IFC2x4. -class IFC_SCHEMA_API IfcSolidOrShell : public express::Select { +class IFC_SCHEMA_API IfcSolidOrShell : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcClosedShell as() const { return express::Base::as(); } + // IfcClosedShell as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidModel as() const { return express::Base::as(); } + // IfcSolidModel as() const { return express::base::as(); } - IfcSolidOrShell(const IfcClosedShell& c) : express::Select(c) {}; + IfcSolidOrShell(const IfcClosedShell& c) : express::select(c) {}; - IfcSolidOrShell(const IfcSolidModel& c) : express::Select(c) {}; + IfcSolidOrShell(const IfcSolidModel& c) : express::select(c) {}; }; /// Definition from IAI: The @@ -3592,41 +3592,41 @@ public: /// /// HISTORY New select type /// in IFC2x4. -class IFC_SCHEMA_API IfcSpaceBoundarySelect : public express::Select { +class IFC_SCHEMA_API IfcSpaceBoundarySelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternalSpatialElement as() const { return express::Base::as(); } + // IfcExternalSpatialElement as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpace as() const { return express::Base::as(); } + // IfcSpace as() const { return express::base::as(); } - IfcSpaceBoundarySelect(const IfcExternalSpatialElement& c) : express::Select(c) {}; + IfcSpaceBoundarySelect(const IfcExternalSpatialElement& c) : express::select(c) {}; - IfcSpaceBoundarySelect(const IfcSpace& c) : express::Select(c) {}; + IfcSpaceBoundarySelect(const IfcSpace& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcSpatialReferenceSelect : public express::Select { +class IFC_SCHEMA_API IfcSpatialReferenceSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcGroup as() const { return express::Base::as(); } + // IfcGroup as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcProduct as() const { return express::Base::as(); } + // IfcProduct as() const { return express::base::as(); } - IfcSpatialReferenceSelect(const IfcGroup& c) : express::Select(c) {}; + IfcSpatialReferenceSelect(const IfcGroup& c) : express::select(c) {}; - IfcSpatialReferenceSelect(const IfcProduct& c) : express::Select(c) {}; + IfcSpatialReferenceSelect(const IfcProduct& c) : express::select(c) {}; }; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. @@ -3639,22 +3639,22 @@ public: /// For each surface side style only one of the two methods is needed for calculating the specular part of the equation. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcSpecularHighlightSelect : public express::Select { +class IFC_SCHEMA_API IfcSpecularHighlightSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecularExponent as() const { return express::Base::as(); } + // IfcSpecularExponent as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecularRoughness as() const { return express::Base::as(); } + // IfcSpecularRoughness as() const { return express::base::as(); } - IfcSpecularHighlightSelect(const IfcSpecularExponent& c) : express::Select(c) {}; + IfcSpecularHighlightSelect(const IfcSpecularExponent& c) : express::select(c) {}; - IfcSpecularHighlightSelect(const IfcSpecularRoughness& c) : express::Select(c) {}; + IfcSpecularHighlightSelect(const IfcSpecularRoughness& c) : express::select(c) {}; }; /// Definition from IAI: This type definition shall be used to @@ -3666,22 +3666,22 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcStructuralActivityAssignmentSelect : public express::Select { +class IFC_SCHEMA_API IfcStructuralActivityAssignmentSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElement as() const { return express::Base::as(); } + // IfcElement as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcStructuralItem as() const { return express::Base::as(); } + // IfcStructuralItem as() const { return express::base::as(); } - IfcStructuralActivityAssignmentSelect(const IfcElement& c) : express::Select(c) {}; + IfcStructuralActivityAssignmentSelect(const IfcElement& c) : express::select(c) {}; - IfcStructuralActivityAssignmentSelect(const IfcStructuralItem& c) : express::Select(c) {}; + IfcStructuralActivityAssignmentSelect(const IfcStructuralItem& c) : express::select(c) {}; }; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface @@ -3693,28 +3693,28 @@ public: /// IfcFaceBasedSurfaceModel (a connected face set, representing a faceted surface as an approximation of a non planar, non rectangular bounded surface) /// /// HISTORY  New select type in IFC2x3. -class IFC_SCHEMA_API IfcSurfaceOrFaceSurface : public express::Select { +class IFC_SCHEMA_API IfcSurfaceOrFaceSurface : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFaceBasedSurfaceModel as() const { return express::Base::as(); } + // IfcFaceBasedSurfaceModel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFaceSurface as() const { return express::Base::as(); } + // IfcFaceSurface as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurface as() const { return express::Base::as(); } + // IfcSurface as() const { return express::base::as(); } - IfcSurfaceOrFaceSurface(const IfcFaceBasedSurfaceModel& c) : express::Select(c) {}; + IfcSurfaceOrFaceSurface(const IfcFaceBasedSurfaceModel& c) : express::select(c) {}; - IfcSurfaceOrFaceSurface(const IfcFaceSurface& c) : express::Select(c) {}; + IfcSurfaceOrFaceSurface(const IfcFaceSurface& c) : express::select(c) {}; - IfcSurfaceOrFaceSurface(const IfcSurface& c) : express::Select(c) {}; + IfcSurfaceOrFaceSurface(const IfcSurface& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. @@ -3726,40 +3726,40 @@ public: /// NOTE: Corresponding ISO 10303 type: surface_style_element_select. Please refer to ISO/IS 10303-46:1994, p. 85 for the final definition of the formal standard. /// /// HISTORY: New Select type in IFC2x2. -class IFC_SCHEMA_API IfcSurfaceStyleElementSelect : public express::Select { +class IFC_SCHEMA_API IfcSurfaceStyleElementSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternallyDefinedSurfaceStyle as() const { return express::Base::as(); } + // IfcExternallyDefinedSurfaceStyle as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleLighting as() const { return express::Base::as(); } + // IfcSurfaceStyleLighting as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleRefraction as() const { return express::Base::as(); } + // IfcSurfaceStyleRefraction as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleShading as() const { return express::Base::as(); } + // IfcSurfaceStyleShading as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSurfaceStyleWithTextures as() const { return express::Base::as(); } + // IfcSurfaceStyleWithTextures as() const { return express::base::as(); } - IfcSurfaceStyleElementSelect(const IfcExternallyDefinedSurfaceStyle& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcExternallyDefinedSurfaceStyle& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleLighting& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleLighting& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleRefraction& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleRefraction& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleShading& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleShading& c) : express::select(c) {}; - IfcSurfaceStyleElementSelect(const IfcSurfaceStyleWithTextures& c) : express::Select(c) {}; + IfcSurfaceStyleElementSelect(const IfcSurfaceStyleWithTextures& c) : express::select(c) {}; }; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. @@ -3769,82 +3769,82 @@ public: /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. -class IFC_SCHEMA_API IfcTextFontSelect : public express::Select { +class IFC_SCHEMA_API IfcTextFontSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcExternallyDefinedTextFont as() const { return express::Base::as(); } + // IfcExternallyDefinedTextFont as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPreDefinedTextFont as() const { return express::Base::as(); } + // IfcPreDefinedTextFont as() const { return express::base::as(); } - IfcTextFontSelect(const IfcExternallyDefinedTextFont& c) : express::Select(c) {}; + IfcTextFontSelect(const IfcExternallyDefinedTextFont& c) : express::select(c) {}; - IfcTextFontSelect(const IfcPreDefinedTextFont& c) : express::Select(c) {}; + IfcTextFontSelect(const IfcPreDefinedTextFont& c) : express::select(c) {}; }; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 -class IFC_SCHEMA_API IfcTimeOrRatioSelect : public express::Select { +class IFC_SCHEMA_API IfcTimeOrRatioSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } - IfcTimeOrRatioSelect(const IfcDuration& c) : express::Select(c) {}; + IfcTimeOrRatioSelect(const IfcDuration& c) : express::select(c) {}; - IfcTimeOrRatioSelect(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcTimeOrRatioSelect(const IfcRatioMeasure& c) : express::select(c) {}; }; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcTranslationalStiffnessSelect : public express::Select { +class IFC_SCHEMA_API IfcTranslationalStiffnessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } - IfcTranslationalStiffnessSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcTranslationalStiffnessSelect(const IfcBoolean& c) : express::select(c) {}; - IfcTranslationalStiffnessSelect(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcTranslationalStiffnessSelect(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; }; -class IFC_SCHEMA_API IfcTransportElementTypeSelect : public express::Select { +class IFC_SCHEMA_API IfcTransportElementTypeSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTransportElementFixedTypeEnum as() const { return express::Base::as(); } + // IfcTransportElementFixedTypeEnum as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTransportElementNonFixedTypeEnum as() const { return express::Base::as(); } + // IfcTransportElementNonFixedTypeEnum as() const { return express::base::as(); } - IfcTransportElementTypeSelect(const IfcTransportElementFixedTypeEnum& c) : express::Select(c) {}; + IfcTransportElementTypeSelect(const IfcTransportElementFixedTypeEnum& c) : express::select(c) {}; - IfcTransportElementTypeSelect(const IfcTransportElementNonFixedTypeEnum& c) : express::Select(c) {}; + IfcTransportElementTypeSelect(const IfcTransportElementNonFixedTypeEnum& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. @@ -3852,22 +3852,22 @@ public: /// NOTE Corresponding ISO 10303 type: trimming_select, please refer to ISO/IS 10303-42:1994, p. 20 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.0 -class IFC_SCHEMA_API IfcTrimmingSelect : public express::Select { +class IFC_SCHEMA_API IfcTrimmingSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCartesianPoint as() const { return express::Base::as(); } + // IfcCartesianPoint as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } - IfcTrimmingSelect(const IfcCartesianPoint& c) : express::Select(c) {}; + IfcTrimmingSelect(const IfcCartesianPoint& c) : express::select(c) {}; - IfcTrimmingSelect(const IfcParameterValue& c) : express::Select(c) {}; + IfcTrimmingSelect(const IfcParameterValue& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. @@ -3883,28 +3883,28 @@ public: /// IfcMonetaryUnit: A unit for defining currencies. /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcUnit : public express::Select { +class IFC_SCHEMA_API IfcUnit : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedUnit as() const { return express::Base::as(); } + // IfcDerivedUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryUnit as() const { return express::Base::as(); } + // IfcMonetaryUnit as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNamedUnit as() const { return express::Base::as(); } + // IfcNamedUnit as() const { return express::base::as(); } - IfcUnit(const IfcDerivedUnit& c) : express::Select(c) {}; + IfcUnit(const IfcDerivedUnit& c) : express::select(c) {}; - IfcUnit(const IfcMonetaryUnit& c) : express::Select(c) {}; + IfcUnit(const IfcMonetaryUnit& c) : express::select(c) {}; - IfcUnit(const IfcNamedUnit& c) : express::Select(c) {}; + IfcUnit(const IfcNamedUnit& c) : express::select(c) {}; }; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, @@ -3917,676 +3917,676 @@ public: /// IfcDerivedMeasureValue A select type for derived measure types. /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcValue : public express::Select { +class IFC_SCHEMA_API IfcValue : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDerivedMeasureValue as() const { return express::Base::as(); } + // IfcDerivedMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAbsorbedDoseMeasure as() const { return express::Base::as(); } + // IfcAbsorbedDoseMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAccelerationMeasure as() const { return express::Base::as(); } + // IfcAccelerationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAngularVelocityMeasure as() const { return express::Base::as(); } + // IfcAngularVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaDensityMeasure as() const { return express::Base::as(); } + // IfcAreaDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcCompoundPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCurvatureMeasure as() const { return express::Base::as(); } + // IfcCurvatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDoseEquivalentMeasure as() const { return express::Base::as(); } + // IfcDoseEquivalentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDynamicViscosityMeasure as() const { return express::Base::as(); } + // IfcDynamicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCapacitanceMeasure as() const { return express::Base::as(); } + // IfcElectricCapacitanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricChargeMeasure as() const { return express::Base::as(); } + // IfcElectricChargeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricConductanceMeasure as() const { return express::Base::as(); } + // IfcElectricConductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricResistanceMeasure as() const { return express::Base::as(); } + // IfcElectricResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricVoltageMeasure as() const { return express::Base::as(); } + // IfcElectricVoltageMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcEnergyMeasure as() const { return express::Base::as(); } + // IfcEnergyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcForceMeasure as() const { return express::Base::as(); } + // IfcForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcFrequencyMeasure as() const { return express::Base::as(); } + // IfcFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatFluxDensityMeasure as() const { return express::Base::as(); } + // IfcHeatFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcHeatingValueMeasure as() const { return express::Base::as(); } + // IfcHeatingValueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIlluminanceMeasure as() const { return express::Base::as(); } + // IfcIlluminanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInductanceMeasure as() const { return express::Base::as(); } + // IfcInductanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIntegerCountRateMeasure as() const { return express::Base::as(); } + // IfcIntegerCountRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIonConcentrationMeasure as() const { return express::Base::as(); } + // IfcIonConcentrationMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); } + // IfcIsothermalMoistureCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcKinematicViscosityMeasure as() const { return express::Base::as(); } + // IfcKinematicViscosityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearForceMeasure as() const { return express::Base::as(); } + // IfcLinearForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearMomentMeasure as() const { return express::Base::as(); } + // IfcLinearMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearStiffnessMeasure as() const { return express::Base::as(); } + // IfcLinearStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLinearVelocityMeasure as() const { return express::Base::as(); } + // IfcLinearVelocityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousFluxMeasure as() const { return express::Base::as(); } + // IfcLuminousFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityDistributionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMagneticFluxMeasure as() const { return express::Base::as(); } + // IfcMagneticFluxMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassDensityMeasure as() const { return express::Base::as(); } + // IfcMassDensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassFlowRateMeasure as() const { return express::Base::as(); } + // IfcMassFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassPerLengthMeasure as() const { return express::Base::as(); } + // IfcMassPerLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfElasticityMeasure as() const { return express::Base::as(); } + // IfcModulusOfElasticityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); } + // IfcModulusOfSubgradeReactionMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); } + // IfcMoistureDiffusivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMolecularWeightMeasure as() const { return express::Base::as(); } + // IfcMolecularWeightMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMomentOfInertiaMeasure as() const { return express::Base::as(); } + // IfcMomentOfInertiaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMonetaryMeasure as() const { return express::Base::as(); } + // IfcMonetaryMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPHMeasure as() const { return express::Base::as(); } + // IfcPHMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlanarForceMeasure as() const { return express::Base::as(); } + // IfcPlanarForceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPowerMeasure as() const { return express::Base::as(); } + // IfcPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPressureMeasure as() const { return express::Base::as(); } + // IfcPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRadioActivityMeasure as() const { return express::Base::as(); } + // IfcRadioActivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalFrequencyMeasure as() const { return express::Base::as(); } + // IfcRotationalFrequencyMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalMassMeasure as() const { return express::Base::as(); } + // IfcRotationalMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRotationalStiffnessMeasure as() const { return express::Base::as(); } + // IfcRotationalStiffnessMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionModulusMeasure as() const { return express::Base::as(); } + // IfcSectionModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); } + // IfcSectionalAreaIntegralMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcShearModulusMeasure as() const { return express::Base::as(); } + // IfcShearModulusMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPowerLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPowerMeasure as() const { return express::Base::as(); } + // IfcSoundPowerMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureLevelMeasure as() const { return express::Base::as(); } + // IfcSoundPressureLevelMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSoundPressureMeasure as() const { return express::Base::as(); } + // IfcSoundPressureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); } + // IfcSpecificHeatCapacityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureGradientMeasure as() const { return express::Base::as(); } + // IfcTemperatureGradientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); } + // IfcTemperatureRateOfChangeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalAdmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalAdmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalConductivityMeasure as() const { return express::Base::as(); } + // IfcThermalConductivityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); } + // IfcThermalExpansionCoefficientMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalResistanceMeasure as() const { return express::Base::as(); } + // IfcThermalResistanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermalTransmittanceMeasure as() const { return express::Base::as(); } + // IfcThermalTransmittanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTorqueMeasure as() const { return express::Base::as(); } + // IfcTorqueMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVaporPermeabilityMeasure as() const { return express::Base::as(); } + // IfcVaporPermeabilityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); } + // IfcVolumetricFlowRateMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingConstantMeasure as() const { return express::Base::as(); } + // IfcWarpingConstantMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMeasureValue as() const { return express::Base::as(); } + // IfcMeasureValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); } + // IfcAmountOfSubstanceMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcAreaMeasure as() const { return express::Base::as(); } + // IfcAreaMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcComplexNumber as() const { return express::Base::as(); } + // IfcComplexNumber as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcContextDependentMeasure as() const { return express::Base::as(); } + // IfcContextDependentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcCountMeasure as() const { return express::Base::as(); } + // IfcCountMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDescriptiveMeasure as() const { return express::Base::as(); } + // IfcDescriptiveMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcElectricCurrentMeasure as() const { return express::Base::as(); } + // IfcElectricCurrentMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLengthMeasure as() const { return express::Base::as(); } + // IfcLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLuminousIntensityMeasure as() const { return express::Base::as(); } + // IfcLuminousIntensityMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcMassMeasure as() const { return express::Base::as(); } + // IfcMassMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNonNegativeLengthMeasure as() const { return express::Base::as(); } + // IfcNonNegativeLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNormalisedRatioMeasure as() const { return express::Base::as(); } + // IfcNormalisedRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcNumericMeasure as() const { return express::Base::as(); } + // IfcNumericMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcParameterValue as() const { return express::Base::as(); } + // IfcParameterValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveLengthMeasure as() const { return express::Base::as(); } + // IfcPositiveLengthMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); } + // IfcPositivePlaneAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveRatioMeasure as() const { return express::Base::as(); } + // IfcPositiveRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcRatioMeasure as() const { return express::Base::as(); } + // IfcRatioMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSolidAngleMeasure as() const { return express::Base::as(); } + // IfcSolidAngleMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); } + // IfcThermodynamicTemperatureMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeMeasure as() const { return express::Base::as(); } + // IfcTimeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVolumeMeasure as() const { return express::Base::as(); } + // IfcVolumeMeasure as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcSimpleValue as() const { return express::Base::as(); } + // IfcSimpleValue as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBinary as() const { return express::Base::as(); } + // IfcBinary as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDate as() const { return express::Base::as(); } + // IfcDate as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDateTime as() const { return express::Base::as(); } + // IfcDateTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDuration as() const { return express::Base::as(); } + // IfcDuration as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcIdentifier as() const { return express::Base::as(); } + // IfcIdentifier as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcInteger as() const { return express::Base::as(); } + // IfcInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLabel as() const { return express::Base::as(); } + // IfcLabel as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcLogical as() const { return express::Base::as(); } + // IfcLogical as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcPositiveInteger as() const { return express::Base::as(); } + // IfcPositiveInteger as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcReal as() const { return express::Base::as(); } + // IfcReal as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcText as() const { return express::Base::as(); } + // IfcText as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTime as() const { return express::Base::as(); } + // IfcTime as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcTimeStamp as() const { return express::Base::as(); } + // IfcTimeStamp as() const { return express::base::as(); } - IfcValue(const IfcDerivedMeasureValue& c) : express::Select(c) {}; + IfcValue(const IfcDerivedMeasureValue& c) : express::select(c) {}; - IfcValue(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAbsorbedDoseMeasure& c) : express::select(c) {}; - IfcValue(const IfcAccelerationMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAccelerationMeasure& c) : express::select(c) {}; - IfcValue(const IfcAngularVelocityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAngularVelocityMeasure& c) : express::select(c) {}; - IfcValue(const IfcAreaDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAreaDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcCompoundPlaneAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcCurvatureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcCurvatureMeasure& c) : express::select(c) {}; - IfcValue(const IfcDoseEquivalentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcDoseEquivalentMeasure& c) : express::select(c) {}; - IfcValue(const IfcDynamicViscosityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcDynamicViscosityMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricCapacitanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricChargeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricChargeMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricConductanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricConductanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricResistanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricResistanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricVoltageMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricVoltageMeasure& c) : express::select(c) {}; - IfcValue(const IfcEnergyMeasure& c) : express::Select(c) {}; + IfcValue(const IfcEnergyMeasure& c) : express::select(c) {}; - IfcValue(const IfcForceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcForceMeasure& c) : express::select(c) {}; - IfcValue(const IfcFrequencyMeasure& c) : express::Select(c) {}; + IfcValue(const IfcFrequencyMeasure& c) : express::select(c) {}; - IfcValue(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcHeatFluxDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcHeatingValueMeasure& c) : express::Select(c) {}; + IfcValue(const IfcHeatingValueMeasure& c) : express::select(c) {}; - IfcValue(const IfcIlluminanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIlluminanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcInductanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcInductanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcIntegerCountRateMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIntegerCountRateMeasure& c) : express::select(c) {}; - IfcValue(const IfcIonConcentrationMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIonConcentrationMeasure& c) : express::select(c) {}; - IfcValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcIsothermalMoistureCapacityMeasure& c) : express::select(c) {}; - IfcValue(const IfcKinematicViscosityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcKinematicViscosityMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearForceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearForceMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearMomentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearMomentMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearStiffnessMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearStiffnessMeasure& c) : express::select(c) {}; - IfcValue(const IfcLinearVelocityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLinearVelocityMeasure& c) : express::select(c) {}; - IfcValue(const IfcLuminousFluxMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLuminousFluxMeasure& c) : express::select(c) {}; - IfcValue(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLuminousIntensityDistributionMeasure& c) : express::select(c) {}; - IfcValue(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMagneticFluxDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMagneticFluxMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMagneticFluxMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassDensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassDensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassFlowRateMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassFlowRateMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassPerLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassPerLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfElasticityMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::select(c) {}; - IfcValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {}; + IfcValue(const IfcModulusOfSubgradeReactionMeasure& c) : express::select(c) {}; - IfcValue(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMoistureDiffusivityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMolecularWeightMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMolecularWeightMeasure& c) : express::select(c) {}; - IfcValue(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMomentOfInertiaMeasure& c) : express::select(c) {}; - IfcValue(const IfcMonetaryMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMonetaryMeasure& c) : express::select(c) {}; - IfcValue(const IfcPHMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPHMeasure& c) : express::select(c) {}; - IfcValue(const IfcPlanarForceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPlanarForceMeasure& c) : express::select(c) {}; - IfcValue(const IfcPowerMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPowerMeasure& c) : express::select(c) {}; - IfcValue(const IfcPressureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPressureMeasure& c) : express::select(c) {}; - IfcValue(const IfcRadioActivityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRadioActivityMeasure& c) : express::select(c) {}; - IfcValue(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRotationalFrequencyMeasure& c) : express::select(c) {}; - IfcValue(const IfcRotationalMassMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRotationalMassMeasure& c) : express::select(c) {}; - IfcValue(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRotationalStiffnessMeasure& c) : express::select(c) {}; - IfcValue(const IfcSectionModulusMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSectionModulusMeasure& c) : express::select(c) {}; - IfcValue(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSectionalAreaIntegralMeasure& c) : express::select(c) {}; - IfcValue(const IfcShearModulusMeasure& c) : express::Select(c) {}; + IfcValue(const IfcShearModulusMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPowerLevelMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPowerMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPowerMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPressureLevelMeasure& c) : express::select(c) {}; - IfcValue(const IfcSoundPressureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSoundPressureMeasure& c) : express::select(c) {}; - IfcValue(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSpecificHeatCapacityMeasure& c) : express::select(c) {}; - IfcValue(const IfcTemperatureGradientMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTemperatureGradientMeasure& c) : express::select(c) {}; - IfcValue(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTemperatureRateOfChangeMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalAdmittanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalConductivityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalConductivityMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalExpansionCoefficientMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalResistanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalResistanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermalTransmittanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcTorqueMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTorqueMeasure& c) : express::select(c) {}; - IfcValue(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcVaporPermeabilityMeasure& c) : express::select(c) {}; - IfcValue(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {}; + IfcValue(const IfcVolumetricFlowRateMeasure& c) : express::select(c) {}; - IfcValue(const IfcWarpingConstantMeasure& c) : express::Select(c) {}; + IfcValue(const IfcWarpingConstantMeasure& c) : express::select(c) {}; - IfcValue(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcWarpingMomentMeasure& c) : express::select(c) {}; - IfcValue(const IfcMeasureValue& c) : express::Select(c) {}; + IfcValue(const IfcMeasureValue& c) : express::select(c) {}; - IfcValue(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAmountOfSubstanceMeasure& c) : express::select(c) {}; - IfcValue(const IfcAreaMeasure& c) : express::Select(c) {}; + IfcValue(const IfcAreaMeasure& c) : express::select(c) {}; - IfcValue(const IfcComplexNumber& c) : express::Select(c) {}; + IfcValue(const IfcComplexNumber& c) : express::select(c) {}; - IfcValue(const IfcContextDependentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcContextDependentMeasure& c) : express::select(c) {}; - IfcValue(const IfcCountMeasure& c) : express::Select(c) {}; + IfcValue(const IfcCountMeasure& c) : express::select(c) {}; - IfcValue(const IfcDescriptiveMeasure& c) : express::Select(c) {}; + IfcValue(const IfcDescriptiveMeasure& c) : express::select(c) {}; - IfcValue(const IfcElectricCurrentMeasure& c) : express::Select(c) {}; + IfcValue(const IfcElectricCurrentMeasure& c) : express::select(c) {}; - IfcValue(const IfcLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcLuminousIntensityMeasure& c) : express::Select(c) {}; + IfcValue(const IfcLuminousIntensityMeasure& c) : express::select(c) {}; - IfcValue(const IfcMassMeasure& c) : express::Select(c) {}; + IfcValue(const IfcMassMeasure& c) : express::select(c) {}; - IfcValue(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcNonNegativeLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcNormalisedRatioMeasure& c) : express::Select(c) {}; + IfcValue(const IfcNormalisedRatioMeasure& c) : express::select(c) {}; - IfcValue(const IfcNumericMeasure& c) : express::Select(c) {}; + IfcValue(const IfcNumericMeasure& c) : express::select(c) {}; - IfcValue(const IfcParameterValue& c) : express::Select(c) {}; + IfcValue(const IfcParameterValue& c) : express::select(c) {}; - IfcValue(const IfcPlaneAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPlaneAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcPositiveLengthMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPositiveLengthMeasure& c) : express::select(c) {}; - IfcValue(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPositivePlaneAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcPositiveRatioMeasure& c) : express::Select(c) {}; + IfcValue(const IfcPositiveRatioMeasure& c) : express::select(c) {}; - IfcValue(const IfcRatioMeasure& c) : express::Select(c) {}; + IfcValue(const IfcRatioMeasure& c) : express::select(c) {}; - IfcValue(const IfcSolidAngleMeasure& c) : express::Select(c) {}; + IfcValue(const IfcSolidAngleMeasure& c) : express::select(c) {}; - IfcValue(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {}; + IfcValue(const IfcThermodynamicTemperatureMeasure& c) : express::select(c) {}; - IfcValue(const IfcTimeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcTimeMeasure& c) : express::select(c) {}; - IfcValue(const IfcVolumeMeasure& c) : express::Select(c) {}; + IfcValue(const IfcVolumeMeasure& c) : express::select(c) {}; - IfcValue(const IfcSimpleValue& c) : express::Select(c) {}; + IfcValue(const IfcSimpleValue& c) : express::select(c) {}; - IfcValue(const IfcBinary& c) : express::Select(c) {}; + IfcValue(const IfcBinary& c) : express::select(c) {}; - IfcValue(const IfcBoolean& c) : express::Select(c) {}; + IfcValue(const IfcBoolean& c) : express::select(c) {}; - IfcValue(const IfcDate& c) : express::Select(c) {}; + IfcValue(const IfcDate& c) : express::select(c) {}; - IfcValue(const IfcDateTime& c) : express::Select(c) {}; + IfcValue(const IfcDateTime& c) : express::select(c) {}; - IfcValue(const IfcDuration& c) : express::Select(c) {}; + IfcValue(const IfcDuration& c) : express::select(c) {}; - IfcValue(const IfcIdentifier& c) : express::Select(c) {}; + IfcValue(const IfcIdentifier& c) : express::select(c) {}; - IfcValue(const IfcInteger& c) : express::Select(c) {}; + IfcValue(const IfcInteger& c) : express::select(c) {}; - IfcValue(const IfcLabel& c) : express::Select(c) {}; + IfcValue(const IfcLabel& c) : express::select(c) {}; - IfcValue(const IfcLogical& c) : express::Select(c) {}; + IfcValue(const IfcLogical& c) : express::select(c) {}; - IfcValue(const IfcPositiveInteger& c) : express::Select(c) {}; + IfcValue(const IfcPositiveInteger& c) : express::select(c) {}; - IfcValue(const IfcReal& c) : express::Select(c) {}; + IfcValue(const IfcReal& c) : express::select(c) {}; - IfcValue(const IfcText& c) : express::Select(c) {}; + IfcValue(const IfcText& c) : express::select(c) {}; - IfcValue(const IfcTime& c) : express::Select(c) {}; + IfcValue(const IfcTime& c) : express::select(c) {}; - IfcValue(const IfcTimeStamp& c) : express::Select(c) {}; + IfcValue(const IfcTimeStamp& c) : express::select(c) {}; }; /// Definition from ISO/CD 10303-42:1992: This type is used to @@ -4597,43 +4597,43 @@ public: /// definition of the formal standard. /// HISTORY New Type in IFC Release /// 1.5 -class IFC_SCHEMA_API IfcVectorOrDirection : public express::Select { +class IFC_SCHEMA_API IfcVectorOrDirection : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcDirection as() const { return express::Base::as(); } + // IfcDirection as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcVector as() const { return express::Base::as(); } + // IfcVector as() const { return express::base::as(); } - IfcVectorOrDirection(const IfcDirection& c) : express::Select(c) {}; + IfcVectorOrDirection(const IfcDirection& c) : express::select(c) {}; - IfcVectorOrDirection(const IfcVector& c) : express::Select(c) {}; + IfcVectorOrDirection(const IfcVector& c) : express::select(c) {}; }; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_SCHEMA_API IfcWarpingStiffnessSelect : public express::Select { +class IFC_SCHEMA_API IfcWarpingStiffnessSelect : public express::select { public: - using express::Select::Select; + using express::select::select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcBoolean as() const { return express::Base::as(); } + // IfcBoolean as() const { return express::base::as(); } // let's just use the as<>() from Base instead directly... // template, int> = 0> - // IfcWarpingMomentMeasure as() const { return express::Base::as(); } + // IfcWarpingMomentMeasure as() const { return express::base::as(); } - IfcWarpingStiffnessSelect(const IfcBoolean& c) : express::Select(c) {}; + IfcWarpingStiffnessSelect(const IfcBoolean& c) : express::select(c) {}; - IfcWarpingStiffnessSelect(const IfcWarpingMomentMeasure& c) : express::Select(c) {}; + IfcWarpingStiffnessSelect(const IfcWarpingMomentMeasure& c) : express::select(c) {}; }; /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. @@ -4647,9 +4647,9 @@ public: /// VERBAL: Request was made verbally in person. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcActionRequestTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActionRequestTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcActionRequestType_EMAIL, IfcActionRequestType_FAX, IfcActionRequestType_PHONE, IfcActionRequestType_POST, IfcActionRequestType_VERBAL, IfcActionRequestType_USERDEFINED, IfcActionRequestType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4665,9 +4665,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcActionSourceTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActionSourceTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4685,9 +4685,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcActionTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActionTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcActionType_PERMANENT_G, IfcActionType_VARIABLE_Q, IfcActionType_EXTRAORDINARY_A, IfcActionType_USERDEFINED, IfcActionType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4714,9 +4714,9 @@ public: /// /// See property set of actuator common attributes for specification of /// properties for hand operated actuators. -class IFC_SCHEMA_API IfcActuatorTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcActuatorTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcActuatorType_ELECTRICACTUATOR, IfcActuatorType_HANDOPERATEDACTUATOR, IfcActuatorType_HYDRAULICACTUATOR, IfcActuatorType_PNEUMATICACTUATOR, IfcActuatorType_THERMOSTATICACTUATOR, IfcActuatorType_USERDEFINED, IfcActuatorType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4738,9 +4738,9 @@ public: /// HOME A home address. /// DISTRIBUTIONPOINT A postal distribution point address. /// USERDEFINED A user defined address type to be provided. -class IFC_SCHEMA_API IfcAddressTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAddressTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAddressType_OFFICE, IfcAddressType_SITE, IfcAddressType_HOME, IfcAddressType_DISTRIBUTIONPOINT, IfcAddressType_USERDEFINED} Value; static const char* ToString(Value v); @@ -4762,9 +4762,9 @@ public: /// NOTDEFINED: Undefined terminal box. /// /// HISTORY: New enumeration in IFC R2.0 -class IFC_SCHEMA_API IfcAirTerminalBoxTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAirTerminalBoxTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAirTerminalBoxType_CONSTANTFLOW, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREDEPENDANT, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREINDEPENDANT, IfcAirTerminalBoxType_USERDEFINED, IfcAirTerminalBoxType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4788,9 +4788,9 @@ public: /// NOTE: Architectural louvres within doors or windows are defined by IfcPermeableCoveringProperties. /// /// HISTORY: New enumeration in IFC R2x2. Modified in IFC R2x4 to add LOUVRE and remove EYEBALL, IRIS, LINEARGRILLE, LINEARDIFFUSER -class IFC_SCHEMA_API IfcAirTerminalTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAirTerminalTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAirTerminalType_DIFFUSER, IfcAirTerminalType_GRILLE, IfcAirTerminalType_LOUVRE, IfcAirTerminalType_REGISTER, IfcAirTerminalType_USERDEFINED, IfcAirTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4817,9 +4817,9 @@ public: /// NOTDEFINED: Undefined air to air heat recovery type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcAirToAirHeatRecoveryTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAirToAirHeatRecoveryTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4844,9 +4844,9 @@ public: /// WHISTLE: An audible alarm. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcAlarmTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAlarmTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4858,9 +4858,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcAlignmentCantSegmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAlignmentCantSegmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAlignmentCantSegmentType_BLOSSCURVE, IfcAlignmentCantSegmentType_CONSTANTCANT, IfcAlignmentCantSegmentType_COSINECURVE, IfcAlignmentCantSegmentType_HELMERTCURVE, IfcAlignmentCantSegmentType_LINEARTRANSITION, IfcAlignmentCantSegmentType_SINECURVE, IfcAlignmentCantSegmentType_VIENNESEBEND} Value; static const char* ToString(Value v); @@ -4872,9 +4872,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcAlignmentHorizontalSegmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAlignmentHorizontalSegmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4886,9 +4886,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcAlignmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAlignmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAlignmentType_USERDEFINED, IfcAlignmentType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -4900,9 +4900,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcAlignmentVerticalSegmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAlignmentVerticalSegmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAlignmentVerticalSegmentType_CONSTANTGRADIENT, IfcAlignmentVerticalSegmentType_CIRCULARARC, IfcAlignmentVerticalSegmentType_PARABOLICARC, IfcAlignmentVerticalSegmentType_CLOTHOID} Value; static const char* ToString(Value v); @@ -4919,9 +4919,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcAnalysisModelTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAnalysisModelTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4939,9 +4939,9 @@ public: /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_SCHEMA_API IfcAnalysisTheoryTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAnalysisTheoryTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4953,9 +4953,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcAnnotationTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAnnotationTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -4978,9 +4978,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcArithmeticOperatorEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcArithmeticOperatorEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcArithmeticOperator_ADD, IfcArithmeticOperator_DIVIDE, IfcArithmeticOperator_MULTIPLY, IfcArithmeticOperator_SUBTRACT} Value; static const char* ToString(Value v); @@ -5003,9 +5003,9 @@ public: /// SITE - this assembly is assembled at site /// /// FACTORY - this assembly is assembled in a factory -class IFC_SCHEMA_API IfcAssemblyPlaceEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAssemblyPlaceEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcAssemblyPlace_SITE, IfcAssemblyPlace_FACTORY, IfcAssemblyPlace_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5030,9 +5030,9 @@ public: /// SWITCHER: A device that receives audio and/or video signals, switches sources, and transmits signals to downstream devices. /// TELEPHONE: A telecommunications device that is used to transmit and receive sound, and optionally video. /// TUNER: An electronic receiver that detects, demodulates, and amplifies transmitted signals. -class IFC_SCHEMA_API IfcAudioVisualApplianceTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcAudioVisualApplianceTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5057,9 +5057,9 @@ public: /// NOTE Corresponding ISO 10303 type: b_spline_curve_form. Please refer to ISO/IS 10303-42:1994, p. 15 for the final definition of the formal standard. /// /// HISTORY New type in Release IFC2x2. -class IFC_SCHEMA_API IfcBSplineCurveForm : public express::DeclaredType { +class IFC_SCHEMA_API IfcBSplineCurveForm : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5071,9 +5071,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBSplineSurfaceForm : public express::DeclaredType { +class IFC_SCHEMA_API IfcBSplineSurfaceForm : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5123,9 +5123,9 @@ public: /// IFC2x4 CHANGE The enumerators /// HOLLOWCORE and SPANDREL have been /// added. -class IFC_SCHEMA_API IfcBeamTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBeamTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5137,9 +5137,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBearingTypeDisplacementEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBearingTypeDisplacementEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBearingTypeDisplacement_FIXED_MOVEMENT, IfcBearingTypeDisplacement_GUIDED_LONGITUDINAL, IfcBearingTypeDisplacement_GUIDED_TRANSVERSAL, IfcBearingTypeDisplacement_FREE_MOVEMENT, IfcBearingTypeDisplacement_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5151,9 +5151,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBearingTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBearingTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5204,9 +5204,9 @@ public: /// /// NOTINCLUDEDIN /// 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_SCHEMA_API IfcBenchmarkEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBenchmarkEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5226,9 +5226,9 @@ public: /// NOTDEFINED: Undefined Boiler type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcBoilerTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBoilerTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBoilerType_WATER, IfcBoilerType_STEAM, IfcBoilerType_USERDEFINED, IfcBoilerType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5248,9 +5248,9 @@ public: /// NOTE Corresponding STEP type: boolean_operator, please refer to ISO/IS 10303-42:1994, p.167 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcBooleanOperator : public express::DeclaredType { +class IFC_SCHEMA_API IfcBooleanOperator : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBooleanOperator_UNION, IfcBooleanOperator_INTERSECTION, IfcBooleanOperator_DIFFERENCE} Value; static const char* ToString(Value v); @@ -5262,9 +5262,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBridgePartTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBridgePartTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5276,9 +5276,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBridgeTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBridgeTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5297,9 +5297,9 @@ public: /// NOTDEFINED: Undefined accessory /// /// HISTORY New Enumeration in IFC 2x4. -class IFC_SCHEMA_API IfcBuildingElementPartTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBuildingElementPartTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBuildingElementPartType_INSULATION, IfcBuildingElementPartType_PRECASTPANEL, IfcBuildingElementPartType_APRON, IfcBuildingElementPartType_ARMOURUNIT, IfcBuildingElementPartType_SAFETYCAGE, IfcBuildingElementPartType_USERDEFINED, IfcBuildingElementPartType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5321,9 +5321,9 @@ public: /// USERDEFINED /// /// NOTDEFINED -class IFC_SCHEMA_API IfcBuildingElementProxyTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBuildingElementProxyTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBuildingElementProxyType_COMPLEX, IfcBuildingElementProxyType_ELEMENT, IfcBuildingElementProxyType_PARTIAL, IfcBuildingElementProxyType_PROVISIONFORVOID, IfcBuildingElementProxyType_PROVISIONFORSPACE, IfcBuildingElementProxyType_USERDEFINED, IfcBuildingElementProxyType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5348,9 +5348,9 @@ public: /// natural sun light, /// TRANSPORT: System of all transport elements in a /// building that enables the transport of people or goods. -class IFC_SCHEMA_API IfcBuildingSystemTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBuildingSystemTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5362,9 +5362,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcBuiltSystemTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBuiltSystemTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5382,9 +5382,9 @@ public: /// NOTDEFINED: Undefined burner type. /// /// HISTORY: New enumeration in IFC R2x4. -class IFC_SCHEMA_API IfcBurnerTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcBurnerTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcBurnerType_USERDEFINED, IfcBurnerType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5405,9 +5405,9 @@ public: /// TEE: A fitting at which a branch is taken from the main route of the cable carrier. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableCarrierFittingTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableCarrierFittingTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcCableCarrierFittingType_BEND, IfcCableCarrierFittingType_CROSS, IfcCableCarrierFittingType_REDUCER, IfcCableCarrierFittingType_TEE, IfcCableCarrierFittingType_USERDEFINED, IfcCableCarrierFittingType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5428,9 +5428,9 @@ public: /// CONDUITSEGMENT: An enclosed tubular carrier segment through which cables are pulled. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableCarrierSegmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableCarrierSegmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5452,9 +5452,9 @@ public: /// TRANSITION: A fitting that joins two cable segments of different connector types. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableFittingTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableFittingTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5477,9 +5477,9 @@ public: /// CORESEGMENT: A self contained element of a cable that comprises one or more conductors and sheathing.The core of one lead is normally single wired or multiwired which are intertwined. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -class IFC_SCHEMA_API IfcCableSegmentTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCableSegmentTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5491,9 +5491,9 @@ public: operator Value() const; }; -class IFC_SCHEMA_API IfcCaissonFoundationTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCaissonFoundationTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcCaissonFoundationType_WELL, IfcCaissonFoundationType_CAISSON, IfcCaissonFoundationType_USERDEFINED, IfcCaissonFoundationType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5515,9 +5515,9 @@ public: /// Consider Application A will create an IFC dataset that it wants to publish to others for modification and have the ability to subsequently merge these changes back into the original model. Before publication, it may want to set the IfcChangeActionEnum to NOCHANGE to establish a baseline so that other application changes can be easily identified. Application B then receives this IFC dataset and adds a new object and sets IfcChangeActionEnum to ADDED with Application B defined as the OwningApplication. Application B then modifies an existing object and (re)defines the LastModifiedDate to the time of the modification, LastModifyingUser to the IfcPersonAndOrganization making the change, and sets the LastModifyingApplication to Application B. When Application A receives this modified dataset, it can determine which objects have been added and modified by Application B and either merge or reject these changes as necessary. Consequently, the intent is that an application only modifies the value of IfcChangeActionEnum when it does something to the object, with the further intent that a model server is responsible for clearing the IfcChangeActionEnum back to NOCHANGE when it is ready to be republished. /// /// HISTORY: New enumeration in IFC R2.0. Modified in IFC2x4. -class IFC_SCHEMA_API IfcChangeActionEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcChangeActionEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcChangeAction_NOCHANGE, IfcChangeAction_MODIFIED, IfcChangeAction_ADDED, IfcChangeAction_DELETED, IfcChangeAction_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5538,9 +5538,9 @@ public: /// NOTDEFINED: Undefined chiller type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcChillerTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcChillerTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcChillerType_AIRCOOLED, IfcChillerType_WATERCOOLED, IfcChillerType_HEATRECOVERY, IfcChillerType_USERDEFINED, IfcChillerType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5561,9 +5561,9 @@ public: /// NOTE Currently there are no specific enumerators /// defined, the IfcChimneyTypeEnum has been added /// for future extensions. -class IFC_SCHEMA_API IfcChimneyTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcChimneyTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcChimneyType_USERDEFINED, IfcChimneyType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5596,9 +5596,9 @@ public: /// NOTDEFINED: Undefined coil type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcCoilTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCoilTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5623,9 +5623,9 @@ public: /// future releases of IFC. /// HISTORY New Enumeration /// in Release IFC2x Edition 2. -class IFC_SCHEMA_API IfcColumnTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcColumnTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcColumnType_COLUMN, IfcColumnType_PILASTER, IfcColumnType_PIERSTEM, IfcColumnType_PIERSTEM_SEGMENT, IfcColumnType_STANDCOLUMN, IfcColumnType_USERDEFINED, IfcColumnType_NOTDEFINED} Value; static const char* ToString(Value v); @@ -5652,9 +5652,9 @@ public: /// REPEATER: A repeater is an electronic device that receives a signal and retransmits it at a higher level and/or higher power, or onto the other side of an obstruction, so that the signal can cover longer distances without degradation. /// ROUTER: A router is a networking device whose software and hardware are usually tailored to the tasks of routing and forwarding information. For example, on the Internet, information is directed to various paths by routers. /// 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_SCHEMA_API IfcCommunicationsApplianceTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCommunicationsApplianceTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5673,9 +5673,9 @@ public: /// /// P_COMPLEX: the properties defined by this IfcComplexPropertyTemplate are of type IfcComplexProperty. /// Q_COMPLEX: the properties defined by this IfcComplexPropertyTemplate are of type IfcPhysicalComplexQuantity. -class IFC_SCHEMA_API IfcComplexPropertyTemplateTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcComplexPropertyTemplateTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; typedef enum {IfcComplexPropertyTemplateType_P_COMPLEX, IfcComplexPropertyTemplateType_Q_COMPLEX} Value; static const char* ToString(Value v); @@ -5708,9 +5708,9 @@ public: /// NOTDEFINED: Undefined compressor type. /// /// HISTORY: New enumeration in IFC R2x. -class IFC_SCHEMA_API IfcCompressorTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCompressorTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5734,9 +5734,9 @@ public: /// NOTDEFINED: Undefined condenser type. /// /// HISTORY: New enumeration in IFC 2x2. WATERCOOLED added in IFC 2x4. -class IFC_SCHEMA_API IfcCondenserTypeEnum : public express::DeclaredType { +class IFC_SCHEMA_API IfcCondenserTypeEnum : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; 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); @@ -5767,9 +5767,9 @@ public: /// RelatedConnectionType: AtStart /// /// Figure 65 — Connection types /*[3:3]*/ v); operator std::vector< int64_t > /*[3:3]*/() const; }; -class IFC_SCHEMA_API IfcAreaDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcAreaDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcAreaDensityMeasure initialize(double v); @@ -11968,18 +11968,18 @@ public: /// NOTE Corresponding ISO 10303 name: area_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcAreaMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcAreaMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcAreaMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcBinary : public express::DeclaredType { +class IFC_SCHEMA_API IfcBinary : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcBinary initialize(boost::dynamic_bitset<> v); @@ -11990,9 +11990,9 @@ public: /// Type: BOOLEAN /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcBoolean : public express::DeclaredType { +class IFC_SCHEMA_API IfcBoolean : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcBoolean initialize(bool v); @@ -12041,9 +12041,9 @@ public: /// Figure 284 illustrates an example extrusion shape with arbitrary profile (IfcArbitraryClosedProfileDef), aligned "mid-depth right" on the member axis. The line of sight follows the extrusion direction Z which points into the drawing plane of above illustration. Hence, "left" is in the positive X direction of the IfcProfileDef. "Top" is in the positive Y direction of the IfcProfileDef. /// /// Figure 284 — Cardinal point extrusion -class IFC_SCHEMA_API IfcCardinalPointReference : public express::DeclaredType { +class IFC_SCHEMA_API IfcCardinalPointReference : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCardinalPointReference initialize(int64_t v); @@ -12060,9 +12060,9 @@ public: /// Type: ARRAY [1:2] OF REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_SCHEMA_API IfcComplexNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcComplexNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcComplexNumber initialize(std::vector< double > /*[1:2]*/ v); @@ -12116,9 +12116,9 @@ public: ///      + FORMAT(ABS(c[4]), '##');  -- -50° 58' 33" 110400 /// /// 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_SCHEMA_API IfcCompoundPlaneAngleMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcCompoundPlaneAngleMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCompoundPlaneAngleMeasure initialize(std::vector< int64_t > /*[3:4]*/ v); @@ -12130,9 +12130,9 @@ public: /// NOTE Corresponding ISO 10303 name: context_dependent_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcContextDependentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcContextDependentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcContextDependentMeasure initialize(double v); @@ -12144,9 +12144,9 @@ public: /// NOTE Corresponding ISO 10303 name: count_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcCountMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcCountMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCountMeasure initialize(double v); @@ -12159,9 +12159,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcCurvatureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcCurvatureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcCurvatureMeasure initialize(double v); @@ -12173,9 +12173,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcDate : public express::DeclaredType { +class IFC_SCHEMA_API IfcDate : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDate initialize(std::string v); @@ -12199,9 +12199,9 @@ public: /// otherwise they are forbidden. The year 0000 is prohibited. /// /// HISTORY: New type in IFC2x4 -class IFC_SCHEMA_API IfcDateTime : public express::DeclaredType { +class IFC_SCHEMA_API IfcDateTime : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDateTime initialize(std::string v); @@ -12219,9 +12219,9 @@ public: /// Release 1.5.1. /// IFC2x4 CHANGE Where rule /// ValidRange added. -class IFC_SCHEMA_API IfcDayInMonthNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcDayInMonthNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDayInMonthNumber initialize(int64_t v); @@ -12261,9 +12261,9 @@ public: /// Type: INTEGER /// HISTORY New type in /// IFC2x4. -class IFC_SCHEMA_API IfcDayInWeekNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcDayInWeekNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDayInWeekNumber initialize(int64_t v); @@ -12275,9 +12275,9 @@ public: /// NOTE Corresponding ISO 10303 name:descriptive_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDescriptiveMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcDescriptiveMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDescriptiveMeasure initialize(std::string v); @@ -12290,9 +12290,9 @@ public: /// NOTE Corresponding ISO 10303 type: dimension_count, please refer to ISO/IS 10303-42:1994, p. 14 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5 -class IFC_SCHEMA_API IfcDimensionCount : public express::DeclaredType { +class IFC_SCHEMA_API IfcDimensionCount : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDimensionCount initialize(int64_t v); @@ -12303,9 +12303,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcDoseEquivalentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcDoseEquivalentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDoseEquivalentMeasure initialize(double v); @@ -12316,9 +12316,9 @@ public: /// EXAMPLE: P0002-10-15T10:30:20 (duration of two years, 10 months, 15 days, 10 hours, 30 minutes and 20 seconds). /// /// HISTORY: New type in IFC2x4 -class IFC_SCHEMA_API IfcDuration : public express::DeclaredType { +class IFC_SCHEMA_API IfcDuration : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDuration initialize(std::string v); @@ -12330,9 +12330,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcDynamicViscosityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcDynamicViscosityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcDynamicViscosityMeasure initialize(double v); @@ -12343,9 +12343,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricCapacitanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricCapacitanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricCapacitanceMeasure initialize(double v); @@ -12356,9 +12356,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricChargeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricChargeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricChargeMeasure initialize(double v); @@ -12369,9 +12369,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricConductanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricConductanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricConductanceMeasure initialize(double v); @@ -12384,9 +12384,9 @@ public: /// NOTE Corresponding ISO 10303 name: electric_current_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcElectricCurrentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricCurrentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricCurrentMeasure initialize(double v); @@ -12397,9 +12397,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcElectricResistanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricResistanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricResistanceMeasure initialize(double v); @@ -12410,9 +12410,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcElectricVoltageMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcElectricVoltageMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcElectricVoltageMeasure initialize(double v); @@ -12423,9 +12423,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcEnergyMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcEnergyMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcEnergyMeasure initialize(double v); @@ -12445,9 +12445,9 @@ public: /// NOTE  Corresponding CSS1 definitions is font-style. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcFontStyle : public express::DeclaredType { +class IFC_SCHEMA_API IfcFontStyle : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFontStyle initialize(std::string v); @@ -12465,9 +12465,9 @@ public: /// NOTE  Corresponding CSS1 definitions is font-variant. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcFontVariant : public express::DeclaredType { +class IFC_SCHEMA_API IfcFontVariant : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFontVariant initialize(std::string v); @@ -12496,9 +12496,9 @@ public: /// NOTE  Corresponding CSS1 definitions is font-weight. /// /// HISTORY  New type in IFC2x2 Addendum 2. -class IFC_SCHEMA_API IfcFontWeight : public express::DeclaredType { +class IFC_SCHEMA_API IfcFontWeight : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFontWeight initialize(std::string v); @@ -12509,9 +12509,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcForceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcForceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcForceMeasure initialize(double v); @@ -12522,9 +12522,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcFrequencyMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcFrequencyMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcFrequencyMeasure initialize(double v); @@ -12543,9 +12543,9 @@ public: /// Refer to the BuildingSMART website (www.buildingsmart-tech.org) for more information and sample encoding algorithms. /// /// HISTORY  New type in IFC R1.5.1. -class IFC_SCHEMA_API IfcGloballyUniqueId : public express::DeclaredType { +class IFC_SCHEMA_API IfcGloballyUniqueId : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcGloballyUniqueId initialize(std::string v); @@ -12556,9 +12556,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcHeatFluxDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcHeatFluxDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcHeatFluxDensityMeasure initialize(double v); @@ -12567,9 +12567,9 @@ public: /// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. /// /// HISTORY: This is new type in IFC2x2. -class IFC_SCHEMA_API IfcHeatingValueMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcHeatingValueMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcHeatingValueMeasure initialize(double v); @@ -12589,9 +12589,9 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// 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_SCHEMA_API IfcIdentifier : public express::DeclaredType { +class IFC_SCHEMA_API IfcIdentifier : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIdentifier initialize(std::string v); @@ -12602,9 +12602,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcIlluminanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIlluminanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIlluminanceMeasure initialize(double v); @@ -12615,9 +12615,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcInductanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcInductanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcInductanceMeasure initialize(double v); @@ -12630,9 +12630,9 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcInteger : public express::DeclaredType { +class IFC_SCHEMA_API IfcInteger : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcInteger initialize(int64_t v); @@ -12645,9 +12645,9 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcIntegerCountRateMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIntegerCountRateMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIntegerCountRateMeasure initialize(int64_t v); @@ -12656,9 +12656,9 @@ public: /// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcIonConcentrationMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIonConcentrationMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIonConcentrationMeasure initialize(double v); @@ -12669,9 +12669,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcIsothermalMoistureCapacityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcIsothermalMoistureCapacityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcIsothermalMoistureCapacityMeasure initialize(double v); @@ -12682,9 +12682,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcKinematicViscosityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcKinematicViscosityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcKinematicViscosityMeasure initialize(double v); @@ -12704,9 +12704,9 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// 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_SCHEMA_API IfcLabel : public express::DeclaredType { +class IFC_SCHEMA_API IfcLabel : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLabel initialize(std::string v); @@ -12737,18 +12737,18 @@ public: /// NOTE Corresponding ISO 10303 name: length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcLengthMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLengthMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLengthMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcLineIndex : public express::DeclaredType { +class IFC_SCHEMA_API IfcLineIndex : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLineIndex initialize(std::vector< int64_t > /*[2:?]*/ v); @@ -12759,9 +12759,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLinearForceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearForceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearForceMeasure initialize(double v); @@ -12772,9 +12772,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLinearMomentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearMomentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearMomentMeasure initialize(double v); @@ -12785,9 +12785,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLinearStiffnessMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearStiffnessMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearStiffnessMeasure initialize(double v); @@ -12798,9 +12798,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcLinearVelocityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLinearVelocityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLinearVelocityMeasure initialize(double v); @@ -12811,9 +12811,9 @@ public: /// Type: LOGICAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLogical : public express::DeclaredType { +class IFC_SCHEMA_API IfcLogical : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLogical initialize(boost::logic::tribool v); @@ -12824,9 +12824,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcLuminousFluxMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLuminousFluxMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLuminousFluxMeasure initialize(double v); @@ -12839,9 +12839,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcLuminousIntensityDistributionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLuminousIntensityDistributionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLuminousIntensityDistributionMeasure initialize(double v); @@ -12854,9 +12854,9 @@ public: /// NOTE Corresponding ISO 10303 name: luminous_intensity_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcLuminousIntensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcLuminousIntensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcLuminousIntensityMeasure initialize(double v); @@ -12867,9 +12867,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMagneticFluxDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMagneticFluxDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMagneticFluxDensityMeasure initialize(double v); @@ -12880,9 +12880,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMagneticFluxMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMagneticFluxMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMagneticFluxMeasure initialize(double v); @@ -12893,9 +12893,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcMassDensityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassDensityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassDensityMeasure initialize(double v); @@ -12906,9 +12906,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcMassFlowRateMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassFlowRateMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassFlowRateMeasure initialize(double v); @@ -12921,9 +12921,9 @@ public: /// NOTE Corresponding ISO 10303 name: mass_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcMassMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassMeasure initialize(double v); @@ -12936,9 +12936,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcMassPerLengthMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMassPerLengthMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMassPerLengthMeasure initialize(double v); @@ -12949,9 +12949,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcModulusOfElasticityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfElasticityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfElasticityMeasure initialize(double v); @@ -12962,9 +12962,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_SCHEMA_API IfcModulusOfLinearSubgradeReactionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfLinearSubgradeReactionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfLinearSubgradeReactionMeasure initialize(double v); @@ -12975,9 +12975,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfRotationalSubgradeReactionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfRotationalSubgradeReactionMeasure initialize(double v); @@ -12992,9 +12992,9 @@ public: /// Figure 290 illustrates elastic support of a planar member. /// /// Figure 290 — Modulus of subgrade reaction measure -class IFC_SCHEMA_API IfcModulusOfSubgradeReactionMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcModulusOfSubgradeReactionMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcModulusOfSubgradeReactionMeasure initialize(double v); @@ -13005,9 +13005,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMoistureDiffusivityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMoistureDiffusivityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMoistureDiffusivityMeasure initialize(double v); @@ -13018,9 +13018,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMolecularWeightMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMolecularWeightMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMolecularWeightMeasure initialize(double v); @@ -13031,9 +13031,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcMomentOfInertiaMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMomentOfInertiaMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMomentOfInertiaMeasure initialize(double v); @@ -13043,9 +13043,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcMonetaryMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcMonetaryMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMonetaryMeasure initialize(double v); @@ -13107,9 +13107,9 @@ public: /// standard. /// HISTORY New type in IFC /// Release 1.5.1. -class IFC_SCHEMA_API IfcMonthInYearNumber : public express::DeclaredType { +class IFC_SCHEMA_API IfcMonthInYearNumber : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcMonthInYearNumber initialize(int64_t v); @@ -13134,9 +13134,9 @@ public: /// NOTE Corresponding ISO 10303 name: numeric_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcNumericMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcNumericMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcNumericMeasure initialize(double v); @@ -13145,9 +13145,9 @@ public: /// 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. /// /// HISTORY: New type in IFC 2x2. -class IFC_SCHEMA_API IfcPHMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPHMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPHMeasure initialize(double v); @@ -13160,9 +13160,9 @@ public: /// NOTE Corresponding STEP name: parameter_value, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcParameterValue : public express::DeclaredType { +class IFC_SCHEMA_API IfcParameterValue : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcParameterValue initialize(double v); @@ -13173,9 +13173,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcPlanarForceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPlanarForceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPlanarForceMeasure initialize(double v); @@ -13192,9 +13192,9 @@ public: /// NOTE Corresponding ISO 10303 name: plane_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcPlaneAngleMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPlaneAngleMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPlaneAngleMeasure initialize(double v); @@ -13242,9 +13242,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcPowerMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPowerMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPowerMeasure initialize(double v); @@ -13259,9 +13259,9 @@ public: /// NOTE  Corresponding ISO 10303 name: presentable_text. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. /// /// HISTORY  New type in IFC2x2. -class IFC_SCHEMA_API IfcPresentableText : public express::DeclaredType { +class IFC_SCHEMA_API IfcPresentableText : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPresentableText initialize(std::string v); @@ -13272,18 +13272,18 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcPressureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcPressureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPressureMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcPropertySetDefinitionSet : public express::DeclaredType { +class IFC_SCHEMA_API IfcPropertySetDefinitionSet : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcPropertySetDefinitionSet initialize(std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > v); @@ -13294,9 +13294,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcRadioActivityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRadioActivityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRadioActivityMeasure initialize(double v); @@ -13312,9 +13312,9 @@ public: /// NOTE Corresponding STEP name: ratio_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcRatioMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRatioMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRatioMeasure initialize(double v); @@ -13327,9 +13327,9 @@ public: /// Type: REAL /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcReal : public express::DeclaredType { +class IFC_SCHEMA_API IfcReal : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcReal initialize(double v); @@ -13340,9 +13340,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcRotationalFrequencyMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRotationalFrequencyMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRotationalFrequencyMeasure initialize(double v); @@ -13354,9 +13354,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcRotationalMassMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRotationalMassMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRotationalMassMeasure initialize(double v); @@ -13367,9 +13367,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcRotationalStiffnessMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcRotationalStiffnessMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcRotationalStiffnessMeasure initialize(double v); @@ -13380,9 +13380,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_SCHEMA_API IfcSectionModulusMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSectionModulusMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSectionModulusMeasure initialize(double v); @@ -13393,9 +13393,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcSectionalAreaIntegralMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSectionalAreaIntegralMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSectionalAreaIntegralMeasure initialize(double v); @@ -13406,9 +13406,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcShearModulusMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcShearModulusMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcShearModulusMeasure initialize(double v); @@ -13421,18 +13421,18 @@ public: /// NOTE Corresponding ISO 10303 name: solid_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcSolidAngleMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSolidAngleMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSolidAngleMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcSoundPowerLevelMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPowerLevelMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPowerLevelMeasure initialize(double v); @@ -13443,18 +13443,18 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcSoundPowerMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPowerMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPowerMeasure initialize(double v); operator double() const; }; -class IFC_SCHEMA_API IfcSoundPressureLevelMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPressureLevelMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPressureLevelMeasure initialize(double v); @@ -13465,9 +13465,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcSoundPressureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSoundPressureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSoundPressureMeasure initialize(double v); @@ -13478,9 +13478,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcSpecificHeatCapacityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcSpecificHeatCapacityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSpecificHeatCapacityMeasure initialize(double v); @@ -13493,9 +13493,9 @@ public: /// NOTE: The datatype relates to the definition of specular_exponent in ISO 10303-46 entity surface_style_reflectance_ambient_diffuse_specular. /// /// HISTORY: New type in IFC2x2. -class IFC_SCHEMA_API IfcSpecularExponent : public express::DeclaredType { +class IFC_SCHEMA_API IfcSpecularExponent : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSpecularExponent initialize(double v); @@ -13510,9 +13510,9 @@ public: /// NOTE: The datatype relates to the definition of "shiness" in VRML97, which is the reciprocate value to the specular roughness. /// /// HISTORY: New type in Release IFC2x2. -class IFC_SCHEMA_API IfcSpecularRoughness : public express::DeclaredType { +class IFC_SCHEMA_API IfcSpecularRoughness : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcSpecularRoughness initialize(double v); @@ -13523,9 +13523,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcTemperatureGradientMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTemperatureGradientMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTemperatureGradientMeasure initialize(double v); @@ -13536,9 +13536,9 @@ public: /// Type: REAL /// /// HISTORY  New type in IFC2x4. -class IFC_SCHEMA_API IfcTemperatureRateOfChangeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTemperatureRateOfChangeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTemperatureRateOfChangeMeasure initialize(double v); @@ -13555,9 +13555,9 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// 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_SCHEMA_API IfcText : public express::DeclaredType { +class IFC_SCHEMA_API IfcText : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcText initialize(std::string v); @@ -13573,9 +13573,9 @@ public: /// NOTE  Corresponding CSS1 definition is text-align. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcTextAlignment : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextAlignment : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextAlignment initialize(std::string v); @@ -13594,9 +13594,9 @@ public: /// NOTE  Corresponding CSS1 definition is text-decoration. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcTextDecoration : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextDecoration : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextDecoration initialize(std::string v); @@ -13621,9 +13621,9 @@ public: /// HISTORY  New type in IFC2x2 Addendum 2. /// /// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. -class IFC_SCHEMA_API IfcTextFontName : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextFontName : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextFontName initialize(std::string v); @@ -13639,9 +13639,9 @@ public: /// NOTE  Corresponding CSS1 definition is text-transform. /// /// HISTORY  New type in IFC2x3. -class IFC_SCHEMA_API IfcTextTransformation : public express::DeclaredType { +class IFC_SCHEMA_API IfcTextTransformation : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTextTransformation initialize(std::string v); @@ -13652,9 +13652,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcThermalAdmittanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalAdmittanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalAdmittanceMeasure initialize(double v); @@ -13665,9 +13665,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcThermalConductivityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalConductivityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalConductivityMeasure initialize(double v); @@ -13677,9 +13677,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcThermalExpansionCoefficientMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalExpansionCoefficientMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalExpansionCoefficientMeasure initialize(double v); @@ -13689,9 +13689,9 @@ public: /// Usually measured in m2 Kelvin/Watt. /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcThermalResistanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalResistanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalResistanceMeasure initialize(double v); @@ -13702,9 +13702,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcThermalTransmittanceMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermalTransmittanceMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermalTransmittanceMeasure initialize(double v); @@ -13717,9 +13717,9 @@ public: /// NOTE Corresponding ISO 10303 name: thermodynamic_temperature_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcThermodynamicTemperatureMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcThermodynamicTemperatureMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcThermodynamicTemperatureMeasure initialize(double v); @@ -13733,9 +13733,9 @@ public: /// 13:20:00-05:00. /// /// HISTORY: New type in IFC2x4 -class IFC_SCHEMA_API IfcTime : public express::DeclaredType { +class IFC_SCHEMA_API IfcTime : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTime initialize(std::string v); @@ -13748,9 +13748,9 @@ public: /// NOTE Corresponding ISO 10303 name: time_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcTimeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTimeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTimeMeasure initialize(double v); @@ -13760,9 +13760,9 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcTimeStamp : public express::DeclaredType { +class IFC_SCHEMA_API IfcTimeStamp : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTimeStamp initialize(int64_t v); @@ -13773,9 +13773,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcTorqueMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcTorqueMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcTorqueMeasure initialize(double v); @@ -13788,9 +13788,9 @@ public: /// designed to make it easy to map other namespaces (that share the properties of URNs) into URN-space. /// /// HISTORY New defined datatype in IFC 2x4. -class IFC_SCHEMA_API IfcURIReference : public express::DeclaredType { +class IFC_SCHEMA_API IfcURIReference : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcURIReference initialize(std::string v); @@ -13801,9 +13801,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_SCHEMA_API IfcVaporPermeabilityMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcVaporPermeabilityMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcVaporPermeabilityMeasure initialize(double v); @@ -13816,9 +13816,9 @@ public: /// NOTE Corresponding ISO 10303 name: volume_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcVolumeMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcVolumeMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcVolumeMeasure initialize(double v); @@ -13829,9 +13829,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_SCHEMA_API IfcVolumetricFlowRateMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcVolumetricFlowRateMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcVolumetricFlowRateMeasure initialize(double v); @@ -13842,9 +13842,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcWarpingConstantMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcWarpingConstantMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcWarpingConstantMeasure initialize(double v); @@ -13855,9 +13855,9 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_SCHEMA_API IfcWarpingMomentMeasure : public express::DeclaredType { +class IFC_SCHEMA_API IfcWarpingMomentMeasure : public express::declared_type { public: - using express::DeclaredType::DeclaredType; + using express::declared_type::declared_type; static const ifcopenshell::type_declaration& Class(); IfcWarpingMomentMeasure initialize(double v); @@ -13935,9 +13935,9 @@ public: /// Corresponds to the following entity in ISO-10303-41: organization_role and person_role. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_SCHEMA_API IfcActorRole : public express::Entity { +class IFC_SCHEMA_API IfcActorRole : public express::entity { public: - using express::Entity::Entity; + 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. @@ -13962,9 +13962,9 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: address. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcAddress : public express::Entity { +class IFC_SCHEMA_API IfcAddress : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Identifies the logical location of the address. std::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > Purpose() const; @@ -13985,9 +13985,9 @@ public: IfcAddress initialize(std::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose); }; -class IFC_SCHEMA_API IfcAlignmentParameterSegment : public express::Entity { +class IFC_SCHEMA_API IfcAlignmentParameterSegment : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::optional< std::string > StartTag() const; void setStartTag(const std::optional< std::string >& v); @@ -14023,9 +14023,9 @@ public: /// 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_SCHEMA_API IfcApplication : public express::Entity { +class IFC_SCHEMA_API IfcApplication : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Name of the application developer, being requested to be member of the IAI. ::Ifc4x3_rc4::IfcOrganization ApplicationDeveloper() const; @@ -14057,9 +14057,9 @@ public: /// An instance of IfcAppliedValue may have a unit basis asserted. This is defined as an IfcMeasureWithUnit that determines the extent of the unit value for application purposes. It is assumed that when this attribute is asserted, then the value given to IfcAppliedValue is that for unit quantity. This is not enforced within the IFC schema and thus needs to be controlled within an application. /// /// 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_SCHEMA_API IfcAppliedValue : public express::Entity { +class IFC_SCHEMA_API IfcAppliedValue : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A name or additional clarification given to a cost value. std::optional< std::string > Name() const; @@ -14105,9 +14105,9 @@ public: /// HISTORY New Entity in IFC Release 2.0 /// /// 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_SCHEMA_API IfcApproval : public express::Entity { +class IFC_SCHEMA_API IfcApproval : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A computer interpretable identifier by which the approval is known. std::optional< std::string > Identifier() const; @@ -14166,9 +14166,9 @@ public: /// HISTORY: New entity /// in Release IFC2x Edition /// 2. -class IFC_SCHEMA_API IfcBoundaryCondition : public express::Entity { +class IFC_SCHEMA_API IfcBoundaryCondition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optionally defines a name for this boundary condition. std::optional< std::string > Name() const; @@ -14310,9 +14310,9 @@ public: /// HISTORY  New entity in IFC Release 1.5. /// /// 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_SCHEMA_API IfcConnectionGeometry : public express::Entity { +class IFC_SCHEMA_API IfcConnectionGeometry : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; static const ifcopenshell::entity& Class(); @@ -14402,9 +14402,9 @@ public: /// A constraint must have a name applied through the IfcConstraint.Name attribute and optionally, a description through IfcConstraint.Description. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade or IfcConstraint.UserDefinedGrade whilst the source, creating actor and time at which the constraint is created may be optionally asserted through IfcConstraint.ConstraintSource, IfcConstraint.CreatingActor and IfcConstraint.CreationTime. /// /// 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_SCHEMA_API IfcConstraint : public express::Entity { +class IFC_SCHEMA_API IfcConstraint : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; @@ -14482,9 +14482,9 @@ public: /// and any map or other coordinate reference system. /// /// HISTORY  New entity in IFC2x4. -class IFC_SCHEMA_API IfcCoordinateOperation : public express::Entity { +class IFC_SCHEMA_API IfcCoordinateOperation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Source coordinate reference system for the operation. ::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect SourceCRS() const; @@ -14518,9 +14518,9 @@ public: /// Specifications. /// /// HISTORY  New entity in IFC2x4. -class IFC_SCHEMA_API IfcCoordinateReferenceSystem : public express::Entity { +class IFC_SCHEMA_API IfcCoordinateReferenceSystem : public express::entity { public: - using express::Entity::Entity; + 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. @@ -14604,9 +14604,9 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDerivedUnit : public express::Entity { +class IFC_SCHEMA_API IfcDerivedUnit : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The group of units and their exponents that define the derived unit. std::vector< ::Ifc4x3_rc4::IfcDerivedUnitElement > Elements() const; @@ -14629,9 +14629,9 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit_element, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDerivedUnitElement : public express::Entity { +class IFC_SCHEMA_API IfcDerivedUnitElement : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The fixed quantity which is used as the mathematical factor. ::Ifc4x3_rc4::IfcNamedUnit Unit() const; @@ -14660,9 +14660,9 @@ public: /// for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcDimensionalExponents : public express::Entity { +class IFC_SCHEMA_API IfcDimensionalExponents : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The power of the length base quantity. int64_t LengthExponent() const; @@ -14695,9 +14695,9 @@ public: /// all external information entities. /// /// HISTORY New entity in IFC2x4. -class IFC_SCHEMA_API IfcExternalInformation : public express::Entity { +class IFC_SCHEMA_API IfcExternalInformation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; static const ifcopenshell::entity& Class(); @@ -14712,9 +14712,9 @@ public: /// IfcExternalReference is an abstract supertype of all external reference entities. /// /// HISTORY New entity in IFC2x. -class IFC_SCHEMA_API IfcExternalReference : public express::Entity { +class IFC_SCHEMA_API IfcExternalReference : public express::entity { public: - using express::Entity::Entity; + 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. /// @@ -14809,9 +14809,9 @@ public: /// underlying AxisCurve supports this concept. /// /// Figure 242 — Grid axis -class IFC_SCHEMA_API IfcGridAxis : public express::Entity { +class IFC_SCHEMA_API IfcGridAxis : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The tag or name for this grid axis. std::optional< std::string > AxisTag() const; @@ -14833,9 +14833,9 @@ public: /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// /// HISTORY: New entity in IFC 2x2. -class IFC_SCHEMA_API IfcIrregularTimeSeriesValue : public express::Entity { +class IFC_SCHEMA_API IfcIrregularTimeSeriesValue : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The specification of the time point. std::string TimeStamp() const; @@ -14930,9 +14930,9 @@ public: /// For each pair of MainPlaneAngle and SecondaryPlaneAngle the LuminousIntensity is provided (the unit is given by the IfcUnitAssignment referring to the LuminousIntensityDistributionUnit, normally cd/klm). /// /// HISTORY: New entity in IFC2x2. -class IFC_SCHEMA_API IfcLightDistributionData : public express::Entity { +class IFC_SCHEMA_API IfcLightDistributionData : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; @@ -14952,9 +14952,9 @@ public: /// 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_SCHEMA_API IfcLightIntensityDistribution : public express::Entity { +class IFC_SCHEMA_API IfcLightIntensityDistribution : public express::entity { public: - using express::Entity::Entity; + 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; @@ -15019,9 +15019,9 @@ public: /// HISTORY New entity in IFC2x. /// /// IFC2x4 CHANGE The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. -class IFC_SCHEMA_API IfcMaterialClassificationRelationship : public express::Entity { +class IFC_SCHEMA_API IfcMaterialClassificationRelationship : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The material classifications identifying the type of material. std::vector< ::Ifc4x3_rc4::IfcClassificationSelect > MaterialClassifications() const; @@ -15057,9 +15057,9 @@ public: /// IfcRelAssociatesMaterial. /// /// HISTORY New entity in IFC2x4 -class IFC_SCHEMA_API IfcMaterialDefinition : public express::Entity { +class IFC_SCHEMA_API IfcMaterialDefinition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects @@ -15255,9 +15255,9 @@ public: /// /// IFC2x4 CHANGE The entity IfcMaterialList is deprecated and shall no longer /// be used. Use IfcMaterialConstituentSet instead. -class IFC_SCHEMA_API IfcMaterialList : public express::Entity { +class IFC_SCHEMA_API IfcMaterialList : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Materials used in a composition of substances. std::vector< ::Ifc4x3_rc4::IfcMaterial > Materials() const; @@ -15373,9 +15373,9 @@ public: /// IfcMaterialUsageDefinition to a subtype of /// IfcElementType, it shall only be assigned to an element /// occurrence. -class IFC_SCHEMA_API IfcMaterialUsageDefinition : public express::Entity { +class IFC_SCHEMA_API IfcMaterialUsageDefinition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial @@ -15392,9 +15392,9 @@ public: /// NOTE Corresponding ISO 10303 name: measure_with_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcMeasureWithUnit : public express::Entity { +class IFC_SCHEMA_API IfcMeasureWithUnit : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The value of the physical quantity when expressed in the specified units. ::Ifc4x3_rc4::IfcValue ValueComponent() const; @@ -15482,9 +15482,9 @@ public: /// HISTORY: New entity in IFC Release 2x. /// /// IFC2x4 CHANGE: Type of the attribute Currency changed. -class IFC_SCHEMA_API IfcMonetaryUnit : public express::Entity { +class IFC_SCHEMA_API IfcMonetaryUnit : public express::entity { public: - using express::Entity::Entity; + 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; @@ -15498,9 +15498,9 @@ public: /// NOTE Corresponding ISO 10303 name: named_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcNamedUnit : public express::Entity { +class IFC_SCHEMA_API IfcNamedUnit : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The dimensional exponents of the SI base units by which the named unit is defined. ::Ifc4x3_rc4::IfcDimensionalExponents Dimensions() const; @@ -15523,9 +15523,9 @@ public: /// In any case the object placement has to unambiguously define the object coordinate system as either two-dimensional axis placement (IfcAxis2Placement2D) or three-dimensional axis placement (IfcAxis2Placement3D). The axis placement may have to be calculated. /// /// HISTORY New entity in IFC Release 2x. -class IFC_SCHEMA_API IfcObjectPlacement : public express::Entity { +class IFC_SCHEMA_API IfcObjectPlacement : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; ::Ifc4x3_rc4::IfcObjectPlacement PlacementRelTo() const; void setPlacementRelTo(const ::Ifc4x3_rc4::IfcObjectPlacement& v); @@ -15570,9 +15570,9 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. -class IFC_SCHEMA_API IfcOrganization : public express::Entity { +class IFC_SCHEMA_API IfcOrganization : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Identification of the organization. std::optional< std::string > Identification() const; @@ -15607,9 +15607,9 @@ public: /// /// If LastModifiedDate is defined but ChangeAction is not asserted, then the state of ChangeAction is assumed to be UNDEFINED. /// If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate. -class IFC_SCHEMA_API IfcOwnerHistory : public express::Entity { +class IFC_SCHEMA_API IfcOwnerHistory : public express::entity { public: - using express::Entity::Entity; + 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; @@ -15648,9 +15648,9 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. -class IFC_SCHEMA_API IfcPerson : public express::Entity { +class IFC_SCHEMA_API IfcPerson : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Identification of the person. std::optional< std::string > Identification() const; @@ -15692,9 +15692,9 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: person_and_organization. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_SCHEMA_API IfcPersonAndOrganization : public express::Entity { +class IFC_SCHEMA_API IfcPersonAndOrganization : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The person who is related to the organization. ::Ifc4x3_rc4::IfcPerson ThePerson() const; @@ -15714,9 +15714,9 @@ public: /// The Name attribute defines the actual usage or kind of measure. The interpretation of the name label has to be established within the actual exchange context. In addition an informative text may be associated to each quantity by the Description attribute. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_SCHEMA_API IfcPhysicalQuantity : public express::Entity { +class IFC_SCHEMA_API IfcPhysicalQuantity : public express::entity { public: - using express::Entity::Entity; + 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; @@ -15789,9 +15789,9 @@ public: 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_SCHEMA_API IfcPresentationItem : public express::Entity { +class IFC_SCHEMA_API IfcPresentationItem : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; static const ifcopenshell::entity& Class(); @@ -15812,9 +15812,9 @@ public: /// Figure 305 illustrates assignment of items by shape representation or representation item. The set of AssignedItems can either include a whole shape representation, or individual geometric representation items. If both, the IfcShapeRepresentation has a layer assignment, and an individual geometric representation item in the set of IfcShapeRepresentation.Items, then the layer assignment of the IfcGeometricRepresentationItem overides the layer assignment of the IfcShapeRepresentation. /// /// Figure 305 — Presentation layer assignment -class IFC_SCHEMA_API IfcPresentationLayerAssignment : public express::Entity { +class IFC_SCHEMA_API IfcPresentationLayerAssignment : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Name of the layer. std::string Name() const; @@ -15874,9 +15874,9 @@ public: /// Each subtype of  IfcPresentationStyle can be assigned to IfcGeometricRepresentationItem's via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or one of its subtypes. /// /// HISTORY  New entity in IFC2x3. -class IFC_SCHEMA_API IfcPresentationStyle : public express::Entity { +class IFC_SCHEMA_API IfcPresentationStyle : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Name of the presentation style. std::optional< std::string > Name() const; @@ -15902,9 +15902,9 @@ public: /// IFC2x3 NOTE Users should not instantiate the entity from IFC2x Edition 3 onwards. /// /// IFC2x4 CHANGE  Entity made abstract. -class IFC_SCHEMA_API IfcProductRepresentation : public express::Entity { +class IFC_SCHEMA_API IfcProductRepresentation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The word or group of words by which the product representation is known. std::optional< std::string > Name() const; @@ -16089,9 +16089,9 @@ public: /// possible to directly instantiate IfcProfileDef and further specify /// the profile only by external reference or by profile properties. The latter /// are tracked by the inverse attribute HasProperties. -class IFC_SCHEMA_API IfcProfileDef : public express::Entity { +class IFC_SCHEMA_API IfcProfileDef : public express::entity { public: - using express::Entity::Entity; + 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; @@ -16153,9 +16153,9 @@ public: 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_SCHEMA_API IfcPropertyAbstraction : public express::Entity { +class IFC_SCHEMA_API IfcPropertyAbstraction : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects @@ -16357,9 +16357,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcRecurrencePattern : public express::Entity { +class IFC_SCHEMA_API IfcRecurrencePattern : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Defines the recurrence type that gives meaning to the used /// attributes and decides about possible attribute @@ -16403,9 +16403,9 @@ public: IfcRecurrencePattern initialize(::Ifc4x3_rc4::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int64_t > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int64_t > /*[1:?]*/ > v4_MonthComponent, std::optional< int64_t > v5_Position, std::optional< int64_t > v6_Interval, std::optional< int64_t > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_rc4::IfcTimePeriod > > v8_TimePeriods); }; -class IFC_SCHEMA_API IfcReference : public express::Entity { +class IFC_SCHEMA_API IfcReference : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::optional< std::string > TypeIdentifier() const; void setTypeIdentifier(const std::optional< std::string >& v); @@ -16467,9 +16467,9 @@ public: /// IFC2x4 CHANGE  Entity /// IfcRepresentation has been changed into an ABSTRACT /// supertype. -class IFC_SCHEMA_API IfcRepresentation : public express::Entity { +class IFC_SCHEMA_API IfcRepresentation : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Definition of the representation context for which the different subtypes of representation are valid. ::Ifc4x3_rc4::IfcRepresentationContext ContextOfItems() const; @@ -16501,9 +16501,9 @@ public: /// /// IFC2x4 CHANGE Entity made abstract, had been deprecated from instantiation since /// IFC2x2. -class IFC_SCHEMA_API IfcRepresentationContext : public express::Entity { +class IFC_SCHEMA_API IfcRepresentationContext : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The optional identifier of the representation context as used within a project. std::optional< std::string > ContextIdentifier() const; @@ -16548,9 +16548,9 @@ public: /// HISTORY  New entity in IFC Release 2x. /// /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. -class IFC_SCHEMA_API IfcRepresentationItem : public express::Entity { +class IFC_SCHEMA_API IfcRepresentationItem : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; std::vector< IfcPresentationLayerAssignment > LayerAssignment() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems std::vector< IfcStyledItem > StyledByItem() const; // INVERSE IfcStyledItem::Item @@ -16569,9 +16569,9 @@ public: /// NOTE  The definition of a mapping which is used to specify a new representation item comprises a representation map and a mapped item entity. Without both entities, the mapping is not fully defined. Two entities are specified to allow the same source representation to be mapped into multiple new representations. /// /// HISTORY  New entity in IFC Release 2x. -class IFC_SCHEMA_API IfcRepresentationMap : public express::Entity { +class IFC_SCHEMA_API IfcRepresentationMap : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// An axis2 placement that defines the position about which the mapped /// representation is mapped. @@ -16589,9 +16589,9 @@ public: /// IfcResourceLevelRelationship is an abstract base class for relationships between resource-level entities. /// /// HISTORY New Entity in IFC 2x4 -class IFC_SCHEMA_API IfcResourceLevelRelationship : public express::Entity { +class IFC_SCHEMA_API IfcResourceLevelRelationship : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A name used to identify or qualify the relationship. std::optional< std::string > Name() const; @@ -16612,9 +16612,9 @@ public: /// HISTORY New entity in IFC Release 1.0 /// /// IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL. -class IFC_SCHEMA_API IfcRoot : public express::Entity { +class IFC_SCHEMA_API IfcRoot : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; @@ -16662,9 +16662,9 @@ public: /// IfcSchedulingTime is the abstract supertype of entities that capture time-related information of processes. /// /// HISTORY: New entity in IFC2x4. -class IFC_SCHEMA_API IfcSchedulingTime : public express::Entity { +class IFC_SCHEMA_API IfcSchedulingTime : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optional name for the time definition. std::optional< std::string > Name() const; @@ -16717,9 +16717,9 @@ public: /// IfcRepresentationMap's that are used by an /// IfcTypeProduct through the /// RepresentationMaps attribute. -class IFC_SCHEMA_API IfcShapeAspect : public express::Entity { +class IFC_SCHEMA_API IfcShapeAspect : public express::entity { public: - using express::Entity::Entity; + 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 @@ -16918,9 +16918,9 @@ public: /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. -class IFC_SCHEMA_API IfcStructuralConnectionCondition : public express::Entity { +class IFC_SCHEMA_API IfcStructuralConnectionCondition : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optionally defines a name for this connection condition. std::optional< std::string > Name() const; @@ -16932,9 +16932,9 @@ public: /// 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_SCHEMA_API IfcStructuralLoad : public express::Entity { +class IFC_SCHEMA_API IfcStructuralLoad : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Optionally defines a name for this load. std::optional< std::string > Name() const; @@ -17387,9 +17387,9 @@ public: /// HISTORY  New entity in IFC R1.5. /// /// IFC2x4 CHANGE  Columns attribute added. -class IFC_SCHEMA_API IfcTable : public express::Entity { +class IFC_SCHEMA_API IfcTable : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A unique name which is intended to describe the usage of the Table. std::optional< std::string > Name() const; @@ -17409,9 +17409,9 @@ public: /// The use of IfcTableColumn supercedes the IsHeading flag associated with IfcTableRow. /// /// HISTORY  New entity in IFC2x4. -class IFC_SCHEMA_API IfcTableColumn : public express::Entity { +class IFC_SCHEMA_API IfcTableColumn : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Table column identifier. std::optional< std::string > Identifier() const; @@ -17444,9 +17444,9 @@ public: /// Figure 338 — Table row use alternative /// /// HISTORY  New entity in IFC R1.5. -class IFC_SCHEMA_API IfcTableRow : public express::Entity { +class IFC_SCHEMA_API IfcTableRow : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// The data value of the table cell.. std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > > RowCells() const; @@ -17940,9 +17940,9 @@ public: /// /// Use definitions /// 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_SCHEMA_API IfcTimePeriod : public express::Entity { +class IFC_SCHEMA_API IfcTimePeriod : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Start time of the time period. std::string StartTime() const; @@ -17959,9 +17959,9 @@ public: /// The modeling of buildings and their performance involves data that are generated and recorded over a period of time. Such data cover a large spectrum, from weather data to schedules of all kinds to status measurements to reporting to everything else that has a time related aspect. Their correct placement in time is essential for their proper understanding and use, and the IfcTimeSeries subtypes provide the appropriate data structures to accommodate these types of data. /// /// HISTORY: New entity in IFC 2x2. -class IFC_SCHEMA_API IfcTimeSeries : public express::Entity { +class IFC_SCHEMA_API IfcTimeSeries : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// An unique name for the time series. std::string Name() const; @@ -18001,9 +18001,9 @@ public: /// Figure 241 — Time series value /// /// HISTORY  New entity in IFC2x2. -class IFC_SCHEMA_API IfcTimeSeriesValue : public express::Entity { +class IFC_SCHEMA_API IfcTimeSeriesValue : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// A list of time-series values. At least one value is required. std::vector< ::Ifc4x3_rc4::IfcValue > ListValues() const; @@ -18072,9 +18072,9 @@ public: /// NOTE  A project (IfcProject) has a unit assignment which establishes a set of units which will be used globally within the project, if not otherwise defined. Other objects may have local unit assignments if there is a requirement for them to make use of units which do not fall within the project unit assignment. /// /// HISTORY  New entity in IFC Release 1.5.1. -class IFC_SCHEMA_API IfcUnitAssignment : public express::Entity { +class IFC_SCHEMA_API IfcUnitAssignment : public express::entity { public: - using express::Entity::Entity; + using express::entity::entity; /// Units to be included within a unit assignment. std::vector< ::Ifc4x3_rc4::IfcUnit > Units() const; @@ -18180,9 +18180,9 @@ public: /// OffsetDistances[1] is a negative length measure /// /// Figure 248 — Virtual grid intersection negative offset -class IFC_SCHEMA_API IfcVirtualGridIntersection : public express::Entity { +class IFC_SCHEMA_API IfcVirtualGridIntersection : public express::entity { public: - using express::Entity::Entity; + 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;